@miracledevs/paradigm-web-di
Version:
A minimal dependency injection library for the web
18 lines • 918 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Injectable = void 0;
const dependency_life_time_1 = require("./dependency-life-time");
const dependency_collection_1 = require("./dependency-collection");
require("reflect-metadata");
function Injectable(descriptor) {
return (objectType) => {
if (!objectType)
throw new Error('Can not decorate a null or undefined value.');
descriptor = descriptor || {};
descriptor.lifeTime = descriptor.lifeTime || dependency_life_time_1.DependencyLifeTime.Transient;
const dependencies = Reflect.getMetadata("design:paramtypes", objectType) || [];
(descriptor.collection || dependency_collection_1.DependencyCollection.globalCollection).register(objectType, descriptor.lifeTime, dependencies);
};
}
exports.Injectable = Injectable;
//# sourceMappingURL=injectable.js.map