UNPKG

@inversifyjs/binding-decorators

Version:

InversifyJs binding decorators package

25 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.provide = provide; const reflect_metadata_utils_1 = require("@inversifyjs/reflect-metadata-utils"); const bindingMetadataMapReflectKey_1 = require("../../reflectMetadata/data/bindingMetadataMapReflectKey"); const updateMetadataMap_1 = require("../actions/updateMetadataMap"); const buildDefaultBindingMetadataMap_1 = require("../calculations/buildDefaultBindingMetadataMap"); function provide(serviceIdentifier, bind) { // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type return (target) => { const bindingServiceIdentifier = serviceIdentifier ?? target; const bindAction = (bindService) => { const bindInWhenOnFluentSyntax = bindService(bindingServiceIdentifier).to(target); if (bind !== undefined) { bind(bindInWhenOnFluentSyntax); } }; const bindingMetadata = { action: bindAction, serviceIdentifier: bindingServiceIdentifier, }; (0, reflect_metadata_utils_1.updateOwnReflectMetadata)(Object, bindingMetadataMapReflectKey_1.bindingMetadataMapReflectKey, buildDefaultBindingMetadataMap_1.buildDefaultBindingMetadataMap, (0, updateMetadataMap_1.updateMetadataMap)(target, bindingMetadata)); }; } //# sourceMappingURL=provide.js.map