@villedemontreal/correlation-id 5.3.9 → 5.3.10
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.
|
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.correlationIdService = void 0;
|
|
13
|
-
const
|
|
13
|
+
const async_hooks_1 = require("async_hooks");
|
|
14
14
|
const cls = require("cls-hooked");
|
|
15
15
|
const events_1 = require("events");
|
|
16
16
|
const semver = require("semver");
|
|
@@ -47,6 +47,7 @@ class CorrelationIdServiceWithClsHooked {
|
|
|
47
47
|
work().then(resolve).catch(reject);
|
|
48
48
|
}
|
|
49
49
|
catch (err) {
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
|
|
50
51
|
reject(err);
|
|
51
52
|
}
|
|
52
53
|
}, cid);
|
|
@@ -95,15 +96,14 @@ class CorrelationIdServiceWithClsHooked {
|
|
|
95
96
|
emitter[cidSlot] = this.getId();
|
|
96
97
|
return emitter;
|
|
97
98
|
}
|
|
98
|
-
//
|
|
99
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
99
100
|
bindFunction(target) {
|
|
100
101
|
return this.store.bind(target);
|
|
101
102
|
}
|
|
102
103
|
}
|
|
103
|
-
// tslint:disable-next-line: max-classes-per-file
|
|
104
104
|
class CorrelationIdServiceWithAsyncLocalStorage {
|
|
105
105
|
constructor() {
|
|
106
|
-
this.storage = new AsyncLocalStorage();
|
|
106
|
+
this.storage = new async_hooks_1.AsyncLocalStorage();
|
|
107
107
|
}
|
|
108
108
|
createNewId() {
|
|
109
109
|
return (0, uuid_1.v4)();
|
|
@@ -158,7 +158,7 @@ class CorrelationIdServiceWithAsyncLocalStorage {
|
|
|
158
158
|
emitter[storeSlot] = this.storage.getStore();
|
|
159
159
|
return emitter;
|
|
160
160
|
}
|
|
161
|
-
//
|
|
161
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
162
162
|
bindFunction(target) {
|
|
163
163
|
const storage = this.storage;
|
|
164
164
|
const store = this.storage.getStore();
|
|
@@ -169,7 +169,7 @@ class CorrelationIdServiceWithAsyncLocalStorage {
|
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
function canUseAsyncLocalStorage() {
|
|
172
|
-
return semver.satisfies(process.versions.node, '>=13.10.0') && !!AsyncLocalStorage;
|
|
172
|
+
return semver.satisfies(process.versions.node, '>=13.10.0') && !!async_hooks_1.AsyncLocalStorage;
|
|
173
173
|
}
|
|
174
174
|
exports.correlationIdService = canUseAsyncLocalStorage()
|
|
175
175
|
? new CorrelationIdServiceWithAsyncLocalStorage()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlationIdService.js","sourceRoot":"","sources":["../../../src/services/correlationIdService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"correlationIdService.js","sourceRoot":"","sources":["../../../src/services/correlationIdService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@villedemontreal/correlation-id",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.10",
|
|
4
4
|
"description": "Express middleware to set a correlation in Express. The correlation id will be consistent across async calls within the handling of a request.",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"typings": "dist/src",
|
|
@@ -47,12 +47,12 @@
|
|
|
47
47
|
"@types/mocha": "10.0.8",
|
|
48
48
|
"@types/semver": "7.5.8",
|
|
49
49
|
"@types/supertest": "6.0.2",
|
|
50
|
-
"@typescript-eslint/eslint-plugin": "
|
|
51
|
-
"@villedemontreal/scripting": "2.1.
|
|
50
|
+
"@typescript-eslint/eslint-plugin": "8.6.0",
|
|
51
|
+
"@villedemontreal/scripting": "2.1.9",
|
|
52
52
|
"chai": "4.5.0",
|
|
53
|
-
"eslint": "8.
|
|
54
|
-
"eslint-config-prettier": "
|
|
55
|
-
"eslint-plugin-prettier": "5.1
|
|
53
|
+
"eslint": "8.57.1",
|
|
54
|
+
"eslint-config-prettier": "9.1.0",
|
|
55
|
+
"eslint-plugin-prettier": "5.2.1",
|
|
56
56
|
"express": "4.21.0",
|
|
57
57
|
"fs-extra": "11.2.0",
|
|
58
58
|
"mocha": "10.7.3",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { AsyncLocalStorage } from 'async_hooks';
|
|
2
2
|
import * as cls from 'cls-hooked';
|
|
3
3
|
import { EventEmitter } from 'events';
|
|
4
4
|
import * as express from 'express';
|
|
@@ -113,6 +113,7 @@ class CorrelationIdServiceWithClsHooked implements ICorrelationIdService {
|
|
|
113
113
|
try {
|
|
114
114
|
work().then(resolve).catch(reject);
|
|
115
115
|
} catch (err) {
|
|
116
|
+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
|
|
116
117
|
reject(err);
|
|
117
118
|
}
|
|
118
119
|
}, cid);
|
|
@@ -165,15 +166,18 @@ class CorrelationIdServiceWithClsHooked implements ICorrelationIdService {
|
|
|
165
166
|
return emitter;
|
|
166
167
|
}
|
|
167
168
|
|
|
168
|
-
//
|
|
169
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
169
170
|
private bindFunction<T extends Function>(target: T): T {
|
|
170
171
|
return this.store.bind(target);
|
|
171
172
|
}
|
|
172
173
|
}
|
|
173
174
|
|
|
174
|
-
|
|
175
|
+
interface AsyncLocalStorageData {
|
|
176
|
+
correlationId?: string;
|
|
177
|
+
}
|
|
178
|
+
|
|
175
179
|
class CorrelationIdServiceWithAsyncLocalStorage implements ICorrelationIdService {
|
|
176
|
-
private storage = new AsyncLocalStorage();
|
|
180
|
+
private storage = new AsyncLocalStorage<AsyncLocalStorageData>();
|
|
177
181
|
|
|
178
182
|
public createNewId(): CorrelationId {
|
|
179
183
|
return uuid();
|
|
@@ -233,7 +237,7 @@ class CorrelationIdServiceWithAsyncLocalStorage implements ICorrelationIdService
|
|
|
233
237
|
return emitter;
|
|
234
238
|
}
|
|
235
239
|
|
|
236
|
-
//
|
|
240
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
237
241
|
private bindFunction<T extends Function>(target: T): T {
|
|
238
242
|
const storage = this.storage;
|
|
239
243
|
const store = this.storage.getStore();
|