murlock 3.2.1-beta.1 → 3.3.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.
- package/dist/als/als.module.js +18 -6
- package/dist/als/als.module.js.map +1 -1
- package/dist/als/als.service.d.ts +11 -0
- package/dist/als/als.service.js +52 -0
- package/dist/als/als.service.js.map +1 -0
- package/dist/decorators/murlock.decorator.js +16 -7
- package/dist/decorators/murlock.decorator.js.map +1 -1
- package/dist/murlock.module.js +0 -10
- package/dist/murlock.module.js.map +1 -1
- package/dist/murlock.service.d.ts +3 -3
- package/dist/murlock.service.js +5 -5
- package/dist/murlock.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/interceptors/async-local-storage.interceptor.d.ts +0 -8
- package/dist/interceptors/async-local-storage.interceptor.js +0 -32
- package/dist/interceptors/async-local-storage.interceptor.js.map +0 -1
- package/dist/interceptors/index.d.ts +0 -1
- package/dist/interceptors/index.js +0 -18
- package/dist/interceptors/index.js.map +0 -1
package/dist/als/als.module.js
CHANGED
|
@@ -1,16 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var AsyncStorageManagerModule_1;
|
|
2
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
10
|
exports.AsyncStorageManagerModule = void 0;
|
|
4
|
-
const
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
5
12
|
const als_manager_1 = require("./als-manager");
|
|
6
|
-
|
|
13
|
+
const als_service_1 = require("./als.service");
|
|
14
|
+
let AsyncStorageManagerModule = AsyncStorageManagerModule_1 = class AsyncStorageManagerModule {
|
|
7
15
|
static forRoot() {
|
|
8
16
|
return {
|
|
9
|
-
module:
|
|
10
|
-
providers: [
|
|
11
|
-
exports: [
|
|
17
|
+
module: AsyncStorageManagerModule_1,
|
|
18
|
+
providers: [als_service_1.AsyncStorageService, als_manager_1.AsyncStorageManager],
|
|
19
|
+
exports: [als_service_1.AsyncStorageService]
|
|
12
20
|
};
|
|
13
21
|
}
|
|
14
|
-
}
|
|
22
|
+
};
|
|
15
23
|
exports.AsyncStorageManagerModule = AsyncStorageManagerModule;
|
|
24
|
+
exports.AsyncStorageManagerModule = AsyncStorageManagerModule = AsyncStorageManagerModule_1 = __decorate([
|
|
25
|
+
(0, common_1.Global)(),
|
|
26
|
+
(0, common_1.Module)({})
|
|
27
|
+
], AsyncStorageManagerModule);
|
|
16
28
|
//# sourceMappingURL=als.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"als.module.js","sourceRoot":"","sources":["../../lib/als/als.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"als.module.js","sourceRoot":"","sources":["../../lib/als/als.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA8D;AAC9D,+CAAoD;AACpD,+CAAoD;AAI7C,IAAM,yBAAyB,iCAA/B,MAAM,yBAAyB;IACpC,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,2BAAyB;YACjC,SAAS,EAAE,CAAC,iCAAmB,EAAE,iCAAmB,CAAC;YACrD,OAAO,EAAE,CAAC,iCAAmB,CAAC;SAC/B,CAAA;IACH,CAAC;CACF,CAAA;AARY,8DAAyB;oCAAzB,yBAAyB;IAFrC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,yBAAyB,CAQrC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { OnModuleInit } from "@nestjs/common";
|
|
2
|
+
import { AsyncStorageManager } from "./als-manager";
|
|
3
|
+
export declare class AsyncStorageService implements OnModuleInit {
|
|
4
|
+
private asyncStorageManager;
|
|
5
|
+
constructor(asyncStorageManager: AsyncStorageManager<string>);
|
|
6
|
+
onModuleInit(): void;
|
|
7
|
+
runWithNewContext<R, TArgs extends any[]>(fn: (...args: TArgs) => R, ...args: TArgs): Promise<R>;
|
|
8
|
+
registerContext(): void;
|
|
9
|
+
get(key: string): string;
|
|
10
|
+
setClientID(key: string, value: string): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.AsyncStorageService = void 0;
|
|
22
|
+
const common_1 = require("@nestjs/common");
|
|
23
|
+
const als_manager_1 = require("./als-manager");
|
|
24
|
+
const async_hooks_1 = require("async_hooks");
|
|
25
|
+
let AsyncStorageService = class AsyncStorageService {
|
|
26
|
+
constructor(asyncStorageManager) {
|
|
27
|
+
this.asyncStorageManager = asyncStorageManager;
|
|
28
|
+
}
|
|
29
|
+
onModuleInit() {
|
|
30
|
+
this.asyncStorageManager = new als_manager_1.AsyncStorageManager(new async_hooks_1.AsyncLocalStorage());
|
|
31
|
+
}
|
|
32
|
+
runWithNewContext(fn, ...args) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
return this.asyncStorageManager.runWithNewContext(fn, ...args);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
registerContext() {
|
|
38
|
+
this.asyncStorageManager.register();
|
|
39
|
+
}
|
|
40
|
+
get(key) {
|
|
41
|
+
return this.asyncStorageManager.get(key);
|
|
42
|
+
}
|
|
43
|
+
setClientID(key, value) {
|
|
44
|
+
this.asyncStorageManager.set(key, value);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
exports.AsyncStorageService = AsyncStorageService;
|
|
48
|
+
exports.AsyncStorageService = AsyncStorageService = __decorate([
|
|
49
|
+
(0, common_1.Injectable)(),
|
|
50
|
+
__metadata("design:paramtypes", [als_manager_1.AsyncStorageManager])
|
|
51
|
+
], AsyncStorageService);
|
|
52
|
+
//# sourceMappingURL=als.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"als.service.js","sourceRoot":"","sources":["../../lib/als/als.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,2CAA0D;AAC1D,+CAAoD;AACpD,6CAAgD;AAGzC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAAoB,mBAAgD;QAAhD,wBAAmB,GAAnB,mBAAmB,CAA6B;IAAI,CAAC;IAEzE,YAAY;QACV,IAAI,CAAC,mBAAmB,GAAG,IAAI,iCAAmB,CAAC,IAAI,+BAAiB,EAAO,CAAC,CAAC;IACnF,CAAC;IAEK,iBAAiB,CAAyB,EAAyB,EAAE,GAAG,IAAW;;YACvF,OAAO,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACjE,CAAC;KAAA;IAED,eAAe;QACb,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,KAAa;QACpC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;CACF,CAAA;AAtBY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAE8B,iCAAmB;GADjD,mBAAmB,CAsB/B"}
|
|
@@ -13,6 +13,8 @@ exports.MurLock = void 0;
|
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const exceptions_1 = require("../exceptions");
|
|
15
15
|
const murlock_service_1 = require("../murlock.service");
|
|
16
|
+
const utils_1 = require("../utils");
|
|
17
|
+
const als_service_1 = require("../als/als.service");
|
|
16
18
|
function getParameterNames(func) {
|
|
17
19
|
const STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
|
|
18
20
|
const ARGUMENT_NAMES = /([^\s,]+)/g;
|
|
@@ -22,8 +24,10 @@ function getParameterNames(func) {
|
|
|
22
24
|
}
|
|
23
25
|
function MurLock(releaseTime, ...keyParams) {
|
|
24
26
|
const injectMurlockService = (0, common_1.Inject)(murlock_service_1.MurLockService);
|
|
27
|
+
const injectAsyncStorageService = (0, common_1.Inject)(als_service_1.AsyncStorageService);
|
|
25
28
|
return (target, propertyKey, descriptor) => {
|
|
26
29
|
injectMurlockService(target, 'murlockServiceDecorator');
|
|
30
|
+
injectAsyncStorageService(target, 'asyncStorageService');
|
|
27
31
|
const originalMethod = descriptor.value;
|
|
28
32
|
const methodParameterNames = getParameterNames(originalMethod);
|
|
29
33
|
function constructLockKey(args) {
|
|
@@ -52,16 +56,21 @@ function MurLock(releaseTime, ...keyParams) {
|
|
|
52
56
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
57
|
const lockKey = constructLockKey(args);
|
|
54
58
|
const murLockService = this.murlockServiceDecorator;
|
|
59
|
+
const asyncStorageService = this.asyncStorageService;
|
|
55
60
|
if (!murLockService) {
|
|
56
61
|
throw new exceptions_1.MurLockException('MurLockService is not available.');
|
|
57
62
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
return asyncStorageService.runWithNewContext(() => __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
asyncStorageService.registerContext();
|
|
65
|
+
asyncStorageService.setClientID('clientId', (0, utils_1.generateUuid)());
|
|
66
|
+
yield acquireLock(lockKey, murLockService, releaseTime);
|
|
67
|
+
try {
|
|
68
|
+
return yield originalMethod.apply(this, args);
|
|
69
|
+
}
|
|
70
|
+
finally {
|
|
71
|
+
yield releaseLock(lockKey, murLockService);
|
|
72
|
+
}
|
|
73
|
+
}));
|
|
65
74
|
});
|
|
66
75
|
};
|
|
67
76
|
return descriptor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"murlock.decorator.js","sourceRoot":"","sources":["../../lib/decorators/murlock.decorator.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwC;AACxC,8CAAiD;AACjD,wDAAoD;
|
|
1
|
+
{"version":3,"file":"murlock.decorator.js","sourceRoot":"","sources":["../../lib/decorators/murlock.decorator.ts"],"names":[],"mappings":"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"}
|
package/dist/murlock.module.js
CHANGED
|
@@ -10,8 +10,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.MurLockModule = void 0;
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const murlock_service_1 = require("./murlock.service");
|
|
13
|
-
const core_1 = require("@nestjs/core");
|
|
14
|
-
const interceptors_1 = require("./interceptors");
|
|
15
13
|
const als_module_1 = require("./als/als.module");
|
|
16
14
|
let MurLockModule = MurLockModule_1 = class MurLockModule {
|
|
17
15
|
static forRoot(options) {
|
|
@@ -24,10 +22,6 @@ let MurLockModule = MurLockModule_1 = class MurLockModule {
|
|
|
24
22
|
useValue: options,
|
|
25
23
|
},
|
|
26
24
|
murlock_service_1.MurLockService,
|
|
27
|
-
{
|
|
28
|
-
provide: core_1.APP_INTERCEPTOR,
|
|
29
|
-
useClass: interceptors_1.AsyncStorageInterceptor,
|
|
30
|
-
},
|
|
31
25
|
],
|
|
32
26
|
exports: [murlock_service_1.MurLockService],
|
|
33
27
|
};
|
|
@@ -42,10 +36,6 @@ let MurLockModule = MurLockModule_1 = class MurLockModule {
|
|
|
42
36
|
providers: [
|
|
43
37
|
this.createAsyncOptionsProvider(options),
|
|
44
38
|
murlock_service_1.MurLockService,
|
|
45
|
-
{
|
|
46
|
-
provide: core_1.APP_INTERCEPTOR,
|
|
47
|
-
useClass: interceptors_1.AsyncStorageInterceptor,
|
|
48
|
-
},
|
|
49
39
|
],
|
|
50
40
|
exports: [murlock_service_1.MurLockService],
|
|
51
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"murlock.module.js","sourceRoot":"","sources":["../lib/murlock.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyE;AACzE,uDAAmD;AAEnD,
|
|
1
|
+
{"version":3,"file":"murlock.module.js","sourceRoot":"","sources":["../lib/murlock.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyE;AACzE,uDAAmD;AAEnD,iDAA6D;AAItD,IAAM,aAAa,qBAAnB,MAAM,aAAa;IACxB,MAAM,CAAC,OAAO,CAAC,OAA6B;QAC1C,OAAO;YACL,MAAM,EAAE,eAAa;YACrB,OAAO,EAAE,CAAC,sCAAyB,CAAC,OAAO,EAAE,CAAC;YAC9C,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,QAAQ,EAAE,OAAO;iBAClB;gBACD,gCAAc;aACf;YACD,OAAO,EAAE,CAAC,gCAAc,CAAC;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAkC;QACpD,OAAO;YACL,MAAM,EAAE,eAAa;YACrB,OAAO,EAAE;gBACP,sCAAyB,CAAC,OAAO,EAAE;gBACnC,GAAG,OAAO,CAAC,OAAO;aACnB,IAAI,CAAC,sCAAyB,CAAC,OAAO,EAAE,CAAC;YAC1C,SAAS,EAAE;gBACT,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;gBACxC,gCAAc;aACf;YACD,OAAO,EAAE,CAAC,gCAAc,CAAC;SAC1B,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,0BAA0B,CAAC,OAAkC;QAC1E,OAAO;YACL,OAAO,EAAE,iBAAiB;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;IACJ,CAAC;CACF,CAAA;AAtCY,sCAAa;wBAAb,aAAa;IAFzB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,aAAa,CAsCzB"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { OnApplicationShutdown, OnModuleInit } from '@nestjs/common';
|
|
2
2
|
import { MurLockModuleOptions } from './interfaces';
|
|
3
|
-
import {
|
|
3
|
+
import { AsyncStorageService } from './als/als.service';
|
|
4
4
|
export declare class MurLockService implements OnModuleInit, OnApplicationShutdown {
|
|
5
5
|
protected readonly options: MurLockModuleOptions;
|
|
6
|
-
private readonly
|
|
6
|
+
private readonly asyncStorageService;
|
|
7
7
|
private readonly logger;
|
|
8
8
|
private redisClient;
|
|
9
9
|
private readonly lockScript;
|
|
10
10
|
private readonly unlockScript;
|
|
11
|
-
constructor(options: MurLockModuleOptions,
|
|
11
|
+
constructor(options: MurLockModuleOptions, asyncStorageService: AsyncStorageService);
|
|
12
12
|
onModuleInit(): Promise<void>;
|
|
13
13
|
onApplicationShutdown(signal?: string): Promise<void>;
|
|
14
14
|
private getClientId;
|
package/dist/murlock.service.js
CHANGED
|
@@ -28,11 +28,11 @@ const redis_1 = require("redis");
|
|
|
28
28
|
const fs_1 = require("fs");
|
|
29
29
|
const path_1 = require("path");
|
|
30
30
|
const exceptions_1 = require("./exceptions");
|
|
31
|
-
const
|
|
31
|
+
const als_service_1 = require("./als/als.service");
|
|
32
32
|
let MurLockService = MurLockService_1 = class MurLockService {
|
|
33
|
-
constructor(options,
|
|
33
|
+
constructor(options, asyncStorageService) {
|
|
34
34
|
this.options = options;
|
|
35
|
-
this.
|
|
35
|
+
this.asyncStorageService = asyncStorageService;
|
|
36
36
|
this.logger = new common_1.Logger(MurLockService_1.name);
|
|
37
37
|
this.lockScript = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, './lua/lock.lua')).toString();
|
|
38
38
|
this.unlockScript = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, './lua/unlock.lua')).toString();
|
|
@@ -56,7 +56,7 @@ let MurLockService = MurLockService_1 = class MurLockService {
|
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
getClientId() {
|
|
59
|
-
return this.
|
|
59
|
+
return this.asyncStorageService.get('clientId');
|
|
60
60
|
}
|
|
61
61
|
sleep(ms) {
|
|
62
62
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
@@ -126,6 +126,6 @@ exports.MurLockService = MurLockService;
|
|
|
126
126
|
exports.MurLockService = MurLockService = MurLockService_1 = __decorate([
|
|
127
127
|
(0, common_1.Injectable)(),
|
|
128
128
|
__param(0, (0, common_1.Inject)('MURLOCK_OPTIONS')),
|
|
129
|
-
__metadata("design:paramtypes", [Object,
|
|
129
|
+
__metadata("design:paramtypes", [Object, als_service_1.AsyncStorageService])
|
|
130
130
|
], MurLockService);
|
|
131
131
|
//# sourceMappingURL=murlock.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"murlock.service.js","sourceRoot":"","sources":["../lib/murlock.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAiG;AACjG,iCAAsD;AACtD,2BAAkC;AAClC,+BAA4B;AAE5B,6CAAuE;AACvE,mDAAwD;AAMjD,IAAM,cAAc,sBAApB,MAAM,cAAc;IAMzB,YAC6B,OAAgD,EAC1D,
|
|
1
|
+
{"version":3,"file":"murlock.service.js","sourceRoot":"","sources":["../lib/murlock.service.ts"],"names":[],"mappings":"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"}
|