@daiso-tech/core 0.46.0 → 0.48.0

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/dist/cache/contracts/cache-adapter.contract.d.ts +1 -1
  2. package/dist/cache/contracts/cache.contract.d.ts +3 -1
  3. package/dist/cache/contracts/cache.events.d.ts +1 -1
  4. package/dist/cache/contracts/database-cache-adapter.contract.d.ts +1 -1
  5. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +11 -2
  6. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +8 -8
  7. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -1
  8. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +1 -1
  9. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  10. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +1 -1
  11. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  12. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +1 -1
  13. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
  14. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +1 -1
  15. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  16. package/dist/cache/implementations/derivables/cache/cache.d.ts +3 -32
  17. package/dist/cache/implementations/derivables/cache/cache.js +2 -41
  18. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  19. package/dist/cache/implementations/derivables/cache/database-cache-adapter.d.ts +1 -1
  20. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -1
  21. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js.map +1 -1
  22. package/dist/cache/implementations/test-utilities/cache.test-suite.js +38 -38
  23. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  24. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +8 -4
  25. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -1
  26. package/dist/circuit-breaker/contracts/circuit-breaker-provider.contract.d.ts +3 -1
  27. package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/kysely-circuit-breaker-storage-adapter.d.ts +11 -0
  28. package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/kysely-circuit-breaker-storage-adapter.js +13 -3
  29. package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/kysely-circuit-breaker-storage-adapter.js.map +1 -1
  30. package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/mongodb-circuit-breaker-storage-adapter.d.ts +6 -0
  31. package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/mongodb-circuit-breaker-storage-adapter.js +14 -2
  32. package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/mongodb-circuit-breaker-storage-adapter.js.map +1 -1
  33. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.d.ts +3 -9
  34. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.js +2 -18
  35. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.js.map +1 -1
  36. package/dist/circuit-breaker/implementations/policies/sampling-breaker/sampling-breaker.d.ts +1 -1
  37. package/dist/collection/contracts/async-collection.contract.d.ts +1 -1
  38. package/dist/collection/contracts/collection.contract.d.ts +2 -2
  39. package/dist/collection/implementations/async-iterable-collection/_shared/async-chunk-iterable.js.map +1 -1
  40. package/dist/collection/implementations/async-iterable-collection/_shared/async-chunk-while-iterable.js.map +1 -1
  41. package/dist/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.js.map +1 -1
  42. package/dist/collection/implementations/async-iterable-collection/_shared/async-split-iterable.js.map +1 -1
  43. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +1 -1
  44. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  45. package/dist/collection/implementations/iterable-collection/_shared/chunk-iterable.js.map +1 -1
  46. package/dist/collection/implementations/iterable-collection/_shared/chunk-while-iterable.js.map +1 -1
  47. package/dist/collection/implementations/iterable-collection/_shared/partion-iterable.js.map +1 -1
  48. package/dist/collection/implementations/iterable-collection/_shared/split-iterable.js.map +1 -1
  49. package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +1 -1
  50. package/dist/collection/implementations/list-collection/list-collection.d.ts +1 -1
  51. package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
  52. package/dist/hooks/async-hooks.d.ts +9 -11
  53. package/dist/hooks/hooks.d.ts +5 -5
  54. package/dist/lock/contracts/lock-provider.contract.d.ts +3 -1
  55. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +11 -0
  56. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +18 -14
  57. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
  58. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +3 -33
  59. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +2 -42
  60. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  61. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +58 -58
  62. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
  63. package/dist/namespace/implementations/namespace.d.ts +1 -1
  64. package/dist/rate-limiter/contracts/rate-limiter-provider.contract.d.ts +3 -1
  65. package/dist/rate-limiter/implementations/adapters/kysely-rate-limiter-storage-adapter/kysely-rate-limiter-storage-adapter.d.ts +11 -0
  66. package/dist/rate-limiter/implementations/adapters/kysely-rate-limiter-storage-adapter/kysely-rate-limiter-storage-adapter.js +13 -3
  67. package/dist/rate-limiter/implementations/adapters/kysely-rate-limiter-storage-adapter/kysely-rate-limiter-storage-adapter.js.map +1 -1
  68. package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/mongodb-rate-limiter-storage-adapter.d.ts +6 -0
  69. package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/mongodb-rate-limiter-storage-adapter.js +14 -2
  70. package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/mongodb-rate-limiter-storage-adapter.js.map +1 -1
  71. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.d.ts +3 -9
  72. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.js +2 -18
  73. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.js.map +1 -1
  74. package/dist/resilience/middlewares/dynamic/dynamic.middleware.d.ts +1 -1
  75. package/dist/resilience/middlewares/fallback/fallback.middleware.d.ts +1 -1
  76. package/dist/resilience/middlewares/fallback/fallback.types.d.ts +4 -4
  77. package/dist/resilience/middlewares/observe/observe.middleware.d.ts +1 -1
  78. package/dist/resilience/middlewares/observe/observe.types.d.ts +7 -7
  79. package/dist/resilience/middlewares/retry/retry.middleware.d.ts +1 -1
  80. package/dist/resilience/middlewares/retry/retry.middleware.js.map +1 -1
  81. package/dist/resilience/middlewares/retry/retry.types.d.ts +6 -6
  82. package/dist/resilience/middlewares/timeout/timeout.middleware.d.ts +1 -1
  83. package/dist/resilience/middlewares/timeout/timeout.type.d.ts +4 -4
  84. package/dist/resilience/resilience.errors.d.ts +1 -1
  85. package/dist/resilience/resilience.errors.js.map +1 -1
  86. package/dist/semaphore/contracts/database-semaphore-adapter.contract.d.ts +2 -2
  87. package/dist/semaphore/contracts/semaphore-provider.contract.d.ts +3 -1
  88. package/dist/semaphore/contracts/semaphore-state.contract.d.ts +3 -3
  89. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.d.ts +12 -1
  90. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.js +18 -14
  91. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.js.map +1 -1
  92. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.d.ts +3 -33
  93. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js +2 -42
  94. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js.map +1 -1
  95. package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.js.map +1 -1
  96. package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js +57 -57
  97. package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js.map +1 -1
  98. package/dist/serde/contracts/flexible-serde.contract.d.ts +1 -1
  99. package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.d.ts +2 -2
  100. package/dist/shared-lock/contracts/shared-lock-provider.contract.d.ts +3 -1
  101. package/dist/shared-lock/contracts/shared-lock-state.contract.d.ts +3 -3
  102. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.d.ts +11 -0
  103. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.js +16 -6
  104. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.js.map +1 -1
  105. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.d.ts +3 -33
  106. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js +2 -42
  107. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js.map +1 -1
  108. package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.js.map +1 -1
  109. package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js +117 -117
  110. package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js.map +1 -1
  111. package/dist/task/implementations/task.d.ts +9 -9
  112. package/dist/task/implementations/task.js.map +1 -1
  113. package/dist/utilities/contracts/sqlite-database.contract.d.ts +1 -1
  114. package/dist/utilities/functions/invokable.d.ts +9 -9
  115. package/dist/utilities/functions/invokable.js.map +1 -1
  116. package/dist/utilities/functions/resolve-one-or-more.d.ts +1 -1
  117. package/dist/utilities/types/any-class.type.d.ts +1 -1
  118. package/dist/utilities/types/none-func.type.d.ts +1 -1
  119. package/package.json +1 -1
