@digital-alchemy/core 24.8.3 → 24.9.3

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.
Files changed (117) hide show
  1. package/README.md +4 -1
  2. package/dist/helpers/async.helper.d.ts +1 -1
  3. package/dist/helpers/async.helper.js +13 -14
  4. package/dist/helpers/async.helper.js.map +1 -1
  5. package/dist/helpers/config-environment-loader.helper.js +16 -20
  6. package/dist/helpers/config-environment-loader.helper.js.map +1 -1
  7. package/dist/helpers/config-file-loader.helper.js +39 -46
  8. package/dist/helpers/config-file-loader.helper.js.map +1 -1
  9. package/dist/helpers/config.helper.d.ts +23 -2
  10. package/dist/helpers/config.helper.js +28 -38
  11. package/dist/helpers/config.helper.js.map +1 -1
  12. package/dist/helpers/context.helper.js +1 -2
  13. package/dist/helpers/cron.helper.d.ts +27 -0
  14. package/dist/helpers/cron.helper.js +4 -7
  15. package/dist/helpers/cron.helper.js.map +1 -1
  16. package/dist/helpers/errors.helper.d.ts +0 -12
  17. package/dist/helpers/errors.helper.js +2 -23
  18. package/dist/helpers/errors.helper.js.map +1 -1
  19. package/dist/helpers/events.helper.js +4 -10
  20. package/dist/helpers/events.helper.js.map +1 -1
  21. package/dist/helpers/extend.helper.js +12 -17
  22. package/dist/helpers/extend.helper.js.map +1 -1
  23. package/dist/helpers/index.d.ts +2 -4
  24. package/dist/helpers/index.js +14 -19
  25. package/dist/helpers/index.js.map +1 -1
  26. package/dist/helpers/lifecycle.helper.d.ts +1 -5
  27. package/dist/helpers/lifecycle.helper.js +1 -4
  28. package/dist/helpers/lifecycle.helper.js.map +1 -1
  29. package/dist/{extensions/logger.extension.d.ts → helpers/logger.helper.d.ts} +33 -40
  30. package/dist/helpers/logger.helper.js +10 -0
  31. package/dist/helpers/logger.helper.js.map +1 -0
  32. package/dist/helpers/module.helper.d.ts +74 -0
  33. package/dist/helpers/module.helper.js +131 -0
  34. package/dist/helpers/module.helper.js.map +1 -0
  35. package/dist/helpers/utilities.helper.d.ts +1 -0
  36. package/dist/helpers/utilities.helper.js +57 -58
  37. package/dist/helpers/utilities.helper.js.map +1 -1
  38. package/dist/helpers/wiring.helper.d.ts +77 -23
  39. package/dist/helpers/wiring.helper.js +45 -47
  40. package/dist/helpers/wiring.helper.js.map +1 -1
  41. package/dist/index.d.ts +2 -1
  42. package/dist/index.js +3 -5
  43. package/dist/index.js.map +1 -1
  44. package/dist/services/als.extension.d.ts +2 -0
  45. package/dist/services/als.extension.js +17 -0
  46. package/dist/services/als.extension.js.map +1 -0
  47. package/dist/services/configuration.extension.d.ts +7 -0
  48. package/dist/services/configuration.extension.js +117 -0
  49. package/dist/services/configuration.extension.js.map +1 -0
  50. package/dist/{extensions → services}/index.d.ts +1 -3
  51. package/dist/services/index.js +8 -0
  52. package/dist/services/index.js.map +1 -0
  53. package/dist/{extensions → services}/internal.extension.d.ts +7 -23
  54. package/dist/{extensions → services}/internal.extension.js +43 -55
  55. package/dist/services/internal.extension.js.map +1 -0
  56. package/dist/{extensions → services}/is.extension.d.ts +5 -0
  57. package/dist/{extensions → services}/is.extension.js +20 -15
  58. package/dist/services/is.extension.js.map +1 -0
  59. package/dist/{extensions → services}/lifecycle.extension.js +17 -19
  60. package/dist/services/lifecycle.extension.js.map +1 -0
  61. package/dist/services/logger.extension.d.ts +2 -0
  62. package/dist/services/logger.extension.js +200 -0
  63. package/dist/services/logger.extension.js.map +1 -0
  64. package/dist/services/scheduler.extension.d.ts +2 -0
  65. package/dist/services/scheduler.extension.js +108 -0
  66. package/dist/services/scheduler.extension.js.map +1 -0
  67. package/dist/services/wiring.extension.d.ts +111 -0
  68. package/dist/services/wiring.extension.js +437 -0
  69. package/dist/services/wiring.extension.js.map +1 -0
  70. package/dist/testing/index.d.ts +2 -0
  71. package/dist/testing/index.js +3 -0
  72. package/dist/testing/index.js.map +1 -0
  73. package/dist/testing/mock-logger.d.ts +2 -0
  74. package/dist/testing/mock-logger.js +11 -0
  75. package/dist/testing/mock-logger.js.map +1 -0
  76. package/dist/testing/test-module.d.ts +112 -0
  77. package/dist/testing/test-module.js +138 -0
  78. package/dist/testing/test-module.js.map +1 -0
  79. package/package.json +57 -43
  80. package/dist/extensions/cache.extension.d.ts +0 -2
  81. package/dist/extensions/cache.extension.js +0 -90
  82. package/dist/extensions/cache.extension.js.map +0 -1
  83. package/dist/extensions/configuration.extension.d.ts +0 -52
  84. package/dist/extensions/configuration.extension.js +0 -131
  85. package/dist/extensions/configuration.extension.js.map +0 -1
  86. package/dist/extensions/fetch.extension.d.ts +0 -17
  87. package/dist/extensions/fetch.extension.js +0 -133
  88. package/dist/extensions/fetch.extension.js.map +0 -1
  89. package/dist/extensions/index.js +0 -13
  90. package/dist/extensions/index.js.map +0 -1
  91. package/dist/extensions/internal.extension.js.map +0 -1
  92. package/dist/extensions/is.extension.js.map +0 -1
  93. package/dist/extensions/lifecycle.extension.js.map +0 -1
  94. package/dist/extensions/logger.extension.js +0 -186
  95. package/dist/extensions/logger.extension.js.map +0 -1
  96. package/dist/extensions/metrics.extension.d.ts +0 -18
  97. package/dist/extensions/metrics.extension.js +0 -156
  98. package/dist/extensions/metrics.extension.js.map +0 -1
  99. package/dist/extensions/scheduler.extension.d.ts +0 -21
  100. package/dist/extensions/scheduler.extension.js +0 -133
  101. package/dist/extensions/scheduler.extension.js.map +0 -1
  102. package/dist/extensions/wiring.extension.d.ts +0 -50
  103. package/dist/extensions/wiring.extension.js +0 -374
  104. package/dist/extensions/wiring.extension.js.map +0 -1
  105. package/dist/helpers/cache-memory.helper.d.ts +0 -6
  106. package/dist/helpers/cache-memory.helper.js +0 -68
  107. package/dist/helpers/cache-memory.helper.js.map +0 -1
  108. package/dist/helpers/cache-redis.helper.d.ts +0 -6
  109. package/dist/helpers/cache-redis.helper.js +0 -73
  110. package/dist/helpers/cache-redis.helper.js.map +0 -1
  111. package/dist/helpers/cache.helper.d.ts +0 -19
  112. package/dist/helpers/cache.helper.js +0 -9
  113. package/dist/helpers/cache.helper.js.map +0 -1
  114. package/dist/helpers/fetch.helper.d.ts +0 -165
  115. package/dist/helpers/fetch.helper.js +0 -173
  116. package/dist/helpers/fetch.helper.js.map +0 -1
  117. /package/dist/{extensions → services}/lifecycle.extension.d.ts +0 -0
