@triviality/core
Version:
Purely typed service container
17 lines (16 loc) • 576 B
TypeScript
import { FeatureFactory } from './FeatureFactory';
import { SetupFeatureServices } from './Feature';
import { KernelServices } from './Feature/KernelFeature';
/**
* Immutable container factory.
*/
export declare class ContainerFactory<S> {
private featureFactories;
static create: () => ContainerFactory<SetupFeatureServices & KernelServices>;
constructor(featureFactories?: FeatureFactory[]);
/**
* Merge functional service factory.
*/
add<Services>(f1: FeatureFactory<Services, S>): ContainerFactory<S & Services>;
build(): Promise<S>;
}