redux-providers
Version:
Minimalist dependency injection system for redux. Create providers to be injected and used in redux reducers.
18 lines • 976 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const metadata_keys_1 = require("../decorators/constants/metadata.keys");
var ServiceResolver;
(function (ServiceResolver) {
function resolve(target, parentModuleName) {
if (!Reflect.hasOwnMetadata(metadata_keys_1.METADATA_KEY.SERVICE_PARAM_TYPES, target)) {
throw new Error("Attempting to resolve target with name: " + target.name + ". " + target.name + " is not a service in module: " + parentModuleName + "!");
}
let designParamTypes = Reflect.getMetadata(metadata_keys_1.METADATA_KEY.DESIGN_PARAM_TYPES, target) || [];
let injections = designParamTypes.map((token) => {
return resolve(token, parentModuleName);
});
return new target(...injections);
}
ServiceResolver.resolve = resolve;
})(ServiceResolver = exports.ServiceResolver || (exports.ServiceResolver = {}));
//# sourceMappingURL=service-resolver.js.map