@chubbyts/chubbyts-dic-config
Version:
Dependency injection container creation by config, inspired by laminas-config.
17 lines (16 loc) • 801 B
TypeScript
import type { Container } from '@chubbyts/chubbyts-dic-types/dist/container';
import type { ConcreteContainer } from '@chubbyts/chubbyts-dic/dist/container';
type ContainerByConfigFactory = (concreteContainer?: ConcreteContainer) => ConcreteContainer;
export type ConfigFactory = (container: Container, name: string) => unknown;
export type ConfigDelegator = (container: Container, name: string, factory: () => unknown) => unknown;
type Config = {
dependencies?: {
services?: Map<string, unknown>;
factories?: Map<string, ConfigFactory>;
aliases?: Map<string, string>;
delegators?: Map<string, Array<ConfigDelegator>>;
};
[x: string]: unknown;
};
export declare const createContainerByConfigFactory: (config: Config) => ContainerByConfigFactory;
export {};