Interface: ExtensionNamespace<N, Subjects, FilterPayload, Ext, Schemas>
Makaio Framework / bus-core / ExtensionNamespace
Interface: ExtensionNamespace<N, Subjects, FilterPayload, Ext, Schemas>
Section titled “Interface: ExtensionNamespace<N, Subjects, FilterPayload, Ext, Schemas>”Defined in: ../../../packages/bus-core/src/extension-namespace-types.ts:41
Extension namespace combines bus namespace with extensible extension-specific properties.
Wraps BusNamespace with:
- Automatic ‘extension:’ prefix for domain naming
- Extension point for extension metadata via declaration merging
Extends
Section titled “Extends”BusNamespace<`extension:${N}`,Subjects,FilterPayload,Schemas>
Type Parameters
Section titled “Type Parameters”N extends string = string
Extension name (without ‘extension:’ prefix)
Subjects
Section titled “Subjects”Subjects extends SubjectRecord = SubjectRecord
Subject record type from schemas
FilterPayload
Section titled “FilterPayload”FilterPayload = unknown
Filter payload type for type-safe filtering
Ext extends ExtensionNamespaceExtensions = ExtensionNamespaceExtensions
Extension type preserving specific metadata types
Schemas
Section titled “Schemas”Schemas extends SchemaRecord = SchemaRecord
Original schema record; drives narrow literal types on subjects.$meta
Properties
Section titled “Properties”__filterPayload?
Section titled “__filterPayload?”
readonlyoptional__filterPayload?:FilterPayload
Defined in: ../../../packages/bus-core/src/types/namespace.ts:29
Phantom property for type extraction. Never accessed at runtime.
Enables ExtractFilterPayload<T> to infer the FilterPayload type parameter
without relying on complex nested generic inference.
Inherited from
Section titled “Inherited from”BusNamespace.__filterPayload
domain
Section titled “domain”
readonlydomain:N
Defined in: ../../../packages/bus-core/src/extension-namespace-types.ts:51
Extension name (without ‘extension:’ prefix).
extensions
Section titled “extensions”
readonlyextensions:Ext
Defined in: ../../../packages/bus-core/src/extension-namespace-types.ts:57
Extension properties added via declaration merging.
ExtensionNamespaceExtensions
name:
`extension:${N}`
Defined in: ../../../packages/bus-core/src/types/namespace.ts:19
Inherited from
Section titled “Inherited from”BusNamespace.name
subjects
Section titled “subjects”subjects:
BusSubjects<FlatSubjectDefinitions<`extension:${N}`,Schemas>,`extension:${N}`>
Defined in: ../../../packages/bus-core/src/types/namespace.ts:20
Inherited from
Section titled “Inherited from”BusNamespace.subjects
Methods
Section titled “Methods”scopedBus()
Section titled “scopedBus()”scopedBus(
context?):Promise<ScopedBus<`extension:${N}`,Subjects,FilterPayload>>
Defined in: ../../../packages/bus-core/src/types/namespace.ts:22
Parameters
Section titled “Parameters”context?
Section titled “context?”Returns
Section titled “Returns”Promise<ScopedBus<`extension:${N}`, Subjects, FilterPayload>>
Inherited from
Section titled “Inherited from”BusNamespace.scopedBus