@nu-art/ts-common 0.201.14 → 0.201.15
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/core/module-manager.js +10 -0
- package/package.json +1 -1
- package/utils/array-tools.d.ts +2 -0
- package/utils/array-tools.js +11 -1
- package/utils/tools.d.ts +1 -1
package/core/module-manager.js
CHANGED
|
@@ -22,6 +22,7 @@ const dispatcher_1 = require("./dispatcher");
|
|
|
22
22
|
const exceptions_1 = require("./exceptions/exceptions");
|
|
23
23
|
const Logger_1 = require("./logger/Logger");
|
|
24
24
|
const array_tools_1 = require("../utils/array-tools");
|
|
25
|
+
const tools_1 = require("../utils/tools");
|
|
25
26
|
const _modules = [];
|
|
26
27
|
function moduleResolver() {
|
|
27
28
|
return _modules;
|
|
@@ -56,6 +57,15 @@ class ModuleManager extends Logger_1.Logger {
|
|
|
56
57
|
if (this.config.logLevel)
|
|
57
58
|
this.setMinLevel(this.config.logLevel);
|
|
58
59
|
this.logInfo(`--------- initializing app ---------`);
|
|
60
|
+
const number = this.modules.findIndex(m => !(0, tools_1.exists)(m));
|
|
61
|
+
if (number > -1) {
|
|
62
|
+
const modulesList = JSON.stringify(this.modules.map(module => {
|
|
63
|
+
// @ts-ignore
|
|
64
|
+
return (module === null || module === void 0 ? void 0 : module.tag)
|
|
65
|
+
|| 'undefined';
|
|
66
|
+
}), null, 2);
|
|
67
|
+
throw new exceptions_1.BadImplementationException(`Module was 'undefined' - probably cyclic import mess here are the list of modules: \n${modulesList}`);
|
|
68
|
+
}
|
|
59
69
|
this.modules.forEach((module) => {
|
|
60
70
|
// @ts-ignore
|
|
61
71
|
module.setManager(this);
|
package/package.json
CHANGED
package/utils/array-tools.d.ts
CHANGED
|
@@ -88,5 +88,7 @@ export declare function groupArrayBy<T extends object, K extends string | number
|
|
|
88
88
|
}[];
|
|
89
89
|
export declare function toggleInArray<T extends any = string, K extends any = (T extends object ? keyof T : T)>(arr: T[], item: T, mapper?: (item: T) => K): void;
|
|
90
90
|
export declare function generateArray<T extends any = number>(length: number, mapper?: (index: number) => T): T[];
|
|
91
|
+
export declare function asArray<T extends any>(toBeArray: T | T[]): T[];
|
|
92
|
+
export declare function asOptionalArray<T extends any>(toBeArray?: T | T[]): T[] | undefined;
|
|
91
93
|
export declare function lastElement<T extends any>(array: T[] | undefined): T | undefined;
|
|
92
94
|
export declare function firstElement<T extends any>(array?: T[]): T | undefined;
|
package/utils/array-tools.js
CHANGED
|
@@ -26,7 +26,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
26
26
|
});
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.firstElement = exports.lastElement = exports.generateArray = exports.toggleInArray = exports.groupArrayBy = exports.flatArray = exports.batchActionParallel = exports.batchAction = exports.sortArray = exports.reduceToMap = exports.arrayToMap = exports.filterFalsy = exports.filterInstances = exports.filterDuplicates = exports.findDuplicates = exports.filterAsync = exports.toggleElementInArray = exports.addItemToArrayAtIndex = exports.addItemToArray = exports.removeFromArrayByIndex = exports.removeFromArray = exports.removeItemFromArray = exports.filterInOut = void 0;
|
|
29
|
+
exports.firstElement = exports.lastElement = exports.asOptionalArray = exports.asArray = exports.generateArray = exports.toggleInArray = exports.groupArrayBy = exports.flatArray = exports.batchActionParallel = exports.batchAction = exports.sortArray = exports.reduceToMap = exports.arrayToMap = exports.filterFalsy = exports.filterInstances = exports.filterDuplicates = exports.findDuplicates = exports.filterAsync = exports.toggleElementInArray = exports.addItemToArrayAtIndex = exports.addItemToArray = exports.removeFromArrayByIndex = exports.removeFromArray = exports.removeItemFromArray = exports.filterInOut = void 0;
|
|
30
30
|
const tools_1 = require("./tools");
|
|
31
31
|
const object_tools_1 = require("./object-tools");
|
|
32
32
|
function filterInOut(input, filter) {
|
|
@@ -247,6 +247,16 @@ function generateArray(length, mapper = i => i) {
|
|
|
247
247
|
return Array.from({ length }).map((e, i) => mapper(i));
|
|
248
248
|
}
|
|
249
249
|
exports.generateArray = generateArray;
|
|
250
|
+
function asArray(toBeArray) {
|
|
251
|
+
return Array.isArray(toBeArray) ? toBeArray : [toBeArray];
|
|
252
|
+
}
|
|
253
|
+
exports.asArray = asArray;
|
|
254
|
+
function asOptionalArray(toBeArray) {
|
|
255
|
+
if (!(0, tools_1.exists)(toBeArray))
|
|
256
|
+
return undefined;
|
|
257
|
+
return asArray(toBeArray);
|
|
258
|
+
}
|
|
259
|
+
exports.asOptionalArray = asOptionalArray;
|
|
250
260
|
function lastElement(array) {
|
|
251
261
|
return array === null || array === void 0 ? void 0 : array[(array === null || array === void 0 ? void 0 : array.length) - 1];
|
|
252
262
|
}
|
package/utils/tools.d.ts
CHANGED
|
@@ -12,5 +12,5 @@ export declare const functionThatReturnsFalse: () => false;
|
|
|
12
12
|
export declare const functionThatReturnsTrue: () => true;
|
|
13
13
|
export declare const resolveContent: <T extends unknown = any>(content: ResolvableContent<T>) => T;
|
|
14
14
|
export declare const resolveFunctionOrValue: <T extends unknown = any>(content: ResolvableContent<T>) => T;
|
|
15
|
-
export declare function exists<T extends any = any>(item:
|
|
15
|
+
export declare function exists<T extends any = any>(item: T | undefined | null): item is T;
|
|
16
16
|
export declare const logicalXOR: (a: boolean, b: boolean) => boolean;
|