@daiso-tech/core 0.39.0 → 0.40.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 (63) hide show
  1. package/dist/cache/contracts/cache-adapter.contract.d.ts +9 -9
  2. package/dist/cache/contracts/database-cache-adapter.contract.d.ts +10 -10
  3. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +9 -9
  4. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
  5. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  6. package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +3 -3
  7. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +3 -3
  8. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +1 -0
  9. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +26 -26
  10. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  11. package/dist/event-bus/implementations/derivables/event-bus/listener-store.d.ts +11 -4
  12. package/dist/event-bus/implementations/derivables/event-bus/listener-store.js +17 -12
  13. package/dist/event-bus/implementations/derivables/event-bus/listener-store.js.map +1 -1
  14. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +17 -20
  15. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
  16. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +159 -752
  17. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
  18. package/dist/lock/contracts/database-lock-adapter.contract.d.ts +52 -14
  19. package/dist/lock/contracts/lock-adapter.contract.d.ts +29 -8
  20. package/dist/lock/contracts/lock-adapter.contract.js +10 -1
  21. package/dist/lock/contracts/lock-adapter.contract.js.map +1 -1
  22. package/dist/lock/contracts/lock.contract.d.ts +17 -12
  23. package/dist/lock/contracts/lock.errors.d.ts +10 -0
  24. package/dist/lock/contracts/lock.errors.js +12 -0
  25. package/dist/lock/contracts/lock.errors.js.map +1 -1
  26. package/dist/lock/contracts/lock.events.d.ts +12 -0
  27. package/dist/lock/contracts/lock.events.js +1 -0
  28. package/dist/lock/contracts/lock.events.js.map +1 -1
  29. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +24 -6
  30. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +126 -31
  31. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
  32. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +20 -7
  33. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +59 -35
  34. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
  35. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +9 -9
  36. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +150 -78
  37. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
  38. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +5 -5
  39. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +3 -2
  40. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js.map +1 -1
  41. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +5 -5
  42. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +44 -22
  43. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
  44. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +3 -3
  45. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js +42 -10
  46. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
  47. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js +7 -5
  48. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +1 -1
  49. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  50. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +1 -1
  51. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +3 -2
  52. package/dist/lock/implementations/derivables/lock-provider/lock.js +60 -41
  53. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  54. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +184 -166
  55. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js.map +1 -1
  56. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +240 -41
  57. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js.map +1 -1
  58. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +2700 -1510
  59. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
  60. package/dist/utilities/contracts/deinitizable.contract.d.ts +1 -1
  61. package/dist/utilities/contracts/initizable.contract.d.ts +1 -1
  62. package/dist/utilities/contracts/prunable.contract.d.ts +1 -1
  63. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"is-database-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/derivables/lock-provider/is-database-lock-adapter.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACjC,OAA4C;IAE5C,MAAM,QAAQ,GAAG,OAEhB,CAAC;IACF,OAAO,CACH,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,UAAU;QACxC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;QAC/B,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,UAAU;QACxC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;QAC/B,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,UAAU;QACxC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;QAC/B,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,UAAU;QACzC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC;QAChC,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,UAAU;QACtC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAChC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"is-database-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/derivables/lock-provider/is-database-lock-adapter.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACjC,OAA4C;IAE5C,MAAM,QAAQ,GAAG,OAEhB,CAAC;IAEF,OAAO,CACH,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,UAAU;QACxC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;QAC/B,OAAO,QAAQ,CAAC,iBAAiB,CAAC,KAAK,UAAU;QACjD,QAAQ,CAAC,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC;QACxC,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,UAAU;QACxC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;QAC/B,OAAO,QAAQ,CAAC,eAAe,CAAC,KAAK,UAAU;QAC/C,QAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC;QACtC,OAAO,QAAQ,CAAC,yBAAyB,CAAC,KAAK,UAAU;QACzD,QAAQ,CAAC,yBAAyB,CAAC,CAAC,MAAM,KAAK,CAAC;QAChD,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,UAAU;QACtC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAChC,CAAC;AACN,CAAC"}
