vona-module-a-redlock 5.1.4 → 5.1.5
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/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/service/redlock.ts","../src/config/config.ts","../src/.metadata/index.ts","../src/lib/beanRedlockBase.ts"],"sourcesContent":[null,null,null,null],"names":["ServiceRedlock","BeanBase","constructor","args","_redlockDefault","lock","resource","fn","options","instanceName","undefined","ctx","redlock","redlockDefault","lockTTL","scope","config","_lockResource","getRedisClientKeyPrefix","app","instanceDesp","_lock","acquire","_lockTimer","_lockDone","clearInterval","setInterval","extend","then","catch","_err","release","lockIsolate","bean","database","current","switchDbIsolate","_create","base","create","options2","deepExtend","clients","clientName","client","redis","get","push","Redlock","__decorate","Service","__z_BeanInfo","module","meta","isDev","isTest","driftFactor","retryCount","retryDelay","retryJitter","ScopeModuleARedlock","BeanScopeBase","Scope","BeanRedlockBase","$scope","service","_prepareResource","SymbolModuleBelong"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/service/redlock.ts","../src/config/config.ts","../src/.metadata/index.ts","../src/lib/beanRedlockBase.ts"],"sourcesContent":[null,null,null,null],"names":["ServiceRedlock","BeanBase","constructor","args","_redlockDefault","lock","resource","fn","options","instanceName","undefined","ctx","redlock","redlockDefault","lockTTL","scope","config","_lockResource","getRedisClientKeyPrefix","app","instanceDesp","_lock","acquire","_lockTimer","_lockDone","clearInterval","setInterval","extend","then","catch","_err","release","lockIsolate","bean","database","current","switchDbIsolate","_create","base","create","options2","deepExtend","clients","clientName","client","redis","get","push","Redlock","__decorate","Service","__z_BeanInfo","module","meta","isDev","isTest","driftFactor","retryCount","retryDelay","retryJitter","ScopeModuleARedlock","BeanScopeBase","Scope","BeanRedlockBase","$scope","service","_prepareResource","SymbolModuleBelong"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beanRedlockBase.d.ts","sourceRoot":"","sources":["../../src/lib/beanRedlockBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAsB,MAAM,MAAM,CAAC;AAEpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE3F,qBAAa,eAAe,
|
|
1
|
+
{"version":3,"file":"beanRedlockBase.d.ts","sourceRoot":"","sources":["../../src/lib/beanRedlockBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAsB,MAAM,MAAM,CAAC;AAEpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE3F,qBAAa,eAAe,CAC1B,uBAAuB,EACvB,8BAA8B,CAC9B,SAAQ,QAAQ;IACV,IAAI,CAAC,MAAM,EACf,QAAQ,EAAE,uBAAuB,EACjC,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC;IAIZ,WAAW,CAAC,MAAM,EACtB,QAAQ,EAAE,8BAA8B,EACxC,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,EACzB,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,MAAM,CAAC;IAQlB,OAAO,CAAC,gBAAgB;CAGzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redlock.d.ts","sourceRoot":"","sources":["../../src/service/redlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAA4B,MAAM,MAAM,CAAC;AAI1D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"redlock.d.ts","sourceRoot":"","sources":["../../src/service/redlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAA4B,MAAM,MAAM,CAAC;AAI1D,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAE7B,qBACa,cAAe,SAAQ,QAAQ;IAC1C,OAAO,CAAC,eAAe,CAAU;IAEpB,IAAI,CAAC,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC;IAwCL,WAAW,CAAC,MAAM,EAC7B,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,EACzB,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,MAAM,CAAC;IAWlB,OAAO,KAAK,cAAc,GAKzB;IAEM,MAAM,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,qBAAqB,CAAC,GAAG,OAAO;IAOrE,OAAO,CAAC,OAAO;CAUhB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona-module-a-redlock",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.5",
|
|
4
|
+
"gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
|
|
4
5
|
"description": "",
|
|
5
6
|
"keywords": [
|
|
6
7
|
"Vona Module"
|
|
@@ -44,7 +45,6 @@
|
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
},
|
|
47
|
-
"gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
|
|
48
48
|
"scripts": {
|
|
49
49
|
"clean": "rimraf dist tsconfig.build.tsbuildinfo",
|
|
50
50
|
"tsc:publish": "npm run clean && vona :bin:buildModule --sourcemap && tsc -p tsconfig.build.json"
|
|
@@ -4,8 +4,15 @@ import { BeanBase, SymbolModuleBelong } from 'vona';
|
|
|
4
4
|
|
|
5
5
|
import type { IRedlockLockIsolateOptions, IRedlockLockOptions } from '../types/redlock.ts';
|
|
6
6
|
|
|
7
|
-
export class BeanRedlockBase<
|
|
8
|
-
|
|
7
|
+
export class BeanRedlockBase<
|
|
8
|
+
TypeRedlockLockResource,
|
|
9
|
+
TypeRedlockLockIsolateResource,
|
|
10
|
+
> extends BeanBase {
|
|
11
|
+
async lock<RESULT>(
|
|
12
|
+
resource: TypeRedlockLockResource,
|
|
13
|
+
fn: FunctionAsync<RESULT>,
|
|
14
|
+
options?: IRedlockLockOptions,
|
|
15
|
+
): Promise<RESULT> {
|
|
9
16
|
return this.$scope.redlock.service.redlock.lock(this._prepareResource(resource), fn, options);
|
|
10
17
|
}
|
|
11
18
|
|
|
@@ -14,7 +21,11 @@ export class BeanRedlockBase<TypeRedlockLockResource, TypeRedlockLockIsolateReso
|
|
|
14
21
|
fn: FunctionAsync<RESULT>,
|
|
15
22
|
options?: IRedlockLockIsolateOptions,
|
|
16
23
|
): Promise<RESULT> {
|
|
17
|
-
return this.$scope.redlock.service.redlock.lockIsolate(
|
|
24
|
+
return this.$scope.redlock.service.redlock.lockIsolate(
|
|
25
|
+
this._prepareResource(resource),
|
|
26
|
+
fn,
|
|
27
|
+
options,
|
|
28
|
+
);
|
|
18
29
|
}
|
|
19
30
|
|
|
20
31
|
private _prepareResource(resource: TypeRedlockLockResource | TypeRedlockLockIsolateResource) {
|
package/src/service/redlock.ts
CHANGED
|
@@ -5,14 +5,23 @@ import { BeanBase, deepExtend, instanceDesp } from 'vona';
|
|
|
5
5
|
import { Service } from 'vona-module-a-bean';
|
|
6
6
|
import { getRedisClientKeyPrefix } from 'vona-module-a-redis';
|
|
7
7
|
|
|
8
|
-
import type {
|
|
8
|
+
import type {
|
|
9
|
+
IRedlockClientOptions,
|
|
10
|
+
IRedlockLockIsolateOptions,
|
|
11
|
+
IRedlockLockOptions,
|
|
12
|
+
} from '../types/redlock.ts';
|
|
9
13
|
|
|
10
14
|
@Service()
|
|
11
15
|
export class ServiceRedlock extends BeanBase {
|
|
12
16
|
private _redlockDefault: Redlock;
|
|
13
17
|
|
|
14
|
-
public async lock<RESULT>(
|
|
15
|
-
|
|
18
|
+
public async lock<RESULT>(
|
|
19
|
+
resource: string,
|
|
20
|
+
fn: FunctionAsync<RESULT>,
|
|
21
|
+
options?: IRedlockLockOptions,
|
|
22
|
+
): Promise<RESULT> {
|
|
23
|
+
const instanceName =
|
|
24
|
+
options?.instanceName === undefined ? this.ctx?.instanceName : options?.instanceName;
|
|
16
25
|
const redlock = options?.redlock ?? this.redlockDefault;
|
|
17
26
|
const lockTTL = options?.lockTTL ?? this.scope.config.lockTTL;
|
|
18
27
|
// resource
|
|
@@ -50,7 +59,11 @@ export class ServiceRedlock extends BeanBase {
|
|
|
50
59
|
}
|
|
51
60
|
}
|
|
52
61
|
|
|
53
|
-
public async lockIsolate<RESULT>(
|
|
62
|
+
public async lockIsolate<RESULT>(
|
|
63
|
+
resource: string,
|
|
64
|
+
fn: FunctionAsync<RESULT>,
|
|
65
|
+
options?: IRedlockLockIsolateOptions,
|
|
66
|
+
): Promise<RESULT> {
|
|
54
67
|
return await this.lock(
|
|
55
68
|
resource,
|
|
56
69
|
async () => {
|
|
@@ -69,7 +82,9 @@ export class ServiceRedlock extends BeanBase {
|
|
|
69
82
|
}
|
|
70
83
|
|
|
71
84
|
public create(options?: PowerPartial<IRedlockClientOptions>): Redlock {
|
|
72
|
-
const options2: IRedlockClientOptions = options
|
|
85
|
+
const options2: IRedlockClientOptions = options
|
|
86
|
+
? deepExtend({}, this.scope.config.base, options)
|
|
87
|
+
: this.scope.config.base;
|
|
73
88
|
return this._create(options2);
|
|
74
89
|
}
|
|
75
90
|
|