@@ -45,4 +45,6 @@ export type ILockProviderBase = {
45
45
  * IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
46
46
  * @group Contracts
47
47
  */
48
- export type ILockProvider = ILockListenable & ILockProviderBase;
48
+ export type ILockProvider = ILockProviderBase & {
49
+ readonly events: ILockListenable;
50
+ };
@@ -43,6 +43,15 @@ export type KyselyLockAdapterSettings = {
43
43
  * @default true
44
44
  */
45
45
  shouldRemoveExpiredKeys?: boolean;
46
+ /**
47
+ * @default
48
+ * ```ts
49
+ * import { Transaction } from "kysely"
50
+ *
51
+ * !(settings.kysely instanceof Transaction)
52
+ * ```
53
+ */
54
+ enableTransactions?: boolean;
46
55
  };
47
56
  /**
48
57
  * To utilize the `KyselyLockAdapter`, you must install the [`"kysely"`](https://www.npmjs.com/package/kysely) package and configure a `Kysely` class instance.
@@ -59,6 +68,7 @@ export declare class KyselyLockAdapter implements IDatabaseLockAdapter, IDeiniti
59
68
  private readonly shouldRemoveExpiredKeys;
60
69
  private intervalId;
61
70
  private readonly isMysql;
71
+ private readonly enableTransactions;
62
72
  /**
63
73
  * @example
64
74
  * ```ts
@@ -78,6 +88,7 @@ export declare class KyselyLockAdapter implements IDatabaseLockAdapter, IDeiniti
78
88
  * ```
79
89
  */
80
90
  constructor(settings: KyselyLockAdapterSettings);
91
+ private _transaction;
81
92
  /**
82
93
  * Removes all related lock tables and their rows.
83
94
  * Note all lock data will be removed.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module Lock
3
3
  */
4
- import { MysqlAdapter } from "kysely";
4
+ import { MysqlAdapter, Transaction } from "kysely";
5
5
  import {} from "../../../../lock/contracts/_module.js";
6
6
  import {} from "../../../../time-span/contracts/_module.js";
7
7
  import { TimeSpan } from "../../../../time-span/implementations/_module.js";
@@ -77,6 +77,7 @@ export class KyselyLockAdapter {
77
77
  shouldRemoveExpiredKeys;
78
78
  intervalId = null;
79
79
  isMysql;
80
+ enableTransactions;
80
81
  /**
81
82
  * @example
82
83
  * ```ts
@@ -96,12 +97,24 @@ export class KyselyLockAdapter {
96
97
  * ```
97
98
  */
98
99
  constructor(settings) {
99
- const { kysely, expiredKeysRemovalInterval = TimeSpan.fromMinutes(1), shouldRemoveExpiredKeys = true, } = settings;
100
+ const { kysely, expiredKeysRemovalInterval = TimeSpan.fromMinutes(1), shouldRemoveExpiredKeys = true, enableTransactions = !(settings.kysely instanceof Transaction), } = settings;
100
101
  this.expiredKeysRemovalInterval = TimeSpan.fromTimeSpan(expiredKeysRemovalInterval);
101
102
  this.shouldRemoveExpiredKeys = shouldRemoveExpiredKeys;
102
103
  this.kysely = kysely;
103
104
  this.isMysql =
104
105
  this.kysely.getExecutor().adapter instanceof MysqlAdapter;
106
+ this.enableTransactions = enableTransactions;
107
+ }
108
+ _transaction(trxFn) {
109
+ if (this.enableTransactions) {
110
+ return this.kysely
111
+ .transaction()
112
+ .setIsolationLevel("serializable")
113
+ .execute(async (trx) => {
114
+ return await trxFn(trx);
115
+ });
116
+ }
117
+ return trxFn(this.kysely);
105
118
  }
106
119
  /**
107
120
  * Removes all related lock tables and their rows.
@@ -170,20 +183,14 @@ export class KyselyLockAdapter {
170
183
  .execute();
171
184
  }
172
185
  async transaction(fn) {
173
- return await this.kysely
174
- .transaction()
175
- .setIsolationLevel("serializable")
176
- .execute(async (trx) => {
186
+ return await this._transaction(async (trx) => {
177
187
  return await fn(new DatabaseLockTransaction(trx));
178
188
  });
179
189
  }
180
190
  async remove(key) {
181
191
  let result;
182
192
  if (this.isMysql) {
183
- result = await this.kysely
184
- .transaction()
185
- .setIsolationLevel("serializable")
186
- .execute(async (trx) => {
193
+ result = await this._transaction(async (trx) => {
187
194
  const row = await trx
188
195
  .selectFrom("lock")
189
196
  .where("lock.key", "=", key)
@@ -218,10 +225,7 @@ export class KyselyLockAdapter {
218
225
  async removeIfOwner(key, lockId) {
219
226
  let row;
220
227
  if (this.isMysql) {
221
- row = await this.kysely
222
- .transaction()
223
- .setIsolationLevel("serializable")
224
- .execute(async (trx) => {
228
+ row = await this._transaction(async (trx) => {
225
229
  const row = await trx
226
230
  .selectFrom("lock")
227
231
  .where("lock.key", "=", key)
@@ -1 +1 @@
1
- {"version":3,"file":"kysely-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kysely-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAe,MAAM,QAAQ,CAAC;AAEhE,OAAO,EAKN,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAKN,MAAM,wBAAwB,CAAC;AA2DhC,KAAK,UAAU,IAAI,CACf,MAAgC,EAChC,GAAW;IAEX,MAAM,GAAG,GAAG,MAAM,MAAM;SACnB,UAAU,CAAC,MAAM,CAAC;SAClB,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;SAC3B,MAAM,CAAC,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;SACzC,gBAAgB,EAAE,CAAC;IACxB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;YACH,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,IAAI;SACnB,CAAC;IACN,CAAC;IACD,OAAO;QACH,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,UAAU,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAC/C,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,uBAAuB;IAGI;IAFZ,OAAO,CAAU;IAElC,YAA6B,MAAgC;QAAhC,WAAM,GAAN,MAAM,CAA0B;QACzD,IAAI,CAAC,OAAO;YACR,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,YAAY,YAAY,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW;QAClB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,MAAM,CACR,GAAW,EACX,MAAc,EACd,UAAuB;QAEvB,MAAM,cAAc,GAAG,UAAU,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC;QACrD,MAAM,IAAI,CAAC,MAAM;aACZ,UAAU,CAAC,MAAM,CAAC;aAClB,MAAM,CAAC;YACJ,GAAG;YACH,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,cAAc;SAC7B,CAAC;aACD,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CACvB,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CACjB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;YACzB,GAAG;YACH,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,cAAc;SAC7B,CAAC,CACL,CACJ;aACA,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CACtB,EAAE,CAAC,oBAAoB,CAAC;YACpB,GAAG;YACH,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,cAAc;SAC7B,CAAC,CACL;aACA,OAAO,EAAE,CAAC;IACnB,CAAC;CACJ;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAiB;IAGT,MAAM,CAA2B;IACjC,0BAA0B,CAAW;IACrC,uBAAuB,CAAU;IAC1C,UAAU,GACd,IAAI,CAAC;IACQ,OAAO,CAAU;IACjB,kBAAkB,CAAU;IAE7C;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,QAAmC;QAC3C,MAAM,EACF,MAAM,EACN,0BAA0B,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EACpD,uBAAuB,GAAG,IAAI,EAC9B,kBAAkB,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,YAAY,WAAW,CAAC,GACjE,GAAG,QAAQ,CAAC;QACb,IAAI,CAAC,0BAA0B,GAAG,QAAQ,CAAC,YAAY,CACnD,0BAA0B,CAC7B,CAAC;QACF,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO;YACR,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,YAAY,YAAY,CAAC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAEO,YAAY,CAChB,KAAoE;QAEpE,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,MAAM;iBACb,WAAW,EAAE;iBACb,iBAAiB,CAAC,cAAc,CAAC;iBACjC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACnB,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACX,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACR,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3D,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAED,6EAA6E;QAC7E,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM;iBACnB,SAAS,CAAC,iBAAiB,CAAC;iBAC5B,EAAE,CAAC,MAAM,CAAC;iBACV,OAAO,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACL,WAAW;QACf,CAAC;QAED,6EAA6E;QAC7E,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACL,WAAW;QACf,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACN,4EAA4E;QAC5E,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM;iBACnB,WAAW,CAAC,MAAM,CAAC;iBACnB,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CACtC,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAC7B;iBACA,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;iBAC1D,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC;iBACjC,OAAO,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACL,WAAW;QACf,CAAC;QAED,4EAA4E;QAC5E,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM;iBACnB,WAAW,CAAC,iBAAiB,CAAC;iBAC9B,EAAE,CAAC,MAAM,CAAC;iBACV,MAAM,CAAC,YAAY,CAAC;iBACpB,OAAO,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACL,WAAW;QACf,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC/B,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjC,CAAC,EAAE,IAAI,CAAC,0BAA0B,CAAC,cAAc,EAAE,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,MAAM,IAAI,CAAC,MAAM;aACZ,UAAU,CAAC,MAAM,CAAC;aAClB,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;aAC1C,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,WAAW,CACb,EAGC;QAED,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACzC,OAAO,MAAM,EAAE,CAAC,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,IAAI,MAAuD,CAAC;QAC5D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC3C,MAAM,GAAG,GAAG,MAAM,GAAG;qBAChB,UAAU,CAAC,MAAM,CAAC;qBAClB,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;qBAC3B,MAAM,CAAC,iBAAiB,CAAC;qBACzB,gBAAgB,EAAE,CAAC;gBACxB,MAAM,GAAG;qBACJ,UAAU,CAAC,MAAM,CAAC;qBAClB,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;qBAC3B,gBAAgB,EAAE,CAAC;gBACxB,OAAO,GAAG,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM;iBACrB,UAAU,CAAC,MAAM,CAAC;iBAClB,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;iBAC3B,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;iBAC9B,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO;gBACH,UAAU,EAAE,IAAI;aACnB,CAAC;QACN,CAAC;QACD,OAAO;YACH,UAAU,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAClD,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CACf,GAAW,EACX,MAAc;QAEd,IAAI,GAA8D,CAAC;QACnE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACxC,MAAM,GAAG,GAAG,MAAM,GAAG;qBAChB,UAAU,CAAC,MAAM,CAAC;qBAClB,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;qBAC3B,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC;qBAChC,MAAM,CAAC,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;qBACzC,gBAAgB,EAAE,CAAC;gBACxB,MAAM,GAAG;qBACJ,UAAU,CAAC,MAAM,CAAC;qBAClB,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;qBAC3B,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC;qBAChC,OAAO,EAAE,CAAC;gBACf,OAAO,GAAG,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM;iBAClB,UAAU,CAAC,MAAM,CAAC;iBAClB,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;iBAC3B,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC;iBAChC,SAAS,CAAC,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;iBAC5C,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;QAC3B,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO;gBACH,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,IAAI;aACnB,CAAC;QACN,CAAC;QAED,OAAO;YACH,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAC3C,CAAC;IACN,CAAC;IAED,KAAK,CAAC,gBAAgB,CAClB,GAAW,EACX,MAAc,EACd,UAAgB;QAEhB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM;aAC3B,WAAW,CAAC,MAAM,CAAC;aACnB,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;aAC3B,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC;aAChC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CACV,EAAE,CAAC,GAAG,CAAC;YACH,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,IAAI,CAAC;YACrC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;SACzC,CAAC,CACL;aACA,GAAG,CAAC;YACD,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE;SACnC,CAAC;aACD,gBAAgB,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW;QAClB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;CACJ"}
@@ -1,11 +1,10 @@
1
1
  /**
2
2
  * @module Lock
3
3
  */
4
- import { type EventListener, type IEventBus, type Unsubscribe } from "../../../../event-bus/contracts/_module.js";
5
- import { type ILock, type LockProviderCreateSettings, type ILockProvider, type LockAdapterVariants, type LockEventMap } from "../../../../lock/contracts/_module.js";
4
+ import { type IEventBus } from "../../../../event-bus/contracts/_module.js";
5
+ import { type ILock, type LockProviderCreateSettings, type ILockProvider, type LockAdapterVariants, type ILockListenable } from "../../../../lock/contracts/_module.js";
6
6
  import { type INamespace } from "../../../../namespace/contracts/_module.js";
7
7
  import { type ISerderRegister } from "../../../../serde/contracts/_module.js";
8
- import { type ITask } from "../../../../task/contracts/_module.js";
9
8
  import { type ITimeSpan } from "../../../../time-span/contracts/_module.js";
10
9
  import { type OneOrMore, type Invokable } from "../../../../utilities/_module.js";
11
10
  /**
@@ -157,36 +156,7 @@ export declare class LockProvider implements ILockProvider {
157
156
  */
158
157
  constructor(settings: LockProviderSettings);
159
158
  private registerToSerde;
160
- /**
161
- * You can listen to the following {@link LockEventMap | `LockEventMap`} of all {@link ILock | `ILock`} instances created by the {@link ILockProvider | `ILockProvider`}.
162
- * To understand how this method works, refer to {@link IEventListenable | `IEventListenable `}.
163
- */
164
- addListener<TEventName extends keyof LockEventMap>(eventName: TEventName, listener: EventListener<LockEventMap[TEventName]>): ITask<void>;
165
- /**
166
- * You can listen to the following {@link LockEventMap | `LockEventMap`} of all {@link ILock | `ILock`} instances created by the {@link ILockProvider | `ILockProvider`}.
167
- * To understand how this method works, refer to {@link IEventListenable | `IEventListenable `}.
168
- */
169
- removeListener<TEventName extends keyof LockEventMap>(eventName: TEventName, listener: EventListener<LockEventMap[TEventName]>): ITask<void>;
170
- /**
171
- * You can listen to the following {@link LockEventMap | `LockEventMap`} of all {@link ILock | `ILock`} instances created by the {@link ILockProvider | `ILockProvider`}.
172
- * To understand how this method works, refer to {@link IEventListenable | `IEventListenable `}.
173
- */
174
- listenOnce<TEventName extends keyof LockEventMap>(eventName: TEventName, listener: EventListener<LockEventMap[TEventName]>): ITask<void>;
175
- /**
176
- * You can listen to the following {@link LockEventMap | `LockEventMap`} of all {@link ILock | `ILock`} instances created by the {@link ILockProvider | `ILockProvider`}.
177
- * To understand how this method works, refer to {@link IEventListenable | `IEventListenable `}.
178
- */
179
- asTask<TEventName extends keyof LockEventMap>(eventName: TEventName): ITask<LockEventMap[TEventName]>;
180
- /**
181
- * You can listen to the following {@link LockEventMap | `LockEventMap`} of all {@link ILock | `ILock`} instances created by the {@link ILockProvider | `ILockProvider`}.
182
- * To understand how this method works, refer to {@link IEventListenable | `IEventListenable `}.
183
- */
184
- subscribeOnce<TEventName extends keyof LockEventMap>(eventName: TEventName, listener: EventListener<LockEventMap[TEventName]>): ITask<Unsubscribe>;
185
- /**
186
- * You can listen to the following {@link LockEventMap | `LockEventMap`} of all {@link ILock | `ILock`} instances created by the {@link ILockProvider | `ILockProvider`}.
187
- * To understand how this method works, refer to {@link IEventListenable | `IEventListenable `}.
188
- */
189
- subscribe<TEventName extends keyof LockEventMap>(eventName: TEventName, listener: EventListener<LockEventMap[TEventName]>): ITask<Unsubscribe>;
159
+ get events(): ILockListenable;
190
160
  /**
191
161
  * @example
192
162
  * ```ts
@@ -14,7 +14,6 @@ import { NoOpNamespace } from "../../../../namespace/implementations/_module.js"
14
14
  import {} from "../../../../serde/contracts/_module.js";
15
15
  import { NoOpSerdeAdapter } from "../../../../serde/implementations/adapters/_module.js";
16
16
  import { Serde } from "../../../../serde/implementations/derivables/_module.js";
17
- import {} from "../../../../task/contracts/_module.js";
18
17
  import {} from "../../../../time-span/contracts/_module.js";
19
18
  import { TimeSpan } from "../../../../time-span/implementations/_module.js";
20
19
  import { CORE, resolveOneOrMore, callInvokable, } from "../../../../utilities/_module.js";
@@ -100,47 +99,8 @@ export class LockProvider {
100
99
  serde.registerCustom(transformer, CORE);
101
100
  }
102
101
  }
103
- /**
104
- * You can listen to the following {@link LockEventMap | `LockEventMap`} of all {@link ILock | `ILock`} instances created by the {@link ILockProvider | `ILockProvider`}.
105
- * To understand how this method works, refer to {@link IEventListenable | `IEventListenable `}.
106
- */
107
- addListener(eventName, listener) {
108
- return this.eventBus.addListener(eventName, listener);
109
- }
110
- /**
111
- * You can listen to the following {@link LockEventMap | `LockEventMap`} of all {@link ILock | `ILock`} instances created by the {@link ILockProvider | `ILockProvider`}.
112
- * To understand how this method works, refer to {@link IEventListenable | `IEventListenable `}.
113
- */
114
- removeListener(eventName, listener) {
115
- return this.eventBus.removeListener(eventName, listener);
116
- }
117
- /**
118
- * You can listen to the following {@link LockEventMap | `LockEventMap`} of all {@link ILock | `ILock`} instances created by the {@link ILockProvider | `ILockProvider`}.
119
- * To understand how this method works, refer to {@link IEventListenable | `IEventListenable `}.
120
- */
121
- listenOnce(eventName, listener) {
122
- return this.eventBus.listenOnce(eventName, listener);
123
- }
124
- /**
125
- * You can listen to the following {@link LockEventMap | `LockEventMap`} of all {@link ILock | `ILock`} instances created by the {@link ILockProvider | `ILockProvider`}.
126
- * To understand how this method works, refer to {@link IEventListenable | `IEventListenable `}.
127
- */
128
- asTask(eventName) {
129
- return this.eventBus.asTask(eventName);
130
- }
131
- /**
132
- * You can listen to the following {@link LockEventMap | `LockEventMap`} of all {@link ILock | `ILock`} instances created by the {@link ILockProvider | `ILockProvider`}.
133
- * To understand how this method works, refer to {@link IEventListenable | `IEventListenable `}.
134
- */
135
- subscribeOnce(eventName, listener) {
136
- return this.eventBus.subscribeOnce(eventName, listener);
137
- }
138
- /**
139
- * You can listen to the following {@link LockEventMap | `LockEventMap`} of all {@link ILock | `ILock`} instances created by the {@link ILockProvider | `ILockProvider`}.
140
- * To understand how this method works, refer to {@link IEventListenable | `IEventListenable `}.
141
- */
142
- subscribe(eventName, listener) {
143
- return this.eventBus.subscribe(eventName, listener);
102
+ get events() {
103
+ return this.eventBus;
144
104
  }
145
105
  /**
146
106
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"lock-provider.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/derivables/lock-provider/lock-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock-provider.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/derivables/lock-provider/lock-provider.ts"],"names":[],"mappings":"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"}