ts-ioc-container
Version:
Fast, lightweight TypeScript dependency injection container with a clean API, scoped lifecycles, decorators, tokens, hooks, lazy injection, customizable providers, and no global container objects.
16 lines (15 loc) • 481 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Injector = void 0;
const proxy_1 = require("../utils/proxy");
class Injector {
resolve(scope, Target, { args, lazy } = {}) {
// @ts-ignore
return (0, proxy_1.toLazyIf)(() => {
const instance = this.createInstance(scope, Target, { args });
scope.addInstance(instance);
return instance;
}, lazy);
}
}
exports.Injector = Injector;