@rnw-community/nestjs-enterprise 1.9.0 → 1.10.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.
- package/dist/cjs/decorator/histogram-metric/histogram-metric.decorator.d.ts +2 -2
- package/dist/cjs/decorator/histogram-metric/histogram-metric.decorator.d.ts.map +1 -1
- package/dist/cjs/decorator/histogram-metric/histogram-metric.decorator.js +1 -3
- package/dist/cjs/decorator/histogram-metric/histogram-metric.decorator.js.map +1 -1
- package/dist/cjs/decorator/lock/create-observable-lock-decorators/create-observable-lock-decorators.d.ts +8 -0
- package/dist/cjs/decorator/lock/create-observable-lock-decorators/create-observable-lock-decorators.d.ts.map +1 -0
- package/dist/cjs/decorator/lock/create-observable-lock-decorators/create-observable-lock-decorators.js +22 -0
- package/dist/cjs/decorator/lock/create-observable-lock-decorators/create-observable-lock-decorators.js.map +1 -0
- package/dist/cjs/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.d.ts +8 -0
- package/dist/cjs/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.d.ts.map +1 -0
- package/dist/cjs/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.js +22 -0
- package/dist/cjs/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.js.map +1 -0
- package/dist/cjs/decorator/lock/interface/lock-handle.interface.d.ts +4 -0
- package/dist/cjs/decorator/lock/interface/lock-handle.interface.d.ts.map +1 -0
- package/dist/cjs/{type/method-decorator.type.js → decorator/lock/interface/lock-handle.interface.js} +1 -1
- package/dist/cjs/decorator/lock/interface/lock-handle.interface.js.map +1 -0
- package/dist/cjs/decorator/lock/interface/lock-service.interface.d.ts +6 -0
- package/dist/cjs/decorator/lock/interface/lock-service.interface.d.ts.map +1 -0
- package/dist/cjs/decorator/lock/interface/lock-service.interface.js +3 -0
- package/dist/cjs/decorator/lock/interface/lock-service.interface.js.map +1 -0
- package/dist/cjs/decorator/lock/lock-observable/lock-observable.decorator.d.ts +6 -2
- package/dist/cjs/decorator/lock/lock-observable/lock-observable.decorator.d.ts.map +1 -1
- package/dist/cjs/decorator/lock/lock-observable/lock-observable.decorator.js +10 -24
- package/dist/cjs/decorator/lock/lock-observable/lock-observable.decorator.js.map +1 -1
- package/dist/cjs/decorator/lock/lock-promise/lock-promise.decorator.d.ts +6 -2
- package/dist/cjs/decorator/lock/lock-promise/lock-promise.decorator.d.ts.map +1 -1
- package/dist/cjs/decorator/lock/lock-promise/lock-promise.decorator.js +9 -42
- package/dist/cjs/decorator/lock/lock-promise/lock-promise.decorator.js.map +1 -1
- package/dist/cjs/decorator/lock/service/lockable.service.d.ts +3 -0
- package/dist/cjs/decorator/lock/service/lockable.service.d.ts.map +1 -1
- package/dist/cjs/decorator/lock/service/lockable.service.js +3 -1
- package/dist/cjs/decorator/lock/service/lockable.service.js.map +1 -1
- package/dist/cjs/decorator/lock/util/execute-lock-observable.util.d.ts +4 -0
- package/dist/cjs/decorator/lock/util/execute-lock-observable.util.d.ts.map +1 -0
- package/dist/cjs/decorator/lock/util/execute-lock-observable.util.js +34 -0
- package/dist/cjs/decorator/lock/util/execute-lock-observable.util.js.map +1 -0
- package/dist/cjs/decorator/lock/util/execute-lock-promise.util.d.ts +4 -0
- package/dist/cjs/decorator/lock/util/execute-lock-promise.util.d.ts.map +1 -0
- package/dist/cjs/decorator/lock/util/execute-lock-promise.util.js +38 -0
- package/dist/cjs/decorator/lock/util/execute-lock-promise.util.js.map +1 -0
- package/dist/cjs/decorator/lock/util/get-lock-service.util.d.ts +3 -0
- package/dist/cjs/decorator/lock/util/get-lock-service.util.d.ts.map +1 -0
- package/dist/cjs/decorator/lock/util/get-lock-service.util.js +13 -0
- package/dist/cjs/decorator/lock/util/get-lock-service.util.js.map +1 -0
- package/dist/cjs/decorator/lock/util/get-method-name.util.d.ts +2 -0
- package/dist/cjs/decorator/lock/util/get-method-name.util.d.ts.map +1 -0
- package/dist/cjs/decorator/lock/util/get-method-name.util.js +6 -0
- package/dist/cjs/decorator/lock/util/get-method-name.util.js.map +1 -0
- package/dist/cjs/decorator/lock/util/get-redlock-service.util.d.ts +4 -0
- package/dist/cjs/decorator/lock/util/get-redlock-service.util.d.ts.map +1 -0
- package/dist/cjs/decorator/lock/util/get-redlock-service.util.js +18 -0
- package/dist/cjs/decorator/lock/util/get-redlock-service.util.js.map +1 -0
- package/dist/cjs/decorator/lock/util/inject-lock-service.util.d.ts +4 -0
- package/dist/cjs/decorator/lock/util/inject-lock-service.util.d.ts.map +1 -0
- package/dist/cjs/decorator/lock/util/inject-lock-service.util.js +9 -0
- package/dist/cjs/decorator/lock/util/inject-lock-service.util.js.map +1 -0
- package/dist/cjs/decorator/lock/util/run-pre-lock.util.d.ts.map +1 -1
- package/dist/cjs/decorator/lock/util/run-pre-lock.util.js +5 -1
- package/dist/cjs/decorator/lock/util/run-pre-lock.util.js.map +1 -1
- package/dist/cjs/decorator/lock/util/validate-redlock.util.d.ts +1 -0
- package/dist/cjs/decorator/lock/util/validate-redlock.util.d.ts.map +1 -1
- package/dist/cjs/decorator/lock/util/validate-redlock.util.js +1 -0
- package/dist/cjs/decorator/lock/util/validate-redlock.util.js.map +1 -1
- package/dist/cjs/decorator/log/log.decorator.d.ts +2 -2
- package/dist/cjs/decorator/log/log.decorator.d.ts.map +1 -1
- package/dist/cjs/decorator/log/log.decorator.js +4 -9
- package/dist/cjs/decorator/log/log.decorator.js.map +1 -1
- package/dist/cjs/decorator/log/type/error-log-function.type.d.ts +1 -1
- package/dist/cjs/decorator/log/type/error-log-function.type.d.ts.map +1 -1
- package/dist/cjs/decorator/log/type/post-log-function.type.d.ts +1 -1
- package/dist/cjs/decorator/log/type/post-log-function.type.d.ts.map +1 -1
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/type/pre-decorator-function.type.d.ts +1 -1
- package/dist/cjs/type/pre-decorator-function.type.d.ts.map +1 -1
- package/dist/esm/decorator/histogram-metric/histogram-metric.decorator.d.ts +2 -2
- package/dist/esm/decorator/histogram-metric/histogram-metric.decorator.d.ts.map +1 -1
- package/dist/esm/decorator/histogram-metric/histogram-metric.decorator.js +1 -3
- package/dist/esm/decorator/histogram-metric/histogram-metric.decorator.js.map +1 -1
- package/dist/esm/decorator/lock/create-observable-lock-decorators/create-observable-lock-decorators.d.ts +8 -0
- package/dist/esm/decorator/lock/create-observable-lock-decorators/create-observable-lock-decorators.d.ts.map +1 -0
- package/dist/esm/decorator/lock/create-observable-lock-decorators/create-observable-lock-decorators.js +18 -0
- package/dist/esm/decorator/lock/create-observable-lock-decorators/create-observable-lock-decorators.js.map +1 -0
- package/dist/esm/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.d.ts +8 -0
- package/dist/esm/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.d.ts.map +1 -0
- package/dist/esm/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.js +18 -0
- package/dist/esm/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.js.map +1 -0
- package/dist/esm/decorator/lock/interface/lock-handle.interface.d.ts +4 -0
- package/dist/esm/decorator/lock/interface/lock-handle.interface.d.ts.map +1 -0
- package/dist/esm/decorator/lock/interface/lock-handle.interface.js +2 -0
- package/dist/esm/decorator/lock/interface/lock-handle.interface.js.map +1 -0
- package/dist/esm/decorator/lock/interface/lock-service.interface.d.ts +6 -0
- package/dist/esm/decorator/lock/interface/lock-service.interface.d.ts.map +1 -0
- package/dist/esm/decorator/lock/interface/lock-service.interface.js +2 -0
- package/dist/esm/decorator/lock/interface/lock-service.interface.js.map +1 -0
- package/dist/esm/decorator/lock/lock-observable/lock-observable.decorator.d.ts +6 -2
- package/dist/esm/decorator/lock/lock-observable/lock-observable.decorator.d.ts.map +1 -1
- package/dist/esm/decorator/lock/lock-observable/lock-observable.decorator.js +10 -24
- package/dist/esm/decorator/lock/lock-observable/lock-observable.decorator.js.map +1 -1
- package/dist/esm/decorator/lock/lock-promise/lock-promise.decorator.d.ts +6 -2
- package/dist/esm/decorator/lock/lock-promise/lock-promise.decorator.d.ts.map +1 -1
- package/dist/esm/decorator/lock/lock-promise/lock-promise.decorator.js +9 -42
- package/dist/esm/decorator/lock/lock-promise/lock-promise.decorator.js.map +1 -1
- package/dist/esm/decorator/lock/service/lockable.service.d.ts +3 -0
- package/dist/esm/decorator/lock/service/lockable.service.d.ts.map +1 -1
- package/dist/esm/decorator/lock/service/lockable.service.js +3 -1
- package/dist/esm/decorator/lock/service/lockable.service.js.map +1 -1
- package/dist/esm/decorator/lock/util/execute-lock-observable.util.d.ts +4 -0
- package/dist/esm/decorator/lock/util/execute-lock-observable.util.d.ts.map +1 -0
- package/dist/esm/decorator/lock/util/execute-lock-observable.util.js +30 -0
- package/dist/esm/decorator/lock/util/execute-lock-observable.util.js.map +1 -0
- package/dist/esm/decorator/lock/util/execute-lock-promise.util.d.ts +4 -0
- package/dist/esm/decorator/lock/util/execute-lock-promise.util.d.ts.map +1 -0
- package/dist/esm/decorator/lock/util/execute-lock-promise.util.js +34 -0
- package/dist/esm/decorator/lock/util/execute-lock-promise.util.js.map +1 -0
- package/dist/esm/decorator/lock/util/get-lock-service.util.d.ts +3 -0
- package/dist/esm/decorator/lock/util/get-lock-service.util.d.ts.map +1 -0
- package/dist/esm/decorator/lock/util/get-lock-service.util.js +9 -0
- package/dist/esm/decorator/lock/util/get-lock-service.util.js.map +1 -0
- package/dist/esm/decorator/lock/util/get-method-name.util.d.ts +2 -0
- package/dist/esm/decorator/lock/util/get-method-name.util.d.ts.map +1 -0
- package/dist/esm/decorator/lock/util/get-method-name.util.js +2 -0
- package/dist/esm/decorator/lock/util/get-method-name.util.js.map +1 -0
- package/dist/esm/decorator/lock/util/get-redlock-service.util.d.ts +4 -0
- package/dist/esm/decorator/lock/util/get-redlock-service.util.d.ts.map +1 -0
- package/dist/esm/decorator/lock/util/get-redlock-service.util.js +14 -0
- package/dist/esm/decorator/lock/util/get-redlock-service.util.js.map +1 -0
- package/dist/esm/decorator/lock/util/inject-lock-service.util.d.ts +4 -0
- package/dist/esm/decorator/lock/util/inject-lock-service.util.d.ts.map +1 -0
- package/dist/esm/decorator/lock/util/inject-lock-service.util.js +5 -0
- package/dist/esm/decorator/lock/util/inject-lock-service.util.js.map +1 -0
- package/dist/esm/decorator/lock/util/run-pre-lock.util.d.ts.map +1 -1
- package/dist/esm/decorator/lock/util/run-pre-lock.util.js +5 -1
- package/dist/esm/decorator/lock/util/run-pre-lock.util.js.map +1 -1
- package/dist/esm/decorator/lock/util/validate-redlock.util.d.ts +1 -0
- package/dist/esm/decorator/lock/util/validate-redlock.util.d.ts.map +1 -1
- package/dist/esm/decorator/lock/util/validate-redlock.util.js +1 -0
- package/dist/esm/decorator/lock/util/validate-redlock.util.js.map +1 -1
- package/dist/esm/decorator/log/log.decorator.d.ts +2 -2
- package/dist/esm/decorator/log/log.decorator.d.ts.map +1 -1
- package/dist/esm/decorator/log/log.decorator.js +4 -9
- package/dist/esm/decorator/log/log.decorator.js.map +1 -1
- package/dist/esm/decorator/log/type/error-log-function.type.d.ts +1 -1
- package/dist/esm/decorator/log/type/error-log-function.type.d.ts.map +1 -1
- package/dist/esm/decorator/log/type/post-log-function.type.d.ts +1 -1
- package/dist/esm/decorator/log/type/post-log-function.type.d.ts.map +1 -1
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/type/pre-decorator-function.type.d.ts +1 -1
- package/dist/esm/type/pre-decorator-function.type.d.ts.map +1 -1
- package/package.json +29 -8
- package/readme.md +20 -7
- package/dist/cjs/type/method-decorator.type.d.ts +0 -2
- package/dist/cjs/type/method-decorator.type.d.ts.map +0 -1
- package/dist/cjs/type/method-decorator.type.js.map +0 -1
- package/dist/esm/type/method-decorator.type.d.ts +0 -2
- package/dist/esm/type/method-decorator.type.d.ts.map +0 -1
- package/dist/esm/type/method-decorator.type.js +0 -2
- package/dist/esm/type/method-decorator.type.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type HistogramConfiguration } from 'prom-client';
|
|
2
|
-
import type
|
|
3
|
-
export declare const HistogramMetric: <M extends string, K extends
|
|
2
|
+
import { type AnyFn, type MethodDecoratorType } from '@rnw-community/shared';
|
|
3
|
+
export declare const HistogramMetric: <M extends string, K extends AnyFn, TResult extends ReturnType<K>, TArgs extends Parameters<K>>(metricName: string, configuration?: Omit<HistogramConfiguration<M>, "name">) => MethodDecoratorType<K>;
|
|
4
4
|
//# sourceMappingURL=histogram-metric.decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"histogram-metric.decorator.d.ts","sourceRoot":"","sources":["../../../../src/decorator/histogram-metric/histogram-metric.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,sBAAsB,EAAY,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"histogram-metric.decorator.d.ts","sourceRoot":"","sources":["../../../../src/decorator/histogram-metric/histogram-metric.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,sBAAsB,EAAY,MAAM,aAAa,CAAC;AAE/E,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,mBAAmB,EAAa,MAAM,uBAAuB,CAAC;AAGxF,eAAO,MAAM,eAAe,GACvB,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,KAAK,EAAE,OAAO,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,EACtF,YAAY,MAAM,EAClB,gBAAgB,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KACxD,mBAAmB,CAAC,CAAC,CA6BvB,CAAC"}
|
|
@@ -3,9 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.HistogramMetric = void 0;
|
|
4
4
|
const prom_client_1 = require("prom-client");
|
|
5
5
|
const shared_1 = require("@rnw-community/shared");
|
|
6
|
-
const HistogramMetric =
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
|
-
(metricName, configuration) => (_target, _propertyKey, descriptor) => {
|
|
6
|
+
const HistogramMetric = (metricName, configuration) => (_target, _propertyKey, descriptor) => {
|
|
9
7
|
let histogram = prom_client_1.register.getSingleMetric(metricName);
|
|
10
8
|
if (!(0, shared_1.isDefined)(histogram)) {
|
|
11
9
|
histogram = new prom_client_1.Histogram({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"histogram-metric.decorator.js","sourceRoot":"","sources":["../../../../src/decorator/histogram-metric/histogram-metric.decorator.ts"],"names":[],"mappings":";;;AAAA,6CAA+E;AAE/E,
|
|
1
|
+
{"version":3,"file":"histogram-metric.decorator.js","sourceRoot":"","sources":["../../../../src/decorator/histogram-metric/histogram-metric.decorator.ts"],"names":[],"mappings":";;;AAAA,6CAA+E;AAE/E,kDAAwF;AAGjF,MAAM,eAAe,GACxB,CACQ,UAAkB,EAClB,aAAuD,EACjC,EAAE,CAC5B,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE;IAClC,IAAI,SAAS,GAAG,sBAAQ,CAAC,eAAe,CAAC,UAAU,CAA6B,CAAC;IAEjF,IAAI,CAAC,IAAA,kBAAS,EAAC,SAAS,CAAC,EAAE,CAAC;QACxB,SAAS,GAAG,IAAI,uBAAS,CAAC;YACtB,IAAI,EAAE,UAAU;YAChB,GAAG,aAAa;YAChB,IAAI,EAAE,UAAU;SACnB,CAAC,CAAC;IACP,CAAC;IAED,oEAAoE;IACpE,MAAM,cAAc,GAAG,UAAU,CAAC,KAAM,CAAC;IAEzC,sCAAsC;IACtC,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAW;QACvC,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;QAE5C,IAAI,CAAC;YACD,oEAAoE;YACpE,+DAA+D;YAC/D,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACP,YAAY,EAAE,CAAC;QACnB,CAAC;IACL,CAAM,CAAC;IAEP,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AAjCG,QAAA,eAAe,mBAiClB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PreDecoratorFunction } from '../../../type/pre-decorator-function.type';
|
|
2
|
+
import type { LockServiceInterface } from '../interface/lock-service.interface';
|
|
3
|
+
import type { AbstractConstructor, AnyFn, MethodDecoratorType } from '@rnw-community/shared';
|
|
4
|
+
export declare const createObservableLockDecorators: (serviceToken: AbstractConstructor<LockServiceInterface>, defaultDuration: number) => {
|
|
5
|
+
SequentialLock$: <K extends AnyFn, TResult extends ReturnType<K>, TArgs extends Parameters<K>>(preLock: PreDecoratorFunction<TArgs, string[]> | string[], catchErrorFn$?: (error: unknown) => TResult, duration?: number) => MethodDecoratorType<K>;
|
|
6
|
+
ExclusiveLock$: <K extends AnyFn, TResult extends ReturnType<K>, TArgs extends Parameters<K>>(preLock: PreDecoratorFunction<TArgs, string[]> | string[], catchErrorFn$?: (error: unknown) => TResult, duration?: number) => MethodDecoratorType<K>;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=create-observable-lock-decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-observable-lock-decorators.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/create-observable-lock-decorators/create-observable-lock-decorators.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE7F,eAAO,MAAM,8BAA8B,GAAI,cAAc,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,MAAM;sBAOlH,CAAC,SAAS,KAAK,EAAE,OAAO,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,WAC3D,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,kBACzC,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,aAChC,MAAM,KAClB,mBAAmB,CAAC,CAAC,CAAC;qBAJ5B,CAAC,SAAS,KAAK,EAAE,OAAO,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,WAC3D,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,kBACzC,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,aAChC,MAAM,KAClB,mBAAmB,CAAC,CAAC,CAAC;CAiBxC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createObservableLockDecorators = void 0;
|
|
4
|
+
const execute_lock_observable_util_1 = require("../util/execute-lock-observable.util");
|
|
5
|
+
const get_lock_service_util_1 = require("../util/get-lock-service.util");
|
|
6
|
+
const get_method_name_util_1 = require("../util/get-method-name.util");
|
|
7
|
+
const inject_lock_service_util_1 = require("../util/inject-lock-service.util");
|
|
8
|
+
const createObservableLockDecorators = (serviceToken, defaultDuration) => {
|
|
9
|
+
const serviceSymbol = Symbol('LockService');
|
|
10
|
+
const getService = (instance) => (0, get_lock_service_util_1.getLockService)(instance, serviceSymbol);
|
|
11
|
+
const createDecorator = (retryCount) => (preLock, catchErrorFn$, duration) => (target, propertyKey, descriptor) => {
|
|
12
|
+
(0, inject_lock_service_util_1.injectLockService)(target, serviceToken, serviceSymbol);
|
|
13
|
+
descriptor.value = (0, execute_lock_observable_util_1.executeLockObservable)(getService, preLock, duration ?? defaultDuration, retryCount,
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
15
|
+
descriptor.value, (0, get_method_name_util_1.getMethodName)(target, propertyKey), catchErrorFn$);
|
|
16
|
+
return descriptor;
|
|
17
|
+
};
|
|
18
|
+
// eslint-disable-next-line no-undefined
|
|
19
|
+
return { SequentialLock$: createDecorator(undefined), ExclusiveLock$: createDecorator(0) };
|
|
20
|
+
};
|
|
21
|
+
exports.createObservableLockDecorators = createObservableLockDecorators;
|
|
22
|
+
//# sourceMappingURL=create-observable-lock-decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-observable-lock-decorators.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/create-observable-lock-decorators/create-observable-lock-decorators.ts"],"names":[],"mappings":";;;AAAA,uFAA6E;AAC7E,yEAA+D;AAC/D,uEAA6D;AAC7D,+EAAqE;AAM9D,MAAM,8BAA8B,GAAG,CAAC,YAAuD,EAAE,eAAuB,EAAE,EAAE;IAC/H,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,CAAC,QAAiB,EAAwB,EAAE,CAC3D,IAAA,sCAAc,EAAC,QAAmC,EAAE,aAAa,CAAC,CAAC;IAEvE,MAAM,eAAe,GACjB,CAAC,UAA8B,EAAE,EAAE,CAC/B,CACQ,OAAyD,EACzD,aAA2C,EAC3C,QAAiB,EACK,EAAE,CAC5B,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;QAChC,IAAA,4CAAiB,EAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAEvD,UAAU,CAAC,KAAK,GAAG,IAAA,oDAAqB,EACpC,UAAU,EAAE,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,UAAU;QAC5D,oEAAoE;QACpE,UAAU,CAAC,KAAM,EACjB,IAAA,oCAAa,EAAC,MAAM,EAAE,WAAW,CAAC,EAClC,aAAa,CACX,CAAC;QAEP,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;IAEd,wCAAwC;IACxC,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/F,CAAC,CAAC;AA5BW,QAAA,8BAA8B,kCA4BzC"}
|
package/dist/cjs/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PreDecoratorFunction } from '../../../type/pre-decorator-function.type';
|
|
2
|
+
import type { LockServiceInterface } from '../interface/lock-service.interface';
|
|
3
|
+
import type { AbstractConstructor, AnyFn, MethodDecoratorType } from '@rnw-community/shared';
|
|
4
|
+
export declare const createPromiseLockDecorators: (serviceToken: AbstractConstructor<LockServiceInterface>, defaultDuration: number) => {
|
|
5
|
+
SequentialLock: <K extends AnyFn, TResult extends ReturnType<K>, TArgs extends Parameters<K>>(preLock: PreDecoratorFunction<TArgs, string[]> | string[], catchErrorFn?: (error: unknown) => TResult, duration?: number) => MethodDecoratorType<K>;
|
|
6
|
+
ExclusiveLock: <K extends AnyFn, TResult extends ReturnType<K>, TArgs extends Parameters<K>>(preLock: PreDecoratorFunction<TArgs, string[]> | string[], catchErrorFn?: (error: unknown) => TResult, duration?: number) => MethodDecoratorType<K>;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=create-promise-lock-decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-promise-lock-decorators.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE7F,eAAO,MAAM,2BAA2B,GAAI,cAAc,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,MAAM;qBAO/G,CAAC,SAAS,KAAK,EAAE,OAAO,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,WAC3D,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,iBAC1C,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,aAC/B,MAAM,KAClB,mBAAmB,CAAC,CAAC,CAAC;oBAJ5B,CAAC,SAAS,KAAK,EAAE,OAAO,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,WAC3D,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,iBAC1C,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,aAC/B,MAAM,KAClB,mBAAmB,CAAC,CAAC,CAAC;CAiBxC,CAAC"}
|
package/dist/cjs/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createPromiseLockDecorators = void 0;
|
|
4
|
+
const execute_lock_promise_util_1 = require("../util/execute-lock-promise.util");
|
|
5
|
+
const get_lock_service_util_1 = require("../util/get-lock-service.util");
|
|
6
|
+
const get_method_name_util_1 = require("../util/get-method-name.util");
|
|
7
|
+
const inject_lock_service_util_1 = require("../util/inject-lock-service.util");
|
|
8
|
+
const createPromiseLockDecorators = (serviceToken, defaultDuration) => {
|
|
9
|
+
const serviceSymbol = Symbol('LockService');
|
|
10
|
+
const getService = (instance) => (0, get_lock_service_util_1.getLockService)(instance, serviceSymbol);
|
|
11
|
+
const createDecorator = (retryCount) => (preLock, catchErrorFn, duration) => (target, propertyKey, descriptor) => {
|
|
12
|
+
(0, inject_lock_service_util_1.injectLockService)(target, serviceToken, serviceSymbol);
|
|
13
|
+
descriptor.value = (0, execute_lock_promise_util_1.executeLockPromise)(getService, preLock, duration ?? defaultDuration, retryCount,
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
15
|
+
descriptor.value, (0, get_method_name_util_1.getMethodName)(target, propertyKey), catchErrorFn);
|
|
16
|
+
return descriptor;
|
|
17
|
+
};
|
|
18
|
+
// eslint-disable-next-line no-undefined
|
|
19
|
+
return { SequentialLock: createDecorator(undefined), ExclusiveLock: createDecorator(0) };
|
|
20
|
+
};
|
|
21
|
+
exports.createPromiseLockDecorators = createPromiseLockDecorators;
|
|
22
|
+
//# sourceMappingURL=create-promise-lock-decorators.js.map
|
package/dist/cjs/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-promise-lock-decorators.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/create-promise-lock-decorators/create-promise-lock-decorators.ts"],"names":[],"mappings":";;;AAAA,iFAAuE;AACvE,yEAA+D;AAC/D,uEAA6D;AAC7D,+EAAqE;AAM9D,MAAM,2BAA2B,GAAG,CAAC,YAAuD,EAAE,eAAuB,EAAE,EAAE;IAC5H,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,CAAC,QAAiB,EAAwB,EAAE,CAC3D,IAAA,sCAAc,EAAC,QAAmC,EAAE,aAAa,CAAC,CAAC;IAEvE,MAAM,eAAe,GACjB,CAAC,UAA8B,EAAE,EAAE,CAC/B,CACQ,OAAyD,EACzD,YAA0C,EAC1C,QAAiB,EACK,EAAE,CAC5B,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;QAChC,IAAA,4CAAiB,EAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAEvD,UAAU,CAAC,KAAK,GAAG,IAAA,8CAAkB,EACjC,UAAU,EAAE,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,UAAU;QAC5D,oEAAoE;QACpE,UAAU,CAAC,KAAM,EACjB,IAAA,oCAAa,EAAC,MAAM,EAAE,WAAW,CAAC,EAClC,YAAY,CACV,CAAC;QAEP,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;IAEd,wCAAwC;IACxC,OAAO,EAAE,cAAc,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7F,CAAC,CAAC;AA5BW,QAAA,2BAA2B,+BA4BtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock-handle.interface.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/interface/lock-handle.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock-handle.interface.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/interface/lock-handle.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LockHandle } from './lock-handle.interface';
|
|
2
|
+
export interface LockServiceInterface {
|
|
3
|
+
acquire(resources: string[], duration: number): Promise<LockHandle>;
|
|
4
|
+
tryAcquire(resources: string[], duration: number): Promise<LockHandle | undefined>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=lock-service.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock-service.interface.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/interface/lock-service.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACpE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CACtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock-service.interface.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/interface/lock-service.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import type { MethodDecoratorType } from '../../../type/method-decorator.type';
|
|
2
1
|
import type { PreDecoratorFunction } from '../../../type/pre-decorator-function.type';
|
|
3
|
-
|
|
2
|
+
import type { AnyFn, MethodDecoratorType } from '@rnw-community/shared';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use `createObservableLockDecorators` instead. This decorator requires class inheritance from `LockableService`.
|
|
5
|
+
* @see {@link createObservableLockDecorators} for the DI-based approach.
|
|
6
|
+
*/
|
|
7
|
+
export declare const LockObservable: <K extends AnyFn, TResult extends ReturnType<K>, TArgs extends Parameters<K>>(preLock: PreDecoratorFunction<TArgs, string[]> | string[], duration: number, catchErrorFn$?: (error: unknown) => TResult, retryCount?: number) => MethodDecoratorType<K>;
|
|
4
8
|
//# sourceMappingURL=lock-observable.decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-observable.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/lock-observable/lock-observable.decorator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lock-observable.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/lock-observable/lock-observable.decorator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,cAAc,GACtB,CAAC,SAAS,KAAK,EAAE,OAAO,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,EACpE,SAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,EACzD,UAAU,MAAM,EAChB,gBAAgB,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,EAC3C,aAAa,MAAM,KACpB,mBAAmB,CAAC,CAAC,CAWvB,CAAC"}
|
|
@@ -1,31 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LockObservable = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
const execute_lock_observable_util_1 = require("../util/execute-lock-observable.util");
|
|
5
|
+
const get_method_name_util_1 = require("../util/get-method-name.util");
|
|
6
|
+
const get_redlock_service_util_1 = require("../util/get-redlock-service.util");
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Use `createObservableLockDecorators` instead. This decorator requires class inheritance from `LockableService`.
|
|
9
|
+
* @see {@link createObservableLockDecorators} for the DI-based approach.
|
|
10
|
+
*/
|
|
11
|
+
const LockObservable = (preLock, duration, catchErrorFn$, retryCount) => (target, propertyKey, descriptor) => {
|
|
12
|
+
descriptor.value = (0, execute_lock_observable_util_1.executeLockObservable)(get_redlock_service_util_1.getRedlockService, preLock, duration, retryCount,
|
|
11
13
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
12
|
-
|
|
13
|
-
// eslint-disable-next-line func-names
|
|
14
|
-
descriptor.value = function (...args) {
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
16
|
-
return (0, rxjs_1.of)(true).pipe((0, rxjs_1.tap)(() => void (0, validate_redlock_util_1.validateRedlock)(this)), (0, rxjs_1.map)(() => (0, run_pre_lock_util_1.runPreLock)(preLock, ...args)), (0, rxjs_1.concatMap)(lockKeys => (0, rxjs_1.from)(this.redlock.acquire(lockKeys, duration)).pipe((0, rxjs_1.concatMap)(currentLock => {
|
|
17
|
-
const result = originalMethod.apply(this, args);
|
|
18
|
-
if (!(0, rxjs_1.isObservable)(result)) {
|
|
19
|
-
void currentLock.release().catch(() => void 0);
|
|
20
|
-
throw new Error(`Method ${target.constructor.name}::${String(propertyKey)} does not return an observable`);
|
|
21
|
-
}
|
|
22
|
-
return result.pipe((0, rxjs_1.finalize)(() => {
|
|
23
|
-
void currentLock.release().catch(() => void 0);
|
|
24
|
-
}));
|
|
25
|
-
}), (0, shared_1.isDefined)(catchErrorFn$)
|
|
26
|
-
? (0, rxjs_1.catchError)((err) => catchErrorFn$(err))
|
|
27
|
-
: (0, rxjs_1.tap)())));
|
|
28
|
-
};
|
|
14
|
+
descriptor.value, (0, get_method_name_util_1.getMethodName)(target, propertyKey), catchErrorFn$);
|
|
29
15
|
return descriptor;
|
|
30
16
|
};
|
|
31
17
|
exports.LockObservable = LockObservable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-observable.decorator.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/lock-observable/lock-observable.decorator.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"lock-observable.decorator.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/lock-observable/lock-observable.decorator.ts"],"names":[],"mappings":";;;AAAA,uFAA6E;AAC7E,uEAA6D;AAC7D,+EAAqE;AAKrE;;;GAGG;AACI,MAAM,cAAc,GACvB,CACQ,OAAyD,EACzD,QAAgB,EAChB,aAA2C,EAC3C,UAAmB,EACG,EAAE,CAC5B,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;IAChC,UAAU,CAAC,KAAK,GAAG,IAAA,oDAAqB,EACpC,4CAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU;IAChD,oEAAoE;IACpE,UAAU,CAAC,KAAM,EACjB,IAAA,oCAAa,EAAC,MAAM,EAAE,WAAW,CAAC,EAClC,aAAa,CACX,CAAC;IAEP,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AAjBG,QAAA,cAAc,kBAiBjB"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import type { MethodDecoratorType } from '../../../type/method-decorator.type';
|
|
2
1
|
import type { PreDecoratorFunction } from '../../../type/pre-decorator-function.type';
|
|
3
|
-
|
|
2
|
+
import type { AnyFn, MethodDecoratorType } from '@rnw-community/shared';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use `createPromiseLockDecorators` instead. This decorator requires class inheritance from `LockableService`.
|
|
5
|
+
* @see {@link createPromiseLockDecorators} for the DI-based approach.
|
|
6
|
+
*/
|
|
7
|
+
export declare const LockPromise: <K extends AnyFn, TResult extends ReturnType<K>, TArgs extends Parameters<K>>(preLock: PreDecoratorFunction<TArgs, string[]> | string[], duration: number, catchErrorFn?: (error: unknown) => TResult, retryCount?: number) => MethodDecoratorType<K>;
|
|
4
8
|
//# sourceMappingURL=lock-promise.decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-promise.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/lock-promise/lock-promise.decorator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lock-promise.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/lock-promise/lock-promise.decorator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,WAAW,GACnB,CAAC,SAAS,KAAK,EAAE,OAAO,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,EACpE,SAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,EACzD,UAAU,MAAM,EAChB,eAAe,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,EAC1C,aAAa,MAAM,KACpB,mBAAmB,CAAC,CAAC,CAUvB,CAAC"}
|
|
@@ -1,48 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LockPromise = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// eslint-disable-next-line func-names
|
|
14
|
-
descriptor.value = function (...args) {
|
|
15
|
-
let lockKeys;
|
|
16
|
-
try {
|
|
17
|
-
(0, validate_redlock_util_1.validateRedlock)(this);
|
|
18
|
-
lockKeys = (0, run_pre_lock_util_1.runPreLock)(preLock, ...args);
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
|
|
22
|
-
return Promise.reject(error);
|
|
23
|
-
}
|
|
24
|
-
return this.redlock
|
|
25
|
-
.acquire(lockKeys, duration)
|
|
26
|
-
.then(currentLock => {
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
28
|
-
const originalResult = originalMethod.apply(this, args);
|
|
29
|
-
if (!(0, shared_1.isPromise)(originalResult)) {
|
|
30
|
-
// HINT: https://github.com/mike-marcacci/node-redlock/issues/168
|
|
31
|
-
void currentLock.release().catch(() => void 0);
|
|
32
|
-
throw new Error(`Method ${target.constructor.name}::${String(propertyKey)} does not return a promise`);
|
|
33
|
-
}
|
|
34
|
-
return originalResult.finally(() => {
|
|
35
|
-
// HINT: https://github.com/mike-marcacci/node-redlock/issues/168
|
|
36
|
-
void currentLock.release().catch(() => void 0);
|
|
37
|
-
});
|
|
38
|
-
})
|
|
39
|
-
.catch((err) => {
|
|
40
|
-
if ((0, shared_1.isDefined)(catchErrorFn)) {
|
|
41
|
-
return catchErrorFn(err);
|
|
42
|
-
}
|
|
43
|
-
throw err;
|
|
44
|
-
});
|
|
45
|
-
};
|
|
4
|
+
const execute_lock_promise_util_1 = require("../util/execute-lock-promise.util");
|
|
5
|
+
const get_method_name_util_1 = require("../util/get-method-name.util");
|
|
6
|
+
const get_redlock_service_util_1 = require("../util/get-redlock-service.util");
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Use `createPromiseLockDecorators` instead. This decorator requires class inheritance from `LockableService`.
|
|
9
|
+
* @see {@link createPromiseLockDecorators} for the DI-based approach.
|
|
10
|
+
*/
|
|
11
|
+
const LockPromise = (preLock, duration, catchErrorFn, retryCount) => (target, propertyKey, descriptor) => {
|
|
12
|
+
descriptor.value = (0, execute_lock_promise_util_1.executeLockPromise)(get_redlock_service_util_1.getRedlockService, preLock, duration, retryCount, descriptor.value, (0, get_method_name_util_1.getMethodName)(target, propertyKey), catchErrorFn);
|
|
46
13
|
return descriptor;
|
|
47
14
|
};
|
|
48
15
|
exports.LockPromise = LockPromise;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-promise.decorator.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/lock-promise/lock-promise.decorator.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"lock-promise.decorator.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/lock-promise/lock-promise.decorator.ts"],"names":[],"mappings":";;;AAAA,iFAAuE;AACvE,uEAA6D;AAC7D,+EAAqE;AAKrE;;;GAGG;AACI,MAAM,WAAW,GACpB,CACQ,OAAyD,EACzD,QAAgB,EAChB,YAA0C,EAC1C,UAAmB,EACG,EAAE,CAC5B,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;IAChC,UAAU,CAAC,KAAK,GAAG,IAAA,8CAAkB,EACjC,4CAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAChD,UAAU,CAAC,KAAU,EACrB,IAAA,oCAAa,EAAC,MAAM,EAAE,WAAW,CAAC,EAClC,YAAY,CACV,CAAC;IAEP,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AAhBG,QAAA,WAAW,eAgBd"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import Redlock, { type Settings } from 'redlock';
|
|
2
2
|
import type Redis from 'ioredis';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use `createPromiseLockDecorators` or `createObservableLockDecorators` with a custom `LockServiceInterface` instead.
|
|
5
|
+
*/
|
|
3
6
|
export declare class LockableService {
|
|
4
7
|
private readonly redisClient;
|
|
5
8
|
readonly redlock: Redlock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lockable.service.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/service/lockable.service.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"lockable.service.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/service/lockable.service.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC;;GAEG;AACH,qBAAa,eAAe;IAKpB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAJhC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAIL,WAAW,EAAE,KAAK,EACnC,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;CAIlC"}
|
|
@@ -5,7 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.LockableService = void 0;
|
|
7
7
|
const redlock_1 = __importDefault(require("redlock"));
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Use `createPromiseLockDecorators` or `createObservableLockDecorators` with a custom `LockServiceInterface` instead.
|
|
10
|
+
*/
|
|
9
11
|
class LockableService {
|
|
10
12
|
constructor(
|
|
11
13
|
// TODO: Add support for multiple redis clients/sentinels/clusters?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lockable.service.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/service/lockable.service.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAiD;AAIjD
|
|
1
|
+
{"version":3,"file":"lockable.service.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/service/lockable.service.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAiD;AAIjD;;GAEG;AACH,MAAa,eAAe;IAGxB;IACI,mEAAmE;IAClD,WAAkB,EACnC,OAA2B;QADV,gBAAW,GAAX,WAAW,CAAO;QAGnC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;CACJ;AAVD,0CAUC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PreDecoratorFunction } from '../../../type/pre-decorator-function.type';
|
|
2
|
+
import type { LockServiceInterface } from '../interface/lock-service.interface';
|
|
3
|
+
export declare const executeLockObservable: <TResult, TArgs extends unknown[] = unknown[]>(getLockServiceFn: (instance: unknown) => LockServiceInterface, preLock: PreDecoratorFunction<TArgs, string[]> | string[], duration: number, retryCount: number | undefined, originalMethod: (...fnArgs: TArgs) => unknown, methodName: string, catchErrorFn$?: (error: unknown) => TResult) => (this: unknown, ...args: TArgs) => TResult;
|
|
4
|
+
//# sourceMappingURL=execute-lock-observable.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-lock-observable.util.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/execute-lock-observable.util.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,eAAO,MAAM,qBAAqB,GAAI,OAAO,EAAE,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAC9E,kBAAkB,CAAC,QAAQ,EAAE,OAAO,KAAK,oBAAoB,EAC7D,SAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,EACzD,UAAU,MAAM,EAChB,YAAY,MAAM,GAAG,SAAS,EAC9B,gBAAgB,CAAC,GAAG,MAAM,EAAE,KAAK,KAAK,OAAO,EAC7C,YAAY,MAAM,EAClB,gBAAgB,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,MAEhC,MAAM,OAAO,EAAE,GAAG,MAAM,KAAK,KAAG,OAmC9C,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeLockObservable = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const shared_1 = require("@rnw-community/shared");
|
|
6
|
+
const run_pre_lock_util_1 = require("./run-pre-lock.util");
|
|
7
|
+
const executeLockObservable = (getLockServiceFn, preLock, duration, retryCount, originalMethod, methodName, catchErrorFn$
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/max-params, func-names
|
|
9
|
+
) => function (...args) {
|
|
10
|
+
return (0, rxjs_1.defer)(() => {
|
|
11
|
+
const lockService = getLockServiceFn(this);
|
|
12
|
+
const lockKeys = (0, run_pre_lock_util_1.runPreLock)(preLock, ...args);
|
|
13
|
+
const acquireFn = retryCount === 0
|
|
14
|
+
? () => lockService.tryAcquire(lockKeys, duration)
|
|
15
|
+
: () => lockService.acquire(lockKeys, duration);
|
|
16
|
+
return (0, rxjs_1.from)(acquireFn()).pipe((0, rxjs_1.concatMap)(currentLock => {
|
|
17
|
+
if (!(0, shared_1.isDefined)(currentLock)) {
|
|
18
|
+
return rxjs_1.EMPTY;
|
|
19
|
+
}
|
|
20
|
+
const result = originalMethod.apply(this, args);
|
|
21
|
+
if (!(0, rxjs_1.isObservable)(result)) {
|
|
22
|
+
void currentLock.release().catch(() => void 0);
|
|
23
|
+
throw new Error(`Method ${methodName} does not return an observable`);
|
|
24
|
+
}
|
|
25
|
+
return result.pipe((0, rxjs_1.finalize)(() => {
|
|
26
|
+
void currentLock.release().catch(() => void 0);
|
|
27
|
+
}));
|
|
28
|
+
}), (0, shared_1.isDefined)(catchErrorFn$)
|
|
29
|
+
? (0, rxjs_1.catchError)((err) => catchErrorFn$(err))
|
|
30
|
+
: (0, rxjs_1.tap)());
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
exports.executeLockObservable = executeLockObservable;
|
|
34
|
+
//# sourceMappingURL=execute-lock-observable.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-lock-observable.util.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/execute-lock-observable.util.ts"],"names":[],"mappings":";;;AAAA,+BAA+G;AAE/G,kDAAkD;AAElD,2DAAiD;AAK1C,MAAM,qBAAqB,GAAG,CACjC,gBAA6D,EAC7D,OAAyD,EACzD,QAAgB,EAChB,UAA8B,EAC9B,cAA6C,EAC7C,UAAkB,EAClB,aAA2C;AAC3C,qEAAqE;EACvE,EAAE,CAAC,UAAyB,GAAG,IAAW;IACxC,OAAO,IAAA,YAAK,EAAC,GAAG,EAAE;QACd,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAA,8BAAU,EAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAE9C,MAAM,SAAS,GACX,UAAU,KAAK,CAAC;YACZ,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAClD,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAExD,OAAO,IAAA,WAAI,EAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CACzB,IAAA,gBAAS,EAAC,WAAW,CAAC,EAAE;YACpB,IAAI,CAAC,IAAA,kBAAS,EAAC,WAAW,CAAC,EAAE,CAAC;gBAC1B,OAAO,YAAK,CAAC;YACjB,CAAC;YAED,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAwB,CAAC;YAEvE,IAAI,CAAC,IAAA,mBAAY,EAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE/C,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,gCAAgC,CAAC,CAAC;YAC1E,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CACd,IAAA,eAAQ,EAAC,GAAG,EAAE;gBACV,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CAAC,EACF,IAAA,kBAAS,EAAC,aAAa,CAAC;YACpB,CAAC,CAAC,IAAA,iBAAU,EAAC,CAAC,GAAY,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAwB,CAAC;YACzE,CAAC,CAAC,IAAA,UAAG,GAAE,CACd,CAAC;IACN,CAAC,CAAY,CAAC;AAClB,CAAC,CAAC;AA5CW,QAAA,qBAAqB,yBA4ChC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PreDecoratorFunction } from '../../../type/pre-decorator-function.type';
|
|
2
|
+
import type { LockServiceInterface } from '../interface/lock-service.interface';
|
|
3
|
+
export declare const executeLockPromise: <TArgs extends unknown[] = unknown[]>(getLockServiceFn: (instance: unknown) => LockServiceInterface, preLock: PreDecoratorFunction<TArgs, string[]> | string[], duration: number, retryCount: number | undefined, originalMethod: (...fnArgs: TArgs) => unknown, methodName: string, catchErrorFn?: (error: unknown) => unknown) => (this: unknown, ...args: TArgs) => Promise<unknown>;
|
|
4
|
+
//# sourceMappingURL=execute-lock-promise.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-lock-promise.util.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/execute-lock-promise.util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,eAAO,MAAM,kBAAkB,GAAI,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAClE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,KAAK,oBAAoB,EAC7D,SAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,EACzD,UAAU,MAAM,EAChB,YAAY,MAAM,GAAG,SAAS,EAC9B,gBAAgB,CAAC,GAAG,MAAM,EAAE,KAAK,KAAK,OAAO,EAC7C,YAAY,MAAM,EAClB,eAAe,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,MAEzB,MAAM,OAAO,EAAE,GAAG,MAAM,KAAK,KAAG,OAAO,CAAC,OAAO,CAkCnE,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeLockPromise = void 0;
|
|
4
|
+
const shared_1 = require("@rnw-community/shared");
|
|
5
|
+
const run_pre_lock_util_1 = require("./run-pre-lock.util");
|
|
6
|
+
const executeLockPromise = (getLockServiceFn, preLock, duration, retryCount, originalMethod, methodName, catchErrorFn
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/max-params, max-statements, func-names
|
|
8
|
+
) => async function (...args) {
|
|
9
|
+
const lockService = getLockServiceFn(this);
|
|
10
|
+
const lockKeys = (0, run_pre_lock_util_1.runPreLock)(preLock, ...args);
|
|
11
|
+
try {
|
|
12
|
+
const currentLock = retryCount === 0
|
|
13
|
+
? await lockService.tryAcquire(lockKeys, duration)
|
|
14
|
+
: await lockService.acquire(lockKeys, duration);
|
|
15
|
+
if (!(0, shared_1.isDefined)(currentLock)) {
|
|
16
|
+
// eslint-disable-next-line no-undefined
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
const originalResult = originalMethod.apply(this, args);
|
|
20
|
+
if (!(0, shared_1.isPromise)(originalResult)) {
|
|
21
|
+
// HINT: https://github.com/mike-marcacci/node-redlock/issues/168
|
|
22
|
+
void currentLock.release().catch(() => void 0);
|
|
23
|
+
throw new Error(`Method ${methodName} does not return a promise`);
|
|
24
|
+
}
|
|
25
|
+
return await originalResult.finally(() => {
|
|
26
|
+
// HINT: https://github.com/mike-marcacci/node-redlock/issues/168
|
|
27
|
+
void currentLock.release().catch(() => void 0);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
if ((0, shared_1.isDefined)(catchErrorFn)) {
|
|
32
|
+
return catchErrorFn(err);
|
|
33
|
+
}
|
|
34
|
+
throw err;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.executeLockPromise = executeLockPromise;
|
|
38
|
+
//# sourceMappingURL=execute-lock-promise.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-lock-promise.util.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/execute-lock-promise.util.ts"],"names":[],"mappings":";;;AAAA,kDAA6D;AAE7D,2DAAiD;AAK1C,MAAM,kBAAkB,GAAG,CAC9B,gBAA6D,EAC7D,OAAyD,EACzD,QAAgB,EAChB,UAA8B,EAC9B,cAA6C,EAC7C,UAAkB,EAClB,YAA0C;AAC1C,qFAAqF;EACvF,EAAE,CAAC,KAAK,WAA0B,GAAG,IAAW;IAC9C,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAA,8BAAU,EAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAE9C,IAAI,CAAC;QACD,MAAM,WAAW,GACb,UAAU,KAAK,CAAC;YACZ,CAAC,CAAC,MAAM,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAClD,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAExD,IAAI,CAAC,IAAA,kBAAS,EAAC,WAAW,CAAC,EAAE,CAAC;YAC1B,wCAAwC;YACxC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,cAAc,GAAY,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,IAAA,kBAAS,EAAC,cAAc,CAAC,EAAE,CAAC;YAC7B,iEAAiE;YACjE,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAE/C,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,4BAA4B,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE;YACrC,iEAAiE;YACjE,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACpB,IAAI,IAAA,kBAAS,EAAC,YAAY,CAAC,EAAE,CAAC;YAC1B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC,CAAC;AA3CW,QAAA,kBAAkB,sBA2C7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-lock-service.util.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/get-lock-service.util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,MAAM,KAAG,oBAOlF,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLockService = void 0;
|
|
4
|
+
const shared_1 = require("@rnw-community/shared");
|
|
5
|
+
const getLockService = (instance, symbol) => {
|
|
6
|
+
const service = instance[symbol];
|
|
7
|
+
if (!(0, shared_1.isDefined)(service)) {
|
|
8
|
+
throw new Error('LockService was not injected. Ensure the lock service provider is registered in the NestJS module.');
|
|
9
|
+
}
|
|
10
|
+
return service;
|
|
11
|
+
};
|
|
12
|
+
exports.getLockService = getLockService;
|
|
13
|
+
//# sourceMappingURL=get-lock-service.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-lock-service.util.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/get-lock-service.util.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAI3C,MAAM,cAAc,GAAG,CAAC,QAAiC,EAAE,MAAc,EAAwB,EAAE;IACtG,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAqC,CAAC;IACrE,IAAI,CAAC,IAAA,kBAAS,EAAC,OAAO,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;IAC1H,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-method-name.util.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/get-method-name.util.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,aAAa,MAAM,GAAG,MAAM,KAAG,MACrB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMethodName = void 0;
|
|
4
|
+
const getMethodName = (target, propertyKey) => `${target.constructor.name}::${String(propertyKey)}`;
|
|
5
|
+
exports.getMethodName = getMethodName;
|
|
6
|
+
//# sourceMappingURL=get-method-name.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-method-name.util.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/get-method-name.util.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,WAA4B,EAAU,EAAE,CAClF,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;AAD5C,QAAA,aAAa,iBAC+B"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LockServiceInterface } from '../interface/lock-service.interface';
|
|
2
|
+
/** @deprecated Used by deprecated `LockPromise`/`LockObservable` decorators. */
|
|
3
|
+
export declare const getRedlockService: (instance: unknown) => LockServiceInterface;
|
|
4
|
+
//# sourceMappingURL=get-redlock-service.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-redlock-service.util.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/get-redlock-service.util.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAGhF,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,GAAI,UAAU,OAAO,KAAG,oBAYrD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRedlockService = void 0;
|
|
4
|
+
const validate_redlock_util_1 = require("./validate-redlock.util");
|
|
5
|
+
/** @deprecated Used by deprecated `LockPromise`/`LockObservable` decorators. */
|
|
6
|
+
const getRedlockService = (instance) => {
|
|
7
|
+
const self = instance;
|
|
8
|
+
(0, validate_redlock_util_1.validateRedlock)(self);
|
|
9
|
+
return {
|
|
10
|
+
acquire: (keys, dur) => self.redlock.acquire(keys, dur),
|
|
11
|
+
tryAcquire: (keys, dur) => self.redlock
|
|
12
|
+
.acquire(keys, dur, { retryCount: 0 })
|
|
13
|
+
// eslint-disable-next-line no-undefined
|
|
14
|
+
.catch(() => undefined),
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
exports.getRedlockService = getRedlockService;
|
|
18
|
+
//# sourceMappingURL=get-redlock-service.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-redlock-service.util.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/get-redlock-service.util.ts"],"names":[],"mappings":";;;AAAA,mEAA0D;AAM1D,gFAAgF;AACzE,MAAM,iBAAiB,GAAG,CAAC,QAAiB,EAAwB,EAAE;IACzE,MAAM,IAAI,GAAG,QAA2B,CAAC;IACzC,IAAA,uCAAe,EAAC,IAAI,CAAC,CAAC;IAEtB,OAAO;QACH,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAmC;QACzF,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CACtB,IAAI,CAAC,OAAO;aACP,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;YACtC,wCAAwC;aACvC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAoC;KACrE,CAAC;AACN,CAAC,CAAC;AAZW,QAAA,iBAAiB,qBAY5B"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LockServiceInterface } from '../interface/lock-service.interface';
|
|
2
|
+
import type { AbstractConstructor } from '@rnw-community/shared';
|
|
3
|
+
export declare const injectLockService: (target: object, serviceToken: AbstractConstructor<LockServiceInterface>, symbol: symbol) => void;
|
|
4
|
+
//# sourceMappingURL=inject-lock-service.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject-lock-service.util.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/inject-lock-service.util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,eAAO,MAAM,iBAAiB,GAC1B,QAAQ,MAAM,EACd,cAAc,mBAAmB,CAAC,oBAAoB,CAAC,EACvD,QAAQ,MAAM,KACf,IAEF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.injectLockService = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const injectLockService = (target, serviceToken, symbol) => {
|
|
6
|
+
(0, common_1.Inject)(serviceToken)(target, symbol);
|
|
7
|
+
};
|
|
8
|
+
exports.injectLockService = injectLockService;
|
|
9
|
+
//# sourceMappingURL=inject-lock-service.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject-lock-service.util.js","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/inject-lock-service.util.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAKjC,MAAM,iBAAiB,GAAG,CAC7B,MAAc,EACd,YAAuD,EACvD,MAAc,EACV,EAAE;IACN,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC;AANW,QAAA,iBAAiB,qBAM5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-pre-lock.util.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/run-pre-lock.util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,eAAO,MAAM,UAAU,GAAI,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAC1D,SAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,EACzD,GAAG,MAAM,KAAK,KACf,MAAM,
|
|
1
|
+
{"version":3,"file":"run-pre-lock.util.d.ts","sourceRoot":"","sources":["../../../../../src/decorator/lock/util/run-pre-lock.util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,eAAO,MAAM,UAAU,GAAI,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAC1D,SAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,EACzD,GAAG,MAAM,KAAK,KACf,MAAM,EAaR,CAAC"}
|