@nexus-ioc/core 0.4.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/LICENSE +21 -0
- package/README.md +134 -0
- package/dist/browser.d.ts +1 -0
- package/dist/browser.js +6 -0
- package/dist/browser.js.map +1 -0
- package/dist/core/graph/analyze-module.d.ts +36 -0
- package/dist/core/graph/analyze-module.js +82 -0
- package/dist/core/graph/analyze-module.js.map +1 -0
- package/dist/core/graph/analyze-provider.d.ts +24 -0
- package/dist/core/graph/analyze-provider.js +57 -0
- package/dist/core/graph/analyze-provider.js.map +1 -0
- package/dist/core/graph/helpers/index.d.ts +9 -0
- package/dist/core/graph/helpers/index.js +23 -0
- package/dist/core/graph/helpers/index.js.map +1 -0
- package/dist/core/graph/module-graph.d.ts +34 -0
- package/dist/core/graph/module-graph.js +399 -0
- package/dist/core/graph/module-graph.js.map +1 -0
- package/dist/core/graph/providers/analyze-class-provider.d.ts +7 -0
- package/dist/core/graph/providers/analyze-class-provider.js +17 -0
- package/dist/core/graph/providers/analyze-class-provider.js.map +1 -0
- package/dist/core/graph/providers/analyze-factory-provider.d.ts +7 -0
- package/dist/core/graph/providers/analyze-factory-provider.js +17 -0
- package/dist/core/graph/providers/analyze-factory-provider.js.map +1 -0
- package/dist/core/graph/providers/analyze-function-provider.d.ts +5 -0
- package/dist/core/graph/providers/analyze-function-provider.js +11 -0
- package/dist/core/graph/providers/analyze-function-provider.js.map +1 -0
- package/dist/core/graph/providers/analyze-value-provider.d.ts +7 -0
- package/dist/core/graph/providers/analyze-value-provider.js +17 -0
- package/dist/core/graph/providers/analyze-value-provider.js.map +1 -0
- package/dist/core/graph/providers/provider-factory.d.ts +6 -0
- package/dist/core/graph/providers/provider-factory.js +24 -0
- package/dist/core/graph/providers/provider-factory.js.map +1 -0
- package/dist/core/modules/container.d.ts +15 -0
- package/dist/core/modules/container.js +40 -0
- package/dist/core/modules/container.js.map +1 -0
- package/dist/core/modules/module-container-factory.d.ts +9 -0
- package/dist/core/modules/module-container-factory.js +25 -0
- package/dist/core/modules/module-container-factory.js.map +1 -0
- package/dist/core/modules/module-container.d.ts +16 -0
- package/dist/core/modules/module-container.js +63 -0
- package/dist/core/modules/module-container.js.map +1 -0
- package/dist/core/modules/module-token-factory.d.ts +12 -0
- package/dist/core/modules/module-token-factory.js +48 -0
- package/dist/core/modules/module-token-factory.js.map +1 -0
- package/dist/core/modules/modules-container.d.ts +16 -0
- package/dist/core/modules/modules-container.js +43 -0
- package/dist/core/modules/modules-container.js.map +1 -0
- package/dist/core/nexus-applications.browser.d.ts +13 -0
- package/dist/core/nexus-applications.browser.js +36 -0
- package/dist/core/nexus-applications.browser.js.map +1 -0
- package/dist/core/nexus-applications.server.d.ts +13 -0
- package/dist/core/nexus-applications.server.js +36 -0
- package/dist/core/nexus-applications.server.js.map +1 -0
- package/dist/core/resolver/providers-container.d.ts +3 -0
- package/dist/core/resolver/providers-container.js +8 -0
- package/dist/core/resolver/providers-container.js.map +1 -0
- package/dist/core/resolver/resolver.d.ts +10 -0
- package/dist/core/resolver/resolver.js +126 -0
- package/dist/core/resolver/resolver.js.map +1 -0
- package/dist/decorators/global.d.ts +2 -0
- package/dist/decorators/global.js +12 -0
- package/dist/decorators/global.js.map +1 -0
- package/dist/decorators/inject.d.ts +3 -0
- package/dist/decorators/inject.js +27 -0
- package/dist/decorators/inject.js.map +1 -0
- package/dist/decorators/injectable.d.ts +3 -0
- package/dist/decorators/injectable.js +12 -0
- package/dist/decorators/injectable.js.map +1 -0
- package/dist/decorators/nsModule.d.ts +3 -0
- package/dist/decorators/nsModule.js +16 -0
- package/dist/decorators/nsModule.js.map +1 -0
- package/dist/decorators/optional.d.ts +2 -0
- package/dist/decorators/optional.js +20 -0
- package/dist/decorators/optional.js.map +1 -0
- package/dist/errors/container-not-compiled.error.d.ts +3 -0
- package/dist/errors/container-not-compiled.error.js +12 -0
- package/dist/errors/container-not-compiled.error.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/abstract.interface.d.ts +3 -0
- package/dist/interfaces/abstract.interface.js +3 -0
- package/dist/interfaces/abstract.interface.js.map +1 -0
- package/dist/interfaces/constants.d.ts +12 -0
- package/dist/interfaces/constants.js +16 -0
- package/dist/interfaces/constants.js.map +1 -0
- package/dist/interfaces/dynamic-module.interface.d.ts +13 -0
- package/dist/interfaces/dynamic-module.interface.js +3 -0
- package/dist/interfaces/dynamic-module.interface.js.map +1 -0
- package/dist/interfaces/index.d.ts +15 -0
- package/dist/interfaces/index.js +19 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/injectable.interface.d.ts +4 -0
- package/dist/interfaces/injectable.interface.js +3 -0
- package/dist/interfaces/injectable.interface.js.map +1 -0
- package/dist/interfaces/injection-token.interface.d.ts +3 -0
- package/dist/interfaces/injection-token.interface.js +3 -0
- package/dist/interfaces/injection-token.interface.js.map +1 -0
- package/dist/interfaces/module-metadata.interface.d.ts +8 -0
- package/dist/interfaces/module-metadata.interface.js +3 -0
- package/dist/interfaces/module-metadata.interface.js.map +1 -0
- package/dist/interfaces/module-types.interface.d.ts +20 -0
- package/dist/interfaces/module-types.interface.js +3 -0
- package/dist/interfaces/module-types.interface.js.map +1 -0
- package/dist/interfaces/modules/container.interface.d.ts +16 -0
- package/dist/interfaces/modules/container.interface.js +3 -0
- package/dist/interfaces/modules/container.interface.js.map +1 -0
- package/dist/interfaces/modules/index.d.ts +7 -0
- package/dist/interfaces/modules/index.js +11 -0
- package/dist/interfaces/modules/index.js.map +1 -0
- package/dist/interfaces/modules/module-container-factory.interface.d.ts +7 -0
- package/dist/interfaces/modules/module-container-factory.interface.js +3 -0
- package/dist/interfaces/modules/module-container-factory.interface.js.map +1 -0
- package/dist/interfaces/modules/module-container.interface.d.ts +13 -0
- package/dist/interfaces/modules/module-container.interface.js +3 -0
- package/dist/interfaces/modules/module-container.interface.js.map +1 -0
- package/dist/interfaces/modules/module-graph.interface.d.ts +59 -0
- package/dist/interfaces/modules/module-graph.interface.js +16 -0
- package/dist/interfaces/modules/module-graph.interface.js.map +1 -0
- package/dist/interfaces/modules/module-token-factory.interface.d.ts +5 -0
- package/dist/interfaces/modules/module-token-factory.interface.js +3 -0
- package/dist/interfaces/modules/module-token-factory.interface.js.map +1 -0
- package/dist/interfaces/modules/modules-container.interface.d.ts +8 -0
- package/dist/interfaces/modules/modules-container.interface.js +3 -0
- package/dist/interfaces/modules/modules-container.interface.js.map +1 -0
- package/dist/interfaces/modules/provider-token-factory.interface.d.ts +4 -0
- package/dist/interfaces/modules/provider-token-factory.interface.js +3 -0
- package/dist/interfaces/modules/provider-token-factory.interface.js.map +1 -0
- package/dist/interfaces/nexus-application.interface.d.ts +8 -0
- package/dist/interfaces/nexus-application.interface.js +3 -0
- package/dist/interfaces/nexus-application.interface.js.map +1 -0
- package/dist/interfaces/on-module-init.interface.d.ts +3 -0
- package/dist/interfaces/on-module-init.interface.js +3 -0
- package/dist/interfaces/on-module-init.interface.js.map +1 -0
- package/dist/interfaces/plugins/index.d.ts +2 -0
- package/dist/interfaces/plugins/index.js +6 -0
- package/dist/interfaces/plugins/index.js.map +1 -0
- package/dist/interfaces/plugins/module-plugin.interface.d.ts +4 -0
- package/dist/interfaces/plugins/module-plugin.interface.js +3 -0
- package/dist/interfaces/plugins/module-plugin.interface.js.map +1 -0
- package/dist/interfaces/plugins/scanner-plugin.interface.d.ts +6 -0
- package/dist/interfaces/plugins/scanner-plugin.interface.js +3 -0
- package/dist/interfaces/plugins/scanner-plugin.interface.js.map +1 -0
- package/dist/interfaces/scope.interface.d.ts +4 -0
- package/dist/interfaces/scope.interface.js +9 -0
- package/dist/interfaces/scope.interface.js.map +1 -0
- package/dist/interfaces/type.interface.d.ts +3 -0
- package/dist/interfaces/type.interface.js +3 -0
- package/dist/interfaces/type.interface.js.map +1 -0
- package/dist/interfaces/utils/hash-utils.interface.d.ts +5 -0
- package/dist/interfaces/utils/hash-utils.interface.js +3 -0
- package/dist/interfaces/utils/hash-utils.interface.js.map +1 -0
- package/dist/interfaces/utils/index.d.ts +1 -0
- package/dist/interfaces/utils/index.js +5 -0
- package/dist/interfaces/utils/index.js.map +1 -0
- package/dist/interfaces/validate-module-keys.d.ts +7 -0
- package/dist/interfaces/validate-module-keys.js +26 -0
- package/dist/interfaces/validate-module-keys.js.map +1 -0
- package/dist/server.d.ts +1 -0
- package/dist/server.js +6 -0
- package/dist/server.js.map +1 -0
- package/dist/utils/hash-utils.browser.d.ts +6 -0
- package/dist/utils/hash-utils.browser.js +22 -0
- package/dist/utils/hash-utils.browser.js.map +1 -0
- package/dist/utils/hash-utils.server.d.ts +6 -0
- package/dist/utils/hash-utils.server.js +19 -0
- package/dist/utils/hash-utils.server.js.map +1 -0
- package/dist/utils/helpers.d.ts +16 -0
- package/dist/utils/helpers.js +83 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/random-string-generator.util.d.ts +1 -0
- package/dist/utils/random-string-generator.util.js +7 -0
- package/dist/utils/random-string-generator.util.js.map +1 -0
- package/dist/utils/shared.utils.d.ts +13 -0
- package/dist/utils/shared.utils.js +66 -0
- package/dist/utils/shared.utils.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nsModule.js","sourceRoot":"","sources":["../../src/decorators/nsModule.ts"],"names":[],"mappings":";;AAQA,4BAsBC;AA9BD,4BAA0B;AAE1B,8CAIuB;AAEvB,SAAgB,QAAQ,CAAC,QAAwB;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAA,+BAAkB,EAAC,SAAS,CAAC,CAAC;IAE9B,OAAO,CAAC,MAAM,EAAE,EAAE;QACjB,OAAO,CAAC,cAAc,CAAC,6BAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,OAAO,CAAC,cAAc,CACrB,4BAAe,CAAC,OAAO,EACvB,QAAQ,CAAC,OAAO,IAAI,EAAE,EACtB,MAAM,CACN,CAAC;QACF,OAAO,CAAC,cAAc,CACrB,4BAAe,CAAC,OAAO,EACvB,QAAQ,CAAC,OAAO,IAAI,EAAE,EACtB,MAAM,CACN,CAAC;QACF,OAAO,CAAC,cAAc,CACrB,4BAAe,CAAC,SAAS,EACzB,QAAQ,CAAC,SAAS,IAAI,EAAE,EACxB,MAAM,CACN,CAAC;IACH,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Optional = Optional;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const interfaces_1 = require("../interfaces");
|
|
6
|
+
function Optional() {
|
|
7
|
+
return (target, propertyKey, parameterIndex) => {
|
|
8
|
+
Reflect.defineMetadata(interfaces_1.OPTIONAL_WATERMARK, true, target);
|
|
9
|
+
if (parameterIndex === undefined) {
|
|
10
|
+
let properties = Reflect.getMetadata(interfaces_1.PROPERTY_OPTIONAL_DEPS_METADATA, target) || [];
|
|
11
|
+
properties = [...properties, { key: propertyKey }];
|
|
12
|
+
Reflect.defineMetadata(interfaces_1.PROPERTY_OPTIONAL_DEPS_METADATA, properties, target.constructor);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
let properties = Reflect.getMetadata(interfaces_1.SELF_DECLARED_OPTIONAL_DEPS_METADATA, target) || [];
|
|
16
|
+
properties = [...properties, { index: parameterIndex }];
|
|
17
|
+
Reflect.defineMetadata(interfaces_1.SELF_DECLARED_OPTIONAL_DEPS_METADATA, properties, target);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=optional.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optional.js","sourceRoot":"","sources":["../../src/decorators/optional.ts"],"names":[],"mappings":";;AAOA,4BA+BC;AAtCD,4BAA0B;AAC1B,8CAIuB;AAEvB,SAAgB,QAAQ;IACvB,OAAO,CACN,MAAc,EACd,WAA6B,EAC7B,cAAuB,EACtB,EAAE;QACH,OAAO,CAAC,cAAc,CAAC,+BAAkB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEzD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,UAAU,GACb,OAAO,CAAC,WAAW,CAAC,4CAA+B,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpE,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,cAAc,CACrB,4CAA+B,EAC/B,UAAU,EACV,MAAM,CAAC,WAAW,CAClB,CAAC;YACF,OAAO;QACR,CAAC;QAED,IAAI,UAAU,GACb,OAAO,CAAC,WAAW,CAAC,iDAAoC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAEzE,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,cAAc,CACrB,iDAAoC,EACpC,UAAU,EACV,MAAM,CACN,CAAC;IACH,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContainerNotCompiledError = void 0;
|
|
4
|
+
class ContainerNotCompiledError extends Error {
|
|
5
|
+
constructor(message = "container not compiled") {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = ContainerNotCompiledError.name;
|
|
8
|
+
Object.setPrototypeOf(this, ContainerNotCompiledError.prototype);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.ContainerNotCompiledError = ContainerNotCompiledError;
|
|
12
|
+
//# sourceMappingURL=container-not-compiled.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-not-compiled.error.js","sourceRoot":"","sources":["../../src/errors/container-not-compiled.error.ts"],"names":[],"mappings":";;;AAAA,MAAa,yBAA0B,SAAQ,KAAK;IACnD,YAAY,OAAO,GAAG,wBAAwB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC;QAC3C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;CACD;AAND,8DAMC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./interfaces";
|
|
2
|
+
export { NsModule } from "./decorators/nsModule";
|
|
3
|
+
export { Inject } from "./decorators/inject";
|
|
4
|
+
export { Injectable } from "./decorators/injectable";
|
|
5
|
+
export { Global } from "./decorators/global";
|
|
6
|
+
export { Optional } from "./decorators/optional";
|
|
7
|
+
export * from "./utils/helpers";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Optional = exports.Global = exports.Injectable = exports.Inject = exports.NsModule = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
tslib_1.__exportStar(require("./interfaces"), exports);
|
|
6
|
+
var nsModule_1 = require("./decorators/nsModule");
|
|
7
|
+
Object.defineProperty(exports, "NsModule", { enumerable: true, get: function () { return nsModule_1.NsModule; } });
|
|
8
|
+
var inject_1 = require("./decorators/inject");
|
|
9
|
+
Object.defineProperty(exports, "Inject", { enumerable: true, get: function () { return inject_1.Inject; } });
|
|
10
|
+
var injectable_1 = require("./decorators/injectable");
|
|
11
|
+
Object.defineProperty(exports, "Injectable", { enumerable: true, get: function () { return injectable_1.Injectable; } });
|
|
12
|
+
var global_1 = require("./decorators/global");
|
|
13
|
+
Object.defineProperty(exports, "Global", { enumerable: true, get: function () { return global_1.Global; } });
|
|
14
|
+
var optional_1 = require("./decorators/optional");
|
|
15
|
+
Object.defineProperty(exports, "Optional", { enumerable: true, get: function () { return optional_1.Optional; } });
|
|
16
|
+
tslib_1.__exportStar(require("./utils/helpers"), exports);
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,uDAA6B;AAC7B,kDAAiD;AAAxC,oGAAA,QAAQ,OAAA;AACjB,8CAA6C;AAApC,gGAAA,MAAM,OAAA;AACf,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,8CAA6C;AAApC,gGAAA,MAAM,OAAA;AACf,kDAAiD;AAAxC,oGAAA,QAAQ,OAAA;AACjB,0DAAgC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.interface.js","sourceRoot":"","sources":["../../src/interfaces/abstract.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const INJECTABLE_WATERMARK = "__injectable__";
|
|
2
|
+
export declare const INJECTABLE_OPTIONS = "__injectable:options__";
|
|
3
|
+
export declare const INJECT_WATERMARK = "__inject__";
|
|
4
|
+
export declare const OPTIONAL_WATERMARK = "__optional__";
|
|
5
|
+
export declare const MODULE_WATERMARK = "__module__";
|
|
6
|
+
export declare const MODULE_GLOBAL_WATERMARK = "__module:global__";
|
|
7
|
+
export declare const PROVIDER_TOKEN_WATERMARK = "__provider__token__";
|
|
8
|
+
export declare const MODULE_TOKEN_WATERMARK = "__module__token__";
|
|
9
|
+
export declare const SELF_DECLARED_DEPS_METADATA = "self:paramtypes";
|
|
10
|
+
export declare const PROPERTY_DEPS_METADATA = "self:properties_metadata";
|
|
11
|
+
export declare const SELF_DECLARED_OPTIONAL_DEPS_METADATA = "self:paramtypes:optional";
|
|
12
|
+
export declare const PROPERTY_OPTIONAL_DEPS_METADATA = "self:properties_metadata:optional";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PROPERTY_OPTIONAL_DEPS_METADATA = exports.SELF_DECLARED_OPTIONAL_DEPS_METADATA = exports.PROPERTY_DEPS_METADATA = exports.SELF_DECLARED_DEPS_METADATA = exports.MODULE_TOKEN_WATERMARK = exports.PROVIDER_TOKEN_WATERMARK = exports.MODULE_GLOBAL_WATERMARK = exports.MODULE_WATERMARK = exports.OPTIONAL_WATERMARK = exports.INJECT_WATERMARK = exports.INJECTABLE_OPTIONS = exports.INJECTABLE_WATERMARK = void 0;
|
|
4
|
+
exports.INJECTABLE_WATERMARK = "__injectable__";
|
|
5
|
+
exports.INJECTABLE_OPTIONS = "__injectable:options__";
|
|
6
|
+
exports.INJECT_WATERMARK = "__inject__";
|
|
7
|
+
exports.OPTIONAL_WATERMARK = "__optional__";
|
|
8
|
+
exports.MODULE_WATERMARK = "__module__";
|
|
9
|
+
exports.MODULE_GLOBAL_WATERMARK = "__module:global__";
|
|
10
|
+
exports.PROVIDER_TOKEN_WATERMARK = "__provider__token__";
|
|
11
|
+
exports.MODULE_TOKEN_WATERMARK = "__module__token__";
|
|
12
|
+
exports.SELF_DECLARED_DEPS_METADATA = "self:paramtypes";
|
|
13
|
+
exports.PROPERTY_DEPS_METADATA = "self:properties_metadata";
|
|
14
|
+
exports.SELF_DECLARED_OPTIONAL_DEPS_METADATA = "self:paramtypes:optional";
|
|
15
|
+
exports.PROPERTY_OPTIONAL_DEPS_METADATA = "self:properties_metadata:optional";
|
|
16
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/interfaces/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AACxC,QAAA,kBAAkB,GAAG,wBAAwB,CAAC;AAC9C,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAChC,QAAA,kBAAkB,GAAG,cAAc,CAAC;AACpC,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAChC,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAE9C,QAAA,wBAAwB,GAAG,qBAAqB,CAAC;AACjD,QAAA,sBAAsB,GAAG,mBAAmB,CAAC;AAE7C,QAAA,2BAA2B,GAAG,iBAAiB,CAAC;AAChD,QAAA,sBAAsB,GAAG,0BAA0B,CAAC;AACpD,QAAA,oCAAoC,GAAG,0BAA0B,CAAC;AAClE,QAAA,+BAA+B,GAC3C,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { InjectionToken } from "./injection-token.interface";
|
|
2
|
+
import type { Module, Provider } from "./module-types.interface";
|
|
3
|
+
export interface DynamicModule {
|
|
4
|
+
module: Module & {
|
|
5
|
+
forRoot?: () => DynamicModule;
|
|
6
|
+
forRootAsync?: () => DynamicModule;
|
|
7
|
+
forFeature?: () => DynamicModule;
|
|
8
|
+
forFeatureAsync?: () => DynamicModule;
|
|
9
|
+
};
|
|
10
|
+
providers?: Provider[];
|
|
11
|
+
exports?: InjectionToken[];
|
|
12
|
+
imports?: (Module | DynamicModule)[];
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-module.interface.js","sourceRoot":"","sources":["../../src/interfaces/dynamic-module.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from "./modules";
|
|
2
|
+
export * from "./plugins";
|
|
3
|
+
export * from "./abstract.interface";
|
|
4
|
+
export * from "./constants";
|
|
5
|
+
export * from "./utils";
|
|
6
|
+
export * from "./dynamic-module.interface";
|
|
7
|
+
export * from "./injection-token.interface";
|
|
8
|
+
export * from "./module-metadata.interface";
|
|
9
|
+
export * from "./module-types.interface";
|
|
10
|
+
export * from "./on-module-init.interface";
|
|
11
|
+
export * from "./type.interface";
|
|
12
|
+
export * from "./validate-module-keys";
|
|
13
|
+
export * from "./nexus-application.interface";
|
|
14
|
+
export * from "./injectable.interface";
|
|
15
|
+
export * from "./scope.interface";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./modules"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./plugins"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./abstract.interface"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./constants"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./utils"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./dynamic-module.interface"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./injection-token.interface"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./module-metadata.interface"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./module-types.interface"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./on-module-init.interface"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./type.interface"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./validate-module-keys"), exports);
|
|
16
|
+
tslib_1.__exportStar(require("./nexus-application.interface"), exports);
|
|
17
|
+
tslib_1.__exportStar(require("./injectable.interface"), exports);
|
|
18
|
+
tslib_1.__exportStar(require("./scope.interface"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,oDAA0B;AAC1B,+DAAqC;AACrC,sDAA4B;AAC5B,kDAAwB;AACxB,qEAA2C;AAC3C,sEAA4C;AAC5C,sEAA4C;AAC5C,mEAAyC;AACzC,qEAA2C;AAC3C,2DAAiC;AACjC,iEAAuC;AACvC,wEAA8C;AAC9C,iEAAuC;AACvC,4DAAkC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectable.interface.js","sourceRoot":"","sources":["../../src/interfaces/injectable.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injection-token.interface.js","sourceRoot":"","sources":["../../src/interfaces/injection-token.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DynamicModule } from "./dynamic-module.interface";
|
|
2
|
+
import type { InjectionToken } from "./injection-token.interface";
|
|
3
|
+
import type { Module, Provider } from "./module-types.interface";
|
|
4
|
+
export interface ModuleMetadata {
|
|
5
|
+
imports?: (Module | DynamicModule)[];
|
|
6
|
+
exports?: (InjectionToken | Module)[];
|
|
7
|
+
providers?: Provider[];
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-metadata.interface.js","sourceRoot":"","sources":["../../src/interfaces/module-metadata.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { InjectionToken } from "./injection-token.interface";
|
|
2
|
+
import type { Scope } from "./scope.interface";
|
|
3
|
+
import type { Type } from "./type.interface";
|
|
4
|
+
export type Module = Type;
|
|
5
|
+
export type Provider<T = any> = ClassProvider<T> | ValueProvider<T> | FactoryProvider<T> | Type<T>;
|
|
6
|
+
export interface ClassProvider<T = any> {
|
|
7
|
+
provide: InjectionToken;
|
|
8
|
+
useClass: Type<T>;
|
|
9
|
+
scope?: Scope;
|
|
10
|
+
}
|
|
11
|
+
export interface ValueProvider<T = any> {
|
|
12
|
+
provide: InjectionToken;
|
|
13
|
+
useValue: T;
|
|
14
|
+
}
|
|
15
|
+
export interface FactoryProvider<T = any> {
|
|
16
|
+
provide: InjectionToken;
|
|
17
|
+
useFactory: (...args: any[]) => T | Promise<T>;
|
|
18
|
+
inject?: InjectionToken[];
|
|
19
|
+
scope?: Scope;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-types.interface.js","sourceRoot":"","sources":["../../src/interfaces/module-types.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { DynamicModule } from "../dynamic-module.interface";
|
|
2
|
+
import type { InjectionToken } from "../injection-token.interface";
|
|
3
|
+
import type { Module } from "../module-types.interface";
|
|
4
|
+
import type { ModuleContainerInterface } from "./module-container.interface";
|
|
5
|
+
import type { GraphError, ModuleGraphInterface } from "./module-graph.interface";
|
|
6
|
+
export interface ContainerBaseInterface {
|
|
7
|
+
addModule(module: Module | DynamicModule): Promise<ModuleContainerInterface>;
|
|
8
|
+
replaceModule(moduleToReplace: Module, newModule: Module): Promise<ModuleContainerInterface>;
|
|
9
|
+
getModule(module: Module): Promise<ModuleContainerInterface | undefined>;
|
|
10
|
+
get<T>(token: InjectionToken): Promise<T | undefined>;
|
|
11
|
+
errors: GraphError[];
|
|
12
|
+
}
|
|
13
|
+
export interface ContainerInterface extends ContainerBaseInterface {
|
|
14
|
+
run(rootModule: Module): Promise<void>;
|
|
15
|
+
graph: ModuleGraphInterface;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.interface.js","sourceRoot":"","sources":["../../../src/interfaces/modules/container.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./container.interface";
|
|
2
|
+
export * from "./module-container.interface";
|
|
3
|
+
export * from "./module-container-factory.interface";
|
|
4
|
+
export * from "./module-graph.interface";
|
|
5
|
+
export * from "./module-token-factory.interface";
|
|
6
|
+
export * from "./provider-token-factory.interface";
|
|
7
|
+
export * from "./modules-container.interface";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./container.interface"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./module-container.interface"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./module-container-factory.interface"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./module-graph.interface"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./module-token-factory.interface"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./provider-token-factory.interface"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./modules-container.interface"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/modules/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,uEAA6C;AAC7C,+EAAqD;AACrD,mEAAyC;AACzC,2EAAiD;AACjD,6EAAmD;AACnD,wEAA8C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DynamicModule } from "../dynamic-module.interface";
|
|
2
|
+
import type { Module } from "../module-types.interface";
|
|
3
|
+
import type { ContainerBaseInterface } from "./container.interface";
|
|
4
|
+
import type { ModuleContainerInterface } from "./module-container.interface";
|
|
5
|
+
export interface ModuleContainerFactoryInterface {
|
|
6
|
+
create(module: Module | DynamicModule, container: ContainerBaseInterface): Promise<ModuleContainerInterface>;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-container-factory.interface.js","sourceRoot":"","sources":["../../../src/interfaces/modules/module-container-factory.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DynamicModule } from "../dynamic-module.interface";
|
|
2
|
+
import type { InjectionToken } from "../injection-token.interface";
|
|
3
|
+
import type { Module, Provider } from "../module-types.interface";
|
|
4
|
+
import type { GraphError } from "./module-graph.interface";
|
|
5
|
+
export interface ModuleContainerInterface {
|
|
6
|
+
token: string;
|
|
7
|
+
metatype: Module | DynamicModule;
|
|
8
|
+
imports: Promise<ModuleContainerInterface[]>;
|
|
9
|
+
providers: Provider[];
|
|
10
|
+
exports: (InjectionToken | Module)[];
|
|
11
|
+
get<T>(token: InjectionToken): Promise<T | undefined>;
|
|
12
|
+
errors: GraphError[];
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-container.interface.js","sourceRoot":"","sources":["../../../src/interfaces/modules/module-container.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { AnalyzeModule } from "../../core/graph/analyze-module";
|
|
2
|
+
import type { AnalyzeProvider } from "../../core/graph/analyze-provider";
|
|
3
|
+
import type { InjectionToken } from "../injection-token.interface";
|
|
4
|
+
export declare enum NodeTypeEnum {
|
|
5
|
+
MODULE = "module",
|
|
6
|
+
PROVIDER = "provider"
|
|
7
|
+
}
|
|
8
|
+
export declare enum EdgeTypeEnum {
|
|
9
|
+
IMPORT = "import",
|
|
10
|
+
EXPORT = "export",
|
|
11
|
+
PROVIDER = "provider",
|
|
12
|
+
DEPENDENCY = "dependency"
|
|
13
|
+
}
|
|
14
|
+
export type Node = AnalyzeModule | AnalyzeProvider;
|
|
15
|
+
export type Edge = {
|
|
16
|
+
type: EdgeTypeEnum;
|
|
17
|
+
source: InjectionToken;
|
|
18
|
+
target: InjectionToken;
|
|
19
|
+
metadata: {
|
|
20
|
+
index?: number;
|
|
21
|
+
key?: string;
|
|
22
|
+
inject?: "constructor" | "property";
|
|
23
|
+
lazy?: boolean;
|
|
24
|
+
isCircular?: boolean;
|
|
25
|
+
unreached?: boolean;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export type GraphError = {
|
|
29
|
+
type: "CD_IMPORTS";
|
|
30
|
+
path: string[];
|
|
31
|
+
} | {
|
|
32
|
+
type: "CD_PROVIDERS";
|
|
33
|
+
path: [InjectionToken, InjectionToken][];
|
|
34
|
+
} | {
|
|
35
|
+
type: "UNREACHED_DEP_CONSTRUCTOR";
|
|
36
|
+
token: string;
|
|
37
|
+
dependency: string;
|
|
38
|
+
position: number;
|
|
39
|
+
} | {
|
|
40
|
+
type: "UNREACHED_DEP_PROPERTY";
|
|
41
|
+
token: string;
|
|
42
|
+
dependency: string;
|
|
43
|
+
key: string;
|
|
44
|
+
} | {
|
|
45
|
+
type: "UNREACHED_DEP_FACTORY";
|
|
46
|
+
token: string;
|
|
47
|
+
dependency: string;
|
|
48
|
+
key: number;
|
|
49
|
+
};
|
|
50
|
+
export interface ModuleGraphInterface {
|
|
51
|
+
compile(): Promise<void>;
|
|
52
|
+
getNode(token: InjectionToken): Node;
|
|
53
|
+
getEdge(token: InjectionToken): Edge[];
|
|
54
|
+
getAllNodes(): Node[];
|
|
55
|
+
getAllEdges(): Edge[][];
|
|
56
|
+
nodes: Map<InjectionToken, Node>;
|
|
57
|
+
edges: Map<InjectionToken, Edge[]>;
|
|
58
|
+
errors: GraphError[];
|
|
59
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EdgeTypeEnum = exports.NodeTypeEnum = void 0;
|
|
4
|
+
var NodeTypeEnum;
|
|
5
|
+
(function (NodeTypeEnum) {
|
|
6
|
+
NodeTypeEnum["MODULE"] = "module";
|
|
7
|
+
NodeTypeEnum["PROVIDER"] = "provider";
|
|
8
|
+
})(NodeTypeEnum || (exports.NodeTypeEnum = NodeTypeEnum = {}));
|
|
9
|
+
var EdgeTypeEnum;
|
|
10
|
+
(function (EdgeTypeEnum) {
|
|
11
|
+
EdgeTypeEnum["IMPORT"] = "import";
|
|
12
|
+
EdgeTypeEnum["EXPORT"] = "export";
|
|
13
|
+
EdgeTypeEnum["PROVIDER"] = "provider";
|
|
14
|
+
EdgeTypeEnum["DEPENDENCY"] = "dependency";
|
|
15
|
+
})(EdgeTypeEnum || (exports.EdgeTypeEnum = EdgeTypeEnum = {}));
|
|
16
|
+
//# sourceMappingURL=module-graph.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-graph.interface.js","sourceRoot":"","sources":["../../../src/interfaces/modules/module-graph.interface.ts"],"names":[],"mappings":";;;AASA,IAAY,YAGX;AAHD,WAAY,YAAY;IACvB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;AACtB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED,IAAY,YAKX;AALD,WAAY,YAAY;IACvB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,yCAAyB,CAAA;AAC1B,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-token-factory.interface.js","sourceRoot":"","sources":["../../../src/interfaces/modules/module-token-factory.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DynamicModule } from "../dynamic-module.interface";
|
|
2
|
+
import type { Module } from "../module-types.interface";
|
|
3
|
+
import type { ModuleContainerInterface } from "./module-container.interface";
|
|
4
|
+
export interface ModulesContainerInterface {
|
|
5
|
+
addModule(module: Module | DynamicModule): Promise<ModuleContainerInterface>;
|
|
6
|
+
replaceModule(moduleToReplace: Module, newModule: Module): Promise<ModuleContainerInterface>;
|
|
7
|
+
getModule(module: Module): ModuleContainerInterface | undefined;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modules-container.interface.js","sourceRoot":"","sources":["../../../src/interfaces/modules/modules-container.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-token-factory.interface.js","sourceRoot":"","sources":["../../../src/interfaces/modules/provider-token-factory.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { InjectionToken } from "./injection-token.interface";
|
|
2
|
+
import type { GraphError } from "./modules";
|
|
3
|
+
import type { ModulePluginInterface } from "./plugins";
|
|
4
|
+
export interface NexusApplicationInterface extends ModulePluginInterface {
|
|
5
|
+
bootstrap(): Promise<this>;
|
|
6
|
+
get<T>(token: InjectionToken): Promise<T | undefined>;
|
|
7
|
+
errors: GraphError[];
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nexus-application.interface.js","sourceRoot":"","sources":["../../src/interfaces/nexus-application.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-module-init.interface.js","sourceRoot":"","sources":["../../src/interfaces/on-module-init.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./scanner-plugin.interface"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./module-plugin.interface"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/plugins/index.ts"],"names":[],"mappings":";;;AAAA,qEAA2C;AAC3C,oEAA0C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-plugin.interface.js","sourceRoot":"","sources":["../../../src/interfaces/plugins/module-plugin.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner-plugin.interface.js","sourceRoot":"","sources":["../../../src/interfaces/plugins/scanner-plugin.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Scope = void 0;
|
|
4
|
+
var Scope;
|
|
5
|
+
(function (Scope) {
|
|
6
|
+
Scope[Scope["Singleton"] = 0] = "Singleton";
|
|
7
|
+
Scope[Scope["Request"] = 1] = "Request";
|
|
8
|
+
})(Scope || (exports.Scope = Scope = {}));
|
|
9
|
+
//# sourceMappingURL=scope.interface.js.map
|