@zajno/common 2.2.15 → 2.3.1

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 (119) hide show
  1. package/api/call.d.ts +30 -0
  2. package/api/call.d.ts.map +1 -0
  3. package/api/call.js +60 -0
  4. package/api/call.js.map +1 -0
  5. package/api/endpoint.d.ts +27 -0
  6. package/api/endpoint.d.ts.map +1 -0
  7. package/api/endpoint.js +55 -0
  8. package/api/endpoint.js.map +1 -0
  9. package/api/endpoint.types.d.ts +40 -0
  10. package/api/endpoint.types.d.ts.map +1 -0
  11. package/api/endpoint.types.js +11 -0
  12. package/api/endpoint.types.js.map +1 -0
  13. package/api/error.d.ts +18 -0
  14. package/api/error.d.ts.map +1 -0
  15. package/api/error.js +35 -0
  16. package/api/error.js.map +1 -0
  17. package/api/helpers.d.ts +9 -0
  18. package/api/helpers.d.ts.map +1 -0
  19. package/api/helpers.js +27 -0
  20. package/api/helpers.js.map +1 -0
  21. package/api/index.d.ts +9 -0
  22. package/api/index.d.ts.map +1 -0
  23. package/api/index.js +17 -0
  24. package/api/index.js.map +1 -0
  25. package/api/logging.d.ts +14 -0
  26. package/api/logging.d.ts.map +1 -0
  27. package/api/logging.js +28 -0
  28. package/api/logging.js.map +1 -0
  29. package/api/methods.d.ts +7 -0
  30. package/api/methods.d.ts.map +1 -0
  31. package/api/methods.js +11 -0
  32. package/api/methods.js.map +1 -0
  33. package/api/processor.d.ts +8 -0
  34. package/api/processor.d.ts.map +1 -0
  35. package/api/processor.js +51 -0
  36. package/api/processor.js.map +1 -0
  37. package/api/register.d.ts +8 -0
  38. package/api/register.d.ts.map +1 -0
  39. package/api/register.js +25 -0
  40. package/api/register.js.map +1 -0
  41. package/api/statusCodes.d.ts +17 -0
  42. package/api/statusCodes.d.ts.map +1 -0
  43. package/api/statusCodes.js +21 -0
  44. package/api/statusCodes.js.map +1 -0
  45. package/dates/datex.d.ts +2 -2
  46. package/dates/datex.d.ts.map +1 -1
  47. package/dates/datex.js +2 -4
  48. package/dates/datex.js.map +1 -1
  49. package/fields/update.js +2 -2
  50. package/fields/update.js.map +1 -1
  51. package/functions/throttle.d.ts.map +1 -1
  52. package/functions/throttle.js.map +1 -1
  53. package/logger/named.d.ts.map +1 -1
  54. package/logger/named.js +3 -3
  55. package/logger/named.js.map +1 -1
  56. package/math/arrays.d.ts +3 -3
  57. package/math/arrays.d.ts.map +1 -1
  58. package/math/arrays.js +1 -1
  59. package/math/arrays.js.map +1 -1
  60. package/math/object/math.d.ts.map +1 -1
  61. package/math/object/math.js +6 -3
  62. package/math/object/math.js.map +1 -1
  63. package/math/object/ops.d.ts +1 -1
  64. package/math/object/ops.d.ts.map +1 -1
  65. package/math/object/ops.js.map +1 -1
  66. package/observing/event.d.ts.map +1 -1
  67. package/observing/event.js +9 -1
  68. package/observing/event.js.map +1 -1
  69. package/package.json +1 -1
  70. package/storage/abstractions.d.ts +0 -1
  71. package/storage/abstractions.d.ts.map +1 -1
  72. package/storage/index.d.ts +2 -0
  73. package/storage/index.d.ts.map +1 -1
  74. package/storage/index.js +2 -0
  75. package/storage/index.js.map +1 -1
  76. package/storage/keyStorage.d.ts +12 -18
  77. package/storage/keyStorage.d.ts.map +1 -1
  78. package/storage/keyStorage.js +21 -23
  79. package/storage/keyStorage.js.map +1 -1
  80. package/storage/keyStorage.sync.d.ts +21 -0
  81. package/storage/keyStorage.sync.d.ts.map +1 -0
  82. package/storage/keyStorage.sync.js +40 -0
  83. package/storage/keyStorage.sync.js.map +1 -0
  84. package/structures/path/builder.d.ts +16 -0
  85. package/structures/path/builder.d.ts.map +1 -0
  86. package/structures/path/builder.js +128 -0
  87. package/structures/path/builder.js.map +1 -0
  88. package/structures/path/index.d.ts +3 -0
  89. package/structures/path/index.d.ts.map +1 -0
  90. package/structures/path/index.js +7 -0
  91. package/structures/path/index.js.map +1 -0
  92. package/structures/path/types.d.ts +53 -0
  93. package/structures/path/types.d.ts.map +1 -0
  94. package/{abstractions/controllers/IPluggableController.js → structures/path/types.js} +1 -1
  95. package/structures/path/types.js.map +1 -0
  96. package/structures/path/utils.d.ts +12 -0
  97. package/structures/path/utils.d.ts.map +1 -0
  98. package/structures/path/utils.js +54 -0
  99. package/structures/path/utils.js.map +1 -0
  100. package/structures/promiseExtended.d.ts +1 -1
  101. package/structures/promiseExtended.d.ts.map +1 -1
  102. package/structures/promiseExtended.js.map +1 -1
  103. package/structures/promiseProxy.d.ts.map +1 -1
  104. package/structures/promiseProxy.js +3 -2
  105. package/structures/promiseProxy.js.map +1 -1
  106. package/types/misc.d.ts +12 -3
  107. package/types/misc.d.ts.map +1 -1
  108. package/validation/throwers.js.map +1 -1
  109. package/abstractions/controllers/IPluggableController.d.ts +0 -5
  110. package/abstractions/controllers/IPluggableController.d.ts.map +0 -1
  111. package/abstractions/controllers/IPluggableController.js.map +0 -1
  112. package/async/arrays.extend.d.ts +0 -10
  113. package/async/arrays.extend.d.ts.map +0 -1
  114. package/async/arrays.extend.js +0 -8
  115. package/async/arrays.extend.js.map +0 -1
  116. package/controllers/PluggableController.d.ts +0 -13
  117. package/controllers/PluggableController.d.ts.map +0 -1
  118. package/controllers/PluggableController.js +0 -29
  119. package/controllers/PluggableController.js.map +0 -1
