inversify-binding-decorators
Version:
An utility that allows developers to declare InversifyJS bindings using ES2016 decorators
14 lines (13 loc) • 1.02 kB
JavaScript
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;