@venizia/ignis-helpers 0.2.0-20 → 0.2.0-21

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 (37) hide show
  1. package/dist/cjs/core.d.ts +11 -9
  2. package/dist/cjs/core.d.ts.map +1 -1
  3. package/dist/cjs/core.js +13 -11
  4. package/dist/cjs/core.js.map +1 -1
  5. package/dist/cjs/modules/redis/cluster/cluster.helper.d.ts +1 -1
  6. package/dist/cjs/modules/redis/cluster/cluster.helper.d.ts.map +1 -1
  7. package/dist/cjs/modules/redis/cluster/cluster.helper.js +14 -2
  8. package/dist/cjs/modules/redis/cluster/cluster.helper.js.map +1 -1
  9. package/dist/cjs/modules/redis/common/types.d.ts +2 -0
  10. package/dist/cjs/modules/redis/common/types.d.ts.map +1 -1
  11. package/dist/cjs/utilities/build-info.utility.d.ts +33 -0
  12. package/dist/cjs/utilities/build-info.utility.d.ts.map +1 -0
  13. package/dist/cjs/utilities/build-info.utility.js +28 -0
  14. package/dist/cjs/utilities/build-info.utility.js.map +1 -0
  15. package/dist/cjs/utilities/index.d.ts +1 -0
  16. package/dist/cjs/utilities/index.d.ts.map +1 -1
  17. package/dist/cjs/utilities/index.js +1 -0
  18. package/dist/cjs/utilities/index.js.map +1 -1
  19. package/dist/esm/core.d.ts +11 -9
  20. package/dist/esm/core.d.ts.map +1 -1
  21. package/dist/esm/core.js +8 -7
  22. package/dist/esm/core.js.map +1 -1
  23. package/dist/esm/modules/redis/cluster/cluster.helper.d.ts +1 -1
  24. package/dist/esm/modules/redis/cluster/cluster.helper.d.ts.map +1 -1
  25. package/dist/esm/modules/redis/cluster/cluster.helper.js +14 -2
  26. package/dist/esm/modules/redis/cluster/cluster.helper.js.map +1 -1
  27. package/dist/esm/modules/redis/common/types.d.ts +2 -0
  28. package/dist/esm/modules/redis/common/types.d.ts.map +1 -1
  29. package/dist/esm/utilities/build-info.utility.d.ts +33 -0
  30. package/dist/esm/utilities/build-info.utility.d.ts.map +1 -0
  31. package/dist/esm/utilities/build-info.utility.js +24 -0
  32. package/dist/esm/utilities/build-info.utility.js.map +1 -0
  33. package/dist/esm/utilities/index.d.ts +1 -0
  34. package/dist/esm/utilities/index.d.ts.map +1 -1
  35. package/dist/esm/utilities/index.js +1 -0
  36. package/dist/esm/utilities/index.js.map +1 -1
  37. package/package.json +1 -1
@@ -1,24 +1,26 @@
1
1
  export { BaseHelper } from './modules/base';
2
2
  export { EnvironmentNames } from './modules/env/names';
3
3
  export * from './modules/error';
4
- export * from './modules/uid';
5
- export * from './modules/pool';
6
- export * from './modules/queue/internal/hf';
7
- export type { ILogger, ILoggerProvider, TLogLevel } from './modules/logger/common/types';
8
4
  export { LogLevels } from './modules/logger/common/types';
5
+ export type { ILogger, ILoggerProvider, TLogLevel } from './modules/logger/common/types';
9
6
  export * from './modules/network/http-request/fetcher/base-fetcher';
10
- export * from './modules/network/url-safety/policy';
7
+ export * from './modules/pool';
8
+ export * from './modules/queue/internal/hf';
9
+ export * from './modules/uid';
11
10
  export * from './modules/network/url-safety/common/constants';
12
11
  export type { IUrlSafetyPolicy } from './modules/network/url-safety/common/types';
13
- export { RetryHelper } from './modules/retry/helper';
12
+ export * from './modules/network/url-safety/policy';
14
13
  export { RetryBackoffStrategies, RetryJitterModes } from './modules/retry/common/constants';
15
14
  export type { TRetryBackoffStrategy, TRetryJitterMode } from './modules/retry/common/constants';
16
15
  export type { IRetryBackoffOptions, IRetryContext } from './modules/retry/common/types';
16
+ export { RetryHelper } from './modules/retry/helper';
17
17
  export { SlugHelper } from './modules/slug/helper';
18
- export { TreeWalker } from './modules/tree/walk';
19
18
  export { TreeBuilder } from './modules/tree/builder';
20
- export type { ITreeNode, INodeWithPath, TNodePredicate, TOnVisit, TOnVisitAsync, IWalkOptions, IWalkAsyncOptions, IHeightWhereOptions, IBuildOptions, ILeavesOptions, IPrintOptions, } from './modules/tree/common/types';
21
- export { toBoolean, int, toCamel, keysToCamel } from './utilities/parse.utility';
19
+ export type { IBuildOptions, IHeightWhereOptions, ILeavesOptions, INodeWithPath, IPrintOptions, ITreeNode, IWalkAsyncOptions, IWalkOptions, TNodePredicate, TOnVisit, TOnVisitAsync, } from './modules/tree/common/types';
20
+ export { TreeWalker } from './modules/tree/walk';
21
+ export { BuildInfoRegistry } from './utilities/build-info.utility';
22
+ export type { IBuildInfo, TBuildInfoRecord } from './utilities/build-info.utility';
23
+ export { int, keysToCamel, toBoolean, toCamel } from './utilities/parse.utility';
22
24
  export { executeWithPerformanceMeasure } from './utilities/performance.utility';