@@ -1,40 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyStorageConverted = exports.KeyStorage = void 0;
3
+ exports.KeyStorage = void 0;
4
4
  class KeyStorage {
5
5
  storage;
6
6
  key;
7
+ _convertInput = v => v;
8
+ _convertOutput = s => s;
7
9
  constructor(storage, key) {
8
10
  this.storage = storage;
9
11
  this.key = key;
10
12
  }
11
- get value() { return this.storage.getValue(this.key); }
12
- set value(v) { this.storage.setValue(this.key, v); }
13
- clean() {
14
- this.storage.removeValue(this.key);
13
+ addConverters(convertInput, convertOutput) {
14
+ const res = this;
15
+ res._convertInput = convertInput;
16
+ res._convertOutput = convertOutput;
17
+ return res;
15
18
  }
16
- getHasValue() {
17
- return this.storage.hasValue(this.key);
19
+ addJSONConverters() {
20
+ return this.addConverters(v => JSON.stringify(v), s => JSON.parse(s || 'null'));
18
21
  }
19
- }
20
- exports.KeyStorage = KeyStorage;
21
- class KeyStorageConverted {
22
- input;
23
- output;
24
- _storage;
25
- constructor(storage, key, input = (v => JSON.stringify(v)), output = (s => JSON.parse(s || 'null'))) {
26
- this.input = input;
27
- this.output = output;
28
- this._storage = new KeyStorage(storage, key);
22
+ async get() {
23
+ const res = await this.storage.getValue(this.key);
24
+ return this._convertOutput(res);
29
25
  }
30
- get value() { return this.output(this._storage.value); }
31
- set value(v) { this._storage.value = this.input(v); }
32
- clean() {
33
- this._storage.clean();
26
+ async set(v) {
27
+ const data = this._convertInput(v);
28
+ return this.storage.setValue(this.key, data);
29
+ }
30
+ async clean() {
31
+ await this.storage.remove(this.key);
34
32
  }
35
33
  getHasValue() {
36
- return this._storage.getHasValue();
34
+ return this.storage.hasValue(this.key);
37
35
  }
38
36
  }
39
- exports.KeyStorageConverted = KeyStorageConverted;
37
+ exports.KeyStorage = KeyStorage;
40
38
  //# sourceMappingURL=keyStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyStorage.js","sourceRoot":"","sources":["../../src/storage/keyStorage.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IACE;IAAgC;IAArD,YAAqB,OAAqB,EAAW,GAAW;QAA3C,YAAO,GAAP,OAAO,CAAc;QAAW,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAErE,IAAI,KAAK,KAAoB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,KAAK;QACR,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;CACJ;AAbD,gCAaC;AAED,MAAa,mBAAmB;IAMf;IACA;IANI,QAAQ,CAAa;IAEtC,YACI,OAAqB,EACrB,GAAW,EACF,QAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAClD,SAAkC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAM,CAAC;QADrE,UAAK,GAAL,KAAK,CAA6C;QAClD,WAAM,GAAN,MAAM,CAA+D;QAE9E,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,KAAK,KAAe,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,CAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,KAAK;QACR,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;CACJ;AAtBD,kDAsBC"}
1
+ {"version":3,"file":"keyStorage.js","sourceRoot":"","sources":["../../src/storage/keyStorage.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IAKE;IAA4B;IAHzC,aAAa,GAAqB,CAAC,CAAC,EAAE,CAAC,CAAsB,CAAC;IAC9D,cAAc,GAA4B,CAAC,CAAC,EAAE,CAAC,CAAiB,CAAC;IAEzE,YAAqB,OAAiB,EAAW,GAAW;QAAvC,YAAO,GAAP,OAAO,CAAU;QAAW,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAEjE,aAAa,CAAI,YAA8B,EAAE,aAAsC;QACnF,MAAM,GAAG,GAAG,IAAgC,CAAC;QAC7C,GAAG,CAAC,aAAa,GAAG,YAAY,CAAC;QACjC,GAAG,CAAC,cAAc,GAAG,aAAa,CAAC;QACnC,OAAO,GAAG,CAAC;IACf,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,aAAa,CACrB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAM,CACpC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,GAAG;QACL,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,CAAI;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;CACJ;AAtCD,gCAsCC"}
@@ -0,0 +1,21 @@
1
+ import { IStorageSync } from './abstractions';
2
+ export declare class KeyStorageSync {
3
+ readonly storage: IStorageSync;
4
+ readonly key: string;
5
+ constructor(storage: IStorageSync, key: string);
6
+ get value(): string | null;
7
+ set value(v: string);
8
+ clean(): void;
9
+ getHasValue(): boolean;
10
+ }
11
+ export declare class KeyStorageSyncConverted<T> {
12
+ readonly input: (v: T) => string;
13
+ readonly output: (s: string | null) => T;
14
+ private readonly _storage;
15
+ constructor(storage: IStorageSync, key: string, input?: (v: T) => string, output?: (s: string | null) => T);
16
+ get value(): T | null;
17
+ set value(v: T);
18
+ clean(): void;
19
+ getHasValue(): boolean;
20
+ }
21
+ //# sourceMappingURL=keyStorage.sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyStorage.sync.d.ts","sourceRoot":"","sources":["../../src/storage/keyStorage.sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,cAAc;IACX,QAAQ,CAAC,OAAO,EAAE,YAAY;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAA3C,OAAO,EAAE,YAAY,EAAW,GAAG,EAAE,MAAM;IAEhE,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CAA4C;IACtE,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAyC;IAErD,KAAK;IAIL,WAAW;CAGrB;AAED,qBAAa,uBAAuB,CAAC,CAAC;IAM9B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC;IAN5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAGtC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACF,KAAK,GAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAiC,EAClD,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,CAAuC;IAKlF,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,CAA6C;IAClE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAA0C;IAEjD,KAAK;IAIL,WAAW;CAGrB"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeyStorageSyncConverted = exports.KeyStorageSync = void 0;
4
+ class KeyStorageSync {
5
+ storage;
6
+ key;
7
+ constructor(storage, key) {
8
+ this.storage = storage;
9
+ this.key = key;
10
+ }
11
+ get value() { return this.storage.getValue(this.key); }
12
+ set value(v) { this.storage.setValue(this.key, v); }
13
+ clean() {
14
+ this.storage.removeValue(this.key);
15
+ }
16
+ getHasValue() {
17
+ return this.storage.hasValue(this.key);
18
+ }
19
+ }
20
+ exports.KeyStorageSync = KeyStorageSync;
21
+ class KeyStorageSyncConverted {
22
+ input;
23
+ output;
24
+ _storage;
25
+ constructor(storage, key, input = (v => JSON.stringify(v)), output = (s => JSON.parse(s || 'null'))) {
26
+ this.input = input;
27
+ this.output = output;
28
+ this._storage = new KeyStorageSync(storage, key);
29
+ }
30
+ get value() { return this.output(this._storage.value); }
31
+ set value(v) { this._storage.value = this.input(v); }
32
+ clean() {
33
+ this._storage.clean();
34
+ }
35
+ getHasValue() {
36
+ return this._storage.getHasValue();
37
+ }
38
+ }
39
+ exports.KeyStorageSyncConverted = KeyStorageSyncConverted;
40
+ //# sourceMappingURL=keyStorage.sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyStorage.sync.js","sourceRoot":"","sources":["../../src/storage/keyStorage.sync.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IACF;IAAgC;IAArD,YAAqB,OAAqB,EAAW,GAAW;QAA3C,YAAO,GAAP,OAAO,CAAc;QAAW,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAErE,IAAI,KAAK,KAAoB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,KAAK;QACR,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;CACJ;AAbD,wCAaC;AAED,MAAa,uBAAuB;IAMnB;IACA;IANI,QAAQ,CAAiB;IAE1C,YACI,OAAqB,EACrB,GAAW,EACF,QAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAClD,SAAkC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAM,CAAC;QADrE,UAAK,GAAL,KAAK,CAA6C;QAClD,WAAM,GAAN,MAAM,CAA+D;QAE9E,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,KAAK,KAAe,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,CAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,KAAK;QACR,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;CACJ;AAtBD,0DAsBC"}
@@ -0,0 +1,16 @@
1
+ import { BaseInput, CombineBuilders, StaticBuilder, SwitchBuilder } from './types';
2
+ export * from './types';
3
+ /** Tagged template literal to create a path builder */
4
+ export declare function build<TArgs extends string[]>(strings: TemplateStringsArray, ...params: TArgs): SwitchBuilder<TArgs>;
5
+ export declare const Empty: StaticBuilder;
6
+ /**
7
+ * For input, use any amount of arguments, each one can be:
8
+ *
9
+ * - static `string | string[]` args to make the path part static
10
+ * - pre-built `Builder` to make the path part dynamic, which can be created by:
11
+ * - `build` tagged template literal
12
+ * - manually implementing `Builder<string[]>`
13
+ * - another `construct` call
14
+ */
15
+ export declare function construct<TArr extends BaseInput[]>(...inputs: TArr): CombineBuilders<TArr>;
16
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/structures/path/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EAGT,eAAe,EACf,aAAa,EAEb,aAAa,EAEhB,MAAM,SAAS,CAAC;AAGjB,cAAc,SAAS,CAAC;AAYxB,uDAAuD;AACvD,wBAAgB,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,EACxC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,KAAK,GACjB,aAAa,CAAC,KAAK,CAAC,CAuDtB;AAqBD,eAAO,MAAM,KAAK,eAAU,CAAC;AAE7B;;;;;;;;EAQE;AACF,wBAAgB,SAAS,CAAC,IAAI,SAAS,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CA0C1F"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.construct = exports.Empty = exports.build = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const utils_1 = require("./utils");
6
+ tslib_1.__exportStar(require("./types"), exports);
7
+ const staticFactory = (strings) => {
8
+ const parts = strings.slice();
9
+ return {
10
+ build: (_, options) => (0, utils_1.combineUrls)(options, ...parts),
11
+ template: (_, options) => (0, utils_1.combineUrls)(options, ...parts),
12
+ args: [],
13
+ as() { return this; },
14
+ };
15
+ };
16
+ /** Tagged template literal to create a path builder */
17
+ function build(strings, ...params) {
18
+ if (params.length === 0) {
19
+ return staticFactory(strings);
20
+ }
21
+ const appendParts = [];
22
+ const prependParts = [];
23
+ const build = (args, options) => {
24
+ const parts = [];
25
+ const getValue = !args
26
+ ? (() => null)
27
+ : Array.isArray(args)
28
+ ? (_key, index) => args[index]?.toString()
29
+ : (key, _index) => args[key]?.toString();
30
+ for (let i = 0; i < strings.length; ++i) {
31
+ parts.push(strings[i]);
32
+ if (i < params.length) {
33
+ const v = getValue(params[i], i);
34
+ if (v != null) {
35
+ parts.push(v);
36
+ }
37
+ }
38
+ }
39
+ return (0, utils_1.combineUrls)(options, ...prependParts, ...parts, ...appendParts);
40
+ };
41
+ const template = (prefix, options) => {
42
+ let args;
43
+ if (typeof prefix === 'string') {
44
+ args = params.map(p => prefix + p);
45
+ }
46
+ else if (typeof prefix === 'function') {
47
+ args = params.map(prefix);
48
+ }
49
+ else {
50
+ args = params;
51
+ }
52
+ return build(args, options);
53
+ };
54
+ const result = {
55
+ build,
56
+ template,
57
+ args: params,
58
+ as() { return this; },
59
+ };
60
+ return result;
61
+ }
62
+ exports.build = build;
63
+ const constructStatic = (input) => {
64
+ let staticPath = undefined;
65
+ /* istanbul ignore else -- @preserve */
66
+ if (Array.isArray(input)) {
67
+ staticPath = (0, utils_1.combineUrls)(...input);
68
+ }
69
+ else if (typeof input === 'string') {
70
+ staticPath = input;
71
+ }
72
+ else {
73
+ throw new Error('Path.construct: Invalid input, expected string | string[]');
74
+ }
75
+ return staticFactory([staticPath]);
76
+ };
77
+ function guardIsStatic(value) {
78
+ return typeof value === 'string' || Array.isArray(value);
79
+ }
80
+ exports.Empty = build ``;
81
+ /**
82
+ * For input, use any amount of arguments, each one can be:
83
+ *
84
+ * - static `string | string[]` args to make the path part static
85
+ * - pre-built `Builder` to make the path part dynamic, which can be created by:
86
+ * - `build` tagged template literal
87
+ * - manually implementing `Builder<string[]>`
88
+ * - another `construct` call
89
+ */
90
+ function construct(...inputs) {
91
+ if (!inputs.length) {
92
+ return exports.Empty;
93
+ }
94
+ const convertToOutput = (input) => {
95
+ if (guardIsStatic(input)) {
96
+ return constructStatic(input);
97
+ }
98
+ return input;
99
+ };
100
+ if (inputs.length === 1) {
101
+ return convertToOutput(inputs[0]);
102
+ }
103
+ const outputs = inputs.map(convertToOutput);
104
+ const args = outputs.map(o => o.args).flat();
105
+ const skipOuterOptions = (options) => {
106
+ if (!options) {
107
+ return options;
108
+ }
109
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
110
+ const { addStart: _, addTrail: __, ...rest } = options;
111
+ return rest;
112
+ };
113
+ const result = {
114
+ build: (args, options) => {
115
+ const innerOptions = skipOuterOptions(options);
116
+ return (0, utils_1.combineUrls)(options, ...outputs.map(o => o.build(args, innerOptions)));
117
+ },
118
+ template: (prefix, options) => {
119
+ const innerOptions = skipOuterOptions(options);
120
+ return (0, utils_1.combineUrls)(options, ...outputs.map(o => o.template(prefix, innerOptions)));
121
+ },
122
+ args,
123
+ as() { return this; },
124
+ };
125
+ return result;
126
+ }
127
+ exports.construct = construct;
128
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/structures/path/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './utils';
2
+ export * as Path from './builder';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/structures/path/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Path = void 0;
4
+ const tslib_1 = require("tslib");
5
+ tslib_1.__exportStar(require("./utils"), exports);
6
+ exports.Path = tslib_1.__importStar(require("./builder"));
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/structures/path/index.ts"],"names":[],"mappings":";;;;AAAA,kDAAwB;AACxB,0DAAkC"}
@@ -0,0 +1,53 @@
1
+ import type { LengthArray, Nullable } from '../../types/misc';
2
+ import type { CombineOptions } from './utils';
3
+ export type ArgValue = string | number;
4
+ export type ObjectBuilderArgs<TArgs extends string> = Record<TArgs, ArgValue>;
5
+ export type BuilderArgs<TArgs extends string, L extends number = number> = LengthArray<ArgValue, L> | Record<TArgs, ArgValue>;
6
+ export type TemplatePrefixing = Nullable<string | ((key: string, index: number) => string)>;
7
+ interface BaseBuilder<A extends readonly string[], B, P = TemplatePrefixing> {
8
+ /**
9
+ * Builds the path using provided args.
10
+ *
11
+ * Each arg is always a `ArgValue` (`string | number`), and args are provided as an array which should use the same order and length as the keys in the template.
12
+ *
13
+ * Also, args can be provided as an object with args as they were in the template and values as strings.
14
+ */
15
+ build: (args?: B, options?: CombineOptions) => string;
16
+ /**
17
+ * Template builder that will build the path using args names but also can:
18
+ * - keep args as they were in the template
19
+ * - add a prefix for each key in case `prefix` is provided as string
20
+ * - format each key in case `prefix` is provided as function
21
+ *
22
+ * For now it's recommended to cache the result, internally it doesn't care about it.
23
+ */
24
+ template: (prefix?: P, options?: CombineOptions) => string;
25
+ /** args as they were in the template */
26
+ readonly args: A;
27
+ /**
28
+ * Types helper method to easily cast all kinds of builders to generic IBuilder or others.
29
+ * It just always returns the passed object, so it's the implementation's responsibility to ensure the compatibility.
30
+ *
31
+ * Currently their signature is totally compatible with each other so this cast is safe.
32
+ *
33
+ * In future probably some extra conversion may be required.
34
+ */
35
+ as<TOther extends BaseBuilder<any, any, any>>(marker?: TOther): TOther;
36
+ }
37
+ type EmptyBuilderArgs = [] | Record<PropertyKey, never>;
38
+ type ReadonlyArr<TArr extends ReadonlyArray<any>> = TArr extends ReadonlyArray<infer T> ? ReadonlyArray<T> : never;
39
+ export interface Builder<TArgs extends readonly string[]> extends BaseBuilder<ReadonlyArr<TArgs>, BuilderArgs<TArgs[number], TArgs['length']>> {
40
+ }
41
+ export interface StaticBuilder extends BaseBuilder<readonly [], EmptyBuilderArgs> {
42
+ }
43
+ export interface IBuilder extends BaseBuilder<readonly string[], BuilderArgs<string>> {
44
+ }
45
+ export type StaticInput = string | readonly string[];
46
+ export type BaseInput = StaticInput | BaseBuilder<any, any, any>;
47
+ export type Output<TInput> = TInput extends StaticBuilder ? StaticBuilder : (TInput extends Builder<infer TArgs> ? Builder<TArgs> : StaticBuilder);
48
+ export type SwitchBuilder<TArg extends readonly string[]> = [TArg] extends [never] ? StaticBuilder : ([] extends TArg ? StaticBuilder : (readonly string[] extends TArg ? IBuilder : Builder<TArg>));
49
+ export type ExtractArgs<T> = T extends Builder<infer TArgs> ? TArgs : readonly string[];
50
+ type CombineTwo<T1 extends BaseInput, T2 extends BaseInput> = Output<T1> extends StaticBuilder ? Output<T2> : Output<T2> extends StaticBuilder ? Output<T1> : (Output<T1> extends Builder<infer Arr1> ? (Output<T2> extends Builder<infer Arr2> ? Builder<[...Arr1, ...Arr2]> : never) : never);
51
+ export type CombineBuilders<T extends BaseInput[]> = T extends [infer T1 extends BaseInput, infer T2 extends BaseInput, ...infer Rest] ? CombineTwo<T1, T2> extends infer C extends BaseBuilder<any, any> & BaseInput ? Rest extends BaseInput[] ? CombineBuilders<[C, ...Rest]> : never : never : T extends [infer T1] ? Output<T1> : StaticBuilder;
52
+ export {};
53
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/structures/path/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IPluggableController.js.map
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/structures/path/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { Nullable } from '../../types/misc';
2
+ export declare function indexTrim(str: string | null | undefined, ch: string): string;
3
+ export type CombineOptions = {
4
+ noTrim?: boolean;
5
+ addTrail?: boolean | string;
6
+ addStart?: boolean | string;
7
+ separator?: string;
8
+ trimSymbol?: string;
9
+ };
10
+ export declare function combineUrls(options: Nullable<CombineOptions>, ...parts: Nullable<string>[]): string;
11
+ export declare function combineUrls(...parts: Nullable<string>[]): string;
12
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/structures/path/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,UAgBnE;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC;AACrG,wBAAgB,WAAW,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.combineUrls = exports.indexTrim = void 0;
4
+ function indexTrim(str, ch) {
5
+ if (!str || str === ch || !ch) {
6
+ return '';
7
+ }
8
+ let start = 0, end = str.length;
9
+ while (start < end && str[start] === ch)
10
+ ++start;
11
+ while (end > start && str[end - 1] === ch)
12
+ --end;
13
+ return (start > 0 || end < str.length)
14
+ ? str.substring(start, end)
15
+ : str;
16
+ }
17
+ exports.indexTrim = indexTrim;
18
+ function combineUrls(...parts) {
19
+ const options = typeof parts[0] === 'string'
20
+ ? null
21
+ : parts[0];
22
+ const separator = options?.separator ?? '/';
23
+ const trimSymbol = options?.trimSymbol ?? '/';
24
+ const noTrim = options?.noTrim || false;
25
+ const _parts = [];
26
+ for (const p of parts) {
27
+ if (typeof p !== 'string') {
28
+ continue;
29
+ }
30
+ let part = p;
31
+ if (!noTrim) {
32
+ part = indexTrim(p, trimSymbol);
33
+ }
34
+ if (part) {
35
+ _parts.push(part);
36
+ }
37
+ }
38
+ let result = _parts.join(separator);
39
+ if (options?.addTrail) {
40
+ const char = typeof options.addTrail === 'string'
41
+ ? options.addTrail
42
+ : separator;
43
+ result += char;
44
+ }
45
+ if (options?.addStart) {
46
+ const char = typeof options.addStart === 'string'
47
+ ? options.addStart
48
+ : separator;
49
+ result = char + result;
50
+ }
51
+ return result;
52
+ }
53
+ exports.combineUrls = combineUrls;
54
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/structures/path/utils.ts"],"names":[],"mappings":";;;AAEA,SAAgB,SAAS,CAAC,GAA8B,EAAE,EAAU;IAChE,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;IAEhC,OAAO,KAAK,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;QACnC,EAAE,KAAK,CAAC;IAEZ,OAAO,GAAG,GAAG,KAAK,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE;QACrC,EAAE,GAAG,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;QAClC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;QAC3B,CAAC,CAAC,GAAG,CAAC;AACd,CAAC;AAhBD,8BAgBC;AAcD,SAAgB,WAAW,CAAC,GAAG,KAA0C;IACrE,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QACxC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,KAAK,CAAC,CAAC,CAA6B,CAAC;IAE3C,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,GAAG,CAAC;IAC5C,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,GAAG,CAAC;IAE9C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;IACxC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxB,SAAS;QACb,CAAC;QAED,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,IAAI,GAAG,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEpC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7C,CAAC,CAAC,OAAO,CAAC,QAAQ;YAClB,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,IAAI,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7C,CAAC,CAAC,OAAO,CAAC,QAAQ;YAClB,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AA3CD,kCA2CC"}
@@ -45,7 +45,7 @@ export declare class PromiseExtended<T, TCustomErrors extends Record<string, unk
45
45
  static run<T, TErrors extends Record<string, unknown> = Record<never, unknown>>(worker: Promise<T> | (() => Promise<T>)): PromiseExtended<T, TErrors>;
46
46
  onError(cb: Nullable<(data: PromiseExtended.ErrorData & TCustomErrors) => void>): this;
47
47
  onSuccess(cb: Nullable<(data: T) => void>): this;
48
- expectError<TName extends string, TError2 extends Error>(name: TName, ErrCtor: new (...args: unknown[]) => TError2): PromiseExtended<T, TCustomErrors & Record<TName, TError2>>;
48
+ expectError<TName extends string, TError2 extends Error>(name: TName, ErrCtor: new (...args: any[]) => TError2): PromiseExtended<T, TCustomErrors & Record<TName, TError2>>;
49
49
  then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null | undefined): PromiseExtended<TResult1 | TResult2, TCustomErrors>;
50
50
  catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null | undefined): PromiseExtended<T | TResult, TCustomErrors>;
51
51
  finally(onfinally?: (() => void) | null | undefined): this;
@@ -1 +1 @@
1
- {"version":3,"file":"promiseExtended.d.ts","sourceRoot":"","sources":["../../src/structures/promiseExtended.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IAEzH,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,SAAS,GAAG,IAAI,CAAQ;IAE1D,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqD;IAEtF,OAAO;WAIO,GAAG,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC;IAYrJ,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,GAAG,aAAa,KAAK,IAAI,CAAC,GAAG,IAAI;IAYtF,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI;IAYhD,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,KAAK,EAC1D,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAC7C,eAAe,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAY7D,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC/B,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EACjF,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS;IAO3F,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS;IAM5G,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS;IAKnD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAA8C;IAEhF,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,MAAM,CAWZ;IAEF,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS;CAG1D;AAED,yBAAiB,eAAe,CAAC;IAC7B,KAAY,SAAS,GAAG;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;KACjB,CAAC;CACL"}
1
+ {"version":3,"file":"promiseExtended.d.ts","sourceRoot":"","sources":["../../src/structures/promiseExtended.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IAEzH,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,SAAS,GAAG,IAAI,CAAQ;IAE1D,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqD;IAEtF,OAAO;WAIO,GAAG,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC;IAYrJ,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,GAAG,aAAa,KAAK,IAAI,CAAC,GAAG,IAAI;IAYtF,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI;IAYhD,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,KAAK,EAC1D,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,GACzC,eAAe,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAY7D,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC/B,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EACjF,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS;IAO3F,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS;IAM5G,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS;IAKnD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAA8C;IAEhF,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,MAAM,CAWZ;IAEF,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS;CAG1D;AAED,yBAAiB,eAAe,CAAC;IAC7B,KAAY,SAAS,GAAG;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;KACjB,CAAC;CACL"}
@@ -1 +1 @@
1
- {"version":3,"file":"promiseExtended.js","sourceRoot":"","sources":["../../src/structures/promiseExtended.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promiseExtended.js","sourceRoot":"","sources":["../../src/structures/promiseExtended.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"promiseProxy.d.ts","sourceRoot":"","sources":["../../src/structures/promiseProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/D,QAAA,MAAM,aAAa,aAAuB,CAAC;AAE3C,KAAK,aAAa,CAAC,CAAC,SAAS,SAAS,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AAEvE,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI;KACjI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAC1C,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAClC,CAAC,CAAC,CAAC,CAAC;CACb,GAAG;IACA,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACxC,GAAG,KAAK,CAAC;AAEV,KAAK,aAAa,GAAG,OAAO,aAAa,CAAC;AAC1C,KAAK,eAAe,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,aAAa,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CACzD,CAAC;AAEF,KAAK,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI;IACrC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,EACpI,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,WAAW,CAAC,GACxD,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAoFhD"}
1
+ {"version":3,"file":"promiseProxy.d.ts","sourceRoot":"","sources":["../../src/structures/promiseProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/D,QAAA,MAAM,aAAa,aAAuB,CAAC;AAE3C,KAAK,aAAa,CAAC,CAAC,SAAS,SAAS,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AAEvE,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI;KACjI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAC1C,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAClC,CAAC,CAAC,CAAC,CAAC;CACb,GAAG;IACA,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACxC,GAAG,KAAK,CAAC;AAEV,KAAK,aAAa,GAAG,OAAO,aAAa,CAAC;AAC1C,KAAK,eAAe,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,aAAa,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CACzD,CAAC;AAEF,KAAK,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI;IACrC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,EACpI,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,WAAW,CAAC,GACxD,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAqFhD"}
@@ -14,7 +14,7 @@ const PromiseGetter = '__promise';
14
14
  function createPromiseProxy(options) {
15
15
  const { loader, fnKeys, wrap, lazy: TLazy = promise_1.LazyPromise } = options;
16
16
  // wrapper object that will hold values temporarily while loading is in progress
17
- const wrapper = wrap || {};
17
+ const wrapper = (wrap || {});
18
18
  const functionCalls = new Map();
19
19
  let _resolved = null;
20
20
  let lazy = new TLazy(async () => {
@@ -22,7 +22,8 @@ function createPromiseProxy(options) {
22
22
  const result = await loader();
23
23
  // copy values from wrapper to result
24
24
  Object.entries(wrapper).forEach(([key, value]) => {
25
- if (value !== undefined && (!wrap || wrap[key] == null)) {
25
+ const kk = key;
26
+ if (value !== undefined && (!wrap || wrap[kk] == null)) {
26
27
  result[key] = value;
27
28
  }
28
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"promiseProxy.js","sourceRoot":"","sources":["../../src/structures/promiseProxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promiseProxy.js","sourceRoot":"","sources":["../../src/structures/promiseProxy.ts"],"names":[],"mappings":"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"}
package/types/misc.d.ts CHANGED
@@ -16,14 +16,23 @@ export type NestedPick<T, K extends ReadonlyArray<any>> = K extends ReadonlyArra
16
16
  export type Mutable<T> = {
17
17
  -readonly [P in keyof T]: T[P];
18
18
  };
19
- export type LengthArray<T, N extends number, R extends T[] = []> = number extends N ? T[] : R['length'] extends N ? R : LengthArray<T, N, [T, ...R]>;
19
+ export type LengthArray<T, N extends number, R extends T[] = []> = number extends N ? T[] : (R['length'] extends N ? R : LengthArray<T, N, [T, ...R]>);
20
+ export type EmptyArray = [] & {
21
+ length: 0;
22
+ };
23
+ export type NonEmptyArray<T = any> = T[] & {
24
+ 0: T;
25
+ };
20
26
  export type AnyObject = Record<string, any>;
27
+ export type EmptyObject = Record<PropertyKey, never>;
21
28
  export type AnyFunction = (...args: any[]) => any;
22
29
  export type Primitive = number | string | symbol | boolean | null | undefined | bigint;
23
30
  export type ObjectOrPrimitive = AnyObject | Primitive;
24
31
  export type ToPlainObject<T> = T extends (AnyFunction | Primitive) ? never : (T extends AnyObject ? T : never);
32
+ export type Nullable<T> = T | null | undefined;
25
33
  export type PickNullable<T, K extends keyof T> = {
26
- [P in K]?: T[P] | null | undefined;
34
+ [P in K]?: Nullable<T[P]>;
27
35
  };
28
- export type Nullable<T> = T | null | undefined;
36
+ export type EmptyObjectNullable = (EmptyObject | null | undefined);
37
+ export type Coalesce<T, TReplace = EmptyObjectNullable> = [T] extends [never] | [null] | [undefined] ? TReplace : T;
29
38
  //# sourceMappingURL=misc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/types/misc.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;AAEjD,+EAA+E;AAC/E,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,IAAI;KACzC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK;CAC/C,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,yFAAyF;AACzF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,IAAI;KAC3C,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK;CACnD,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjB,uGAAuG;AACvG,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;AAEhI,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAEpE,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,GAClF,CAAC,GACD;KACG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAC1E,CAAC;AAEN,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACrB,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACjC,CAAC;AAGF,MAAM,MAAM,WAAW,CACf,CAAC,EACD,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAClB,MAAM,SAAS,CAAC,GACd,CAAC,EAAE,GACH,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,CAAC,GACD,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAEvC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC5C,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAClD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;AACvF,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,GAC5D,KAAK,GACL,CAAC,CAAC,SAAS,SAAS,GAChB,CAAC,GACD,KAAK,CACV,CAAC;AAEN,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI;KAC5C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS;CACrC,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/types/misc.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"throwers.js","sourceRoot":"","sources":["../../src/validation/throwers.ts"],"names":[],"mappings":";;;AAKA,IAAiB,iBAAiB,CASjC;AATD,WAAiB,iBAAiB;IACvB,KAAK,UAAU,OAAO,CAAI,KAAQ,EAAE,SAA+B;QACtE,IAAI,CAAC;YACD,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAPqB,yBAAO,UAO5B,CAAA;AACL,CAAC,EATgB,iBAAiB,iCAAjB,iBAAiB,QASjC;AAYD,SAAgB,cAAc,CAA6B,UAAa;IACpE,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE;QAC/D,MAAM,EAAE,GAAG,GAAyB,CAAC;QACrC,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;YAC1B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;gBACjB,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAQ,CAAC;QACd,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA0B,CAAC,CAAC;AACnC,CAAC;AAXD,wCAWC"}
1
+ {"version":3,"file":"throwers.js","sourceRoot":"","sources":["../../src/validation/throwers.ts"],"names":[],"mappings":";;;AAKA,IAAiB,iBAAiB,CASjC;AATD,WAAiB,iBAAiB;IACvB,KAAK,UAAU,OAAO,CAAI,KAAQ,EAAE,SAA+B;QACtE,IAAI,CAAC;YACD,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAPqB,yBAAO,UAO5B,CAAA;AACL,CAAC,EATgB,iBAAiB,iCAAjB,iBAAiB,QASjC;AAYD,SAAgB,cAAc,CAA6B,UAAa;IACpE,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE;QAC/D,MAAM,EAAE,GAAG,GAAyB,CAAC;QACrC,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;YAC1B,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAM,EAAE,EAAE;gBACxB,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAQ,CAAC;QACd,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA0B,CAAC,CAAC;AACnC,CAAC;AAXD,wCAWC"}
@@ -1,5 +0,0 @@
1
- export interface IPluggableController {
2
- readonly enabled: boolean;
3
- setEnabledAsync(enabled: boolean): Promise<void>;
4
- }
5
- //# sourceMappingURL=IPluggableController.d.ts.map