package/README.md CHANGED
@@ -1,5 +1,8 @@
1
- [![codecov](https://codecov.io/github/Digital-Alchemy-TS/core/graph/badge.svg?token=IBGLY3RY68)](https://codecov.io/github/Digital-Alchemy-TS/core)
1
+ [![stars](https://img.shields.io/github/stars/Digital-Alchemy-TS/core)](https://github.com/Digital-Alchemy-TS/core)
2
+ ![discord](https://img.shields.io/discord/1219758743848489147?label=Discord&logo=discord)
2
3
 
4
+ [![codecov](https://codecov.io/github/Digital-Alchemy-TS/core/graph/badge.svg?token=IBGLY3RY68)](https://codecov.io/github/Digital-Alchemy-TS/core)
5
+ [![version](https://img.shields.io/github/package-json/version/Digital-Alchemy-TS/core)](https://www.npmjs.com/package/@digital-alchemy/core)
3
6
  ---
4
7
 
5
8
  # 🚀 Project Overview - Digital Alchemy TypeScript Libraries
@@ -1,3 +1,3 @@
1
- export declare function each<T = unknown>(item: T[], callback: (item: T) => Promise<void | unknown>): Promise<void>;
1
+ export declare function each<T = unknown>(item: T[] | Set<T>, callback: (item: T) => Promise<void | unknown>): Promise<void>;
2
2
  export declare function eachSeries<T = void>(item: T[] | Set<T>, callback: (item: T) => Promise<void | unknown>): Promise<void>;
3
3
  export declare function eachLimit<T = unknown>(items: T[], limit: number, callback: (item: T) => Promise<void | unknown>): Promise<void>;
@@ -1,32 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.each = each;
4
- exports.eachSeries = eachSeries;
5
- exports.eachLimit = eachLimit;
6
- const is_extension_1 = require("../extensions/is.extension");
7
- const utilities_helper_1 = require("./utilities.helper");
1
+ /* eslint-disable sonarjs/no-redundant-type-constituents */
2
+ import { is } from "../services";
3
+ import { ARRAY_OFFSET, SINGLE, START } from "./utilities.helper";
8
4
  // ? Functions written to be similar to the offerings from the async library
9
5
  // That library gave me oddly inconsistent results,
10
6
  // so these exist to replace those doing exactly what I expect
11
7
  //
12
8
  // #MARK: each
13
- async function each(item = [], callback) {
9
+ export async function each(item, callback) {
10
+ if (item instanceof Set) {
11
+ item = [...item.values()];
12
+ }
14
13
  await Promise.all(item.map(async (i) => await callback(i)));
15
14
  }
16
15
  // #MARK: eachSeries
17
- async function eachSeries(item, callback) {
16
+ export async function eachSeries(item, callback) {
18
17
  if (item instanceof Set) {
19
18
  item = [...item.values()];
20
19
  }
21
- if (!is_extension_1.is.array(item)) {
20
+ if (!is.array(item)) {
22
21
  throw new TypeError(`not provided an array`);
23
22
  }
24
- for (let i = utilities_helper_1.START; i <= item.length - utilities_helper_1.ARRAY_OFFSET; i++) {
23
+ for (let i = START; i <= item.length - ARRAY_OFFSET; i++) {
25
24
  await callback(item[i]);
26
25
  }
27
26
  }
28
27
  // #MARK: eachLimit
29
- async function eachLimit(items, limit, callback) {
28
+ export async function eachLimit(items, limit, callback) {
30
29
  // Track active promises to ensure we don't exceed the limit
31
30
  const activePromises = new Set();
32
31
  // A helper function to add a new task
@@ -40,11 +39,11 @@ async function eachLimit(items, limit, callback) {
40
39
  }
41
40
  }
42
41
  // Add initial tasks up to the limit
43
- const initialTasks = items.slice(utilities_helper_1.SINGLE, limit).map((item) => addTask(item));
42
+ const initialTasks = items.slice(SINGLE, limit).map(item => addTask(item));
44
43
  // Wait for the initial set of tasks to start processing
45
44
  await Promise.all(initialTasks);
46
45
  // Process the remaining items, ensuring the limit is respected
47
- for (let i = limit; i < items.length; i++) {
46
+ for (let i = limit - ARRAY_OFFSET; i < items.length; i++) {
48
47
  await addTask(items[i]);
49
48
  }
50
49
  // Wait for all remaining tasks to complete
@@ -1 +1 @@
1
- {"version":3,"file":"async.helper.js","sourceRoot":"","sources":["../../src/helpers/async.helper.ts"],"names":[],"mappings":";;AASA,oBAKC;AAGD,gCAaC;AAGD,8BAgCC;AAjED,6DAAgD;AAChD,yDAAiE;AAEjE,4EAA4E;AAC5E,mDAAmD;AACnD,kEAAkE;AAClE,EAAE;AAEF,cAAc;AACP,KAAK,UAAU,IAAI,CACxB,OAAY,EAAE,EACd,QAA8C;IAE9C,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,oBAAoB;AACb,KAAK,UAAU,UAAU,CAC9B,IAAkB,EAClB,QAA8C;IAE9C,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,iBAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,wBAAK,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,+BAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACzD,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,mBAAmB;AACZ,KAAK,UAAU,SAAS,CAC7B,KAAU,EACV,KAAa,EACb,QAA8C;IAE9C,4DAA4D;IAC5D,MAAM,cAAc,GAAiC,IAAI,GAAG,EAAE,CAAC;IAE/D,sCAAsC;IACtC,KAAK,UAAU,OAAO,CAAC,IAAO;QAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACvC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,qDAAqD;QACvF,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,cAAc,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,iDAAiD;QACvF,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,yBAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7E,wDAAwD;IACxD,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEhC,+DAA+D;IAC/D,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,2CAA2C;IAC3C,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"async.helper.js","sourceRoot":"","sources":["../../src/helpers/async.helper.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEjE,4EAA4E;AAC5E,mDAAmD;AACnD,kEAAkE;AAClE,EAAE;AAEF,cAAc;AACd,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,IAAkB,EAClB,QAA8C;IAE9C,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,oBAAoB;AACpB,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAkB,EAClB,QAA8C;IAE9C,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACzD,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,mBAAmB;AACnB,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAU,EACV,KAAa,EACb,QAA8C;IAE9C,4DAA4D;IAC5D,MAAM,cAAc,GAAiC,IAAI,GAAG,EAAE,CAAC;IAE/D,sCAAsC;IACtC,KAAK,UAAU,OAAO,CAAC,IAAO;QAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACvC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,qDAAqD;QACvF,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,cAAc,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,iDAAiD;QACvF,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3E,wDAAwD;IACxD,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEhC,+DAA+D;IAC/D,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,YAAY,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzD,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,2CAA2C;IAC3C,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC"}
@@ -1,24 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConfigLoaderEnvironment = ConfigLoaderEnvironment;
4
- const tslib_1 = require("tslib");
5
- const minimist_1 = tslib_1.__importDefault(require("minimist"));
6
- const process_1 = require("process");
7
- const __1 = require("..");
8
- const config_helper_1 = require("./config.helper");
9
- async function ConfigLoaderEnvironment({ configs, internal, logger }) {
10
- const CLI_SWITCHES = (0, minimist_1.default)(process_1.argv);
1
+ import minimist from "minimist";
2
+ import { env } from "process";
3
+ import { is } from "..";
4
+ import { findKey, iSearchKey, loadDotenv, parseConfig, } from "./config.helper";
5
+ export async function ConfigLoaderEnvironment({ configs, internal, logger }) {
6
+ const CLI_SWITCHES = minimist(process.argv);
11
7
  const switchKeys = Object.keys(CLI_SWITCHES);
12
- const environmentKeys = Object.keys(process_1.env);
13
8
  const out = {};
14
9
  // * merge dotenv into local vars
15
10
  // accounts for `--env-file` switches, and whatever is passed in via bootstrap
16
- (0, config_helper_1.loadDotenv)(internal, CLI_SWITCHES, logger);
11
+ loadDotenv(internal, CLI_SWITCHES, logger);
12
+ const environmentKeys = Object.keys(env);
17
13
  // * go through all module
18
14
  configs.forEach((configuration, project) => {
19
15
  const cleanedProject = project.replaceAll("-", "_");
20
16
  // * run through each config for module
21
- Object.keys(configuration).forEach((key) => {
17
+ Object.keys(configuration).forEach(key => {
22
18
  // > things to search for
23
19
  // - MODULE_NAME_CONFIG_KEY (module + key, ex: app_NODE_ENV)
24
20
  // - CONFIG_KEY (only key, ex: NODE_ENV)
@@ -26,10 +22,10 @@ async function ConfigLoaderEnvironment({ configs, internal, logger }) {
26
22
  const search = [noAppPath, key];
27
23
  const configPath = `${project}.${key}`;
28
24
  // * (preferred) Find an applicable cli switch
29
- const flag = (0, config_helper_1.findKey)(search, switchKeys);
25
+ const flag = findKey(search, switchKeys);
30
26
  if (flag) {
31
- const formattedFlag = (0, config_helper_1.iSearchKey)(flag, switchKeys);
32
- internal.utils.object.set(out, configPath, (0, config_helper_1.parseConfig)(configuration[key], CLI_SWITCHES[formattedFlag]));
27
+ const formattedFlag = iSearchKey(flag, switchKeys);
28
+ internal.utils.object.set(out, configPath, parseConfig(configuration[key], CLI_SWITCHES[formattedFlag]));
33
29
  logger.trace({
34
30
  flag: formattedFlag,
35
31
  name: ConfigLoaderEnvironment,
@@ -38,10 +34,10 @@ async function ConfigLoaderEnvironment({ configs, internal, logger }) {
38
34
  return;
39
35
  }
40
36
  // * (fallback) Find an environment variable
41
- const environment = (0, config_helper_1.findKey)(search, environmentKeys);
42
- if (!__1.is.empty(environment)) {
43
- const environmentName = (0, config_helper_1.iSearchKey)(environment, environmentKeys);
44
- internal.utils.object.set(out, configPath, (0, config_helper_1.parseConfig)(configuration[key], process_1.env[environmentName]));
37
+ const environment = findKey(search, environmentKeys);
38
+ if (!is.empty(environment)) {
39
+ const environmentName = iSearchKey(environment, environmentKeys);
40
+ internal.utils.object.set(out, configPath, parseConfig(configuration[key], env[environmentName]));
45
41
  logger.trace({
46
42
  name: ConfigLoaderEnvironment,
47
43
  path: configPath,
@@ -1 +1 @@
1
- {"version":3,"file":"config-environment-loader.helper.js","sourceRoot":"","sources":["../../src/helpers/config-environment-loader.helper.ts"],"names":[],"mappings":";;AAeA,0DAmEC;;AAlFD,gEAAgC;AAChC,qCAAoC;AAEpC,0BAAoC;AACpC,mDASyB;AAElB,KAAK,UAAU,uBAAuB,CAG3C,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAA4B;IACvD,MAAM,YAAY,GAAG,IAAA,kBAAQ,EAAC,cAAI,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,aAAG,CAAC,CAAC;IACzC,MAAM,GAAG,GAA4B,EAAE,CAAC;IAExC,iCAAiC;IACjC,8EAA8E;IAC9E,IAAA,0BAAU,EAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAE3C,0BAA0B;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE;QACzC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpD,uCAAuC;QACvC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACzC,yBAAyB;YACzB,4DAA4D;YAC5D,wCAAwC;YACxC,MAAM,SAAS,GAAG,GAAG,cAAc,IAAI,GAAG,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC;YAEvC,8CAA8C;YAC9C,MAAM,IAAI,GAAG,IAAA,uBAAO,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACzC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,aAAa,GAAG,IAAA,0BAAU,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACnD,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CACvB,GAAG,EACH,UAAU,EACV,IAAA,2BAAW,EAAC,aAAa,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAC7D,CAAC;gBACF,MAAM,CAAC,KAAK,CACV;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,UAAU;iBACjB,EACD,+BAA+B,CAChC,CAAC;gBACF,OAAO;YACT,CAAC;YAED,4CAA4C;YAC5C,MAAM,WAAW,GAAG,IAAA,uBAAO,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACrD,IAAI,CAAC,MAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3B,MAAM,eAAe,GAAG,IAAA,0BAAU,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBACjE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CACvB,GAAG,EACH,UAAU,EACV,IAAA,2BAAW,EAAC,aAAa,CAAC,GAAG,CAAC,EAAE,aAAG,CAAC,eAAe,CAAC,CAAC,CACtD,CAAC;gBACF,MAAM,CAAC,KAAK,CACV;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,eAAe;iBACrB,EACD,wBAAwB,CACzB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"config-environment-loader.helper.js","sourceRoot":"","sources":["../../src/helpers/config-environment-loader.helper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,EAAE,EAAc,MAAM,IAAI,CAAC;AACpC,OAAO,EAIL,OAAO,EACP,UAAU,EACV,UAAU,EAEV,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAG3C,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAA4B;IACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,GAAG,GAA4B,EAAE,CAAC;IAExC,iCAAiC;IACjC,8EAA8E;IAC9E,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEzC,0BAA0B;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE;QACzC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpD,uCAAuC;QACvC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvC,yBAAyB;YACzB,4DAA4D;YAC5D,wCAAwC;YACxC,MAAM,SAAS,GAAG,GAAG,cAAc,IAAI,GAAG,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC;YAEvC,8CAA8C;YAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACzC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACnD,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CACvB,GAAG,EACH,UAAU,EACV,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAC7D,CAAC;gBACF,MAAM,CAAC,KAAK,CACV;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,UAAU;iBACjB,EACD,+BAA+B,CAChC,CAAC;gBACF,OAAO;YACT,CAAC;YAED,4CAA4C;YAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3B,MAAM,eAAe,GAAG,UAAU,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBACjE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CACvB,GAAG,EACH,UAAU,EACV,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CACtD,CAAC;gBACF,MAAM,CAAC,KAAK,CACV;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,eAAe;iBACrB,EACD,wBAAwB,CACzB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,82 +1,75 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SUPPORTED_CONFIG_EXTENSIONS = void 0;
4
- exports.configFilePaths = configFilePaths;
5
- exports.ConfigLoaderFile = ConfigLoaderFile;
6
- const tslib_1 = require("tslib");
7
- const fs_1 = require("fs");
8
- const ini_1 = require("ini");
9
- const js_yaml_1 = require("js-yaml");
10
- const minimist_1 = tslib_1.__importDefault(require("minimist"));
11
- const os_1 = require("os");
12
- const path_1 = require("path");
13
- const process_1 = require("process");
14
- const __1 = require("..");
15
- const isWindows = process_1.platform === "win32";
16
- exports.SUPPORTED_CONFIG_EXTENSIONS = ["json", "ini", "yaml", "yml"];
1
+ import { existsSync, readFileSync, statSync } from "fs";
2
+ import { decode } from "ini";
3
+ import { load } from "js-yaml";
4
+ import minimist from "minimist";
5
+ import { homedir } from "os";
6
+ import { join } from "path";
7
+ import { cwd, exit, platform } from "process";
8
+ import { deepExtend, INVERT_VALUE, is, START } from "..";
9
+ const isWindows = platform === "win32";
10
+ export const SUPPORTED_CONFIG_EXTENSIONS = ["json", "ini", "yaml", "yml"];
17
11
  function withExtensions(path) {
18
- return [path, (0, path_1.join)(path, "config")].flatMap((path) => [
12
+ return [path, join(path, "config")].flatMap(path => [
19
13
  path,
20
- ...exports.SUPPORTED_CONFIG_EXTENSIONS.map((i) => `${path}.${i}`),
14
+ ...SUPPORTED_CONFIG_EXTENSIONS.map(i => `${path}.${i}`),
21
15
  ]);
22
16
  }
23
- function configFilePaths(name = "digital-alchemy") {
17
+ export function configFilePaths(name = "digital-alchemy") {
24
18
  const out = [];
25
19
  if (!isWindows) {
26
- out.push(...withExtensions((0, path_1.join)(`/etc`, `${name}`)));
20
+ out.push(...withExtensions(join(`/etc`, `${name}`)));
27
21
  }
28
- let current = (0, process_1.cwd)();
22
+ let current = cwd();
29
23
  let next;
30
- while (!__1.is.empty(current)) {
31
- out.push(...withExtensions((0, path_1.join)(current, `.${name}`)));
32
- next = (0, path_1.join)(current, "..");
24
+ while (!is.empty(current)) {
25
+ out.push(...withExtensions(join(current, `.${name}`)));
26
+ next = join(current, "..");
33
27
  if (next === current) {
34
28
  break;
35
29
  }
36
30
  current = next;
37
31
  }
38
- out.push(...withExtensions((0, path_1.join)((0, os_1.homedir)(), ".config", name)));
39
- return out.filter((filePath) => (0, fs_1.existsSync)(filePath) && (0, fs_1.statSync)(filePath).isFile());
32
+ out.push(...withExtensions(join(homedir(), ".config", name)));
33
+ return out.filter(filePath => existsSync(filePath) && statSync(filePath).isFile());
40
34
  }
41
- async function ConfigLoaderFile({ application, logger }) {
42
- const CLI_SWITCHES = (0, minimist_1.default)(process.argv);
35
+ export async function ConfigLoaderFile({ application, logger }) {
36
+ const CLI_SWITCHES = minimist(process.argv);
43
37
  const configFile = CLI_SWITCHES.config;
44
38
  let files;
45
- if (__1.is.empty(configFile)) {
39
+ if (is.empty(configFile)) {
46
40
  files = configFilePaths(application.name);
47
41
  logger.trace({ files, name: ConfigLoaderFile }, `identified config files`);
48
42
  }
49
43
  else {
50
- if (!(0, fs_1.existsSync)(configFile)) {
44
+ if (!existsSync(configFile)) {
51
45
  logger.fatal({ configFile, name: ConfigLoaderFile }, `used {--config} to specify path that does not exist`);
52
- (0, process_1.exit)();
46
+ exit();
53
47
  }
54
48
  files = [configFile];
55
49
  logger.debug({ configFile, name: ConfigLoaderFile }, `used {--config}, loading from target file`);
56
50
  }
57
- if (__1.is.empty(files)) {
51
+ if (is.empty(files)) {
58
52
  return {};
59
53
  }
60
54
  const out = {};
61
55
  logger.trace({ files, name: ConfigLoaderFile }, `loading configuration files`);
62
- files.forEach((file) => loadConfigFromFile(out, file));
56
+ files.forEach(file => loadConfigFromFile(out, file));
63
57
  return out;
64
58
  }
65
59
  function loadConfigFromFile(out, filePath) {
66
- const fileContent = (0, fs_1.readFileSync)(filePath, "utf8").trim();
67
- const hasExtension = exports.SUPPORTED_CONFIG_EXTENSIONS.some((extension) => {
68
- if (filePath.slice(extension.length * __1.INVERT_VALUE).toLowerCase() ===
69
- extension) {
60
+ const fileContent = readFileSync(filePath, "utf8").trim();
61
+ const hasExtension = SUPPORTED_CONFIG_EXTENSIONS.some(extension => {
62
+ if (filePath.slice(extension.length * INVERT_VALUE).toLowerCase() === extension) {
70
63
  switch (extension) {
71
64
  case "ini":
72
- (0, __1.deepExtend)(out, (0, ini_1.decode)(fileContent));
65
+ deepExtend(out, decode(fileContent));
73
66
  return true;
74
67
  case "yaml":
75
68
  case "yml":
76
- (0, __1.deepExtend)(out, (0, js_yaml_1.load)(fileContent));
69
+ deepExtend(out, load(fileContent));
77
70
  return true;
78
71
  case "json":
79
- (0, __1.deepExtend)(out, JSON.parse(fileContent));
72
+ deepExtend(out, JSON.parse(fileContent));
80
73
  return true;
81
74
  }
82
75
  }
@@ -86,15 +79,15 @@ function loadConfigFromFile(out, filePath) {
86
79
  return;
87
80
  }
88
81
  // Guessing JSON
89
- if (fileContent[__1.START] === "{") {
90
- (0, __1.deepExtend)(out, JSON.parse(fileContent));
82
+ if (fileContent[START] === "{") {
83
+ deepExtend(out, JSON.parse(fileContent));
91
84
  return;
92
85
  }
93
86
  // Guessing yaml
94
87
  try {
95
- const content = (0, js_yaml_1.load)(fileContent);
96
- if (__1.is.object(content)) {
97
- (0, __1.deepExtend)(out, content);
88
+ const content = load(fileContent);
89
+ if (is.object(content)) {
90
+ deepExtend(out, content);
98
91
  return;
99
92
  }
100
93
  }
@@ -102,6 +95,6 @@ function loadConfigFromFile(out, filePath) {
102
95
  // Is not a yaml file
103
96
  }
104
97
  // Final fallback: INI
105
- (0, __1.deepExtend)(out, (0, ini_1.decode)(fileContent));
98
+ deepExtend(out, decode(fileContent));
106
99
  }
107
100
  //# sourceMappingURL=config-file-loader.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-file-loader.helper.js","sourceRoot":"","sources":["../../src/helpers/config-file-loader.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-file-loader.helper.js","sourceRoot":"","sources":["../../src/helpers/config-file-loader.helper.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ParsedArgs } from "minimist";
2
- import { ILogger, InternalDefinition } from "..";
3
- import { ApplicationDefinition, ServiceMap } from "./wiring.helper";
2
+ import { ILogger, INITIALIZE, INJECTED_DEFINITIONS, InternalDefinition, LOAD_PROJECT, TBlackHole } from "..";
3
+ import { ApplicationDefinition, PartialConfiguration, ServiceMap, TInjectedConfig } from "./wiring.helper";
4
4
  export type CodeConfigDefinition = Record<string, AnyConfig>;
5
5
  export type ProjectConfigTypes = "string" | "boolean" | "internal" | "number" | "record" | "string[]";
6
6
  export type AnyConfig = StringConfig<string> | BooleanConfig | InternalConfig<object> | NumberConfig | RecordConfig | StringArrayConfig;
@@ -113,3 +113,24 @@ export declare function iSearchKey(target: string, source: string[]): string;
113
113
  */
114
114
  export declare function loadDotenv(internal: InternalDefinition, CLI_SWITCHES: ParsedArgs, logger: ILogger): void;
115
115
  export declare function parseConfig(config: AnyConfig, value: string): any;
116
+ export type DigitalAlchemyConfiguration = {
117
+ [INITIALIZE]: <S extends ServiceMap, C extends OptionalModuleConfiguration>(application: ApplicationDefinition<S, C>) => Promise<string>;
118
+ [INJECTED_DEFINITIONS]: () => TInjectedConfig;
119
+ [LOAD_PROJECT]: (library: string, definitions: CodeConfigDefinition) => KnownConfigs;
120
+ getDefinitions: () => KnownConfigs;
121
+ merge: (incoming: Partial<PartialConfiguration>) => PartialConfiguration;
122
+ /**
123
+ * Not a replacement for `onPostConfig`
124
+ *
125
+ * Only receives updates from `config.set` calls
126
+ */
127
+ onUpdate: <Project extends keyof TInjectedConfig, Property extends Extract<keyof TInjectedConfig[Project], string>>(callback: OnConfigUpdateCallback<Project, Property>, project?: Project, property?: Property) => void;
128
+ /**
129
+ * type friendly method of updating a single configuration
130
+ *
131
+ * emits update event
132
+ */
133
+ set: TSetConfig;
134
+ };
135
+ export type TSetConfig = <Project extends keyof TInjectedConfig, Property extends keyof TInjectedConfig[Project]>(project: Project, property: Property, value: TInjectedConfig[Project][Property]) => void;
136
+ export type OnConfigUpdateCallback<Project extends keyof TInjectedConfig, Property extends keyof TInjectedConfig[Project]> = (project: Project, property: Property) => TBlackHole;
@@ -1,30 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cast = cast;
4
- exports.findKey = findKey;
5
- exports.iSearchKey = iSearchKey;
6
- exports.loadDotenv = loadDotenv;
7
- exports.parseConfig = parseConfig;
8
- const dotenv_1 = require("dotenv");
9
- const fs_1 = require("fs");
10
- const path_1 = require("path");
11
- const process_1 = require("process");
12
- const __1 = require("..");
13
- function cast(data, type) {
1
+ import dotenv from "dotenv";
2
+ import fs from "fs";
3
+ import { isAbsolute, join, normalize } from "path";
4
+ import { cwd } from "process";
5
+ import { INITIALIZE, INJECTED_DEFINITIONS, is, LOAD_PROJECT, } from "..";
6
+ export function cast(data, type) {
14
7
  switch (type) {
15
8
  case "boolean": {
16
9
  data ??= "";
17
- return (__1.is.boolean(data)
18
- ? data
19
- : ["true", "y", "1"].includes(data.toLowerCase()));
10
+ return (is.boolean(data) ? data : ["true", "y", "1"].includes(data.toLowerCase()));
20
11
  }
21
12
  case "number":
22
13
  return Number(data);
23
14
  case "string[]":
24
- if (__1.is.undefined(data)) {
15
+ if (is.undefined(data)) {
25
16
  return [];
26
17
  }
27
- if (__1.is.array(data)) {
18
+ if (is.array(data)) {
28
19
  return data.map(String);
29
20
  }
30
21
  // This occurs with cli switches
@@ -36,18 +27,19 @@ function cast(data, type) {
36
27
  }
37
28
  return data;
38
29
  }
39
- function findKey(source, find) {
30
+ export function findKey(source, find) {
40
31
  return (
41
32
  // Find an exact match (if available) first
42
- source.find((line) => find.includes(line)) ||
33
+ source.find(line => find.includes(line)) ||
43
34
  // Do case insensitive searches
44
- source.find((line) => {
35
+ source.find(line => {
45
36
  const match = new RegExp(`^${line.replaceAll(new RegExp("[-_]", "gi"), "[-_]?")}$`, "gi");
46
- return find.some((item) => item.match(match));
37
+ return find.some(item => item.match(match));
47
38
  }));
48
39
  }
49
- function iSearchKey(target, source) {
50
- return source.find((key) => key.match(new RegExp(`^${target.replaceAll(new RegExp("[-_]", "gi"), "[-_]?")}$`, "gi")));
40
+ export function iSearchKey(target, source) {
41
+ const regex = new RegExp(`^${target.replaceAll(new RegExp("[-_]", "gi"), "[-_]?")}$`, "gi");
42
+ return source.find(key => regex.exec(key) !== null);
51
43
  }
52
44
  /**
53
45
  * priorities:
@@ -55,21 +47,19 @@ function iSearchKey(target, source) {
55
47
  * - bootstrap envFile
56
48
  * - cwd/.env (default file)
57
49
  */
58
- function loadDotenv(internal, CLI_SWITCHES, logger) {
59
- let { envFile } = internal.boot.options;
50
+ export function loadDotenv(internal, CLI_SWITCHES, logger) {
51
+ let { envFile } = internal.boot.options ?? {};
60
52
  const switchKeys = Object.keys(CLI_SWITCHES);
61
53
  const searched = iSearchKey("env-file", switchKeys);
62
54
  // --env-file > bootstrap
63
- if (!__1.is.empty(CLI_SWITCHES[searched])) {
55
+ if (!is.empty(CLI_SWITCHES[searched])) {
64
56
  envFile = CLI_SWITCHES[searched];
65
57
  }
66
58
  let file;
67
59
  // * was provided an --env-file or something via boot
68
- if (!__1.is.empty(envFile)) {
69
- const checkFile = (0, path_1.isAbsolute)(envFile)
70
- ? (0, path_1.normalize)(envFile)
71
- : (0, path_1.join)((0, process_1.cwd)(), envFile);
72
- if ((0, fs_1.existsSync)(checkFile)) {
60
+ if (!is.empty(envFile)) {
61
+ const checkFile = isAbsolute(envFile) ? normalize(envFile) : join(cwd(), envFile);
62
+ if (fs.existsSync(checkFile)) {
73
63
  file = checkFile;
74
64
  }
75
65
  else {
@@ -77,9 +67,9 @@ function loadDotenv(internal, CLI_SWITCHES, logger) {
77
67
  }
78
68
  }
79
69
  // * attempt default file
80
- if (__1.is.empty(file)) {
81
- const defaultFile = (0, path_1.join)((0, process_1.cwd)(), ".env");
82
- if ((0, fs_1.existsSync)(defaultFile)) {
70
+ if (is.empty(file)) {
71
+ const defaultFile = join(cwd(), ".env");
72
+ if (fs.existsSync(defaultFile)) {
83
73
  file = defaultFile;
84
74
  }
85
75
  else {
@@ -87,12 +77,12 @@ function loadDotenv(internal, CLI_SWITCHES, logger) {
87
77
  }
88
78
  }
89
79
  // ? each of the steps above verified the path as valid
90
- if (!__1.is.empty(file)) {
80
+ if (!is.empty(file)) {
91
81
  logger.trace({ file, name: loadDotenv }, `loading env file`);
92
- (0, dotenv_1.config)({ override: true, path: file });
82
+ dotenv.config({ override: true, path: file });
93
83
  }
94
84
  }
95
- function parseConfig(config, value) {
85
+ export function parseConfig(config, value) {
96
86
  switch (config.type) {
97
87
  case "string": {
98
88
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"config.helper.js","sourceRoot":"","sources":["../../src/helpers/config.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.helper.js","sourceRoot":"","sources":["../../src/helpers/config.helper.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=context.helper.js.map
@@ -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
- "use strict";
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 || (exports.CronExpression = CronExpression = {}));
90
- exports.CRON_SCHEDULE = "CRON_SCHEDULE";
91
- exports.INTERVAL_SCHEDULE = "INTERVAL_SCHEDULE";
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":";;;AAAA,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,8BAAd,cAAc,QAoFzB;AACY,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,iBAAiB,GAAG,mBAAmB,CAAC"}
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
- }