@@ -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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"}
@@ -16,7 +16,7 @@ export type LockSerdeTransformerSettings = {
16
16
  adapter: ILockAdapter;
17
17
  lockStore: ILockStore;
18
18
  namespace: Namespace;
19
- createLazyPromise: <TValue = void>(asyncFn: () => PromiseLike<TValue>) => LazyPromise<TValue>;
19
+ createLazyPromise: <TValue = void>(asyncFn: () => Promise<TValue>) => LazyPromise<TValue>;
20
20
  defaultBlockingInterval: TimeSpan;
21
21
  defaultBlockingTime: TimeSpan;
22
22
  defaultRefreshTime: TimeSpan;
@@ -21,7 +21,7 @@ export type ISerializedLock = {
21
21
  * @internal
22
22
  */
23
23
  export type LockSettings = {
24
- createLazyPromise: <TValue = void>(asyncFn: () => PromiseLike<TValue>) => LazyPromise<TValue>;
24
+ createLazyPromise: <TValue = void>(asyncFn: () => Promise<TValue>) => LazyPromise<TValue>;
25
25
  serdeTransformerName: string;
26
26
  adapter: ILockAdapter;
27
27
  lockState: LockState;
@@ -65,9 +65,10 @@ export declare class Lock implements ILock {
65
65
  acquireBlockingOrFail(settings?: LockAquireBlockingSettings): LazyPromise<void>;
66
66
  release(): LazyPromise<boolean>;
67
67
  releaseOrFail(): LazyPromise<void>;
68
- forceRelease(): LazyPromise<void>;
68
+ forceRelease(): LazyPromise<boolean>;
69
69
  isExpired(): LazyPromise<boolean>;
70
70
  isLocked(): LazyPromise<boolean>;
71
+ private _refresh;
71
72
  refresh(ttl?: TimeSpan): LazyPromise<boolean>;
72
73
  refreshOrFail(ttl?: TimeSpan): LazyPromise<void>;
73
74
  getRemainingTime(): LazyPromise<TimeSpan | null>;
@@ -4,7 +4,7 @@
4
4
  import { TimeSpan } from "../../../../utilities/_module-exports.js";
5
5
  import { resolveLazyable, resultSuccess, resultFailure, } from "../../../../utilities/_module-exports.js";
6
6
  import { resolveOneOrMoreStr } from "../../../../utilities/_module-exports.js";
7
- import { KeyAlreadyAcquiredLockError, LOCK_EVENTS, UnownedRefreshLockError, UnownedReleaseLockError, } from "../../../../lock/contracts/_module-exports.js";
7
+ import { KeyAlreadyAcquiredLockError, LOCK_EVENTS, LOCK_REFRESH_RESULT, UnownedRefreshLockError, UnownedReleaseLockError, UnrefreshableKeyLockError, } from "../../../../lock/contracts/_module-exports.js";
8
8
  import {} from "../../../../lock/contracts/_module-exports.js";
9
9
  import { LazyPromise } from "../../../../async/_module-exports.js";
10
10
  /**
@@ -160,7 +160,7 @@ export class Lock {
160
160
  return this.createLazyPromise(async () => {
161
161
  const { time = this.defaultBlockingTime, interval = this.defaultBlockingInterval, } = settings;
162
162
  const endDate = time.toEndDate();
163
- while (endDate.getTime() > new Date().getTime()) {
163
+ while (endDate > new Date()) {
164
164
  const hasAquired = await this.acquire();
165
165
  if (hasAquired) {
166
166
  return true;
@@ -228,14 +228,17 @@ export class Lock {
228
228
  forceRelease() {
229
229
  return this.createLazyPromise(async () => {
230
230
  try {
231
- await this.adapter.forceRelease(this.key.namespaced);
231
+ const hasRelased = await this.adapter.forceRelease(this.key.namespaced);
232
232
  this.lockState.remove();
233
- const event = {
234
- key: this.key.resolved,
235
- };
236
- this.eventDispatcher
237
- .dispatch(LOCK_EVENTS.FORCE_RELEASED, event)
238
- .defer();
233
+ if (hasRelased) {
234
+ const event = {
235
+ key: this.key.resolved,
236
+ };
237
+ this.eventDispatcher
238
+ .dispatch(LOCK_EVENTS.FORCE_RELEASED, event)
239
+ .defer();
240
+ }
241
+ return hasRelased;
239
242
  }
240
243
  catch (error) {
241
244
  const event = {
@@ -277,52 +280,68 @@ export class Lock {
277
280
  return !isExpired;
278
281
  });
279
282
  }
280
- refresh(ttl = this.defaultRefreshTime) {
281
- return this.createLazyPromise(async () => {
282
- try {
283
- const hasRefreshed = await this.adapter.refresh(this.key.namespaced, this.owner, ttl);
284
- if (hasRefreshed) {
285
- const event = {
286
- key: this.key.resolved,
287
- owner: this.owner,
288
- ttl,
289
- };
290
- this.lockState.set(ttl);
291
- this.eventDispatcher
292
- .dispatch(LOCK_EVENTS.REFRESHED, event)
293
- .defer();
294
- }
295
- else {
296
- const event = {
297
- key: this.key.resolved,
298
- owner: this.owner,
299
- };
300
- this.eventDispatcher
301
- .dispatch(LOCK_EVENTS.UNOWNED_REFRESH_TRY, event)
302
- .defer();
303
- }
304
- return hasRefreshed;
283
+ async _refresh(ttl = this.defaultRefreshTime) {
284
+ try {
285
+ const result = await this.adapter.refresh(this.key.namespaced, this.owner, ttl);
286
+ if (result === LOCK_REFRESH_RESULT.REFRESHED) {
287
+ const event = {
288
+ key: this.key.resolved,
289
+ owner: this.owner,
290
+ ttl,
291
+ };
292
+ this.lockState.set(ttl);
293
+ this.eventDispatcher
294
+ .dispatch(LOCK_EVENTS.REFRESHED, event)
295
+ .defer();
305
296
  }
306
- catch (error) {
297
+ else if (result === LOCK_REFRESH_RESULT.UNOWNED_REFRESH) {
307
298
  const event = {
308
299
  key: this.key.resolved,
309
300
  owner: this.owner,
310
- ttl: this.ttl,
311
- error,
312
301
  };
313
302
  this.eventDispatcher
314
- .dispatch(LOCK_EVENTS.UNEXPECTED_ERROR, event)
303
+ .dispatch(LOCK_EVENTS.UNOWNED_REFRESH_TRY, event)
315
304
  .defer();
316
- throw error;
317
305
  }
306
+ else {
307
+ const event = {
308
+ key: this.key.resolved,
309
+ owner: this.owner,
310
+ };
311
+ this.eventDispatcher
312
+ .dispatch(LOCK_EVENTS.UNEXPIREABLE_KEY_REFRESH_TRY, event)
313
+ .defer();
314
+ }
315
+ return result;
316
+ }
317
+ catch (error) {
318
+ const event = {
319
+ key: this.key.resolved,
320
+ owner: this.owner,
321
+ ttl: this.ttl,
322
+ error,
323
+ };
324
+ this.eventDispatcher
325
+ .dispatch(LOCK_EVENTS.UNEXPECTED_ERROR, event)
326
+ .defer();
327
+ throw error;
328
+ }
329
+ }
330
+ refresh(ttl = this.defaultRefreshTime) {
331
+ return this.createLazyPromise(async () => {
332
+ const result = await this._refresh(ttl);
333
+ return result === LOCK_REFRESH_RESULT.REFRESHED;
318
334
  });
319
335
  }
320
336
  refreshOrFail(ttl) {
321
337
  return this.createLazyPromise(async () => {
322
- const hasRefreshed = await this.refresh(ttl);
323
- if (!hasRefreshed) {
338
+ const result = await this._refresh(ttl);
339
+ if (result === LOCK_REFRESH_RESULT.UNOWNED_REFRESH) {
324
340
  throw new UnownedRefreshLockError(`Unonwed refresh on key "${this.key.resolved}" by owner "${this.owner}"`);
325
341
  }
342
+ if (result === LOCK_REFRESH_RESULT.UNEXPIRABLE_KEY) {
343
+ throw new UnrefreshableKeyLockError(`Key "${this.key.resolved}" is not`);
344
+ }
326
345
  });
327
346
  }
328
347
  getRemainingTime() {
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/derivables/lock-provider/lock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAKH,eAAe,EACf,aAAa,EACb,aAAa,GAChB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAWrE,OAAO,EACH,2BAA2B,EAC3B,WAAW,EACX,uBAAuB,EACvB,uBAAuB,GAG1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAGN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAmCzD;;GAEG;AACH,MAAM,OAAO,IAAI;IACb;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,iBAAuB;QAC9C,OAAO;YACH,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,QAAQ;YACnC,cAAc,EACV,iBAAiB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE;gBACxD,IAAI;YACR,KAAK,EAAE,iBAAiB,CAAC,KAAK;YAC9B,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,IAAI;SAC3D,CAAC;IACN,CAAC;IAEgB,iBAAiB,CAET;IACR,OAAO,CAAe;IACtB,SAAS,CAAY;IACrB,eAAe,CAAiC;IAChD,GAAG,CAAM;IACT,KAAK,CAAS;IACd,GAAG,CAAkB;IACrB,uBAAuB,CAAW;IAClC,mBAAmB,CAAW;IAC9B,kBAAkB,CAAW;IAC7B,oBAAoB,CAAS;IAE9C,YAAY,QAAsB;QAC9B,MAAM,EACF,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,eAAe,EACf,GAAG,EACH,KAAK,EACL,GAAG,EACH,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GACrB,GAAG,QAAQ,CAAC;QACb,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,CACd,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAC/D,CAAC;QACN,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAED,iCAAiC;QAC7B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAED,GAAG,CACC,OAA0B;QAE1B,OAAO,IAAI,CAAC,iBAAiB,CACzB,KAAK,IAA0D,EAAE;YAC7D,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACd,OAAO,aAAa,CAChB,IAAI,2BAA2B,CAC3B,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,oBAAoB,CAChD,CACJ,CAAC;gBACN,CAAC;gBAED,OAAO,aAAa,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACzD,CAAC;oBAAS,CAAC;gBACP,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;QACL,CAAC,CACJ,CAAC;IACN,CAAC;IAED,SAAS,CAAgB,OAA0B;QAC/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3B,OAAO,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;oBAAS,CAAC;gBACP,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CACP,OAA0B,EAC1B,QAAqC;QAErC,OAAO,IAAI,CAAC,iBAAiB,CACzB,KAAK,IAA0D,EAAE;YAC7D,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,CAAC,UAAU,EAAE,CAAC;oBACd,OAAO,aAAa,CAChB,IAAI,2BAA2B,CAC3B,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,oBAAoB,CAChD,CACJ,CAAC;gBACN,CAAC;gBAED,OAAO,aAAa,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACzD,CAAC;oBAAS,CAAC;gBACP,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;QACL,CAAC,CACJ,CAAC;IACN,CAAC;IAED,iBAAiB,CACb,OAA0B,EAC1B,QAAqC;QAErC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBAE3C,OAAO,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;oBAAS,CAAC;gBACP,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CACzC,IAAI,CAAC,GAAG,CAAC,UAAU,EACnB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACX,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACxB,IAAI,UAAU,EAAE,CAAC;oBACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC7B,MAAM,KAAK,GAAsB;wBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;wBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;qBAChB,CAAC;oBACF,IAAI,CAAC,eAAe;yBACf,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC;yBACrC,KAAK,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,GAAyB;wBAChC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;wBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;qBACpB,CAAC;oBACF,IAAI,CAAC,eAAe;yBACf,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC;yBACxC,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,OAAO,UAAU,CAAC;YACtB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,KAAK,GAA6B;oBACpC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;oBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,KAAK;iBACR,CAAC;gBACF,IAAI,CAAC,eAAe;qBACf,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC;qBAC7C,KAAK,EAAE,CAAC;gBAEb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,IAAI,2BAA2B,CACjC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,oBAAoB,CAChD,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CACX,WAAuC,EAAE;QAEzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,EACF,IAAI,GAAG,IAAI,CAAC,mBAAmB,EAC/B,QAAQ,GAAG,IAAI,CAAC,uBAAuB,GAC1C,GAAG,QAAQ,CAAC;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC9C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxC,IAAI,UAAU,EAAE,CAAC;oBACb,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,QAAqC;QAErC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,IAAI,2BAA2B,CACjC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,oBAAoB,CAChD,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAC1C,IAAI,CAAC,GAAG,CAAC,UAAU,EACnB,IAAI,CAAC,KAAK,CACb,CAAC;gBACF,IAAI,WAAW,EAAE,CAAC;oBACd,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAsB;wBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;wBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;qBACpB,CAAC;oBACF,IAAI,CAAC,eAAe;yBACf,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC;yBACrC,KAAK,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,GAA+B;wBACtC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;wBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;qBACpB,CAAC;oBACF,IAAI,CAAC,eAAe;yBACf,QAAQ,CAAC,WAAW,CAAC,mBAAmB,EAAE,KAAK,CAAC;yBAChD,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,OAAO,WAAW,CAAC;YACvB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,KAAK,GAA6B;oBACpC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;oBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,KAAK;iBACR,CAAC;gBACF,IAAI,CAAC,eAAe;qBACf,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC;qBAC7C,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,IAAI,uBAAuB,CAC7B,2BAA2B,IAAI,CAAC,GAAG,CAAC,QAAQ,eAAe,IAAI,CAAC,KAAK,GAAG,CAC3E,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACrD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,KAAK,GAA2B;oBAClC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;iBACzB,CAAC;gBACF,IAAI,CAAC,eAAe;qBACf,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC;qBAC3C,KAAK,EAAE,CAAC;YACjB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,KAAK,GAA6B;oBACpC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;oBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,KAAK;iBACR,CAAC;gBACF,IAAI,CAAC,eAAe;qBACf,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC;qBAC7C,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS;QACL,4DAA4D;QAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC;gBACD,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YACtC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,KAAK,GAA6B;oBACpC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;oBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,KAAK;iBACR,CAAC;gBACF,IAAI,CAAC,eAAe;qBACf,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC;qBAC7C,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,OAAO,CAAC,SAAS,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,MAAgB,IAAI,CAAC,kBAAkB;QAC3C,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAC3C,IAAI,CAAC,GAAG,CAAC,UAAU,EACnB,IAAI,CAAC,KAAK,EACV,GAAG,CACN,CAAC;gBACF,IAAI,YAAY,EAAE,CAAC;oBACf,MAAM,KAAK,GAAuB;wBAC9B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;wBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,GAAG;qBACN,CAAC;oBACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACxB,IAAI,CAAC,eAAe;yBACf,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC;yBACtC,KAAK,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,GAA+B;wBACtC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;wBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;qBACpB,CAAC;oBACF,IAAI,CAAC,eAAe;yBACf,QAAQ,CAAC,WAAW,CAAC,mBAAmB,EAAE,KAAK,CAAC;yBAChD,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,OAAO,YAAY,CAAC;YACxB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,KAAK,GAA6B;oBACpC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;oBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,KAAK;iBACR,CAAC;gBACF,IAAI,CAAC,eAAe;qBACf,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC;qBAC7C,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa,CAAC,GAAc;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,MAAM,IAAI,uBAAuB,CAC7B,2BAA2B,IAAI,CAAC,GAAG,CAAC,QAAQ,eAAe,IAAI,CAAC,KAAK,GAAG,CAC3E,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB;QACZ,4DAA4D;QAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC;gBACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YAChC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,KAAK,GAA6B;oBACpC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;oBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,KAAK;iBACR,CAAC;gBACF,IAAI,CAAC,eAAe;qBACf,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC;qBAC7C,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,4DAA4D;QAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC;YACtB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,KAAK,GAA6B;oBACpC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;oBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,KAAK;iBACR,CAAC;gBACF,IAAI,CAAC,eAAe;qBACf,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC;qBAC7C,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/derivables/lock-provider/lock.ts"],"names":[],"mappings":"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"}