ts-ioc-container
Version:
Fast, lightweight TypeScript dependency injection container with a clean API, scoped lifecycles, decorators, tokens, hooks, lazy injection, customizable providers, and no global container objects.
14 lines (13 loc) • 514 B
JavaScript
import { toGroupAlias } from './token/GroupAliasToken';
import { FunctionToken } from './token/FunctionToken';
import { GroupInstanceToken } from './token/GroupInstanceToken';
import { toToken } from './token/toToken';
export const select = {
alias: toGroupAlias,
token: toToken,
instances: (predicate = () => true) => new GroupInstanceToken(predicate),
scope: {
current: new FunctionToken((s) => s),
create: (options) => new FunctionToken((s) => s.createScope(options)),
},
};