UNPKG

mana-syringe

Version:

IoC library for mana, easily to use.

27 lines 838 B
import { Syringe } from '../core'; import * as Contribution from './contribution-protocol'; import { DefaultContributionProvider } from './contribution-provider'; export function contributionInjectOption(token, option) { return { token: { token: Contribution.Provider, named: token }, useDynamic: function useDynamic(ctx) { return new DefaultContributionProvider(token, ctx.container, option); }, lifecycle: Syringe.Lifecycle.singleton }; } export function contributionRegister(registerMethod, identifier, option) { registerMethod({ token: { token: Contribution.Provider, named: identifier }, useDynamic: function useDynamic(ctx) { return new DefaultContributionProvider(identifier, ctx.container, option); }, lifecycle: Syringe.Lifecycle.singleton }); }