UNPKG

@difizen/mana-syringe

Version:

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 }); }