UNPKG

inversify-binding-decorators

Version:

An utility that allows developers to declare InversifyJS bindings using ES2016 decorators

14 lines (13 loc) 1.02 kB
import ProvideInWhenOnSyntax from "../syntax/provide_in_when_on_syntax"; import ProvideWhenSyntax from "../syntax/provide_when_syntax"; import ProvideOnSyntax from "../syntax/provide_on_syntax"; import ProvideInSyntax from "../syntax/provide_in_syntax"; import ProvideDoneSyntax from "../syntax/provide_done_syntax"; function fluentProvide(serviceIdentifier) { var bindingWhenOnSyntax = function (bind, target) { return bind(serviceIdentifier).to(target); }; var bindingConstraintFunction = function (bind, target) { return bindingWhenOnSyntax(bind, target)._binding; }; var provideDoneSyntax = new ProvideDoneSyntax(bindingConstraintFunction); var provideInWhenOnSyntax = new ProvideInWhenOnSyntax(new ProvideInSyntax(function (bind, target) { return bindingWhenOnSyntax(bind, target); }, provideDoneSyntax), new ProvideWhenSyntax(bindingWhenOnSyntax, provideDoneSyntax), new ProvideOnSyntax(bindingWhenOnSyntax, provideDoneSyntax)); return provideInWhenOnSyntax; } export default fluentProvide;