Skip to content

ComposedContext type

Home > @rimitive/core > ComposedContext

The composed context type from a tuple of Modules.

Maps module names to their implementations and adds a dispose() method.

Signature:

export type ComposedContext<TModules extends readonly Module[]> = {
[M in TModules[number] as ModuleName<M>]: ModuleImpl<M>;
} & {
dispose(): void;
};

References: Module, ModuleName, ModuleImpl

type SignalModule = Module<'signal', SignalImpl, SignalDeps>;
type ComputedModule = Module<'computed', ComputedImpl, ComputedDeps>;
type Ctx = ComposedContext<[SignalModule, ComputedModule]>;
// Ctx = { signal: SignalImpl; computed: ComputedImpl; dispose(): void }