@triviality/core
Version:
Purely typed service container
22 lines (19 loc) • 711 B
text/typescript
import { ServiceFunctionReferenceContainer } from '../Container';
import { FF } from '../FeatureFactory';
import { ImmutableServiceReferenceList } from '../Value/ImmutableServiceReferenceList';
export interface KernelServices {
kernel: {
references(): ImmutableServiceReferenceList,
callStack(): ImmutableServiceReferenceList,
};
}
export const KernelFeature: (builder: ServiceFunctionReferenceContainer) => FF<KernelServices> = (container: ServiceFunctionReferenceContainer): FF<KernelServices> => function kernelFeature() {
return {
kernel: () => {
return {
references: () => container.references(),
callStack: () => container.getCallStack(),
};
},
};
};