@nexus-ioc/core 0.6.2 → 0.7.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/README.md +731 -1
- package/dist/cjs/browser.js +2 -2
- package/dist/cjs/browser.js.map +1 -1
- package/dist/cjs/core/child-module.js +32 -0
- package/dist/cjs/core/child-module.js.map +1 -0
- package/dist/cjs/core/graph/analyze-lazy-module.js +54 -0
- package/dist/cjs/core/graph/analyze-lazy-module.js.map +1 -0
- package/dist/cjs/core/graph/analyze-module.js +11 -0
- package/dist/cjs/core/graph/analyze-module.js.map +1 -1
- package/dist/cjs/core/graph/module-graph.js +685 -70
- package/dist/cjs/core/graph/module-graph.js.map +1 -1
- package/dist/cjs/core/injection/injection-context.js +29 -0
- package/dist/cjs/core/injection/injection-context.js.map +1 -0
- package/dist/cjs/core/lazy-module-loader.js +41 -0
- package/dist/cjs/core/lazy-module-loader.js.map +1 -0
- package/dist/cjs/core/module-ref.js +84 -0
- package/dist/cjs/core/module-ref.js.map +1 -0
- package/dist/cjs/core/modules/container.js +305 -17
- package/dist/cjs/core/modules/container.js.map +1 -1
- package/dist/cjs/core/modules/module-container-factory.js +2 -2
- package/dist/cjs/core/modules/module-container-factory.js.map +1 -1
- package/dist/cjs/core/modules/module-container.js +54 -16
- package/dist/cjs/core/modules/module-container.js.map +1 -1
- package/dist/cjs/core/modules/module-token-factory.js.map +1 -1
- package/dist/cjs/core/modules/modules-container.js +43 -3
- package/dist/cjs/core/modules/modules-container.js.map +1 -1
- package/dist/cjs/core/nexus-applications.browser.js +57 -15
- package/dist/cjs/core/nexus-applications.browser.js.map +1 -1
- package/dist/cjs/core/nexus-applications.js +440 -82
- package/dist/cjs/core/nexus-applications.js.map +1 -1
- package/dist/cjs/core/nexus-applications.server.js +57 -15
- package/dist/cjs/core/nexus-applications.server.js.map +1 -1
- package/dist/cjs/core/resolver/providers-container.js.map +1 -1
- package/dist/cjs/core/resolver/resolution-context.js +62 -0
- package/dist/cjs/core/resolver/resolution-context.js.map +1 -0
- package/dist/cjs/core/resolver/resolver.js +523 -99
- package/dist/cjs/core/resolver/resolver.js.map +1 -1
- package/dist/cjs/decorators/inject.js +6 -3
- package/dist/cjs/decorators/inject.js.map +1 -1
- package/dist/cjs/decorators/injectable.js +0 -7
- package/dist/cjs/decorators/injectable.js.map +1 -1
- package/dist/cjs/decorators/{nsModule.js → module.js} +9 -7
- package/dist/cjs/decorators/module.js.map +1 -0
- package/dist/cjs/errors/bootstrap-error.js +47 -0
- package/dist/cjs/errors/bootstrap-error.js.map +1 -0
- package/dist/cjs/errors/child-errors.js +21 -0
- package/dist/cjs/errors/child-errors.js.map +1 -0
- package/dist/cjs/errors/index.js +24 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/errors/injection-errors.js +25 -0
- package/dist/cjs/errors/injection-errors.js.map +1 -0
- package/dist/cjs/errors/lazy-module-errors.js +26 -0
- package/dist/cjs/errors/lazy-module-errors.js.map +1 -0
- package/dist/cjs/errors/provider-errors.js +95 -0
- package/dist/cjs/errors/provider-errors.js.map +1 -0
- package/dist/cjs/index.js +30 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/index.js +1 -0
- package/dist/cjs/interfaces/index.js.map +1 -1
- package/dist/cjs/interfaces/modules/index.js +1 -0
- package/dist/cjs/interfaces/modules/index.js.map +1 -1
- package/dist/cjs/interfaces/modules/module-graph.interface.js +2 -0
- package/dist/cjs/interfaces/modules/module-graph.interface.js.map +1 -1
- package/dist/cjs/interfaces/modules/parent-link.interface.js +3 -0
- package/dist/cjs/interfaces/modules/parent-link.interface.js.map +1 -0
- package/dist/cjs/interfaces/on-module-destroy.interface.js +3 -0
- package/dist/cjs/interfaces/on-module-destroy.interface.js.map +1 -0
- package/dist/cjs/interfaces/scope.interface.js +2 -55
- package/dist/cjs/interfaces/scope.interface.js.map +1 -1
- package/dist/cjs/interfaces/validate-module-keys.js +2 -0
- package/dist/cjs/interfaces/validate-module-keys.js.map +1 -1
- package/dist/cjs/internal.js +9 -0
- package/dist/cjs/internal.js.map +1 -0
- package/dist/cjs/server.js +2 -2
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/utils/forward-ref.js +14 -0
- package/dist/cjs/utils/forward-ref.js.map +1 -0
- package/dist/cjs/utils/helpers.js +14 -4
- package/dist/cjs/utils/helpers.js.map +1 -1
- package/dist/cjs/utils/lazy-module.js +33 -0
- package/dist/cjs/utils/lazy-module.js.map +1 -0
- package/dist/esm/browser.js +1 -1
- package/dist/esm/browser.js.map +1 -1
- package/dist/esm/core/child-module.js +29 -0
- package/dist/esm/core/child-module.js.map +1 -0
- package/dist/esm/core/graph/analyze-lazy-module.js +50 -0
- package/dist/esm/core/graph/analyze-lazy-module.js.map +1 -0
- package/dist/esm/core/graph/analyze-module.js +11 -0
- package/dist/esm/core/graph/analyze-module.js.map +1 -1
- package/dist/esm/core/graph/module-graph.js +686 -71
- package/dist/esm/core/graph/module-graph.js.map +1 -1
- package/dist/esm/core/injection/injection-context.js +25 -0
- package/dist/esm/core/injection/injection-context.js.map +1 -0
- package/dist/esm/core/lazy-module-loader.js +36 -0
- package/dist/esm/core/lazy-module-loader.js.map +1 -0
- package/dist/esm/core/module-ref.js +80 -0
- package/dist/esm/core/module-ref.js.map +1 -0
- package/dist/esm/core/modules/container.js +305 -17
- package/dist/esm/core/modules/container.js.map +1 -1
- package/dist/esm/core/modules/module-container-factory.js +2 -2
- package/dist/esm/core/modules/module-container-factory.js.map +1 -1
- package/dist/esm/core/modules/module-container.js +55 -17
- package/dist/esm/core/modules/module-container.js.map +1 -1
- package/dist/esm/core/modules/module-token-factory.js.map +1 -1
- package/dist/esm/core/modules/modules-container.js +43 -3
- package/dist/esm/core/modules/modules-container.js.map +1 -1
- package/dist/esm/core/nexus-applications.browser.js +55 -13
- package/dist/esm/core/nexus-applications.browser.js.map +1 -1
- package/dist/esm/core/nexus-applications.js +439 -81
- package/dist/esm/core/nexus-applications.js.map +1 -1
- package/dist/esm/core/nexus-applications.server.js +55 -13
- package/dist/esm/core/nexus-applications.server.js.map +1 -1
- package/dist/esm/core/resolver/providers-container.js.map +1 -1
- package/dist/esm/core/resolver/resolution-context.js +58 -0
- package/dist/esm/core/resolver/resolution-context.js.map +1 -0
- package/dist/esm/core/resolver/resolver.js +524 -100
- package/dist/esm/core/resolver/resolver.js.map +1 -1
- package/dist/esm/decorators/inject.js +6 -3
- package/dist/esm/decorators/inject.js.map +1 -1
- package/dist/esm/decorators/injectable.js +0 -7
- package/dist/esm/decorators/injectable.js.map +1 -1
- package/dist/esm/decorators/{nsModule.js → module.js} +8 -6
- package/dist/esm/decorators/module.js.map +1 -0
- package/dist/esm/errors/bootstrap-error.js +42 -0
- package/dist/esm/errors/bootstrap-error.js.map +1 -0
- package/dist/esm/errors/child-errors.js +17 -0
- package/dist/esm/errors/child-errors.js.map +1 -0
- package/dist/esm/errors/index.js +6 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/errors/injection-errors.js +20 -0
- package/dist/esm/errors/injection-errors.js.map +1 -0
- package/dist/esm/errors/lazy-module-errors.js +21 -0
- package/dist/esm/errors/lazy-module-errors.js.map +1 -0
- package/dist/esm/errors/provider-errors.js +84 -0
- package/dist/esm/errors/provider-errors.js.map +1 -0
- package/dist/esm/index.js +9 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/index.js +1 -0
- package/dist/esm/interfaces/index.js.map +1 -1
- package/dist/esm/interfaces/modules/index.js +1 -0
- package/dist/esm/interfaces/modules/index.js.map +1 -1
- package/dist/esm/interfaces/modules/module-graph.interface.js +2 -0
- package/dist/esm/interfaces/modules/module-graph.interface.js.map +1 -1
- package/dist/esm/interfaces/modules/parent-link.interface.js +2 -0
- package/dist/esm/interfaces/modules/parent-link.interface.js.map +1 -0
- package/dist/esm/interfaces/on-module-destroy.interface.js +2 -0
- package/dist/esm/interfaces/on-module-destroy.interface.js.map +1 -0
- package/dist/esm/interfaces/scope.interface.js +1 -55
- package/dist/esm/interfaces/scope.interface.js.map +1 -1
- package/dist/esm/interfaces/validate-module-keys.js +2 -0
- package/dist/esm/interfaces/validate-module-keys.js.map +1 -1
- package/dist/esm/internal.js +3 -0
- package/dist/esm/internal.js.map +1 -0
- package/dist/esm/server.js +1 -1
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/utils/forward-ref.js +10 -0
- package/dist/esm/utils/forward-ref.js.map +1 -0
- package/dist/esm/utils/helpers.js +14 -4
- package/dist/esm/utils/helpers.js.map +1 -1
- package/dist/esm/utils/lazy-module.js +29 -0
- package/dist/esm/utils/lazy-module.js.map +1 -0
- package/dist/types/browser.d.ts +1 -1
- package/dist/types/core/child-module.d.ts +8 -0
- package/dist/types/core/graph/analyze-lazy-module.d.ts +28 -0
- package/dist/types/core/graph/analyze-module.d.ts +4 -2
- package/dist/types/core/graph/analyze-provider.d.ts +4 -4
- package/dist/types/core/graph/module-graph.d.ts +200 -7
- package/dist/types/core/graph/providers/analyze-class-provider.d.ts +1 -1
- package/dist/types/core/graph/providers/analyze-factory-provider.d.ts +2 -2
- package/dist/types/core/graph/providers/analyze-value-provider.d.ts +1 -1
- package/dist/types/core/injection/injection-context.d.ts +29 -0
- package/dist/types/core/lazy-module-loader.d.ts +17 -0
- package/dist/types/core/module-ref.d.ts +34 -0
- package/dist/types/core/modules/container.d.ts +134 -18
- package/dist/types/core/modules/module-container-factory.d.ts +3 -3
- package/dist/types/core/modules/module-container.d.ts +44 -5
- package/dist/types/core/modules/module-token-factory.d.ts +2 -2
- package/dist/types/core/modules/modules-container.d.ts +23 -4
- package/dist/types/core/nexus-applications.browser.d.ts +30 -8
- package/dist/types/core/nexus-applications.d.ts +219 -55
- package/dist/types/core/nexus-applications.server.d.ts +30 -8
- package/dist/types/core/resolver/providers-container.d.ts +2 -2
- package/dist/types/core/resolver/resolution-context.d.ts +22 -0
- package/dist/types/core/resolver/resolver.d.ts +122 -4
- package/dist/types/decorators/inject.d.ts +9 -5
- package/dist/types/decorators/injectable.d.ts +0 -7
- package/dist/types/decorators/{nsModule.d.ts → module.d.ts} +6 -5
- package/dist/types/errors/bootstrap-error.d.ts +6 -0
- package/dist/types/errors/child-errors.d.ts +10 -0
- package/dist/types/errors/index.d.ts +5 -0
- package/dist/types/errors/injection-errors.d.ts +11 -0
- package/dist/types/errors/lazy-module-errors.d.ts +12 -0
- package/dist/types/errors/provider-errors.d.ts +47 -0
- package/dist/types/index.d.ts +13 -4
- package/dist/types/interfaces/abstract.interface.d.ts +1 -3
- package/dist/types/interfaces/dynamic-module.interface.d.ts +7 -5
- package/dist/types/interfaces/index.d.ts +1 -0
- package/dist/types/interfaces/injection-token.interface.d.ts +1 -3
- package/dist/types/interfaces/module-metadata.interface.d.ts +12 -4
- package/dist/types/interfaces/module-types.interface.d.ts +21 -24
- package/dist/types/interfaces/modules/container.interface.d.ts +10 -4
- package/dist/types/interfaces/modules/index.d.ts +1 -0
- package/dist/types/interfaces/modules/module-container-factory.interface.d.ts +2 -2
- package/dist/types/interfaces/modules/module-graph.interface.d.ts +85 -12
- package/dist/types/interfaces/modules/module-token-factory.interface.d.ts +2 -2
- package/dist/types/interfaces/modules/modules-container.interface.d.ts +5 -4
- package/dist/types/interfaces/modules/parent-link.interface.d.ts +12 -0
- package/dist/types/interfaces/nexus-application.interface.d.ts +49 -6
- package/dist/types/interfaces/on-module-destroy.interface.d.ts +3 -0
- package/dist/types/interfaces/plugins/scanner-plugin.interface.d.ts +1 -1
- package/dist/types/interfaces/scope.interface.d.ts +1 -54
- package/dist/types/interfaces/validate-module-keys.d.ts +1 -0
- package/dist/types/internal.d.ts +3 -0
- package/dist/types/server.d.ts +1 -1
- package/dist/types/utils/forward-ref.d.ts +5 -0
- package/dist/types/utils/helpers.d.ts +8 -8
- package/dist/types/utils/lazy-module.d.ts +20 -0
- package/package.json +21 -4
- package/dist/cjs/decorators/nsModule.js.map +0 -1
- package/dist/esm/decorators/nsModule.js.map +0 -1
|
@@ -1,59 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Scope = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
* The scope determines how instances are created and cached:
|
|
8
|
-
*
|
|
9
|
-
* - **Singleton**: One instance is created and shared across the entire application.
|
|
10
|
-
* The instance is cached globally and reused for all requests.
|
|
11
|
-
*
|
|
12
|
-
* - **Request**: A new instance is created for each `container.get()` call, but
|
|
13
|
-
* the same instance is reused within that call's dependency tree. This is useful
|
|
14
|
-
* for request-scoped data in web applications.
|
|
15
|
-
*
|
|
16
|
-
* - **Transient**: A new instance is created every time the provider is injected,
|
|
17
|
-
* even within the same dependency tree. No caching is performed.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* // Singleton - shared across the application
|
|
22
|
-
* @Injectable({ scope: Scope.Singleton })
|
|
23
|
-
* class DatabaseConnection {
|
|
24
|
-
* // Only one instance exists
|
|
25
|
-
* }
|
|
26
|
-
*
|
|
27
|
-
* // Request - new instance per request
|
|
28
|
-
* @Injectable({ scope: Scope.Request })
|
|
29
|
-
* class RequestContext {
|
|
30
|
-
* requestId = Math.random();
|
|
31
|
-
* // Different requestId for each container.get() call
|
|
32
|
-
* }
|
|
33
|
-
*
|
|
34
|
-
* // Transient - new instance every time
|
|
35
|
-
* @Injectable({ scope: Scope.Transient })
|
|
36
|
-
* class Logger {
|
|
37
|
-
* timestamp = Date.now();
|
|
38
|
-
* // Different timestamp for each injection
|
|
39
|
-
* }
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
var Scope;
|
|
43
|
-
(function (Scope) {
|
|
44
|
-
/**
|
|
45
|
-
* Singleton scope - one instance shared across the entire application.
|
|
46
|
-
* This is the default scope.
|
|
47
|
-
*/
|
|
48
|
-
Scope[Scope["Singleton"] = 0] = "Singleton";
|
|
49
|
-
/**
|
|
50
|
-
* Request scope - new instance for each container.get() call,
|
|
51
|
-
* but shared within that call's dependency tree.
|
|
52
|
-
*/
|
|
53
|
-
Scope[Scope["Request"] = 1] = "Request";
|
|
54
|
-
/**
|
|
55
|
-
* Transient scope - new instance every time, no caching.
|
|
56
|
-
*/
|
|
57
|
-
Scope[Scope["Transient"] = 2] = "Transient";
|
|
58
|
-
})(Scope || (exports.Scope = Scope = {}));
|
|
4
|
+
var shared_1 = require("@nexus-ioc/shared");
|
|
5
|
+
Object.defineProperty(exports, "Scope", { enumerable: true, get: function () { return shared_1.Scope; } });
|
|
59
6
|
//# sourceMappingURL=scope.interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.interface.js","sourceRoot":"","sources":["../../../src/interfaces/scope.interface.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"scope.interface.js","sourceRoot":"","sources":["../../../src/interfaces/scope.interface.ts"],"names":[],"mappings":";;;AAAA,4CAA0C;AAAjC,+FAAA,KAAK,OAAA"}
|
|
@@ -6,6 +6,7 @@ exports.MODULE_METADATA = {
|
|
|
6
6
|
IMPORTS: "imports",
|
|
7
7
|
PROVIDERS: "providers",
|
|
8
8
|
EXPORTS: "exports",
|
|
9
|
+
CHILDREN: "children",
|
|
9
10
|
};
|
|
10
11
|
const INVALID_MODULE_CONFIG_MESSAGE = (_text, property) => `Invalid property '${property}' passed into the @Module() decorator.`;
|
|
11
12
|
exports.INVALID_MODULE_CONFIG_MESSAGE = INVALID_MODULE_CONFIG_MESSAGE;
|
|
@@ -13,6 +14,7 @@ const metadataKeys = [
|
|
|
13
14
|
exports.MODULE_METADATA.IMPORTS,
|
|
14
15
|
exports.MODULE_METADATA.EXPORTS,
|
|
15
16
|
exports.MODULE_METADATA.PROVIDERS,
|
|
17
|
+
exports.MODULE_METADATA.CHILDREN,
|
|
16
18
|
];
|
|
17
19
|
function validateModuleKeys(keys) {
|
|
18
20
|
const validateKey = (key) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-module-keys.js","sourceRoot":"","sources":["../../../src/interfaces/validate-module-keys.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"validate-module-keys.js","sourceRoot":"","sources":["../../../src/interfaces/validate-module-keys.ts"],"names":[],"mappings":";;;AAmBA,gDAQC;AA3BY,QAAA,eAAe,GAAG;IAC9B,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;CACpB,CAAC;AAEK,MAAM,6BAA6B,GAAG,CAC5C,KAA2B,EAC3B,QAAgB,EACf,EAAE,CAAC,qBAAqB,QAAQ,wCAAwC,CAAC;AAH9D,QAAA,6BAA6B,iCAGiC;AAE3E,MAAM,YAAY,GAAG;IACpB,uBAAe,CAAC,OAAO;IACvB,uBAAe,CAAC,OAAO;IACvB,uBAAe,CAAC,SAAS;IACzB,uBAAe,CAAC,QAAQ;CACxB,CAAC;AAEF,SAAgB,kBAAkB,CAAC,IAAc;IAChD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QACnC,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO;QACR,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,IAAA,qCAA6B,EAAA,GAAG,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Container = exports.LazyModuleLoader = exports.createInternalModule = void 0;
|
|
4
|
+
var lazy_module_loader_1 = require("./core/lazy-module-loader");
|
|
5
|
+
Object.defineProperty(exports, "createInternalModule", { enumerable: true, get: function () { return lazy_module_loader_1.createInternalModule; } });
|
|
6
|
+
Object.defineProperty(exports, "LazyModuleLoader", { enumerable: true, get: function () { return lazy_module_loader_1.LazyModuleLoader; } });
|
|
7
|
+
var container_1 = require("./core/modules/container");
|
|
8
|
+
Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return container_1.Container; } });
|
|
9
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":";;;AAAA,gEAGmC;AAFlC,0HAAA,oBAAoB,OAAA;AACpB,sHAAA,gBAAgB,OAAA;AAEjB,sDAAqD;AAA5C,sGAAA,SAAS,OAAA"}
|
package/dist/cjs/server.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.NexusApplicationServer = void 0;
|
|
4
4
|
var nexus_applications_server_1 = require("./core/nexus-applications.server");
|
|
5
|
-
Object.defineProperty(exports, "
|
|
5
|
+
Object.defineProperty(exports, "NexusApplicationServer", { enumerable: true, get: function () { return nexus_applications_server_1.NexusApplicationServer; } });
|
|
6
6
|
//# sourceMappingURL=server.js.map
|
package/dist/cjs/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";;;AAAA,8EAA0E;AAAjE,mIAAA,sBAAsB,OAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.forwardRef = forwardRef;
|
|
4
|
+
exports.isForwardRef = isForwardRef;
|
|
5
|
+
function forwardRef(fn) {
|
|
6
|
+
return { forwardRef: fn };
|
|
7
|
+
}
|
|
8
|
+
function isForwardRef(token) {
|
|
9
|
+
return (typeof token === "object" &&
|
|
10
|
+
token !== null &&
|
|
11
|
+
"forwardRef" in token &&
|
|
12
|
+
typeof token.forwardRef === "function");
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=forward-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forward-ref.js","sourceRoot":"","sources":["../../../src/utils/forward-ref.ts"],"names":[],"mappings":";;AAIA,gCAEC;AAED,oCAOC;AAXD,SAAgB,UAAU,CAAc,EAAW;IAClD,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAC3B,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IAC1C,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,YAAY,IAAI,KAAK;QACrB,OAAQ,KAAoB,CAAC,UAAU,KAAK,UAAU,CACtD,CAAC;AACH,CAAC"}
|
|
@@ -14,6 +14,7 @@ exports.isGlobalModule = isGlobalModule;
|
|
|
14
14
|
exports.getModuleLabel = getModuleLabel;
|
|
15
15
|
exports.getProviderScope = getProviderScope;
|
|
16
16
|
require("reflect-metadata");
|
|
17
|
+
const provider_errors_1 = require("../errors/provider-errors");
|
|
17
18
|
const interfaces_1 = require("../interfaces");
|
|
18
19
|
function isFunctionProvider(target) {
|
|
19
20
|
return typeof target === "function";
|
|
@@ -62,17 +63,26 @@ function getModuleLabel(module) {
|
|
|
62
63
|
return module.name;
|
|
63
64
|
}
|
|
64
65
|
function getProviderScope(target) {
|
|
66
|
+
const scope = declaredScope(target) ?? interfaces_1.Scope.Singleton;
|
|
67
|
+
if (scope !== interfaces_1.Scope.Singleton && scope !== interfaces_1.Scope.Transient) {
|
|
68
|
+
throw new provider_errors_1.InvalidScopeError(getProviderToken(target), scope);
|
|
69
|
+
}
|
|
70
|
+
return scope;
|
|
71
|
+
}
|
|
72
|
+
/** The scope a provider declares, or undefined when it declares none. */
|
|
73
|
+
function declaredScope(target) {
|
|
65
74
|
if (isFactoryProvider(target)) {
|
|
66
|
-
return target.scope
|
|
75
|
+
return target.scope;
|
|
67
76
|
}
|
|
68
77
|
if (isClassProvider(target)) {
|
|
78
|
+
// A Singleton (0) on the class falls through to the provider object,
|
|
79
|
+
// so `{ useClass, scope: Scope.Transient }` overrides it.
|
|
69
80
|
return (Reflect.getMetadata(interfaces_1.INJECTABLE_OPTIONS, target.useClass)?.scope ||
|
|
70
|
-
target.scope
|
|
71
|
-
interfaces_1.Scope.Singleton);
|
|
81
|
+
target.scope);
|
|
72
82
|
}
|
|
73
83
|
if (isValueProvider(target)) {
|
|
74
84
|
return interfaces_1.Scope.Singleton;
|
|
75
85
|
}
|
|
76
|
-
return
|
|
86
|
+
return Reflect.getMetadata(interfaces_1.INJECTABLE_OPTIONS, target)?.scope;
|
|
77
87
|
}
|
|
78
88
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":";;AAgBA,gDAEC;AAED,4BAEC;AAED,0CAEC;AAED,0CAEC;AAED,0CAGC;AAED,8CAEC;AAED,4CAMC;AAED,gCAEC;AAED,gDAMC;AAED,0CAIC;AAED,wCAEC;AAED,wCAMC;AAED,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.lazy = lazy;
|
|
4
|
+
exports.isLazyModule = isLazyModule;
|
|
5
|
+
/**
|
|
6
|
+
* Declares a lazily loaded module import.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* export const FeatureLazy = lazy(() =>
|
|
11
|
+
* import("./feature/feature.module").then((m) => m.FeatureModule),
|
|
12
|
+
* );
|
|
13
|
+
*
|
|
14
|
+
* @Module({ imports: [CoreModule, FeatureLazy] })
|
|
15
|
+
* class AppModule {}
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
function lazy(loader, options = {}) {
|
|
19
|
+
const name = options.name ?? "LazyModule";
|
|
20
|
+
return Object.freeze({
|
|
21
|
+
id: Symbol(name),
|
|
22
|
+
name,
|
|
23
|
+
load: loader,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function isLazyModule(value) {
|
|
27
|
+
return (typeof value === "object" &&
|
|
28
|
+
value !== null &&
|
|
29
|
+
typeof value.id === "symbol" &&
|
|
30
|
+
typeof value.load === "function" &&
|
|
31
|
+
typeof value.name === "string");
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=lazy-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-module.js","sourceRoot":"","sources":["../../../src/utils/lazy-module.ts"],"names":[],"mappings":";;AAoBA,oBAUC;AAED,oCAQC;AAjCD;;;;;;;;;;;;GAYG;AACH,SAAgB,IAAI,CACnB,MAAwC,EACxC,UAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC;QAChB,IAAI;QACJ,IAAI,EAAE,MAAM;KACZ,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IAC1C,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAoB,CAAC,EAAE,KAAK,QAAQ;QAC5C,OAAQ,KAAoB,CAAC,IAAI,KAAK,UAAU;QAChD,OAAQ,KAAoB,CAAC,IAAI,KAAK,QAAQ,CAC9C,CAAC;AACH,CAAC"}
|
package/dist/esm/browser.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { NexusApplicationBrowser } from "./core/nexus-applications.browser.js";
|
|
2
2
|
//# sourceMappingURL=browser.js.map
|
package/dist/esm/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import { MODULE_METADATA, } from "../interfaces/index.js";
|
|
3
|
+
import { isDynamicModule } from "../utils/helpers.js";
|
|
4
|
+
/**
|
|
5
|
+
* Returns `module` with `providers` appended to its root providers, as a
|
|
6
|
+
* `DynamicModule`. A `Type` keeps its decorator imports and exports. Returns
|
|
7
|
+
* `module` itself when there is nothing to add.
|
|
8
|
+
*/
|
|
9
|
+
export function withExtraProviders(module, providers) {
|
|
10
|
+
if (!providers || providers.length === 0) {
|
|
11
|
+
return module;
|
|
12
|
+
}
|
|
13
|
+
if (isDynamicModule(module)) {
|
|
14
|
+
return {
|
|
15
|
+
...module,
|
|
16
|
+
providers: [...(module.providers ?? []), ...providers],
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
module,
|
|
21
|
+
imports: Reflect.getMetadata(MODULE_METADATA.IMPORTS, module) ?? [],
|
|
22
|
+
providers: [
|
|
23
|
+
...(Reflect.getMetadata(MODULE_METADATA.PROVIDERS, module) ?? []),
|
|
24
|
+
...providers,
|
|
25
|
+
],
|
|
26
|
+
exports: Reflect.getMetadata(MODULE_METADATA.EXPORTS, module) ?? [],
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=child-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-module.js","sourceRoot":"","sources":["../../../src/core/child-module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAEN,eAAe,GAGf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CACjC,MAA4B,EAC5B,SAAiC;IAEjC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO;YACN,GAAG,MAAM;YACT,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;SACtD,CAAC;IACH,CAAC;IACD,OAAO;QACN,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;QACnE,SAAS,EAAE;YACV,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YACjE,GAAG,SAAS;SACZ;QACD,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;KACnE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { NodeTypeEnum } from "../../interfaces/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Placeholder graph node for a `lazy()` import. It carries no providers.
|
|
4
|
+
* `isProviderExported` never looks through it, so eager providers cannot
|
|
5
|
+
* depend on anything the lazy module will provide.
|
|
6
|
+
*/
|
|
7
|
+
export class AnalyzeLazyModule {
|
|
8
|
+
constructor(_lazyModule) {
|
|
9
|
+
this._lazyModule = _lazyModule;
|
|
10
|
+
this._loaded = false;
|
|
11
|
+
this._moduleToken = null;
|
|
12
|
+
}
|
|
13
|
+
get type() {
|
|
14
|
+
return NodeTypeEnum.LAZY;
|
|
15
|
+
}
|
|
16
|
+
get id() {
|
|
17
|
+
return this._lazyModule.id;
|
|
18
|
+
}
|
|
19
|
+
get label() {
|
|
20
|
+
return this._lazyModule.name;
|
|
21
|
+
}
|
|
22
|
+
get lazyModule() {
|
|
23
|
+
return this._lazyModule;
|
|
24
|
+
}
|
|
25
|
+
get loaded() {
|
|
26
|
+
return this._loaded;
|
|
27
|
+
}
|
|
28
|
+
/** Token of the real module node once loaded; null before. */
|
|
29
|
+
get moduleToken() {
|
|
30
|
+
return this._moduleToken;
|
|
31
|
+
}
|
|
32
|
+
markLoaded(moduleToken) {
|
|
33
|
+
this._loaded = true;
|
|
34
|
+
this._moduleToken = moduleToken;
|
|
35
|
+
}
|
|
36
|
+
markUnloaded() {
|
|
37
|
+
this._loaded = false;
|
|
38
|
+
this._moduleToken = null;
|
|
39
|
+
}
|
|
40
|
+
get node() {
|
|
41
|
+
return {
|
|
42
|
+
type: this.type,
|
|
43
|
+
id: this.id,
|
|
44
|
+
label: this.label,
|
|
45
|
+
loaded: this.loaded,
|
|
46
|
+
moduleToken: this.moduleToken,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=analyze-lazy-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze-lazy-module.js","sourceRoot":"","sources":["../../../../src/core/graph/analyze-lazy-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjE;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IAI7B,YAA6B,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;QAH5C,YAAO,GAAG,KAAK,CAAC;QAChB,iBAAY,GAAkB,IAAI,CAAC;IAEY,CAAC;IAExD,IAAW,IAAI;QACd,OAAO,YAAY,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAW,EAAE;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IAC5B,CAAC;IAED,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,8DAA8D;IAC9D,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,WAAmB;QACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACjC,CAAC;IAEM,YAAY;QAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,IAAW,IAAI;QACd,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC7B,CAAC;IACH,CAAC;CACD"}
|
|
@@ -55,6 +55,17 @@ export class AnalyzeModule {
|
|
|
55
55
|
});
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
+
get lazyImports() {
|
|
59
|
+
return this._module.lazyImports;
|
|
60
|
+
}
|
|
61
|
+
get lazyEdges() {
|
|
62
|
+
return this.lazyImports.map((lazyModule) => ({
|
|
63
|
+
type: EdgeTypeEnum.LAZY,
|
|
64
|
+
source: this.id,
|
|
65
|
+
target: lazyModule.id,
|
|
66
|
+
metadata: { isCircular: false, unreached: false },
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
58
69
|
get providers() {
|
|
59
70
|
return [...this._module.providers];
|
|
60
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-module.js","sourceRoot":"","sources":["../../../../src/core/graph/analyze-module.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"analyze-module.js","sourceRoot":"","sources":["../../../../src/core/graph/analyze-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,YAAY,EAEZ,YAAY,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,OAAO,aAAa;IAQzB,YAA6B,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;QAP7C,eAAU,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,cAAS,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC9B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACR,WAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC5B,WAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAEmB,CAAC;IAElE,IAAW,IAAI;QACd,OAAO,YAAY,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,IAAW,EAAE;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,IAAW,eAAe;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,IAAW,IAAI;QACd,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC;IACH,CAAC;IAED,IAAW,KAAK;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAE3C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;gBACnC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;gBACtD,OAAO;oBACN,IAAI,EAAE,YAAY,CAAC,MAAM;oBACzB,MAAM,EAAE,aAAa,CAAC,EAAE;oBACxB,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,QAAQ,EAAE;wBACT,UAAU,EAAE,KAAK;qBACjB;iBACD,CAAC;YACH,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,MAAM,EAAE,UAAU,CAAC,EAAE;YACrB,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;SACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAW,SAAS;QACnB,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,IAAW,QAAQ;QAClB,IAAI,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,IACC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;gBACpC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EACxC,CAAC;gBACF,QAAQ,GAAG,IAAI,CAAC;YACjB,CAAC;QACF,CAAC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,CAAC;CACD"}
|