@digital-alchemy/core 24.8.4 → 24.9.4
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 +17 -27
- package/dist/helpers/async.helper.d.ts +1 -1
- package/dist/helpers/async.helper.js +13 -14
- package/dist/helpers/async.helper.js.map +1 -1
- package/dist/helpers/config-environment-loader.helper.js +16 -20
- package/dist/helpers/config-environment-loader.helper.js.map +1 -1
- package/dist/helpers/config-file-loader.helper.d.ts +5 -3
- package/dist/helpers/config-file-loader.helper.js +45 -52
- package/dist/helpers/config-file-loader.helper.js.map +1 -1
- package/dist/helpers/config.helper.d.ts +24 -3
- package/dist/helpers/config.helper.js +30 -37
- package/dist/helpers/config.helper.js.map +1 -1
- package/dist/helpers/context.helper.js +1 -2
- package/dist/helpers/cron.helper.d.ts +27 -0
- package/dist/helpers/cron.helper.js +4 -7
- package/dist/helpers/cron.helper.js.map +1 -1
- package/dist/helpers/errors.helper.d.ts +0 -12
- package/dist/helpers/errors.helper.js +2 -23
- package/dist/helpers/errors.helper.js.map +1 -1
- package/dist/helpers/events.helper.js +4 -10
- package/dist/helpers/events.helper.js.map +1 -1
- package/dist/helpers/extend.helper.d.ts +2 -0
- package/dist/helpers/extend.helper.js +19 -24
- package/dist/helpers/extend.helper.js.map +1 -1
- package/dist/helpers/index.d.ts +2 -4
- package/dist/helpers/index.js +14 -19
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/lifecycle.helper.d.ts +1 -5
- package/dist/helpers/lifecycle.helper.js +1 -4
- package/dist/helpers/lifecycle.helper.js.map +1 -1
- package/dist/{extensions/logger.extension.d.ts → helpers/logger.helper.d.ts} +33 -40
- package/dist/helpers/logger.helper.js +10 -0
- package/dist/helpers/logger.helper.js.map +1 -0
- package/dist/helpers/module.helper.d.ts +74 -0
- package/dist/helpers/module.helper.js +131 -0
- package/dist/helpers/module.helper.js.map +1 -0
- package/dist/helpers/utilities.helper.d.ts +3 -14
- package/dist/helpers/utilities.helper.js +51 -73
- package/dist/helpers/utilities.helper.js.map +1 -1
- package/dist/helpers/wiring.helper.d.ts +77 -23
- package/dist/helpers/wiring.helper.js +45 -47
- package/dist/helpers/wiring.helper.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- package/dist/services/als.extension.d.ts +2 -0
- package/dist/services/als.extension.js +17 -0
- package/dist/services/als.extension.js.map +1 -0
- package/dist/services/configuration.extension.d.ts +7 -0
- package/dist/services/configuration.extension.js +117 -0
- package/dist/services/configuration.extension.js.map +1 -0
- package/dist/{extensions → services}/index.d.ts +1 -3
- package/dist/services/index.js +8 -0
- package/dist/services/index.js.map +1 -0
- package/dist/{extensions → services}/internal.extension.d.ts +7 -23
- package/dist/{extensions → services}/internal.extension.js +43 -55
- package/dist/services/internal.extension.js.map +1 -0
- package/dist/{extensions → services}/is.extension.d.ts +5 -0
- package/dist/{extensions → services}/is.extension.js +20 -15
- package/dist/services/is.extension.js.map +1 -0
- package/dist/{extensions → services}/lifecycle.extension.js +17 -19
- package/dist/services/lifecycle.extension.js.map +1 -0
- package/dist/services/logger.extension.d.ts +2 -0
- package/dist/services/logger.extension.js +201 -0
- package/dist/services/logger.extension.js.map +1 -0
- package/dist/services/scheduler.extension.d.ts +2 -0
- package/dist/services/scheduler.extension.js +108 -0
- package/dist/services/scheduler.extension.js.map +1 -0
- package/dist/services/wiring.extension.d.ts +111 -0
- package/dist/services/wiring.extension.js +437 -0
- package/dist/services/wiring.extension.js.map +1 -0
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.js +3 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-logger.d.ts +2 -0
- package/dist/testing/mock-logger.js +11 -0
- package/dist/testing/mock-logger.js.map +1 -0
- package/dist/testing/test-module.d.ts +112 -0
- package/dist/testing/test-module.js +138 -0
- package/dist/testing/test-module.js.map +1 -0
- package/package.json +56 -43
- package/dist/extensions/cache.extension.d.ts +0 -2
- package/dist/extensions/cache.extension.js +0 -90
- package/dist/extensions/cache.extension.js.map +0 -1
- package/dist/extensions/configuration.extension.d.ts +0 -52
- package/dist/extensions/configuration.extension.js +0 -131
- package/dist/extensions/configuration.extension.js.map +0 -1
- package/dist/extensions/fetch.extension.d.ts +0 -17
- package/dist/extensions/fetch.extension.js +0 -133
- package/dist/extensions/fetch.extension.js.map +0 -1
- package/dist/extensions/index.js +0 -13
- package/dist/extensions/index.js.map +0 -1
- package/dist/extensions/internal.extension.js.map +0 -1
- package/dist/extensions/is.extension.js.map +0 -1
- package/dist/extensions/lifecycle.extension.js.map +0 -1
- package/dist/extensions/logger.extension.js +0 -186
- package/dist/extensions/logger.extension.js.map +0 -1
- package/dist/extensions/metrics.extension.d.ts +0 -18
- package/dist/extensions/metrics.extension.js +0 -156
- package/dist/extensions/metrics.extension.js.map +0 -1
- package/dist/extensions/scheduler.extension.d.ts +0 -21
- package/dist/extensions/scheduler.extension.js +0 -133
- package/dist/extensions/scheduler.extension.js.map +0 -1
- package/dist/extensions/wiring.extension.d.ts +0 -50
- package/dist/extensions/wiring.extension.js +0 -374
- package/dist/extensions/wiring.extension.js.map +0 -1
- package/dist/helpers/cache-memory.helper.d.ts +0 -6
- package/dist/helpers/cache-memory.helper.js +0 -68
- package/dist/helpers/cache-memory.helper.js.map +0 -1
- package/dist/helpers/cache-redis.helper.d.ts +0 -6
- package/dist/helpers/cache-redis.helper.js +0 -73
- package/dist/helpers/cache-redis.helper.js.map +0 -1
- package/dist/helpers/cache.helper.d.ts +0 -19
- package/dist/helpers/cache.helper.js +0 -9
- package/dist/helpers/cache.helper.js.map +0 -1
- package/dist/helpers/fetch.helper.d.ts +0 -165
- package/dist/helpers/fetch.helper.js +0 -173
- package/dist/helpers/fetch.helper.js.map +0 -1
- /package/dist/{extensions → services}/lifecycle.extension.d.ts +0 -0
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { Dayjs } from "dayjs";
|
|
2
|
+
import { TContext } from "./context.helper";
|
|
3
|
+
import { TBlackHole } from "./utilities.helper";
|
|
4
|
+
import { Schedule, SchedulerOptions } from "./wiring.helper";
|
|
1
5
|
export declare enum CronExpression {
|
|
2
6
|
EVERY_SECOND = "* * * * * *",
|
|
3
7
|
EVERY_5_SECONDS = "*/5 * * * * *",
|
|
@@ -85,3 +89,26 @@ export declare enum CronExpression {
|
|
|
85
89
|
}
|
|
86
90
|
export declare const CRON_SCHEDULE = "CRON_SCHEDULE";
|
|
87
91
|
export declare const INTERVAL_SCHEDULE = "INTERVAL_SCHEDULE";
|
|
92
|
+
export type SchedulerCronOptions = SchedulerOptions & {
|
|
93
|
+
schedule: Schedule | Schedule[];
|
|
94
|
+
};
|
|
95
|
+
export type SchedulerIntervalOptions = SchedulerOptions & {
|
|
96
|
+
interval: number;
|
|
97
|
+
};
|
|
98
|
+
export type SchedulerSlidingOptions = SchedulerOptions & {
|
|
99
|
+
/**
|
|
100
|
+
* How often to run the `next` method, to retrieve the next scheduled execution time
|
|
101
|
+
*/
|
|
102
|
+
reset: Schedule;
|
|
103
|
+
/**
|
|
104
|
+
* Return something time like. undefined = skip next
|
|
105
|
+
*/
|
|
106
|
+
next: () => Dayjs | string | number | Date | undefined;
|
|
107
|
+
};
|
|
108
|
+
export type ScheduleRemove = () => TBlackHole;
|
|
109
|
+
export type DigitalAlchemyScheduler = {
|
|
110
|
+
cron: (options: SchedulerCronOptions) => ScheduleRemove;
|
|
111
|
+
interval: (options: SchedulerIntervalOptions) => ScheduleRemove;
|
|
112
|
+
sliding: (options: SchedulerSlidingOptions) => ScheduleRemove;
|
|
113
|
+
};
|
|
114
|
+
export type SchedulerBuilder = (context: TContext) => DigitalAlchemyScheduler;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.INTERVAL_SCHEDULE = exports.CRON_SCHEDULE = exports.CronExpression = void 0;
|
|
4
|
-
var CronExpression;
|
|
1
|
+
export var CronExpression;
|
|
5
2
|
(function (CronExpression) {
|
|
6
3
|
CronExpression["EVERY_SECOND"] = "* * * * * *";
|
|
7
4
|
CronExpression["EVERY_5_SECONDS"] = "*/5 * * * * *";
|
|
@@ -86,7 +83,7 @@ var CronExpression;
|
|
|
86
83
|
CronExpression["MONDAY_TO_FRIDAY_AT_9PM"] = "0 0 21 * * 1-5";
|
|
87
84
|
CronExpression["MONDAY_TO_FRIDAY_AT_10PM"] = "0 0 22 * * 1-5";
|
|
88
85
|
CronExpression["MONDAY_TO_FRIDAY_AT_11PM"] = "0 0 23 * * 1-5";
|
|
89
|
-
})(CronExpression || (
|
|
90
|
-
|
|
91
|
-
|
|
86
|
+
})(CronExpression || (CronExpression = {}));
|
|
87
|
+
export const CRON_SCHEDULE = "CRON_SCHEDULE";
|
|
88
|
+
export const INTERVAL_SCHEDULE = "INTERVAL_SCHEDULE";
|
|
92
89
|
//# sourceMappingURL=cron.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron.helper.js","sourceRoot":"","sources":["../../src/helpers/cron.helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cron.helper.js","sourceRoot":"","sources":["../../src/helpers/cron.helper.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,cAoFX;AApFD,WAAY,cAAc;IACxB,8CAA4B,CAAA;IAC5B,mDAAiC,CAAA;IACjC,qDAAmC,CAAA;IACnC,qDAAmC,CAAA;IACnC,8CAA4B,CAAA;IAC5B,mDAAiC,CAAA;IACjC,qDAAmC,CAAA;IACnC,qDAAmC,CAAA;IACnC,+CAA6B,CAAA;IAC7B,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,oDAAkC,CAAA;IAClC,oDAAkC,CAAA;IAClC,oDAAkC,CAAA;IAClC,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,qDAAmC,CAAA;IACnC,0CAAwB,CAAA;IACxB,+CAA6B,CAAA;IAC7B,+CAA6B,CAAA;IAC7B,kEAAgD,CAAA;IAChD,+DAA6C,CAAA;IAC7C,gDAA8B,CAAA;IAC9B,yEAAuD,CAAA;IACvD,iDAA+B,CAAA;IAC/B,+CAA6B,CAAA;IAC7B,gDAA8B,CAAA;IAC9B,0CAAwB,CAAA;IACxB,4EAA0D,CAAA;IAC1D,4EAA0D,CAAA;IAC1D,8EAA4D,CAAA;IAC5D,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,iEAA+C,CAAA;IAC/C,6DAA2C,CAAA;IAC3C,6DAA2C,CAAA;IAC3C,iEAA+C,CAAA;IAC/C,6DAA2C,CAAA;IAC3C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,6DAA2C,CAAA;IAC3C,6DAA2C,CAAA;AAC7C,CAAC,EApFW,cAAc,KAAd,cAAc,QAoFzB;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import { TContext } from "..";
|
|
2
|
-
export type MaybeHttpError = {
|
|
3
|
-
error: string;
|
|
4
|
-
message: string;
|
|
5
|
-
statusCode: number;
|
|
6
|
-
};
|
|
7
2
|
export declare class BootstrapException extends Error {
|
|
8
3
|
context: TContext;
|
|
9
4
|
cause: string;
|
|
@@ -16,10 +11,3 @@ export declare class InternalError extends Error {
|
|
|
16
11
|
timestamp: Date;
|
|
17
12
|
constructor(context: TContext, cause: string, message: string);
|
|
18
13
|
}
|
|
19
|
-
export declare class FetchRequestError extends Error {
|
|
20
|
-
statusCode: number;
|
|
21
|
-
error: string;
|
|
22
|
-
timestamp: Date;
|
|
23
|
-
context: TContext;
|
|
24
|
-
constructor(context: TContext, statusCode: number, error: string, message: string);
|
|
25
|
-
}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FetchRequestError = exports.InternalError = exports.BootstrapException = void 0;
|
|
4
|
-
class BootstrapException extends Error {
|
|
1
|
+
export class BootstrapException extends Error {
|
|
5
2
|
context;
|
|
6
3
|
cause;
|
|
7
4
|
timestamp;
|
|
@@ -14,8 +11,7 @@ class BootstrapException extends Error {
|
|
|
14
11
|
this.timestamp = new Date();
|
|
15
12
|
}
|
|
16
13
|
}
|
|
17
|
-
|
|
18
|
-
class InternalError extends Error {
|
|
14
|
+
export class InternalError extends Error {
|
|
19
15
|
context;
|
|
20
16
|
cause;
|
|
21
17
|
timestamp;
|
|
@@ -28,21 +24,4 @@ class InternalError extends Error {
|
|
|
28
24
|
this.timestamp = new Date();
|
|
29
25
|
}
|
|
30
26
|
}
|
|
31
|
-
exports.InternalError = InternalError;
|
|
32
|
-
class FetchRequestError extends Error {
|
|
33
|
-
statusCode;
|
|
34
|
-
error;
|
|
35
|
-
timestamp;
|
|
36
|
-
context;
|
|
37
|
-
constructor(context, statusCode, error, message) {
|
|
38
|
-
super();
|
|
39
|
-
this.context = context;
|
|
40
|
-
this.name = "FetchRequestError";
|
|
41
|
-
this.message = message;
|
|
42
|
-
this.statusCode = statusCode;
|
|
43
|
-
this.error = error;
|
|
44
|
-
this.timestamp = new Date();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.FetchRequestError = FetchRequestError;
|
|
48
27
|
//# sourceMappingURL=errors.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.helper.js","sourceRoot":"","sources":["../../src/helpers/errors.helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.helper.js","sourceRoot":"","sources":["../../src/helpers/errors.helper.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,OAAO,CAAW;IACT,KAAK,CAAS;IACvB,SAAS,CAAO;IAEhB,YAAY,OAAiB,EAAE,KAAa,EAAE,OAAe;QAC3D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,OAAO,CAAW;IACT,KAAK,CAAS;IACvB,SAAS,CAAO;IAEhB,YAAY,OAAiB,EAAE,KAAa,EAAE,OAAe;QAC3D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
exports.DIGITAL_ALCHEMY_NODE_GLOBAL_ERROR = "DIGITAL_ALCHEMY_NODE_GLOBAL_ERROR";
|
|
6
|
-
exports.DIGITAL_ALCHEMY_APPLICATION_ERROR = "DIGITAL_ALCHEMY_APPLICATION_ERROR";
|
|
7
|
-
const DIGITAL_ALCHEMY_LIBRARY_ERROR = (library) => __1.is.empty(library)
|
|
8
|
-
? "DIGITAL_ALCHEMY_LIBRARY_ERROR"
|
|
9
|
-
: `DIGITAL_ALCHEMY_LIBRARY_ERROR:${library}`;
|
|
10
|
-
exports.DIGITAL_ALCHEMY_LIBRARY_ERROR = DIGITAL_ALCHEMY_LIBRARY_ERROR;
|
|
1
|
+
import { is } from "..";
|
|
2
|
+
export const DIGITAL_ALCHEMY_NODE_GLOBAL_ERROR = "DIGITAL_ALCHEMY_NODE_GLOBAL_ERROR";
|
|
3
|
+
export const DIGITAL_ALCHEMY_APPLICATION_ERROR = "DIGITAL_ALCHEMY_APPLICATION_ERROR";
|
|
4
|
+
export const DIGITAL_ALCHEMY_LIBRARY_ERROR = (library) => is.empty(library) ? "DIGITAL_ALCHEMY_LIBRARY_ERROR" : `DIGITAL_ALCHEMY_LIBRARY_ERROR:${library}`;
|
|
11
5
|
//# sourceMappingURL=events.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.helper.js","sourceRoot":"","sources":["../../src/helpers/events.helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"events.helper.js","sourceRoot":"","sources":["../../src/helpers/events.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC;AAExB,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAC;AACrF,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAC;AACrF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,OAAgB,EAAE,EAAE,CAChE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,iCAAiC,OAAO,EAAE,CAAC"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
export declare function cloneSpecificValue(value: unknown): RegExp | Date;
|
|
1
2
|
export declare function deepCloneArray<TYPE = unknown>(array: Array<TYPE>): Array<TYPE>;
|
|
3
|
+
export declare function safeGetProperty(object: unknown, key: string): unknown;
|
|
2
4
|
export declare function deepExtend<A, B>(target: A, object: B): A & B;
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deepCloneArray = deepCloneArray;
|
|
4
|
-
exports.deepExtend = deepExtend;
|
|
5
|
-
const is_extension_1 = require("../extensions/is.extension");
|
|
1
|
+
import { is } from "../services/is.extension";
|
|
6
2
|
function isSpecificValue(value) {
|
|
7
3
|
return value instanceof Date || value instanceof RegExp;
|
|
8
4
|
}
|
|
9
|
-
function cloneSpecificValue(value) {
|
|
5
|
+
export function cloneSpecificValue(value) {
|
|
10
6
|
if (value instanceof Date) {
|
|
11
7
|
return new Date(value.getTime());
|
|
12
8
|
}
|
|
@@ -15,30 +11,29 @@ function cloneSpecificValue(value) {
|
|
|
15
11
|
}
|
|
16
12
|
throw new TypeError("Unexpected situation");
|
|
17
13
|
}
|
|
18
|
-
function deepCloneArray(array) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
export function deepCloneArray(array) {
|
|
15
|
+
// eslint-disable-next-line sonarjs/function-return-type
|
|
16
|
+
return array.map(item => {
|
|
17
|
+
if (is.array(item)) {
|
|
18
|
+
return deepCloneArray(item);
|
|
19
|
+
}
|
|
20
|
+
if (isSpecificValue(item)) {
|
|
21
|
+
return cloneSpecificValue(item);
|
|
22
|
+
}
|
|
23
|
+
if (is.object(item)) {
|
|
27
24
|
return deepExtend({}, item);
|
|
28
25
|
}
|
|
29
26
|
return item;
|
|
30
27
|
});
|
|
31
28
|
}
|
|
32
|
-
function safeGetProperty(object, key) {
|
|
33
|
-
return key === "__proto__"
|
|
34
|
-
? undefined
|
|
35
|
-
: object[key];
|
|
29
|
+
export function safeGetProperty(object, key) {
|
|
30
|
+
return key === "__proto__" ? undefined : object[key];
|
|
36
31
|
}
|
|
37
|
-
function deepExtend(target, object) {
|
|
38
|
-
if (
|
|
32
|
+
export function deepExtend(target, object) {
|
|
33
|
+
if (!is.object(object)) {
|
|
39
34
|
return target;
|
|
40
35
|
}
|
|
41
|
-
Object.keys(object).forEach(
|
|
36
|
+
Object.keys(object).forEach(key => {
|
|
42
37
|
const source = safeGetProperty(target, key);
|
|
43
38
|
const value = safeGetProperty(object, key);
|
|
44
39
|
if (value === target) {
|
|
@@ -48,7 +43,7 @@ function deepExtend(target, object) {
|
|
|
48
43
|
target[key] = value;
|
|
49
44
|
return;
|
|
50
45
|
}
|
|
51
|
-
if (
|
|
46
|
+
if (is.array(value)) {
|
|
52
47
|
target[key] = deepCloneArray(value);
|
|
53
48
|
return;
|
|
54
49
|
}
|
|
@@ -56,7 +51,7 @@ function deepExtend(target, object) {
|
|
|
56
51
|
target[key] = cloneSpecificValue(value);
|
|
57
52
|
return;
|
|
58
53
|
}
|
|
59
|
-
if (typeof source !== "object" || source === null ||
|
|
54
|
+
if (typeof source !== "object" || source === null || is.array(source)) {
|
|
60
55
|
target[key] = deepExtend({}, value);
|
|
61
56
|
return;
|
|
62
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extend.helper.js","sourceRoot":"","sources":["../../src/helpers/extend.helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extend.helper.js","sourceRoot":"","sources":["../../src/helpers/extend.helper.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
export * from "./async.helper";
|
|
2
|
-
export * from "./cache.helper";
|
|
3
|
-
export * from "./cache-memory.helper";
|
|
4
|
-
export * from "./cache-redis.helper";
|
|
5
2
|
export * from "./config.helper";
|
|
6
3
|
export * from "./config-environment-loader.helper";
|
|
7
4
|
export * from "./config-file-loader.helper";
|
|
@@ -10,7 +7,8 @@ export * from "./cron.helper";
|
|
|
10
7
|
export * from "./errors.helper";
|
|
11
8
|
export * from "./events.helper";
|
|
12
9
|
export * from "./extend.helper";
|
|
13
|
-
export * from "./fetch.helper";
|
|
14
10
|
export * from "./lifecycle.helper";
|
|
11
|
+
export * from "./logger.helper";
|
|
12
|
+
export * from "./module.helper";
|
|
15
13
|
export * from "./utilities.helper";
|
|
16
14
|
export * from "./wiring.helper";
|
package/dist/helpers/index.js
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
tslib_1.__exportStar(require("./extend.helper"), exports);
|
|
16
|
-
tslib_1.__exportStar(require("./fetch.helper"), exports);
|
|
17
|
-
tslib_1.__exportStar(require("./lifecycle.helper"), exports);
|
|
18
|
-
tslib_1.__exportStar(require("./utilities.helper"), exports);
|
|
19
|
-
tslib_1.__exportStar(require("./wiring.helper"), exports);
|
|
1
|
+
export * from "./async.helper";
|
|
2
|
+
export * from "./config.helper";
|
|
3
|
+
export * from "./config-environment-loader.helper";
|
|
4
|
+
export * from "./config-file-loader.helper";
|
|
5
|
+
export * from "./context.helper";
|
|
6
|
+
export * from "./cron.helper";
|
|
7
|
+
export * from "./errors.helper";
|
|
8
|
+
export * from "./events.helper";
|
|
9
|
+
export * from "./extend.helper";
|
|
10
|
+
export * from "./lifecycle.helper";
|
|
11
|
+
export * from "./logger.helper";
|
|
12
|
+
export * from "./module.helper";
|
|
13
|
+
export * from "./utilities.helper";
|
|
14
|
+
export * from "./wiring.helper";
|
|
20
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { TBlackHole } from "..";
|
|
2
2
|
export type LifecycleCallback = () => TBlackHole;
|
|
3
|
-
export type LifecyclePrioritizedCallback = [
|
|
4
|
-
callback: LifecycleCallback,
|
|
5
|
-
priority: number
|
|
6
|
-
];
|
|
3
|
+
export type LifecyclePrioritizedCallback = [callback: LifecycleCallback, priority: number];
|
|
7
4
|
export type CallbackList = LifecyclePrioritizedCallback[];
|
|
8
5
|
export type TLifeCycleRegister = (callback: LifecycleCallback, priority?: number) => void;
|
|
9
6
|
export type TLifecycleBase = {
|
|
@@ -39,6 +36,5 @@ export type TLifecycleBase = {
|
|
|
39
36
|
export type TParentLifecycle = TLifecycleBase & {
|
|
40
37
|
child: () => TLifecycleBase;
|
|
41
38
|
};
|
|
42
|
-
export type TChildLifecycle = TLifecycleBase;
|
|
43
39
|
export declare const LIFECYCLE_STAGES: readonly ["PreInit", "PostConfig", "Bootstrap", "Ready", "PreShutdown", "ShutdownStart", "ShutdownComplete"];
|
|
44
40
|
export type LifecycleStages = (typeof LIFECYCLE_STAGES)[number];
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LIFECYCLE_STAGES = void 0;
|
|
4
1
|
// ! This is a sorted array! Don't change the order
|
|
5
|
-
|
|
2
|
+
export const LIFECYCLE_STAGES = [
|
|
6
3
|
"PreInit",
|
|
7
4
|
"PostConfig",
|
|
8
5
|
"Bootstrap",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.helper.js","sourceRoot":"","sources":["../../src/helpers/lifecycle.helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lifecycle.helper.js","sourceRoot":"","sources":["../../src/helpers/lifecycle.helper.ts"],"names":[],"mappings":"AAiDA,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS;IACT,YAAY;IACZ,WAAW;IACX,OAAO;IACP,aAAa;IACb,eAAe;IACf,kBAAkB;CACV,CAAC"}
|
|
@@ -1,30 +1,5 @@
|
|
|
1
|
-
import { TContext } from "
|
|
2
|
-
|
|
3
|
-
export type TLoggerFunction = ((message: string, ...arguments_: unknown[]) => void) | ((object: object, message?: string, ...arguments_: unknown[]) => void);
|
|
4
|
-
export interface ILogger {
|
|
5
|
-
debug(...arguments_: Parameters<TLoggerFunction>): void;
|
|
6
|
-
debug(message: string, ...arguments_: unknown[]): void;
|
|
7
|
-
debug(object: object, message?: string, ...arguments_: unknown[]): void;
|
|
8
|
-
error(...arguments_: Parameters<TLoggerFunction>): void;
|
|
9
|
-
error(message: string, ...arguments_: unknown[]): void;
|
|
10
|
-
error(object: object, message?: string, ...arguments_: unknown[]): void;
|
|
11
|
-
fatal(...arguments_: Parameters<TLoggerFunction>): void;
|
|
12
|
-
fatal(message: string, ...arguments_: unknown[]): void;
|
|
13
|
-
fatal(object: object, message?: string, ...arguments_: unknown[]): void;
|
|
14
|
-
info(...arguments_: Parameters<TLoggerFunction>): void;
|
|
15
|
-
info(message: string, ...arguments_: unknown[]): void;
|
|
16
|
-
info(object: object, message?: string, ...arguments_: unknown[]): void;
|
|
17
|
-
trace(...arguments_: Parameters<TLoggerFunction>): void;
|
|
18
|
-
trace(message: string, ...arguments_: unknown[]): void;
|
|
19
|
-
trace(object: object, message?: string, ...arguments_: unknown[]): void;
|
|
20
|
-
warn(...arguments_: Parameters<TLoggerFunction>): void;
|
|
21
|
-
warn(message: string, ...arguments_: unknown[]): void;
|
|
22
|
-
warn(object: object, message?: string, ...arguments_: unknown[]): void;
|
|
23
|
-
}
|
|
24
|
-
export type TConfigLogLevel = keyof ILogger | "silent";
|
|
25
|
-
export declare const METHOD_COLORS: Map<keyof ILogger, CONTEXT_COLORS>;
|
|
26
|
-
export type CONTEXT_COLORS = "grey" | "blue" | "yellow" | "red" | "green" | "magenta";
|
|
27
|
-
export declare function Logger({ lifecycle, config, internal }: TServiceParams): Promise<{
|
|
1
|
+
import { TContext } from "./context.helper";
|
|
2
|
+
export type DigitalAlchemyLogger = {
|
|
28
3
|
/**
|
|
29
4
|
* Create a new logger instance for a given context
|
|
30
5
|
*/
|
|
@@ -33,18 +8,7 @@ export declare function Logger({ lifecycle, config, internal }: TServiceParams):
|
|
|
33
8
|
* Retrieve a reference to the base logger used to emit from
|
|
34
9
|
*/
|
|
35
10
|
getBaseLogger: () => Record<keyof ILogger, (context: TContext, ...data: Parameters<TLoggerFunction>) => void>;
|
|
36
|
-
|
|
37
|
-
* for testing
|
|
38
|
-
*/
|
|
39
|
-
getShouldILog: () => {
|
|
40
|
-
debug: boolean;
|
|
41
|
-
error: boolean;
|
|
42
|
-
fatal: boolean;
|
|
43
|
-
info: boolean;
|
|
44
|
-
trace: boolean;
|
|
45
|
-
warn: boolean;
|
|
46
|
-
silent: boolean;
|
|
47
|
-
};
|
|
11
|
+
getPrettyFormat: () => boolean;
|
|
48
12
|
/**
|
|
49
13
|
* exposed for testing
|
|
50
14
|
*/
|
|
@@ -67,4 +31,33 @@ export declare function Logger({ lifecycle, config, internal }: TServiceParams):
|
|
|
67
31
|
* exposed for testing
|
|
68
32
|
*/
|
|
69
33
|
updateShouldLog: () => void;
|
|
70
|
-
|
|
34
|
+
/**
|
|
35
|
+
* If set, logs will be converted to json & sent to target
|
|
36
|
+
*/
|
|
37
|
+
setHttpLogs: (url: string) => void;
|
|
38
|
+
};
|
|
39
|
+
export type TLoggerFunction = ((message: string, ...arguments_: unknown[]) => void) | ((object: object, message?: string, ...arguments_: unknown[]) => void);
|
|
40
|
+
export interface ILogger {
|
|
41
|
+
debug(...arguments_: Parameters<TLoggerFunction>): void;
|
|
42
|
+
debug(message: string, ...arguments_: unknown[]): void;
|
|
43
|
+
debug(object: object, message?: string, ...arguments_: unknown[]): void;
|
|
44
|
+
error(...arguments_: Parameters<TLoggerFunction>): void;
|
|
45
|
+
error(message: string, ...arguments_: unknown[]): void;
|
|
46
|
+
error(object: object, message?: string, ...arguments_: unknown[]): void;
|
|
47
|
+
fatal(...arguments_: Parameters<TLoggerFunction>): void;
|
|
48
|
+
fatal(message: string, ...arguments_: unknown[]): void;
|
|
49
|
+
fatal(object: object, message?: string, ...arguments_: unknown[]): void;
|
|
50
|
+
info(...arguments_: Parameters<TLoggerFunction>): void;
|
|
51
|
+
info(message: string, ...arguments_: unknown[]): void;
|
|
52
|
+
info(object: object, message?: string, ...arguments_: unknown[]): void;
|
|
53
|
+
trace(...arguments_: Parameters<TLoggerFunction>): void;
|
|
54
|
+
trace(message: string, ...arguments_: unknown[]): void;
|
|
55
|
+
trace(object: object, message?: string, ...arguments_: unknown[]): void;
|
|
56
|
+
warn(...arguments_: Parameters<TLoggerFunction>): void;
|
|
57
|
+
warn(message: string, ...arguments_: unknown[]): void;
|
|
58
|
+
warn(object: object, message?: string, ...arguments_: unknown[]): void;
|
|
59
|
+
}
|
|
60
|
+
export type TConfigLogLevel = keyof ILogger | "silent";
|
|
61
|
+
export declare const METHOD_COLORS: Map<keyof ILogger, CONTEXT_COLORS>;
|
|
62
|
+
export type CONTEXT_COLORS = "grey" | "blue" | "yellow" | "red" | "green" | "magenta";
|
|
63
|
+
export declare const EVENT_UPDATE_LOG_LEVELS = "EVENT_UPDATE_LOG_LEVELS";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const METHOD_COLORS = new Map([
|
|
2
|
+
["trace", "grey"],
|
|
3
|
+
["debug", "blue"],
|
|
4
|
+
["warn", "yellow"],
|
|
5
|
+
["error", "red"],
|
|
6
|
+
["info", "green"],
|
|
7
|
+
["fatal", "magenta"],
|
|
8
|
+
]);
|
|
9
|
+
export const EVENT_UPDATE_LOG_LEVELS = "EVENT_UPDATE_LOG_LEVELS";
|
|
10
|
+
//# sourceMappingURL=logger.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.helper.js","sourceRoot":"","sources":["../../src/helpers/logger.helper.ts"],"names":[],"mappings":"AAqEA,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAgC;IAClE,CAAC,OAAO,EAAE,MAAM,CAAC;IACjB,CAAC,OAAO,EAAE,MAAM,CAAC;IACjB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,OAAO,EAAE,KAAK,CAAC;IAChB,CAAC,MAAM,EAAE,OAAO,CAAC;IACjB,CAAC,OAAO,EAAE,SAAS,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Except, Merge } from "type-fest";
|
|
2
|
+
import { iTestRunner } from "../testing";
|
|
3
|
+
import { OptionalModuleConfiguration } from "./config.helper";
|
|
4
|
+
import { ApplicationDefinition, LibraryDefinition, ServiceFunction, ServiceMap, TLibrary } from "./wiring.helper";
|
|
5
|
+
export type ExtendOptions = {
|
|
6
|
+
name?: string;
|
|
7
|
+
/**
|
|
8
|
+
* default: true
|
|
9
|
+
*/
|
|
10
|
+
keepConfiguration?: boolean;
|
|
11
|
+
};
|
|
12
|
+
export type DigitalAlchemyModule<S extends ServiceMap, C extends OptionalModuleConfiguration> = {
|
|
13
|
+
services: S;
|
|
14
|
+
configuration: C;
|
|
15
|
+
name: string;
|
|
16
|
+
depends: TLibrary[];
|
|
17
|
+
optionalDepends?: TLibrary[];
|
|
18
|
+
priorityInit: string[];
|
|
19
|
+
extend: (options?: ExtendOptions) => ModuleExtension<S, C>;
|
|
20
|
+
};
|
|
21
|
+
export type CreateModuleOptions<S extends ServiceMap, C extends OptionalModuleConfiguration> = {
|
|
22
|
+
services: S;
|
|
23
|
+
configuration: C;
|
|
24
|
+
name: string;
|
|
25
|
+
depends: TLibrary[];
|
|
26
|
+
optionalDepends?: TLibrary[];
|
|
27
|
+
priorityInit: string[];
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* commands mutate module
|
|
31
|
+
*/
|
|
32
|
+
export type ModuleExtension<S extends ServiceMap, C extends OptionalModuleConfiguration> = {
|
|
33
|
+
appendLibrary: (library: TLibrary) => ModuleExtension<S, C>;
|
|
34
|
+
appendService: (name: string, target: ServiceFunction) => ModuleExtension<S, C>;
|
|
35
|
+
/**
|
|
36
|
+
* name must match existing library
|
|
37
|
+
*/
|
|
38
|
+
replaceLibrary: (library: TLibrary) => ModuleExtension<S, C>;
|
|
39
|
+
/**
|
|
40
|
+
* name must match existing service
|
|
41
|
+
*/
|
|
42
|
+
replaceService: <TARGET extends keyof S, FN extends ServiceFunction>(name: TARGET, target: FN) => ModuleExtension<Merge<S, {
|
|
43
|
+
[key in TARGET]: FN;
|
|
44
|
+
}>, C>;
|
|
45
|
+
/**
|
|
46
|
+
* throws if any service does not exist
|
|
47
|
+
*/
|
|
48
|
+
pickService: <PICK extends keyof S>(...services: PICK[]) => ModuleExtension<Pick<S, PICK>, C>;
|
|
49
|
+
/**
|
|
50
|
+
* throws if any service does not exist
|
|
51
|
+
*/
|
|
52
|
+
omitService: <OMIT extends keyof S>(...services: OMIT[]) => ModuleExtension<Except<S, OMIT>, C>;
|
|
53
|
+
/**
|
|
54
|
+
* build api compatible replacement (potentially adding)
|
|
55
|
+
*/
|
|
56
|
+
rebuild: <REPLACEMENTS extends S>(services: Partial<REPLACEMENTS>) => ModuleExtension<REPLACEMENTS, C>;
|
|
57
|
+
/**
|
|
58
|
+
* export as application
|
|
59
|
+
*/
|
|
60
|
+
toApplication: () => ApplicationDefinition<S, C>;
|
|
61
|
+
/**
|
|
62
|
+
* export as library
|
|
63
|
+
*/
|
|
64
|
+
toLibrary: () => LibraryDefinition<S, C>;
|
|
65
|
+
/**
|
|
66
|
+
* export as test
|
|
67
|
+
*/
|
|
68
|
+
toTest: () => iTestRunner<S, C>;
|
|
69
|
+
};
|
|
70
|
+
export declare function createModule<S extends ServiceMap, C extends OptionalModuleConfiguration>(options: CreateModuleOptions<S, C>): DigitalAlchemyModule<S, C>;
|
|
71
|
+
export declare namespace createModule {
|
|
72
|
+
var fromApplication: <S extends ServiceMap, C extends OptionalModuleConfiguration>(application: ApplicationDefinition<S, C>) => DigitalAlchemyModule<S, C>;
|
|
73
|
+
var fromLibrary: <S extends ServiceMap, C extends OptionalModuleConfiguration>(library: LibraryDefinition<S, C>) => DigitalAlchemyModule<S, C>;
|
|
74
|
+
}
|