Class: LayerRegistry<Entries>
Defined in: LayerRegistry.ts:289
Explicit, duplicate-safe registry for built-in or application-defined layer discriminants. register returns the same runtime registry with a widened compile-time type, preserving config-to-layer inference for extensions.
Type Parameters
Entries
Entries extends object = Record<never, never>
Constructors
Constructor
new LayerRegistry<Entries>(): LayerRegistry<Entries>;Returns
LayerRegistry<Entries>
Methods
register()
register<Type, Config, CreatedLayer>(type, factory): LayerRegistry<Entries & Record<Type, LayerRegistryEntry<Config, CreatedLayer>>>;Defined in: LayerRegistry.ts:296
Type Parameters
Type
Type extends string
Config
Config extends RegisteredLayerConfig<Type>
CreatedLayer
CreatedLayer extends Layer
Parameters
type
Type
factory
LayerFactory<Config, CreatedLayer>
Returns
LayerRegistry<Entries & Record<Type, LayerRegistryEntry<Config, CreatedLayer>>>
extend()
extend<Type, Config, CreatedLayer>(type, factory): LayerRegistry<Entries & Record<Type, LayerRegistryEntry<Config, CreatedLayer>>>;Defined in: LayerRegistry.ts:321
Create an isolated widened registry without mutating this registry.
Type Parameters
Type
Type extends string
Config
Config extends RegisteredLayerConfig<Type>
CreatedLayer
CreatedLayer extends Layer
Parameters
type
Type
factory
LayerFactory<Config, CreatedLayer>
Returns
LayerRegistry<Entries & Record<Type, LayerRegistryEntry<Config, CreatedLayer>>>
seal()
seal(): ReadonlyLayerRegistry<Entries>;Defined in: LayerRegistry.ts:337
Prevent subsequent in-place registration while retaining read/create operations.
Returns
ReadonlyLayerRegistry<Entries>
has()
has(type): type is Extract<keyof Entries, string>;Defined in: LayerRegistry.ts:342
Parameters
type
string
Returns
type is Extract<keyof Entries, string>
registeredTypes()
registeredTypes(): readonly Extract<keyof Entries, string>[];Defined in: LayerRegistry.ts:346
Returns
readonly Extract<keyof Entries, string>[]
create()
create<Config>(config): RegistryLayerForConfig<Entries, Config>;Defined in: LayerRegistry.ts:350
Type Parameters
Config
Config extends RegisteredLayerConfig<string>
Parameters
config
Config
Returns
RegistryLayerForConfig<Entries, Config>
tryCreate()
tryCreate(input): LayerCreationResult<RegistryLayerUnion<Entries>>;Defined in: LayerRegistry.ts:358
Parameters
input
unknown
Returns
LayerCreationResult<RegistryLayerUnion<Entries>>