@difizen/mana-syringe
Version:
27 lines • 838 B
JavaScript
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
});
}