23
25
  export { ProjectRootRegistry } from './utilities/project-root.utility';
24
26
  export type { AESAlgorithmType } from './modules/crypto/algorithms/aes.algorithm';
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,cAAc,qDAAqD,CAAC;AAGpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAChG,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAKvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AACzF,cAAc,qDAAqD,CAAC;AACpE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAG9B,cAAc,+CAA+C,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAChG,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAKvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC"}
package/dist/cjs/core.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ProjectRootRegistry = exports.executeWithPerformanceMeasure = exports.keysToCamel = exports.toCamel = exports.int = exports.toBoolean = exports.TreeBuilder = exports.TreeWalker = exports.SlugHelper = exports.RetryJitterModes = exports.RetryBackoffStrategies = exports.RetryHelper = exports.LogLevels = exports.EnvironmentNames = exports.BaseHelper = void 0;
17
+ exports.ProjectRootRegistry = exports.executeWithPerformanceMeasure = exports.toCamel = exports.toBoolean = exports.keysToCamel = exports.int = exports.BuildInfoRegistry = exports.TreeWalker = exports.TreeBuilder = exports.SlugHelper = exports.RetryHelper = exports.RetryJitterModes = exports.RetryBackoffStrategies = exports.LogLevels = exports.EnvironmentNames = exports.BaseHelper = void 0;
18
18
  var base_1 = require("./modules/base");
19
19
  Object.defineProperty(exports, "BaseHelper", { enumerable: true, get: function () { return base_1.BaseHelper; } });
20
20
  // By name, never `export *` from `./modules/env`: that barrel also carries `Environment` and
