UNPKG

nralcm

Version:

This is a framework based on NodeJs to manage rest api request lifecycle

27 lines (26 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const _1 = require("."); require("reflect-metadata/Reflect"); /** * Method to inject dependency * @param target target objectto inject dependency * @param source source object which will hold dependency object */ function circularInjection(target, source) { const constructorParameters = _1.getConstructorParameters(target); if (constructorParameters && constructorParameters.length > 0) { const constructorParameterTypes = Reflect.getMetadata("design:paramtypes", target); if (constructorParameterTypes && constructorParameterTypes.length === constructorParameters.length) { if (constructorParameterTypes && constructorParameterTypes.length > 0) { constructorParameterTypes.forEach((val, index) => { source[constructorParameters[index]] = new val(); }); } } else if (constructorParameters.length !== 0) { throw new Error("Unable to resolve dependency. Use Repository decorator to inject dependecy in " + target.name); } } } exports.circularInjection = circularInjection;