UNPKG

ayanami

Version:
23 lines (22 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getInstanceWithScope = exports.SingletonScope = exports.TransientScope = exports.createScopeWithRequest = exports.SameScope = void 0; var di_1 = require("@asuka/di"); var utils_1 = require("./utils"); Object.defineProperty(exports, "createScopeWithRequest", { enumerable: true, get: function () { return utils_1.createScopeWithRequest; } }); var same_scope_decorator_1 = require("./same-scope-decorator"); Object.defineProperty(exports, "SameScope", { enumerable: true, get: function () { return same_scope_decorator_1.SameScope; } }); exports.TransientScope = Symbol('scope:transient'); exports.SingletonScope = Symbol('scope:singleton'); function getInstanceWithScope(constructor, scope) { if (scope === void 0) { scope = exports.SingletonScope; } switch (scope) { case exports.SingletonScope: return di_1.InjectableFactory.getInstance(constructor); case exports.TransientScope: return di_1.InjectableFactory.initialize(constructor); default: return utils_1.createOrGetInstanceInScope(constructor, scope); } } exports.getInstanceWithScope = getInstanceWithScope;