@@ -22,36 +22,38 @@ Object.defineProperty(exports, "BaseHelper", { enumerable: true, get: function (
22
22
  var names_1 = require("./modules/env/names");
23
23
  Object.defineProperty(exports, "EnvironmentNames", { enumerable: true, get: function () { return names_1.EnvironmentNames; } });
24
24
  __exportStar(require("./modules/error"), exports);
25
- __exportStar(require("./modules/uid"), exports);
26
- __exportStar(require("./modules/pool"), exports);
27
- __exportStar(require("./modules/queue/internal/hf"), exports);
28
25
  var types_1 = require("./modules/logger/common/types");
29
26
  Object.defineProperty(exports, "LogLevels", { enumerable: true, get: function () { return types_1.LogLevels; } });
30
27
  __exportStar(require("./modules/network/http-request/fetcher/base-fetcher"), exports);
28
+ __exportStar(require("./modules/pool"), exports);
29
+ __exportStar(require("./modules/queue/internal/hf"), exports);
30
+ __exportStar(require("./modules/uid"), exports);
31
31
  // The url guard, pure half only: `UrlPolicy` decides a url and a literal address with string and
32
32
  // number work. Its sibling `UrlIngest` reaches `node:dns` and stays out of this subpath.
33
- __exportStar(require("./modules/network/url-safety/policy"), exports);
34
33
  __exportStar(require("./modules/network/url-safety/common/constants"), exports);
35
- var helper_1 = require("./modules/retry/helper");
36
- Object.defineProperty(exports, "RetryHelper", { enumerable: true, get: function () { return helper_1.RetryHelper; } });
34
+ __exportStar(require("./modules/network/url-safety/policy"), exports);
37
35
  var constants_1 = require("./modules/retry/common/constants");
38
36
  Object.defineProperty(exports, "RetryBackoffStrategies", { enumerable: true, get: function () { return constants_1.RetryBackoffStrategies; } });
39
37
  Object.defineProperty(exports, "RetryJitterModes", { enumerable: true, get: function () { return constants_1.RetryJitterModes; } });
38
+ var helper_1 = require("./modules/retry/helper");
39
+ Object.defineProperty(exports, "RetryHelper", { enumerable: true, get: function () { return helper_1.RetryHelper; } });
40
40
  var helper_2 = require("./modules/slug/helper");
41
41
  Object.defineProperty(exports, "SlugHelper", { enumerable: true, get: function () { return helper_2.SlugHelper; } });
42
- var walk_1 = require("./modules/tree/walk");
43
- Object.defineProperty(exports, "TreeWalker", { enumerable: true, get: function () { return walk_1.TreeWalker; } });
44
42
  var builder_1 = require("./modules/tree/builder");
45
43
  Object.defineProperty(exports, "TreeBuilder", { enumerable: true, get: function () { return builder_1.TreeBuilder; } });
44
+ var walk_1 = require("./modules/tree/walk");
45
+ Object.defineProperty(exports, "TreeWalker", { enumerable: true, get: function () { return walk_1.TreeWalker; } });
46
46
  // Pure value/type utilities that already live under the root barrel's `./utilities` re-export -
47
47
  // that barrel also carries node-only siblings (module.utility.ts, request.utility.ts), so it
48
48
  // cannot itself become a subpath. Named one at a time here instead of widening the barrel: every
49
49
  // symbol below is verified free of node builtins/globals.
50
+ var build_info_utility_1 = require("./utilities/build-info.utility");
51
+ Object.defineProperty(exports, "BuildInfoRegistry", { enumerable: true, get: function () { return build_info_utility_1.BuildInfoRegistry; } });
50
52
  var parse_utility_1 = require("./utilities/parse.utility");
51
- Object.defineProperty(exports, "toBoolean", { enumerable: true, get: function () { return parse_utility_1.toBoolean; } });
52
53
  Object.defineProperty(exports, "int", { enumerable: true, get: function () { return parse_utility_1.int; } });
53
- Object.defineProperty(exports, "toCamel", { enumerable: true, get: function () { return parse_utility_1.toCamel; } });
54
54
  Object.defineProperty(exports, "keysToCamel", { enumerable: true, get: function () { return parse_utility_1.keysToCamel; } });
55
+ Object.defineProperty(exports, "toBoolean", { enumerable: true, get: function () { return parse_utility_1.toBoolean; } });
56
+ Object.defineProperty(exports, "toCamel", { enumerable: true, get: function () { return parse_utility_1.toCamel; } });
55
57
  var performance_utility_1 = require("./utilities/performance.utility");
56
58
  Object.defineProperty(exports, "executeWithPerformanceMeasure", { enumerable: true, get: function () { return performance_utility_1.executeWithPerformanceMeasure; } });
57
59
  var project_root_utility_1 = require("./utilities/project-root.utility");
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAA4C;AAAnC,kGAAA,UAAU,OAAA;AACnB,6FAA6F;AAC7F,8DAA8D;AAC9D,6CAAuD;AAA9C,yGAAA,gBAAgB,OAAA;AACzB,kDAAgC;AAChC,gDAA8B;AAC9B,iDAA+B;AAC/B,8DAA4C;AAE5C,uDAA0D;AAAjD,kGAAA,SAAS,OAAA;AAClB,sFAAoE;AACpE,iGAAiG;AACjG,yFAAyF;AACzF,sEAAoD;AACpD,gFAA8D;AAE9D,iDAAqD;AAA5C,qGAAA,WAAW,OAAA;AACpB,8DAA4F;AAAnF,mHAAA,sBAAsB,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAGjD,gDAAmD;AAA1C,oGAAA,UAAU,OAAA;AACnB,4CAAiD;AAAxC,kGAAA,UAAU,OAAA;AACnB,kDAAqD;AAA5C,sGAAA,WAAW,OAAA;AAepB,gGAAgG;AAChG,6FAA6F;AAC7F,iGAAiG;AACjG,0DAA0D;AAC1D,2DAAiF;AAAxE,0GAAA,SAAS,OAAA;AAAE,oGAAA,GAAG,OAAA;AAAE,wGAAA,OAAO,OAAA;AAAE,4GAAA,WAAW,OAAA;AAC7C,uEAAgF;AAAvE,oIAAA,6BAA6B,OAAA;AACtC,yEAAuE;AAA9D,2HAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAA4C;AAAnC,kGAAA,UAAU,OAAA;AACnB,6FAA6F;AAC7F,8DAA8D;AAC9D,6CAAuD;AAA9C,yGAAA,gBAAgB,OAAA;AACzB,kDAAgC;AAChC,uDAA0D;AAAjD,kGAAA,SAAS,OAAA;AAElB,sFAAoE;AACpE,iDAA+B;AAC/B,8DAA4C;AAC5C,gDAA8B;AAC9B,iGAAiG;AACjG,yFAAyF;AACzF,gFAA8D;AAE9D,sEAAoD;AACpD,8DAA4F;AAAnF,mHAAA,sBAAsB,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAGjD,iDAAqD;AAA5C,qGAAA,WAAW,OAAA;AACpB,gDAAmD;AAA1C,oGAAA,UAAU,OAAA;AACnB,kDAAqD;AAA5C,sGAAA,WAAW,OAAA;AAcpB,4CAAiD;AAAxC,kGAAA,UAAU,OAAA;AAEnB,gGAAgG;AAChG,6FAA6F;AAC7F,iGAAiG;AACjG,0DAA0D;AAC1D,qEAAmE;AAA1D,uHAAA,iBAAiB,OAAA;AAE1B,2DAAiF;AAAxE,oGAAA,GAAG,OAAA;AAAE,4GAAA,WAAW,OAAA;AAAE,0GAAA,SAAS,OAAA;AAAE,wGAAA,OAAO,OAAA;AAC7C,uEAAgF;AAAvE,oIAAA,6BAA6B,OAAA;AACtC,yEAAuE;AAA9D,2HAAA,mBAAmB,OAAA"}
@@ -3,7 +3,7 @@ import { AbstractRedisHelper } from './../base';
3
3
  import { IRedisClusterHelperOptions } from './../common';
4
4
  export declare class RedisClusterHelper extends AbstractRedisHelper<Cluster> {
5
5
  private startupNodes;
6
- private clusterOpts?;
6
+ private clusterOpts;
7
7
  constructor(opts: IRedisClusterHelperOptions);
8
8
  getClient(): Cluster;
9
9
  duplicateClient(): Cluster;
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.helper.d.ts","sourceRoot":"","sources":["../../../../../src/modules/redis/cluster/cluster.helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAuB,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,qBAAa,kBAAmB,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAClE,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,WAAW,CAAC,CAAiB;gBAEzB,IAAI,EAAE,0BAA0B;IAkBnC,SAAS,IACM,OAAO;IAGtB,eAAe,IAAI,OAAO;CAGpC"}
1
+ {"version":3,"file":"cluster.helper.d.ts","sourceRoot":"","sources":["../../../../../src/modules/redis/cluster/cluster.helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAuB,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,qBAAa,kBAAmB,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAClE,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,WAAW,CAAiB;gBAExB,IAAI,EAAE,0BAA0B;IAgCnC,SAAS,IACM,OAAO;IAGtB,eAAe,IAAI,OAAO;CAGpC"}
@@ -6,19 +6,31 @@ const ioredis_1 = require("ioredis");
6
6
  const base_1 = require("./../base");
7
7
  class RedisClusterHelper extends base_1.AbstractRedisHelper {
8
8
  constructor(opts) {
9
+ const { autoConnect = true } = opts;
9
10
  const startupNodes = opts.nodes.map(node => ({
10
11
  host: node.host,
11
12
  port: (0, utilities_1.int)(node.port),
12
13
  password: node.password,
13
14
  }));
15
+ // Precedence (low -> high): the two framework defaults, then `clusterOptions` verbatim. The raw
16
+ // hatch stays the last word, because a caller already threading `lazyConnect` through it must
17
+ // keep the timing it has today. `enableOfflineQueue` is stated rather than inherited from
18
+ // ioredis, so the queue a cluster needs between bind and connect cannot go missing on an
19
+ // ioredis default change. Deliberately NOT `buildDefaultOpts`: cluster's retry and
20
+ // per-node-failure semantics differ from single's, and folding them in here is a regression.
21
+ const clusterOpts = {
22
+ enableOfflineQueue: true,
23
+ lazyConnect: !autoConnect,
24
+ ...opts.clusterOptions,
25
+ };
14
26
  super({
15
27
  ...opts,
16
28
  scope: RedisClusterHelper.name,
17
29
  identifier: opts.name,
18
- client: new ioredis_1.Cluster(startupNodes, opts.clusterOptions),
30
+ client: new ioredis_1.Cluster(startupNodes, clusterOpts),
19
31
  });
20
32
  this.startupNodes = startupNodes;
21
- this.clusterOpts = opts.clusterOptions;
33
+ this.clusterOpts = clusterOpts;
22
34
  }
23
35
  getClient() {
24
36
  return this.client;
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.helper.js","sourceRoot":"","sources":["../../../../../src/modules/redis/cluster/cluster.helper.ts"],"names":[],"mappings":";;;AAAA,2CAAkC;AAClC,qCAAuD;AACvD,oCAAgD;AAGhD,MAAa,kBAAmB,SAAQ,0BAA4B;IAIlE,YAAY,IAAgC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAA,eAAG,EAAC,IAAI,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC,CAAC;QAEJ,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,KAAK,EAAE,kBAAkB,CAAC,IAAI;YAC9B,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,MAAM,EAAE,IAAI,iBAAO,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;SACvD,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;IACzC,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC,MAAiB,CAAC;IAChC,CAAC;IAEQ,eAAe;QACtB,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;CACF;AA7BD,gDA6BC"}
1
+ {"version":3,"file":"cluster.helper.js","sourceRoot":"","sources":["../../../../../src/modules/redis/cluster/cluster.helper.ts"],"names":[],"mappings":";;;AAAA,2CAAkC;AAClC,qCAAuD;AACvD,oCAAgD;AAGhD,MAAa,kBAAmB,SAAQ,0BAA4B;IAIlE,YAAY,IAAgC;QAC1C,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAEpC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAA,eAAG,EAAC,IAAI,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC,CAAC;QAEJ,gGAAgG;QAChG,8FAA8F;QAC9F,0FAA0F;QAC1F,yFAAyF;QACzF,mFAAmF;QACnF,6FAA6F;QAC7F,MAAM,WAAW,GAAmB;YAClC,kBAAkB,EAAE,IAAI;YACxB,WAAW,EAAE,CAAC,WAAW;YACzB,GAAG,IAAI,CAAC,cAAc;SACvB,CAAC;QAEF,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,KAAK,EAAE,kBAAkB,CAAC,IAAI;YAC9B,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,MAAM,EAAE,IAAI,iBAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC,MAAiB,CAAC;IAChC,CAAC;IAEQ,eAAe;QACtB,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;CACF;AA3CD,gDA2CC"}
@@ -19,6 +19,8 @@ export interface IRedisClusterHelperProps {
19
19
  port: string | number;
20
20
  password?: string;
21
21
  }>;
22
+ /** Same meaning as on single and sentinel: `false` holds the client open for a later `connect()`. */
23
+ autoConnect?: boolean;
22
24
  clusterOptions?: ClusterOptions;
23
25
  }
24
26
  export interface IRedisSentinelHelperProps {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/modules/redis/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IACvE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IACjE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CAClF;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB,EAAE,qBAAqB;CAAG;AAEpG,MAAM,WAAW,0BACf,SAAQ,wBAAwB,EAAE,qBAAqB;CAAG;AAE5D,MAAM,WAAW,2BACf,SAAQ,yBAAyB,EAAE,qBAAqB;CAAG"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/modules/redis/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,qGAAqG;IACrG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IACvE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IACjE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CAClF;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB,EAAE,qBAAqB;CAAG;AAEpG,MAAM,WAAW,0BACf,SAAQ,wBAAwB,EAAE,qBAAqB;CAAG;AAE5D,MAAM,WAAW,2BACf,SAAQ,yBAAyB,EAAE,qBAAqB;CAAG"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * What a build stamps about itself. Every field optional: a host that never ran the generator still
3
+ * answers, with the fields it does know.
4
+ */
5
+ export interface IBuildInfo {
6
+ service?: string;
7
+ version?: string;
8
+ commit?: string;
9
+ branch?: string;
10
+ builtAt?: string;
11
+ }
12
+ /** The stamp with every field resolved: what the generator writes and what the health reporter answers. */
13
+ export type TBuildInfoRecord = Required<IBuildInfo>;
14
+ /**
15
+ * The `globalThis` slot a build stamp lives in, PUSHED from the application entrypoint rather than
16
+ * read back from disk. Same reasoning as {@link ProjectRootRegistry}: no Node import here, so a
17
+ * browser Worker reaches it through `/core`, and a `bun build --compile` binary - which ships no
18
+ * `node_modules`, no `.git` and no readable `package.json` - carries the value inside its own code.
19
+ */
20
+ export declare class BuildInfoRegistry {
21
+ private static readonly SLOT;
22
+ /** What a field reads when it is unknowable: the generator writes it, the health reporter falls back to it. Visible on purpose - a pipeline that forgot a variable shows up as this word, never as an absent key. */
23
+ static readonly UNSPECIFIED = "unspecified";
24
+ /** Called once at the entrypoint with the generated stamp; every later read sees it. */
25
+ static set(opts: {
26
+ buildInfo: IBuildInfo;
27
+ }): void;
28
+ /** The shared stamp, or `undefined` when no application registered one. */
29
+ static get(): IBuildInfo | undefined;
30
+ /** Drops the stamp - tests only; a host never unregisters its own build. */
31
+ static clear(): void;
32
+ }
33
+ //# sourceMappingURL=build-info.utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-info.utility.d.ts","sourceRoot":"","sources":["../../../src/utilities/build-info.utility.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,2GAA2G;AAC3G,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAkC;IAE9D,qNAAqN;IACrN,MAAM,CAAC,QAAQ,CAAC,WAAW,iBAAiB;IAE5C,wFAAwF;IACxF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI;IAIjD,2EAA2E;IAC3E,MAAM,CAAC,GAAG,IAAI,UAAU,GAAG,SAAS;IAIpC,4EAA4E;IAC5E,MAAM,CAAC,KAAK,IAAI,IAAI;CAGrB"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BuildInfoRegistry = void 0;
4
+ /**
5
+ * The `globalThis` slot a build stamp lives in, PUSHED from the application entrypoint rather than
6
+ * read back from disk. Same reasoning as {@link ProjectRootRegistry}: no Node import here, so a
7
+ * browser Worker reaches it through `/core`, and a `bun build --compile` binary - which ships no
8
+ * `node_modules`, no `.git` and no readable `package.json` - carries the value inside its own code.
9
+ */
10
+ class BuildInfoRegistry {
11
+ static { this.SLOT = Symbol.for('ignis:build-info'); }
12
+ /** What a field reads when it is unknowable: the generator writes it, the health reporter falls back to it. Visible on purpose - a pipeline that forgot a variable shows up as this word, never as an absent key. */
13
+ static { this.UNSPECIFIED = 'unspecified'; }
14
+ /** Called once at the entrypoint with the generated stamp; every later read sees it. */
15
+ static set(opts) {
16
+ Reflect.set(globalThis, this.SLOT, opts.buildInfo);
17
+ }
18
+ /** The shared stamp, or `undefined` when no application registered one. */
19
+ static get() {
20
+ return Reflect.get(globalThis, this.SLOT);
21
+ }
22
+ /** Drops the stamp - tests only; a host never unregisters its own build. */
23
+ static clear() {
24
+ Reflect.deleteProperty(globalThis, this.SLOT);
25
+ }
26
+ }
27
+ exports.BuildInfoRegistry = BuildInfoRegistry;
28
+ //# sourceMappingURL=build-info.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-info.utility.js","sourceRoot":"","sources":["../../../src/utilities/build-info.utility.ts"],"names":[],"mappings":";;;AAeA;;;;;GAKG;AACH,MAAa,iBAAiB;aACJ,SAAI,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAE9D,qNAAqN;aACrM,gBAAW,GAAG,aAAa,CAAC;IAE5C,wFAAwF;IACxF,MAAM,CAAC,GAAG,CAAC,IAA+B;QACxC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,2EAA2E;IAC3E,MAAM,CAAC,GAAG;QACR,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,4EAA4E;IAC5E,MAAM,CAAC,KAAK;QACV,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;;AAnBH,8CAoBC"}
@@ -1,3 +1,4 @@
1
+ export * from './build-info.utility';
1
2
  export * from './date.utility';
2
3
  export * from './module.utility';
3
4
  export * from './parse.utility';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./build-info.utility"), exports);
17
18
  __exportStar(require("./date.utility"), exports);
18
19
  __exportStar(require("./module.utility"), exports);
19
20
  __exportStar(require("./parse.utility"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,mDAAiC;AACjC,kDAAgC;AAChC,wDAAsC;AACtC,oDAAkC;AAClC,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,iDAA+B;AAC/B,mDAAiC;AACjC,kDAAgC;AAChC,wDAAsC;AACtC,oDAAkC;AAClC,oDAAkC"}
@@ -1,24 +1,26 @@
1
1
  export { BaseHelper } from './modules/base.js';
2
2
  export { EnvironmentNames } from './modules/env/names.js';
3
3
  export * from './modules/error/index.js';
4
- export * from './modules/uid/index.js';
5
- export * from './modules/pool/index.js';
6
- export * from './modules/queue/internal/hf/index.js';
7
- export type { ILogger, ILoggerProvider, TLogLevel } from './modules/logger/common/types.js';
8
4
  export { LogLevels } from './modules/logger/common/types.js';
5
+ export type { ILogger, ILoggerProvider, TLogLevel } from './modules/logger/common/types.js';
9
6
  export * from './modules/network/http-request/fetcher/base-fetcher.js';
10
- export * from './modules/network/url-safety/policy.js';
7
+ export * from './modules/pool/index.js';
8
+ export * from './modules/queue/internal/hf/index.js';
9
+ export * from './modules/uid/index.js';
11
10
  export * from './modules/network/url-safety/common/constants.js';
12
11
  export type { IUrlSafetyPolicy } from './modules/network/url-safety/common/types.js';
13
- export { RetryHelper } from './modules/retry/helper.js';
12
+ export * from './modules/network/url-safety/policy.js';
14
13
  export { RetryBackoffStrategies, RetryJitterModes } from './modules/retry/common/constants.js';
15
14
  export type { TRetryBackoffStrategy, TRetryJitterMode } from './modules/retry/common/constants.js';
16
15
  export type { IRetryBackoffOptions, IRetryContext } from './modules/retry/common/types.js';
16
+ export { RetryHelper } from './modules/retry/helper.js';
17
17
  export { SlugHelper } from './modules/slug/helper.js';
18
- export { TreeWalker } from './modules/tree/walk.js';
19
18
  export { TreeBuilder } from './modules/tree/builder.js';
20
- export type { ITreeNode, INodeWithPath, TNodePredicate, TOnVisit, TOnVisitAsync, IWalkOptions, IWalkAsyncOptions, IHeightWhereOptions, IBuildOptions, ILeavesOptions, IPrintOptions, } from './modules/tree/common/types.js';
21
- export { toBoolean, int, toCamel, keysToCamel } from './utilities/parse.utility.js';
19
+ export type { IBuildOptions, IHeightWhereOptions, ILeavesOptions, INodeWithPath, IPrintOptions, ITreeNode, IWalkAsyncOptions, IWalkOptions, TNodePredicate, TOnVisit, TOnVisitAsync, } from './modules/tree/common/types.js';
20
+ export { TreeWalker } from './modules/tree/walk.js';
21
+ export { BuildInfoRegistry } from './utilities/build-info.utility.js';
22
+ export type { IBuildInfo, TBuildInfoRecord } from './utilities/build-info.utility.js';
23
+ export { int, keysToCamel, toBoolean, toCamel } from './utilities/parse.utility.js';
22
24
  export { executeWithPerformanceMeasure } from './utilities/performance.utility.js';
23
25
  export { ProjectRootRegistry } from './utilities/project-root.utility.js';
24
26
  export type { AESAlgorithmType } from './modules/crypto/algorithms/aes.algorithm.js';
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,cAAc,qDAAqD,CAAC;AAGpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAChG,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAKvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AACzF,cAAc,qDAAqD,CAAC;AACpE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAG9B,cAAc,+CAA+C,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAChG,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAKvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC"}
package/dist/esm/core.js CHANGED
@@ -3,25 +3,26 @@ export { BaseHelper } from './modules/base.js';
3
3
  // `applicationEnvironment`, both of which read `process.env`.
4
4
  export { EnvironmentNames } from './modules/env/names.js';
5
5
  export * from './modules/error/index.js';
6
- export * from './modules/uid/index.js';
7
- export * from './modules/pool/index.js';
8
- export * from './modules/queue/internal/hf/index.js';
9
6
  export { LogLevels } from './modules/logger/common/types.js';
10
7
  export * from './modules/network/http-request/fetcher/base-fetcher.js';
8
+ export * from './modules/pool/index.js';
9
+ export * from './modules/queue/internal/hf/index.js';
10
+ export * from './modules/uid/index.js';
11
11
  // The url guard, pure half only: `UrlPolicy` decides a url and a literal address with string and
12
12
  // number work. Its sibling `UrlIngest` reaches `node:dns` and stays out of this subpath.
13
- export * from './modules/network/url-safety/policy.js';
14
13
  export * from './modules/network/url-safety/common/constants.js';
15
- export { RetryHelper } from './modules/retry/helper.js';
14
+ export * from './modules/network/url-safety/policy.js';
16
15
  export { RetryBackoffStrategies, RetryJitterModes } from './modules/retry/common/constants.js';
16
+ export { RetryHelper } from './modules/retry/helper.js';
17
17
  export { SlugHelper } from './modules/slug/helper.js';
18
- export { TreeWalker } from './modules/tree/walk.js';
19
18
  export { TreeBuilder } from './modules/tree/builder.js';
19
+ export { TreeWalker } from './modules/tree/walk.js';
20
20
  // Pure value/type utilities that already live under the root barrel's `./utilities` re-export -
21
21
  // that barrel also carries node-only siblings (module.utility.ts, request.utility.ts), so it
22
22
  // cannot itself become a subpath. Named one at a time here instead of widening the barrel: every
23
23
  // symbol below is verified free of node builtins/globals.
24
- export { toBoolean, int, toCamel, keysToCamel } from './utilities/parse.utility.js';
24
+ export { BuildInfoRegistry } from './utilities/build-info.utility.js';
25
+ export { int, keysToCamel, toBoolean, toCamel } from './utilities/parse.utility.js';
25
26
  export { executeWithPerformanceMeasure } from './utilities/performance.utility.js';
26
27
  export { ProjectRootRegistry } from './utilities/project-root.utility.js';
27
28
  //# sourceMappingURL=core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,6FAA6F;AAC7F,8DAA8D;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,cAAc,qDAAqD,CAAC;AACpE,iGAAiG;AACjG,yFAAyF;AACzF,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAG5F,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAerD,gGAAgG;AAChG,6FAA6F;AAC7F,iGAAiG;AACjG,0DAA0D;AAC1D,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,6FAA6F;AAC7F,8DAA8D;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,cAAc,qDAAqD,CAAC;AACpE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,iGAAiG;AACjG,yFAAyF;AACzF,cAAc,+CAA+C,CAAC;AAE9D,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAG5F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAcrD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,gGAAgG;AAChG,6FAA6F;AAC7F,iGAAiG;AACjG,0DAA0D;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -3,7 +3,7 @@ import { AbstractRedisHelper } from './../base/index.js';
3
3
  import { IRedisClusterHelperOptions } from './../common/index.js';
4
4
  export declare class RedisClusterHelper extends AbstractRedisHelper<Cluster> {
5
5
  private startupNodes;
6
- private clusterOpts?;
6
+ private clusterOpts;
7
7
  constructor(opts: IRedisClusterHelperOptions);
8
8
  getClient(): Cluster;
9
9
  duplicateClient(): Cluster;
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.helper.d.ts","sourceRoot":"","sources":["../../../../../src/modules/redis/cluster/cluster.helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAuB,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,qBAAa,kBAAmB,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAClE,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,WAAW,CAAC,CAAiB;gBAEzB,IAAI,EAAE,0BAA0B;IAkBnC,SAAS,IACM,OAAO;IAGtB,eAAe,IAAI,OAAO;CAGpC"}
1
+ {"version":3,"file":"cluster.helper.d.ts","sourceRoot":"","sources":["../../../../../src/modules/redis/cluster/cluster.helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAuB,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,qBAAa,kBAAmB,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAClE,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,WAAW,CAAiB;gBAExB,IAAI,EAAE,0BAA0B;IAgCnC,SAAS,IACM,OAAO;IAGtB,eAAe,IAAI,OAAO;CAGpC"}
@@ -3,19 +3,31 @@ import { Cluster } from 'ioredis';
3
3
  import { AbstractRedisHelper } from './../base/index.js';
4
4
  export class RedisClusterHelper extends AbstractRedisHelper {
5
5
  constructor(opts) {
6
+ const { autoConnect = true } = opts;
6
7
  const startupNodes = opts.nodes.map(node => ({
7
8
  host: node.host,
8
9
  port: int(node.port),
9
10
  password: node.password,
10
11
  }));
12
+ // Precedence (low -> high): the two framework defaults, then `clusterOptions` verbatim. The raw
13
+ // hatch stays the last word, because a caller already threading `lazyConnect` through it must
14
+ // keep the timing it has today. `enableOfflineQueue` is stated rather than inherited from
15
+ // ioredis, so the queue a cluster needs between bind and connect cannot go missing on an
16
+ // ioredis default change. Deliberately NOT `buildDefaultOpts`: cluster's retry and
17
+ // per-node-failure semantics differ from single's, and folding them in here is a regression.
18
+ const clusterOpts = {
19
+ enableOfflineQueue: true,
20
+ lazyConnect: !autoConnect,
21
+ ...opts.clusterOptions,
22
+ };
11
23
  super({
12
24
  ...opts,
13
25
  scope: RedisClusterHelper.name,
14
26
  identifier: opts.name,
15
- client: new Cluster(startupNodes, opts.clusterOptions),
27
+ client: new Cluster(startupNodes, clusterOpts),
16
28
  });
17
29
  this.startupNodes = startupNodes;
18
- this.clusterOpts = opts.clusterOptions;
30
+ this.clusterOpts = clusterOpts;
19
31
  }
20
32
  getClient() {
21
33
  return this.client;
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.helper.js","sourceRoot":"","sources":["../../../../../src/modules/redis/cluster/cluster.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,OAAO,EAAuB,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,MAAM,OAAO,kBAAmB,SAAQ,mBAA4B;IAIlE,YAAY,IAAgC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC,CAAC;QAEJ,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,KAAK,EAAE,kBAAkB,CAAC,IAAI;YAC9B,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,MAAM,EAAE,IAAI,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;SACvD,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;IACzC,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC,MAAiB,CAAC;IAChC,CAAC;IAEQ,eAAe;QACtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;CACF"}
1
+ {"version":3,"file":"cluster.helper.js","sourceRoot":"","sources":["../../../../../src/modules/redis/cluster/cluster.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,OAAO,EAAuB,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,MAAM,OAAO,kBAAmB,SAAQ,mBAA4B;IAIlE,YAAY,IAAgC;QAC1C,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAEpC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC,CAAC;QAEJ,gGAAgG;QAChG,8FAA8F;QAC9F,0FAA0F;QAC1F,yFAAyF;QACzF,mFAAmF;QACnF,6FAA6F;QAC7F,MAAM,WAAW,GAAmB;YAClC,kBAAkB,EAAE,IAAI;YACxB,WAAW,EAAE,CAAC,WAAW;YACzB,GAAG,IAAI,CAAC,cAAc;SACvB,CAAC;QAEF,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,KAAK,EAAE,kBAAkB,CAAC,IAAI;YAC9B,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,MAAM,EAAE,IAAI,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC,MAAiB,CAAC;IAChC,CAAC;IAEQ,eAAe;QACtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;CACF"}
@@ -19,6 +19,8 @@ export interface IRedisClusterHelperProps {
19
19
  port: string | number;
20
20
  password?: string;
21
21
  }>;
22
+ /** Same meaning as on single and sentinel: `false` holds the client open for a later `connect()`. */
23
+ autoConnect?: boolean;
22
24
  clusterOptions?: ClusterOptions;
23
25
  }
24
26
  export interface IRedisSentinelHelperProps {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/modules/redis/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IACvE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IACjE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CAClF;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB,EAAE,qBAAqB;CAAG;AAEpG,MAAM,WAAW,0BACf,SAAQ,wBAAwB,EAAE,qBAAqB;CAAG;AAE5D,MAAM,WAAW,2BACf,SAAQ,yBAAyB,EAAE,qBAAqB;CAAG"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/modules/redis/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,qGAAqG;IACrG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IACvE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAC;IACjE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CAClF;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB,EAAE,qBAAqB;CAAG;AAEpG,MAAM,WAAW,0BACf,SAAQ,wBAAwB,EAAE,qBAAqB;CAAG;AAE5D,MAAM,WAAW,2BACf,SAAQ,yBAAyB,EAAE,qBAAqB;CAAG"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * What a build stamps about itself. Every field optional: a host that never ran the generator still
3
+ * answers, with the fields it does know.
4
+ */
5
+ export interface IBuildInfo {
6
+ service?: string;
7
+ version?: string;
8
+ commit?: string;
9
+ branch?: string;
10
+ builtAt?: string;
11
+ }
12
+ /** The stamp with every field resolved: what the generator writes and what the health reporter answers. */
13
+ export type TBuildInfoRecord = Required<IBuildInfo>;
14
+ /**
15
+ * The `globalThis` slot a build stamp lives in, PUSHED from the application entrypoint rather than
16
+ * read back from disk. Same reasoning as {@link ProjectRootRegistry}: no Node import here, so a
17
+ * browser Worker reaches it through `/core`, and a `bun build --compile` binary - which ships no
18
+ * `node_modules`, no `.git` and no readable `package.json` - carries the value inside its own code.
19
+ */
20
+ export declare class BuildInfoRegistry {
21
+ private static readonly SLOT;
22
+ /** What a field reads when it is unknowable: the generator writes it, the health reporter falls back to it. Visible on purpose - a pipeline that forgot a variable shows up as this word, never as an absent key. */
23
+ static readonly UNSPECIFIED = "unspecified";
24
+ /** Called once at the entrypoint with the generated stamp; every later read sees it. */
25
+ static set(opts: {
26
+ buildInfo: IBuildInfo;
27
+ }): void;
28
+ /** The shared stamp, or `undefined` when no application registered one. */
29
+ static get(): IBuildInfo | undefined;
30
+ /** Drops the stamp - tests only; a host never unregisters its own build. */
31
+ static clear(): void;
32
+ }
33
+ //# sourceMappingURL=build-info.utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-info.utility.d.ts","sourceRoot":"","sources":["../../../src/utilities/build-info.utility.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,2GAA2G;AAC3G,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAkC;IAE9D,qNAAqN;IACrN,MAAM,CAAC,QAAQ,CAAC,WAAW,iBAAiB;IAE5C,wFAAwF;IACxF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI;IAIjD,2EAA2E;IAC3E,MAAM,CAAC,GAAG,IAAI,UAAU,GAAG,SAAS;IAIpC,4EAA4E;IAC5E,MAAM,CAAC,KAAK,IAAI,IAAI;CAGrB"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * The `globalThis` slot a build stamp lives in, PUSHED from the application entrypoint rather than
3
+ * read back from disk. Same reasoning as {@link ProjectRootRegistry}: no Node import here, so a
4
+ * browser Worker reaches it through `/core`, and a `bun build --compile` binary - which ships no
5
+ * `node_modules`, no `.git` and no readable `package.json` - carries the value inside its own code.
6
+ */
7
+ export class BuildInfoRegistry {
8
+ static { this.SLOT = Symbol.for('ignis:build-info'); }
9
+ /** What a field reads when it is unknowable: the generator writes it, the health reporter falls back to it. Visible on purpose - a pipeline that forgot a variable shows up as this word, never as an absent key. */
10
+ static { this.UNSPECIFIED = 'unspecified'; }
11
+ /** Called once at the entrypoint with the generated stamp; every later read sees it. */
12
+ static set(opts) {
13
+ Reflect.set(globalThis, this.SLOT, opts.buildInfo);
14
+ }
15
+ /** The shared stamp, or `undefined` when no application registered one. */
16
+ static get() {
17
+ return Reflect.get(globalThis, this.SLOT);
18
+ }
19
+ /** Drops the stamp - tests only; a host never unregisters its own build. */
20
+ static clear() {
21
+ Reflect.deleteProperty(globalThis, this.SLOT);
22
+ }
23
+ }
24
+ //# sourceMappingURL=build-info.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-info.utility.js","sourceRoot":"","sources":["../../../src/utilities/build-info.utility.ts"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH,MAAM,OAAO,iBAAiB;aACJ,SAAI,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAE9D,qNAAqN;aACrM,gBAAW,GAAG,aAAa,CAAC;IAE5C,wFAAwF;IACxF,MAAM,CAAC,GAAG,CAAC,IAA+B;QACxC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,2EAA2E;IAC3E,MAAM,CAAC,GAAG;QACR,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,4EAA4E;IAC5E,MAAM,CAAC,KAAK;QACV,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './build-info.utility.js';
1
2
  export * from './date.utility.js';
2
3
  export * from './module.utility.js';
3
4
  export * from './parse.utility.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './build-info.utility.js';
1
2
  export * from './date.utility.js';
2
3
  export * from './module.utility.js';
3
4
  export * from './parse.utility.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venizia/ignis-helpers",
3
- "version": "0.2.0-20",
3
+ "version": "0.2.0-21",
4
4
  "description": "Production-ready TypeScript utility library: pluggable logging (winston or pino behind one ILogger contract), Redis single/cluster/sentinel with pub/sub, BullMQ/MQTT/Kafka message queues, MinIO/Disk/Bun-S3 object storage, AES-256/RSA/ECDH cryptography, Snowflake UID generation, cron scheduling, Socket.IO/WebSocket, TCP/TLS/UDP networking, HTTP clients, secrets/Vault, worker thread pools, and environment management. Sub-path imports isolate optional peer dependencies so the root barrel never forces a peer into your bundle.",
5
5
  "keywords": [
6
6
  "aes",