@rnw-community/nestjs-rxjs-lock 0.52.0 → 0.52.2
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.
- package/dist/cjs/nestjs-rxjs-lock-service/nestjs-rxjs-lock.service.d.ts.map +1 -1
- package/dist/cjs/nestjs-rxjs-lock-service/nestjs-rxjs-lock.service.js +8 -1
- package/dist/cjs/nestjs-rxjs-lock-service/nestjs-rxjs-lock.service.js.map +1 -1
- package/dist/cjs/tsconfig.build-cjs.tsbuildinfo +1 -1
- package/dist/esm/nestjs-rxjs-lock-service/nestjs-rxjs-lock.service.d.ts.map +1 -1
- package/dist/esm/nestjs-rxjs-lock-service/nestjs-rxjs-lock.service.js +8 -1
- package/dist/esm/nestjs-rxjs-lock-service/nestjs-rxjs-lock.service.js.map +1 -1
- package/dist/esm/tsconfig.build-esm.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nestjs-rxjs-lock.service.d.ts","sourceRoot":"","sources":["../../../src/nestjs-rxjs-lock-service/nestjs-rxjs-lock.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAqD,MAAM,MAAM,CAAC;AAI1F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,8BAAsB,qBAAqB,CAAC,CAAC,GAAG,MAAM;IAM9C,QAAQ,CAAC,KAAK,EAAE,YAAY;IAC5B,QAAQ,CAAC,OAAO,EAAE,2BAA2B;IANjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,SAAS,aAEI,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,2BAA2B;IAUjD;;;;;;;;;;OAUG;IACH,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,SAAkB,GAAG,UAAU,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"nestjs-rxjs-lock.service.d.ts","sourceRoot":"","sources":["../../../src/nestjs-rxjs-lock-service/nestjs-rxjs-lock.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAqD,MAAM,MAAM,CAAC;AAI1F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,8BAAsB,qBAAqB,CAAC,CAAC,GAAG,MAAM;IAM9C,QAAQ,CAAC,KAAK,EAAE,YAAY;IAC5B,QAAQ,CAAC,OAAO,EAAE,2BAA2B;IANjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,SAAS,aAEI,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,2BAA2B;IAUjD;;;;;;;;;;OAUG;IACH,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,SAAkB,GAAG,UAAU,CAAC,CAAC,CAAC;IAmB7G,OAAO,CAAC,MAAM,CAAC,YAAY;CAG9B"}
|
|
@@ -31,8 +31,15 @@ class NestJSRxJSLockService {
|
|
|
31
31
|
*/
|
|
32
32
|
lock$(name, prefix, handler$, expireInMs = this.expireInMs) {
|
|
33
33
|
const lockName = NestJSRxJSLockService.generateName(name, prefix);
|
|
34
|
+
const unlock = async (lock) => {
|
|
35
|
+
// HINT: https://github.com/mike-marcacci/node-redlock/issues/65#issuecomment-1306774223
|
|
36
|
+
if (lock.expiration < Date.now() && lock.expiration !== 0) {
|
|
37
|
+
await lock.unlock();
|
|
38
|
+
}
|
|
39
|
+
return void 0;
|
|
40
|
+
};
|
|
34
41
|
// TODO: Why do we have an array of locks here?
|
|
35
|
-
return (0, rxjs_1.from)(this.lock.acquire([lockName], expireInMs)).pipe((0, rxjs_1.concatMap)(lock => handler$().pipe((0, rxjs_1.finalize)(() => void
|
|
42
|
+
return (0, rxjs_1.from)(this.lock.acquire([lockName], expireInMs)).pipe((0, rxjs_1.concatMap)(lock => handler$().pipe((0, rxjs_1.finalize)(() => void unlock(lock)))), (0, rxjs_1.catchError)((e) => (0, rxjs_1.throwError)(() => `Lock for "${lockName}" failed: ${(0, shared_1.getErrorMessage)(e)}`)));
|
|
36
43
|
}
|
|
37
44
|
static generateName(name, prefix) {
|
|
38
45
|
return ['lock', prefix, name].filter(shared_1.isNotEmptyString).join(':');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nestjs-rxjs-lock.service.js","sourceRoot":"","sources":["../../../src/nestjs-rxjs-lock-service/nestjs-rxjs-lock.service.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAC9B,+BAA0F;AAE1F,kDAA0E;AAK1E,MAAsB,qBAAqB;IAIvC;IACI,8CAA8C;IACrC,KAAmB,EACnB,OAAoC;QADpC,UAAK,GAAL,KAAK,CAAc;QACnB,YAAO,GAAP,OAAO,CAA6B;QAE7C,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;QAE1C,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAO,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAI,IAAY,EAAE,MAAS,EAAE,QAA6B,EAAE,UAAU,GAAG,IAAI,CAAC,UAAU;QACzF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAElE,+CAA+C;QAC/C,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CACvD,IAAA,gBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"nestjs-rxjs-lock.service.js","sourceRoot":"","sources":["../../../src/nestjs-rxjs-lock-service/nestjs-rxjs-lock.service.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAC9B,+BAA0F;AAE1F,kDAA0E;AAK1E,MAAsB,qBAAqB;IAIvC;IACI,8CAA8C;IACrC,KAAmB,EACnB,OAAoC;QADpC,UAAK,GAAL,KAAK,CAAc;QACnB,YAAO,GAAP,OAAO,CAA6B;QAE7C,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;QAE1C,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAO,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAI,IAAY,EAAE,MAAS,EAAE,QAA6B,EAAE,UAAU,GAAG,IAAI,CAAC,UAAU;QACzF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,KAAK,EAAE,IAAkB,EAAiB,EAAE;YACvD,wFAAwF;YACxF,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;gBACvD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;aACvB;YAED,OAAO,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,+CAA+C;QAC/C,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CACvD,IAAA,gBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACrE,IAAA,iBAAU,EAAC,CAAC,CAAU,EAAE,EAAE,CAAC,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,aAAa,QAAQ,aAAa,IAAA,wBAAe,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACvG,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,YAAY,CAAI,IAAY,EAAE,MAAS;QAClD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,yBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;CACJ;AAlDD,sDAkDC"}
|