inversify 6.2.1 → 7.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -1
- package/README.md +3 -0
- package/lib/cjs/index.d.ts +3 -29
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +19 -90
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/index.d.ts +3 -504
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +1 -1
- package/package.json +13 -12
- package/lib/cjs/annotation/decorator_utils.d.ts +0 -17
- package/lib/cjs/annotation/decorator_utils.d.ts.map +0 -1
- package/lib/cjs/annotation/decorator_utils.js +0 -132
- package/lib/cjs/annotation/decorator_utils.js.map +0 -1
- package/lib/cjs/annotation/inject.d.ts +0 -6
- package/lib/cjs/annotation/inject.d.ts.map +0 -1
- package/lib/cjs/annotation/inject.js +0 -41
- package/lib/cjs/annotation/inject.js.map +0 -1
- package/lib/cjs/annotation/inject_base.d.ts +0 -5
- package/lib/cjs/annotation/inject_base.d.ts.map +0 -1
- package/lib/cjs/annotation/inject_base.js +0 -19
- package/lib/cjs/annotation/inject_base.js.map +0 -1
- package/lib/cjs/annotation/injectable.d.ts +0 -3
- package/lib/cjs/annotation/injectable.d.ts.map +0 -1
- package/lib/cjs/annotation/injectable.js +0 -50
- package/lib/cjs/annotation/injectable.js.map +0 -1
- package/lib/cjs/annotation/multi_inject.d.ts +0 -6
- package/lib/cjs/annotation/multi_inject.d.ts.map +0 -1
- package/lib/cjs/annotation/multi_inject.js +0 -41
- package/lib/cjs/annotation/multi_inject.js.map +0 -1
- package/lib/cjs/annotation/named.d.ts +0 -3
- package/lib/cjs/annotation/named.d.ts.map +0 -1
- package/lib/cjs/annotation/named.js +0 -44
- package/lib/cjs/annotation/named.js.map +0 -1
- package/lib/cjs/annotation/optional.d.ts +0 -3
- package/lib/cjs/annotation/optional.d.ts.map +0 -1
- package/lib/cjs/annotation/optional.js +0 -43
- package/lib/cjs/annotation/optional.js.map +0 -1
- package/lib/cjs/annotation/post_construct.d.ts +0 -5
- package/lib/cjs/annotation/post_construct.d.ts.map +0 -1
- package/lib/cjs/annotation/post_construct.js +0 -42
- package/lib/cjs/annotation/post_construct.js.map +0 -1
- package/lib/cjs/annotation/pre_destroy.d.ts +0 -5
- package/lib/cjs/annotation/pre_destroy.d.ts.map +0 -1
- package/lib/cjs/annotation/pre_destroy.js +0 -42
- package/lib/cjs/annotation/pre_destroy.js.map +0 -1
- package/lib/cjs/annotation/property_event_decorator.d.ts +0 -5
- package/lib/cjs/annotation/property_event_decorator.d.ts.map +0 -1
- package/lib/cjs/annotation/property_event_decorator.js +0 -16
- package/lib/cjs/annotation/property_event_decorator.js.map +0 -1
- package/lib/cjs/annotation/tagged.d.ts +0 -3
- package/lib/cjs/annotation/tagged.d.ts.map +0 -1
- package/lib/cjs/annotation/tagged.js +0 -10
- package/lib/cjs/annotation/tagged.js.map +0 -1
- package/lib/cjs/annotation/target_name.d.ts +0 -4
- package/lib/cjs/annotation/target_name.d.ts.map +0 -1
- package/lib/cjs/annotation/target_name.js +0 -46
- package/lib/cjs/annotation/target_name.js.map +0 -1
- package/lib/cjs/annotation/unmanaged.d.ts +0 -4
- package/lib/cjs/annotation/unmanaged.d.ts.map +0 -1
- package/lib/cjs/annotation/unmanaged.js +0 -46
- package/lib/cjs/annotation/unmanaged.js.map +0 -1
- package/lib/cjs/bindings/binding.d.ts +0 -21
- package/lib/cjs/bindings/binding.d.ts.map +0 -1
- package/lib/cjs/bindings/binding.js +0 -68
- package/lib/cjs/bindings/binding.js.map +0 -1
- package/lib/cjs/bindings/binding_count.d.ts +0 -6
- package/lib/cjs/bindings/binding_count.d.ts.map +0 -1
- package/lib/cjs/bindings/binding_count.js +0 -10
- package/lib/cjs/bindings/binding_count.js.map +0 -1
- package/lib/cjs/constants/error_msgs.d.ts +0 -31
- package/lib/cjs/constants/error_msgs.d.ts.map +0 -1
- package/lib/cjs/constants/error_msgs.js +0 -61
- package/lib/cjs/constants/error_msgs.js.map +0 -1
- package/lib/cjs/constants/literal_types.d.ts +0 -6
- package/lib/cjs/constants/literal_types.d.ts.map +0 -1
- package/lib/cjs/constants/literal_types.js +0 -30
- package/lib/cjs/constants/literal_types.js.map +0 -1
- package/lib/cjs/constants/metadata_keys.d.ts +0 -14
- package/lib/cjs/constants/metadata_keys.d.ts.map +0 -1
- package/lib/cjs/constants/metadata_keys.js +0 -39
- package/lib/cjs/constants/metadata_keys.js.map +0 -1
- package/lib/cjs/container/container.d.ts +0 -89
- package/lib/cjs/container/container.d.ts.map +0 -1
- package/lib/cjs/container/container.js +0 -622
- package/lib/cjs/container/container.js.map +0 -1
- package/lib/cjs/container/container_module.d.ts +0 -12
- package/lib/cjs/container/container_module.d.ts.map +0 -1
- package/lib/cjs/container/container_module.js +0 -23
- package/lib/cjs/container/container_module.js.map +0 -1
- package/lib/cjs/container/container_snapshot.d.ts +0 -11
- package/lib/cjs/container/container_snapshot.d.ts.map +0 -1
- package/lib/cjs/container/container_snapshot.js +0 -21
- package/lib/cjs/container/container_snapshot.js.map +0 -1
- package/lib/cjs/container/lookup.d.ts +0 -18
- package/lib/cjs/container/lookup.d.ts.map +0 -1
- package/lib/cjs/container/lookup.js +0 -144
- package/lib/cjs/container/lookup.js.map +0 -1
- package/lib/cjs/container/module_activation_store.d.ts +0 -11
- package/lib/cjs/container/module_activation_store.d.ts.map +0 -1
- package/lib/cjs/container/module_activation_store.js +0 -48
- package/lib/cjs/container/module_activation_store.js.map +0 -1
- package/lib/cjs/interfaces/interfaces.d.ts +0 -286
- package/lib/cjs/interfaces/interfaces.d.ts.map +0 -1
- package/lib/cjs/interfaces/interfaces.js +0 -3
- package/lib/cjs/interfaces/interfaces.js.map +0 -1
- package/lib/cjs/interfaces/interfaces_common_exports.d.ts +0 -4
- package/lib/cjs/interfaces/interfaces_common_exports.d.ts.map +0 -1
- package/lib/cjs/interfaces/interfaces_common_exports.js +0 -3
- package/lib/cjs/interfaces/interfaces_common_exports.js.map +0 -1
- package/lib/cjs/planning/context.d.ts +0 -12
- package/lib/cjs/planning/context.d.ts.map +0 -1
- package/lib/cjs/planning/context.js +0 -22
- package/lib/cjs/planning/context.js.map +0 -1
- package/lib/cjs/planning/metadata.d.ts +0 -9
- package/lib/cjs/planning/metadata.d.ts.map +0 -1
- package/lib/cjs/planning/metadata.js +0 -55
- package/lib/cjs/planning/metadata.js.map +0 -1
- package/lib/cjs/planning/metadata_reader.d.ts +0 -7
- package/lib/cjs/planning/metadata_reader.d.ts.map +0 -1
- package/lib/cjs/planning/metadata_reader.js +0 -56
- package/lib/cjs/planning/metadata_reader.js.map +0 -1
- package/lib/cjs/planning/plan.d.ts +0 -8
- package/lib/cjs/planning/plan.d.ts.map +0 -1
- package/lib/cjs/planning/plan.js +0 -13
- package/lib/cjs/planning/plan.js.map +0 -1
- package/lib/cjs/planning/planner.d.ts +0 -13
- package/lib/cjs/planning/planner.d.ts.map +0 -1
- package/lib/cjs/planning/planner.js +0 -217
- package/lib/cjs/planning/planner.js.map +0 -1
- package/lib/cjs/planning/queryable_string.d.ts +0 -11
- package/lib/cjs/planning/queryable_string.d.ts.map +0 -1
- package/lib/cjs/planning/queryable_string.js +0 -33
- package/lib/cjs/planning/queryable_string.js.map +0 -1
- package/lib/cjs/planning/reflection_utils.d.ts +0 -6
- package/lib/cjs/planning/reflection_utils.d.ts.map +0 -1
- package/lib/cjs/planning/reflection_utils.js +0 -67
- package/lib/cjs/planning/reflection_utils.js.map +0 -1
- package/lib/cjs/planning/request.d.ts +0 -15
- package/lib/cjs/planning/request.d.ts.map +0 -1
- package/lib/cjs/planning/request.js +0 -34
- package/lib/cjs/planning/request.js.map +0 -1
- package/lib/cjs/resolution/instantiation.d.ts +0 -4
- package/lib/cjs/resolution/instantiation.d.ts.map +0 -1
- package/lib/cjs/resolution/instantiation.js +0 -161
- package/lib/cjs/resolution/instantiation.js.map +0 -1
- package/lib/cjs/resolution/resolver.d.ts +0 -4
- package/lib/cjs/resolution/resolver.d.ts.map +0 -1
- package/lib/cjs/resolution/resolver.js +0 -212
- package/lib/cjs/resolution/resolver.js.map +0 -1
- package/lib/cjs/scope/scope.d.ts +0 -4
- package/lib/cjs/scope/scope.d.ts.map +0 -1
- package/lib/cjs/scope/scope.js +0 -55
- package/lib/cjs/scope/scope.js.map +0 -1
- package/lib/cjs/syntax/binding_in_syntax.d.ts +0 -10
- package/lib/cjs/syntax/binding_in_syntax.d.ts.map +0 -1
- package/lib/cjs/syntax/binding_in_syntax.js +0 -25
- package/lib/cjs/syntax/binding_in_syntax.js.map +0 -1
- package/lib/cjs/syntax/binding_in_when_on_syntax.d.ts +0 -30
- package/lib/cjs/syntax/binding_in_when_on_syntax.d.ts.map +0 -1
- package/lib/cjs/syntax/binding_in_when_on_syntax.js +0 -80
- package/lib/cjs/syntax/binding_in_when_on_syntax.js.map +0 -1
- package/lib/cjs/syntax/binding_on_syntax.d.ts +0 -9
- package/lib/cjs/syntax/binding_on_syntax.d.ts.map +0 -1
- package/lib/cjs/syntax/binding_on_syntax.js +0 -20
- package/lib/cjs/syntax/binding_on_syntax.js.map +0 -1
- package/lib/cjs/syntax/binding_to_syntax.d.ts +0 -19
- package/lib/cjs/syntax/binding_to_syntax.d.ts.map +0 -1
- package/lib/cjs/syntax/binding_to_syntax.js +0 -145
- package/lib/cjs/syntax/binding_to_syntax.js.map +0 -1
- package/lib/cjs/syntax/binding_when_on_syntax.d.ts +0 -26
- package/lib/cjs/syntax/binding_when_on_syntax.d.ts.map +0 -1
- package/lib/cjs/syntax/binding_when_on_syntax.js +0 -68
- package/lib/cjs/syntax/binding_when_on_syntax.js.map +0 -1
- package/lib/cjs/syntax/binding_when_syntax.d.ts +0 -22
- package/lib/cjs/syntax/binding_when_syntax.d.ts.map +0 -1
- package/lib/cjs/syntax/binding_when_syntax.js +0 -88
- package/lib/cjs/syntax/binding_when_syntax.js.map +0 -1
- package/lib/cjs/syntax/constraint_helpers.d.ts +0 -7
- package/lib/cjs/syntax/constraint_helpers.d.ts.map +0 -1
- package/lib/cjs/syntax/constraint_helpers.js +0 -78
- package/lib/cjs/syntax/constraint_helpers.js.map +0 -1
- package/lib/cjs/utils/async.d.ts +0 -4
- package/lib/cjs/utils/async.d.ts.map +0 -1
- package/lib/cjs/utils/async.js +0 -16
- package/lib/cjs/utils/async.js.map +0 -1
- package/lib/cjs/utils/binding_utils.d.ts +0 -5
- package/lib/cjs/utils/binding_utils.d.ts.map +0 -1
- package/lib/cjs/utils/binding_utils.js +0 -93
- package/lib/cjs/utils/binding_utils.js.map +0 -1
- package/lib/cjs/utils/clonable.d.ts +0 -4
- package/lib/cjs/utils/clonable.d.ts.map +0 -1
- package/lib/cjs/utils/clonable.js +0 -10
- package/lib/cjs/utils/clonable.js.map +0 -1
- package/lib/cjs/utils/exceptions.d.ts +0 -3
- package/lib/cjs/utils/exceptions.d.ts.map +0 -1
- package/lib/cjs/utils/exceptions.js +0 -55
- package/lib/cjs/utils/exceptions.js.map +0 -1
- package/lib/cjs/utils/factory_type.d.ts +0 -6
- package/lib/cjs/utils/factory_type.d.ts.map +0 -1
- package/lib/cjs/utils/factory_type.js +0 -10
- package/lib/cjs/utils/factory_type.js.map +0 -1
- package/lib/cjs/utils/get_base_type.d.ts +0 -3
- package/lib/cjs/utils/get_base_type.d.ts.map +0 -1
- package/lib/cjs/utils/get_base_type.js +0 -10
- package/lib/cjs/utils/get_base_type.js.map +0 -1
- package/lib/cjs/utils/id.d.ts +0 -3
- package/lib/cjs/utils/id.d.ts.map +0 -1
- package/lib/cjs/utils/id.js +0 -8
- package/lib/cjs/utils/id.js.map +0 -1
- package/lib/cjs/utils/js.d.ts +0 -2
- package/lib/cjs/utils/js.d.ts.map +0 -1
- package/lib/cjs/utils/js.js +0 -16
- package/lib/cjs/utils/js.js.map +0 -1
- package/lib/cjs/utils/serialization.d.ts +0 -11
- package/lib/cjs/utils/serialization.d.ts.map +0 -1
- package/lib/cjs/utils/serialization.js +0 -148
- package/lib/cjs/utils/serialization.js.map +0 -1
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.getFunctionName = void 0;
|
|
37
|
-
exports.getDependencies = getDependencies;
|
|
38
|
-
exports.getBaseClassDependencyCount = getBaseClassDependencyCount;
|
|
39
|
-
const core_1 = require("@inversifyjs/core");
|
|
40
|
-
const METADATA_KEY = __importStar(require("../constants/metadata_keys"));
|
|
41
|
-
const get_base_type_1 = require("../utils/get_base_type");
|
|
42
|
-
const serialization_1 = require("../utils/serialization");
|
|
43
|
-
Object.defineProperty(exports, "getFunctionName", { enumerable: true, get: function () { return serialization_1.getFunctionName; } });
|
|
44
|
-
function getDependencies(metadataReader, func) {
|
|
45
|
-
return (0, core_1.getTargets)(metadataReader)(func);
|
|
46
|
-
}
|
|
47
|
-
function getBaseClassDependencyCount(metadataReader, func) {
|
|
48
|
-
const baseConstructor = (0, get_base_type_1.getBaseType)(func);
|
|
49
|
-
if (baseConstructor === undefined || baseConstructor === Object) {
|
|
50
|
-
return 0;
|
|
51
|
-
}
|
|
52
|
-
// get targets for base class
|
|
53
|
-
const targets = (0, core_1.getTargets)(metadataReader)(baseConstructor);
|
|
54
|
-
// get unmanaged metadata
|
|
55
|
-
const metadata = targets.map((t) => t.metadata.filter((m) => m.key === METADATA_KEY.UNMANAGED_TAG));
|
|
56
|
-
// Compare the number of constructor arguments with the number of
|
|
57
|
-
// unmanaged dependencies unmanaged dependencies are not required
|
|
58
|
-
const unmanagedCount = [].concat.apply([], metadata).length;
|
|
59
|
-
const dependencyCount = targets.length - unmanagedCount;
|
|
60
|
-
if (dependencyCount > 0) {
|
|
61
|
-
return dependencyCount;
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
return getBaseClassDependencyCount(metadataReader, baseConstructor);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=reflection_utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reflection_utils.js","sourceRoot":"","sources":["../../../src/planning/reflection_utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDS,0CAAe;AAAE,kEAA2B;AApDrD,4CAA+C;AAE/C,yEAA2D;AAE3D,0DAAqD;AACrD,0DAAyD;AA+CF,gGA/C9C,+BAAe,OA+C8C;AA5CtE,SAAS,eAAe,CACtB,cAAyC,EACzC,IAAqB;IAErB,OAAO,IAAA,iBAAU,EAAC,cAAc,CAAC,CAAC,IAAe,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,2BAA2B,CAClC,cAAyC,EACzC,IAAqB;IAErB,MAAM,eAAe,GAAwB,IAAA,2BAAW,EAAC,IAAI,CAAC,CAAC;IAE/D,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;QAChE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,6BAA6B;IAC7B,MAAM,OAAO,GACX,IAAA,iBAAU,EAAC,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAE9C,yBAAyB;IACzB,MAAM,QAAQ,GAA4B,OAAO,CAAC,GAAG,CACnD,CAAC,CAAoB,EAAE,EAAE,CACvB,CAAC,CAAC,QAAQ,CAAC,MAAM,CACf,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,aAAa,CACjE,CACJ,CAAC;IAEF,iEAAiE;IACjE,iEAAiE;IACjE,MAAM,cAAc,GAAY,EAAiB,CAAC,MAAM,CAAC,KAAK,CAC5D,EAAE,EACF,QAAQ,CACT,CAAC,MAAM,CAAC;IACT,MAAM,eAAe,GAAW,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC;IAEhE,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,eAAe,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,OAAO,2BAA2B,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { interfaces } from '../interfaces/interfaces';
|
|
2
|
-
declare class Request implements interfaces.Request {
|
|
3
|
-
id: number;
|
|
4
|
-
serviceIdentifier: interfaces.ServiceIdentifier;
|
|
5
|
-
parentContext: interfaces.Context;
|
|
6
|
-
parentRequest: interfaces.Request | null;
|
|
7
|
-
bindings: interfaces.Binding<unknown>[];
|
|
8
|
-
childRequests: interfaces.Request[];
|
|
9
|
-
target: interfaces.Target;
|
|
10
|
-
requestScope: interfaces.RequestScope | null;
|
|
11
|
-
constructor(serviceIdentifier: interfaces.ServiceIdentifier, parentContext: interfaces.Context, parentRequest: interfaces.Request | null, bindings: interfaces.Binding<any> | interfaces.Binding<any>[], target: interfaces.Target);
|
|
12
|
-
addChildRequest(serviceIdentifier: interfaces.ServiceIdentifier, bindings: interfaces.Binding<unknown> | interfaces.Binding<unknown>[], target: interfaces.Target): interfaces.Request;
|
|
13
|
-
}
|
|
14
|
-
export { Request };
|
|
15
|
-
//# sourceMappingURL=request.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/planning/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,cAAM,OAAQ,YAAW,UAAU,CAAC,OAAO;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC;IAChD,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC;IAClC,aAAa,EAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;IACzC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;IACpC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;IAC1B,YAAY,EAAE,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;gBAGlD,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAC/C,aAAa,EAAE,UAAU,CAAC,OAAO,EACjC,aAAa,EAAE,UAAU,CAAC,OAAO,GAAG,IAAI,EAExC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAC7D,MAAM,EAAE,UAAU,CAAC,MAAM;IAcpB,eAAe,CACpB,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAC/C,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EACrE,MAAM,EAAE,UAAU,CAAC,MAAM,GACxB,UAAU,CAAC,OAAO;CAWtB;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Request = void 0;
|
|
4
|
-
const id_1 = require("../utils/id");
|
|
5
|
-
class Request {
|
|
6
|
-
id;
|
|
7
|
-
serviceIdentifier;
|
|
8
|
-
parentContext;
|
|
9
|
-
parentRequest;
|
|
10
|
-
bindings;
|
|
11
|
-
childRequests;
|
|
12
|
-
target;
|
|
13
|
-
requestScope;
|
|
14
|
-
constructor(serviceIdentifier, parentContext, parentRequest,
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
|
-
bindings, target) {
|
|
17
|
-
this.id = (0, id_1.id)();
|
|
18
|
-
this.serviceIdentifier = serviceIdentifier;
|
|
19
|
-
this.parentContext = parentContext;
|
|
20
|
-
this.parentRequest = parentRequest;
|
|
21
|
-
this.target = target;
|
|
22
|
-
this.childRequests = [];
|
|
23
|
-
this.bindings = Array.isArray(bindings) ? bindings : [bindings];
|
|
24
|
-
// Set requestScope if Request is the root request
|
|
25
|
-
this.requestScope = parentRequest === null ? new Map() : null;
|
|
26
|
-
}
|
|
27
|
-
addChildRequest(serviceIdentifier, bindings, target) {
|
|
28
|
-
const child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);
|
|
29
|
-
this.childRequests.push(child);
|
|
30
|
-
return child;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.Request = Request;
|
|
34
|
-
//# sourceMappingURL=request.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/planning/request.ts"],"names":[],"mappings":";;;AACA,oCAAiC;AAEjC,MAAM,OAAO;IACJ,EAAE,CAAS;IACX,iBAAiB,CAA+B;IAChD,aAAa,CAAqB;IAClC,aAAa,CAA4B;IACzC,QAAQ,CAAgC;IACxC,aAAa,CAAuB;IACpC,MAAM,CAAoB;IAC1B,YAAY,CAAiC;IAEpD,YACE,iBAA+C,EAC/C,aAAiC,EACjC,aAAwC;IACxC,8DAA8D;IAC9D,QAA6D,EAC7D,MAAyB;QAEzB,IAAI,CAAC,EAAE,GAAG,IAAA,OAAE,GAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEhE,kDAAkD;QAClD,IAAI,CAAC,YAAY,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAEM,eAAe,CACpB,iBAA+C,EAC/C,QAAqE,EACrE,MAAyB;QAEzB,MAAM,KAAK,GAAY,IAAI,OAAO,CAChC,iBAAiB,EACjB,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,QAAQ,EACR,MAAM,CACP,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAEQ,0BAAO"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { interfaces } from '../interfaces/interfaces';
|
|
2
|
-
declare function resolveInstance<T>(binding: interfaces.Binding<T>, constr: interfaces.Newable<T>, childRequests: interfaces.Request[], resolveRequest: interfaces.ResolveRequestHandler): T | Promise<T>;
|
|
3
|
-
export { resolveInstance };
|
|
4
|
-
//# sourceMappingURL=instantiation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"instantiation.d.ts","sourceRoot":"","sources":["../../../src/resolution/instantiation.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAmLtD,iBAAS,eAAe,CAAC,CAAC,EACxB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAC9B,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,EACnC,cAAc,EAAE,UAAU,CAAC,qBAAqB,GAC/C,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAgBhB;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.resolveInstance = resolveInstance;
|
|
37
|
-
const error_msgs_1 = require("../constants/error_msgs");
|
|
38
|
-
const literal_types_1 = require("../constants/literal_types");
|
|
39
|
-
const METADATA_KEY = __importStar(require("../constants/metadata_keys"));
|
|
40
|
-
const async_1 = require("../utils/async");
|
|
41
|
-
function _resolveRequests(childRequests, resolveRequest) {
|
|
42
|
-
return childRequests.reduce((resolvedRequests, childRequest) => {
|
|
43
|
-
const injection = resolveRequest(childRequest);
|
|
44
|
-
const targetType = childRequest.target.type;
|
|
45
|
-
if (targetType === literal_types_1.TargetTypeEnum.ConstructorArgument) {
|
|
46
|
-
resolvedRequests.constructorInjections.push(injection);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
resolvedRequests.propertyRequests.push(childRequest);
|
|
50
|
-
resolvedRequests.propertyInjections.push(injection);
|
|
51
|
-
}
|
|
52
|
-
if (!resolvedRequests.isAsync) {
|
|
53
|
-
resolvedRequests.isAsync = (0, async_1.isPromiseOrContainsPromise)(injection);
|
|
54
|
-
}
|
|
55
|
-
return resolvedRequests;
|
|
56
|
-
}, {
|
|
57
|
-
constructorInjections: [],
|
|
58
|
-
isAsync: false,
|
|
59
|
-
propertyInjections: [],
|
|
60
|
-
propertyRequests: [],
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
function _createInstance(constr, childRequests, resolveRequest) {
|
|
64
|
-
let result;
|
|
65
|
-
if (childRequests.length > 0) {
|
|
66
|
-
const resolved = _resolveRequests(childRequests, resolveRequest);
|
|
67
|
-
const createInstanceWithInjectionsArg = {
|
|
68
|
-
...resolved,
|
|
69
|
-
constr,
|
|
70
|
-
};
|
|
71
|
-
if (resolved.isAsync) {
|
|
72
|
-
result = createInstanceWithInjectionsAsync(createInstanceWithInjectionsArg);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
result = createInstanceWithInjections(createInstanceWithInjectionsArg);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
result = new constr();
|
|
80
|
-
}
|
|
81
|
-
return result;
|
|
82
|
-
}
|
|
83
|
-
function createInstanceWithInjections(args) {
|
|
84
|
-
const instance = new args.constr(...args.constructorInjections);
|
|
85
|
-
args.propertyRequests.forEach((r, index) => {
|
|
86
|
-
const property = r.target.identifier;
|
|
87
|
-
const injection = args.propertyInjections[index];
|
|
88
|
-
if (!r.target.isOptional() || injection !== undefined) {
|
|
89
|
-
instance[property] = injection;
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
return instance;
|
|
93
|
-
}
|
|
94
|
-
async function createInstanceWithInjectionsAsync(args) {
|
|
95
|
-
const constructorInjections = await possiblyWaitInjections(args.constructorInjections);
|
|
96
|
-
const propertyInjections = await possiblyWaitInjections(args.propertyInjections);
|
|
97
|
-
return createInstanceWithInjections({
|
|
98
|
-
...args,
|
|
99
|
-
constructorInjections,
|
|
100
|
-
propertyInjections,
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
async function possiblyWaitInjections(possiblePromiseinjections) {
|
|
104
|
-
const injections = [];
|
|
105
|
-
for (const injection of possiblePromiseinjections) {
|
|
106
|
-
if (Array.isArray(injection)) {
|
|
107
|
-
injections.push(Promise.all(injection));
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
injections.push(injection);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return Promise.all(injections);
|
|
114
|
-
}
|
|
115
|
-
function _getInstanceAfterPostConstruct(constr, result) {
|
|
116
|
-
const postConstructResult = _postConstruct(constr, result);
|
|
117
|
-
if ((0, async_1.isPromise)(postConstructResult)) {
|
|
118
|
-
return postConstructResult.then(() => result);
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
return result;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
function _postConstruct(constr, instance) {
|
|
125
|
-
if (Reflect.hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {
|
|
126
|
-
const data = Reflect.getMetadata(METADATA_KEY.POST_CONSTRUCT, constr);
|
|
127
|
-
try {
|
|
128
|
-
return instance[data.value]?.();
|
|
129
|
-
}
|
|
130
|
-
catch (e) {
|
|
131
|
-
if (e instanceof Error) {
|
|
132
|
-
throw new Error((0, error_msgs_1.POST_CONSTRUCT_ERROR)(constr.name, e.message));
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
function _validateInstanceResolution(binding, constr) {
|
|
138
|
-
if (binding.scope !== literal_types_1.BindingScopeEnum.Singleton) {
|
|
139
|
-
_throwIfHandlingDeactivation(binding, constr);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
function _throwIfHandlingDeactivation(binding, constr) {
|
|
143
|
-
const scopeErrorMessage = `Class cannot be instantiated in ${binding.scope === literal_types_1.BindingScopeEnum.Request ? 'request' : 'transient'} scope.`;
|
|
144
|
-
if (typeof binding.onDeactivation === 'function') {
|
|
145
|
-
throw new Error((0, error_msgs_1.ON_DEACTIVATION_ERROR)(constr.name, scopeErrorMessage));
|
|
146
|
-
}
|
|
147
|
-
if (Reflect.hasMetadata(METADATA_KEY.PRE_DESTROY, constr)) {
|
|
148
|
-
throw new Error((0, error_msgs_1.PRE_DESTROY_ERROR)(constr.name, scopeErrorMessage));
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
function resolveInstance(binding, constr, childRequests, resolveRequest) {
|
|
152
|
-
_validateInstanceResolution(binding, constr);
|
|
153
|
-
const result = _createInstance(constr, childRequests, resolveRequest);
|
|
154
|
-
if ((0, async_1.isPromise)(result)) {
|
|
155
|
-
return result.then((resolvedResult) => _getInstanceAfterPostConstruct(constr, resolvedResult));
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
return _getInstanceAfterPostConstruct(constr, result);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
//# sourceMappingURL=instantiation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"instantiation.js","sourceRoot":"","sources":["../../../src/resolution/instantiation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/resolution/resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAwVtD,iBAAS,OAAO,CAAC,CAAC,EAChB,OAAO,EAAE,UAAU,CAAC,OAAO,GAC1B,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAWrC;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.resolve = resolve;
|
|
37
|
-
const ERROR_MSGS = __importStar(require("../constants/error_msgs"));
|
|
38
|
-
const literal_types_1 = require("../constants/literal_types");
|
|
39
|
-
const planner_1 = require("../planning/planner");
|
|
40
|
-
const scope_1 = require("../scope/scope");
|
|
41
|
-
const async_1 = require("../utils/async");
|
|
42
|
-
const binding_utils_1 = require("../utils/binding_utils");
|
|
43
|
-
const exceptions_1 = require("../utils/exceptions");
|
|
44
|
-
const instantiation_1 = require("./instantiation");
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
46
|
-
const _resolveRequest = (requestScope) => (request) => {
|
|
47
|
-
request.parentContext.setCurrentRequest(request);
|
|
48
|
-
const bindings = request.bindings;
|
|
49
|
-
const childRequests = request.childRequests;
|
|
50
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, @typescript-eslint/strict-boolean-expressions
|
|
51
|
-
const targetIsAnArray = request.target && request.target.isArray();
|
|
52
|
-
const targetParentIsNotAnArray = !request.parentRequest ||
|
|
53
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, @typescript-eslint/strict-boolean-expressions
|
|
54
|
-
!request.parentRequest.target ||
|
|
55
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, @typescript-eslint/strict-boolean-expressions
|
|
56
|
-
!request.target ||
|
|
57
|
-
!request.parentRequest.target.matchesArray(request.target.serviceIdentifier);
|
|
58
|
-
if (targetIsAnArray && targetParentIsNotAnArray) {
|
|
59
|
-
// Create an array instead of creating an instance
|
|
60
|
-
return childRequests.map((childRequest) => {
|
|
61
|
-
const resolveRequest = _resolveRequest(requestScope);
|
|
62
|
-
return resolveRequest(childRequest);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
if (request.target.isOptional() && bindings.length === 0) {
|
|
67
|
-
return undefined;
|
|
68
|
-
}
|
|
69
|
-
const binding = bindings[0];
|
|
70
|
-
return _resolveBinding(requestScope, request, binding);
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
74
|
-
const _resolveFactoryFromBinding = (binding, context) => {
|
|
75
|
-
const factoryDetails = (0, binding_utils_1.getFactoryDetails)(binding);
|
|
76
|
-
return (0, exceptions_1.tryAndThrowErrorIfStackOverflow)(() => factoryDetails.factory.bind(binding)(context), () => new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(factoryDetails.factoryType, context.currentRequest.serviceIdentifier.toString())));
|
|
77
|
-
};
|
|
78
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
79
|
-
const _getResolvedFromBinding = (requestScope, request, binding) => {
|
|
80
|
-
let result;
|
|
81
|
-
const childRequests = request.childRequests;
|
|
82
|
-
(0, binding_utils_1.ensureFullyBound)(binding);
|
|
83
|
-
switch (binding.type) {
|
|
84
|
-
case literal_types_1.BindingTypeEnum.ConstantValue:
|
|
85
|
-
case literal_types_1.BindingTypeEnum.Function:
|
|
86
|
-
result = binding.cache;
|
|
87
|
-
break;
|
|
88
|
-
case literal_types_1.BindingTypeEnum.Constructor:
|
|
89
|
-
result = binding.implementationType;
|
|
90
|
-
break;
|
|
91
|
-
case literal_types_1.BindingTypeEnum.Instance:
|
|
92
|
-
result = (0, instantiation_1.resolveInstance)(binding, binding.implementationType, childRequests, _resolveRequest(requestScope));
|
|
93
|
-
break;
|
|
94
|
-
default:
|
|
95
|
-
result = _resolveFactoryFromBinding(binding, request.parentContext);
|
|
96
|
-
}
|
|
97
|
-
return result;
|
|
98
|
-
};
|
|
99
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
100
|
-
const _resolveInScope = (requestScope, binding, resolveFromBinding) => {
|
|
101
|
-
let result = (0, scope_1.tryGetFromScope)(requestScope, binding);
|
|
102
|
-
if (result !== null) {
|
|
103
|
-
return result;
|
|
104
|
-
}
|
|
105
|
-
result = resolveFromBinding();
|
|
106
|
-
(0, scope_1.saveToScope)(requestScope, binding, result);
|
|
107
|
-
return result;
|
|
108
|
-
};
|
|
109
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
110
|
-
const _resolveBinding = (requestScope, request, binding) => {
|
|
111
|
-
return _resolveInScope(requestScope, binding, () => {
|
|
112
|
-
let result = _getResolvedFromBinding(requestScope, request, binding);
|
|
113
|
-
if ((0, async_1.isPromise)(result)) {
|
|
114
|
-
result = result.then((resolved) => _onActivation(request, binding, resolved));
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
result = _onActivation(request, binding, result);
|
|
118
|
-
}
|
|
119
|
-
return result;
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
function _onActivation(request, binding, resolved) {
|
|
123
|
-
let result = _bindingActivation(request.parentContext, binding, resolved);
|
|
124
|
-
const containersIterator = _getContainersIterator(request.parentContext.container);
|
|
125
|
-
let container;
|
|
126
|
-
let containersIteratorResult = containersIterator.next();
|
|
127
|
-
do {
|
|
128
|
-
container = containersIteratorResult.value;
|
|
129
|
-
const context = request.parentContext;
|
|
130
|
-
const serviceIdentifier = request.serviceIdentifier;
|
|
131
|
-
const activationsIterator = _getContainerActivationsForService(container, serviceIdentifier);
|
|
132
|
-
if ((0, async_1.isPromise)(result)) {
|
|
133
|
-
result = _activateContainerAsync(activationsIterator, context, result);
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
result = _activateContainer(activationsIterator, context, result);
|
|
137
|
-
}
|
|
138
|
-
containersIteratorResult = containersIterator.next();
|
|
139
|
-
// make sure if we are currently on the container that owns the binding, not to keep looping down to child containers
|
|
140
|
-
} while (containersIteratorResult.done !== true &&
|
|
141
|
-
!(0, planner_1.getBindingDictionary)(container).hasKey(request.serviceIdentifier));
|
|
142
|
-
return result;
|
|
143
|
-
}
|
|
144
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
145
|
-
const _bindingActivation = (context, binding, previousResult) => {
|
|
146
|
-
let result;
|
|
147
|
-
// use activation handler if available
|
|
148
|
-
if (typeof binding.onActivation === 'function') {
|
|
149
|
-
result = binding.onActivation(context, previousResult);
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
result = previousResult;
|
|
153
|
-
}
|
|
154
|
-
return result;
|
|
155
|
-
};
|
|
156
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
157
|
-
const _activateContainer = (activationsIterator, context, result) => {
|
|
158
|
-
let activation = activationsIterator.next();
|
|
159
|
-
while (activation.done !== true) {
|
|
160
|
-
result = activation.value(context, result);
|
|
161
|
-
if ((0, async_1.isPromise)(result)) {
|
|
162
|
-
return _activateContainerAsync(activationsIterator, context, result);
|
|
163
|
-
}
|
|
164
|
-
activation = activationsIterator.next();
|
|
165
|
-
}
|
|
166
|
-
return result;
|
|
167
|
-
};
|
|
168
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
169
|
-
const _activateContainerAsync = async (activationsIterator, context, resultPromise) => {
|
|
170
|
-
let result = await resultPromise;
|
|
171
|
-
let activation = activationsIterator.next();
|
|
172
|
-
while (activation.done !== true) {
|
|
173
|
-
result = await activation.value(context, result);
|
|
174
|
-
activation = activationsIterator.next();
|
|
175
|
-
}
|
|
176
|
-
return result;
|
|
177
|
-
};
|
|
178
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
179
|
-
const _getContainerActivationsForService = (container, serviceIdentifier) => {
|
|
180
|
-
// smell accessing _activations, but similar pattern is done in planner.getBindingDictionary()
|
|
181
|
-
const activations = container._activations;
|
|
182
|
-
return activations.hasKey(serviceIdentifier)
|
|
183
|
-
? activations.get(serviceIdentifier).values()
|
|
184
|
-
: [].values();
|
|
185
|
-
};
|
|
186
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
187
|
-
const _getContainersIterator = (container) => {
|
|
188
|
-
const containersStack = [container];
|
|
189
|
-
let parent = container.parent;
|
|
190
|
-
while (parent !== null) {
|
|
191
|
-
containersStack.push(parent);
|
|
192
|
-
parent = parent.parent;
|
|
193
|
-
}
|
|
194
|
-
const getNextContainer = () => {
|
|
195
|
-
const nextContainer = containersStack.pop();
|
|
196
|
-
if (nextContainer !== undefined) {
|
|
197
|
-
return { done: false, value: nextContainer };
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
return { done: true, value: undefined };
|
|
201
|
-
}
|
|
202
|
-
};
|
|
203
|
-
const containersIterator = {
|
|
204
|
-
next: getNextContainer,
|
|
205
|
-
};
|
|
206
|
-
return containersIterator;
|
|
207
|
-
};
|
|
208
|
-
function resolve(context) {
|
|
209
|
-
const resolveRequestFunction = _resolveRequest(context.plan.rootRequest.requestScope);
|
|
210
|
-
return resolveRequestFunction(context.plan.rootRequest);
|
|
211
|
-
}
|
|
212
|
-
//# sourceMappingURL=resolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/resolution/resolver.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/scope/scope.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { interfaces } from '../interfaces/interfaces';
|
|
2
|
-
export declare const tryGetFromScope: <T>(requestScope: interfaces.RequestScope, binding: interfaces.Binding<T>) => T | Promise<T> | null;
|
|
3
|
-
export declare const saveToScope: <T>(requestScope: interfaces.RequestScope, binding: interfaces.Binding<T>, result: T | Promise<T>) => void;
|
|
4
|
-
//# sourceMappingURL=scope.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../src/scope/scope.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG3D,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,EAC9B,YAAY,EAAE,UAAU,CAAC,YAAY,EACrC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAC3B,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAgBrB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,EAC1B,YAAY,EAAE,UAAU,CAAC,YAAY,EACrC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAC9B,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KACnB,IAYJ,CAAC"}
|
package/lib/cjs/scope/scope.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.saveToScope = exports.tryGetFromScope = void 0;
|
|
4
|
-
const literal_types_1 = require("../constants/literal_types");
|
|
5
|
-
const async_1 = require("../utils/async");
|
|
6
|
-
const tryGetFromScope = (requestScope, binding) => {
|
|
7
|
-
if (binding.scope === literal_types_1.BindingScopeEnum.Singleton && binding.activated) {
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
9
|
-
return binding.cache;
|
|
10
|
-
}
|
|
11
|
-
if (binding.scope === literal_types_1.BindingScopeEnum.Request &&
|
|
12
|
-
requestScope.has(binding.id)) {
|
|
13
|
-
return requestScope.get(binding.id);
|
|
14
|
-
}
|
|
15
|
-
return null;
|
|
16
|
-
};
|
|
17
|
-
exports.tryGetFromScope = tryGetFromScope;
|
|
18
|
-
const saveToScope = (requestScope, binding, result) => {
|
|
19
|
-
if (binding.scope === literal_types_1.BindingScopeEnum.Singleton) {
|
|
20
|
-
_saveToSingletonScope(binding, result);
|
|
21
|
-
}
|
|
22
|
-
if (binding.scope === literal_types_1.BindingScopeEnum.Request) {
|
|
23
|
-
_saveToRequestScope(requestScope, binding, result);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
exports.saveToScope = saveToScope;
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
28
|
-
const _saveToRequestScope = (requestScope, binding, result) => {
|
|
29
|
-
if (!requestScope.has(binding.id)) {
|
|
30
|
-
requestScope.set(binding.id, result);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
34
|
-
const _saveToSingletonScope = (binding, result) => {
|
|
35
|
-
// store in cache if scope is singleton
|
|
36
|
-
binding.cache = result;
|
|
37
|
-
binding.activated = true;
|
|
38
|
-
if ((0, async_1.isPromise)(result)) {
|
|
39
|
-
void _saveAsyncResultToSingletonScope(binding, result);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
43
|
-
const _saveAsyncResultToSingletonScope = async (binding, asyncResult) => {
|
|
44
|
-
try {
|
|
45
|
-
const result = await asyncResult;
|
|
46
|
-
binding.cache = result;
|
|
47
|
-
}
|
|
48
|
-
catch (ex) {
|
|
49
|
-
// allow binding to retry in future
|
|
50
|
-
binding.cache = null;
|
|
51
|
-
binding.activated = false;
|
|
52
|
-
throw ex;
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
//# sourceMappingURL=scope.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/scope/scope.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,0CAA2C;AAEpC,MAAM,eAAe,GAGC,CAC3B,YAAqC,EACrC,OAA8B,EACP,EAAE;IACzB,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtE,oEAAoE;QACpE,OAAO,OAAO,CAAC,KAAM,CAAC;IACxB,CAAC;IAED,IACE,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,OAAO;QAC1C,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAC5B,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAmB,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAnBW,QAAA,eAAe,mBAmB1B;AAEK,MAAM,WAAW,GAIZ,CACV,YAAqC,EACrC,OAA8B,EAC9B,MAAsB,EAChB,EAAE;IACR,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,SAAS,EAAE,CAAC;QACjD,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,OAAO,EAAE,CAAC;QAC/C,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,WAAW,eAgBtB;AAEF,gEAAgE;AAChE,MAAM,mBAAmB,GAIb,CACV,YAAqC,EACrC,OAA8B,EAC9B,MAAsB,EAChB,EAAE;IACR,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;AACH,CAAC,CAAC;AAEF,gEAAgE;AAChE,MAAM,qBAAqB,GAGf,CACV,OAA8B,EAC9B,MAAsB,EAChB,EAAE;IACR,uCAAuC;IACvC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAEzB,IAAI,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;QACtB,KAAK,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC;AAEF,gEAAgE;AAChE,MAAM,gCAAgC,GAGjB,KAAK,EACxB,OAA8B,EAC9B,WAAuB,EACR,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAe,MAAM,WAAW,CAAC;QAE7C,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;IACzB,CAAC;IAAC,OAAO,EAAW,EAAE,CAAC;QACrB,mCAAmC;QACnC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAE1B,MAAM,EAAE,CAAC;IACX,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { interfaces } from '../interfaces/interfaces';
|
|
2
|
-
declare class BindingInSyntax<T> implements interfaces.BindingInSyntax<T> {
|
|
3
|
-
private readonly _binding;
|
|
4
|
-
constructor(binding: interfaces.Binding<T>);
|
|
5
|
-
inRequestScope(): interfaces.BindingWhenOnSyntax<T>;
|
|
6
|
-
inSingletonScope(): interfaces.BindingWhenOnSyntax<T>;
|
|
7
|
-
inTransientScope(): interfaces.BindingWhenOnSyntax<T>;
|
|
8
|
-
}
|
|
9
|
-
export { BindingInSyntax };
|
|
10
|
-
//# sourceMappingURL=binding_in_syntax.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"binding_in_syntax.d.ts","sourceRoot":"","sources":["../../../src/syntax/binding_in_syntax.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,cAAM,eAAe,CAAC,CAAC,CAAE,YAAW,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;gBAErC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAInC,cAAc,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAKnD,gBAAgB,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAKrD,gBAAgB,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;CAI7D;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|