@sprucelabs/mercury-event-emitter 42.0.526 → 42.0.528
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.
|
@@ -9,10 +9,9 @@ const spruce_event_utils_1 = require("@sprucelabs/spruce-event-utils");
|
|
|
9
9
|
const SpruceError_1 = __importDefault(require("./errors/SpruceError"));
|
|
10
10
|
class AbstractEventEmitter {
|
|
11
11
|
constructor(contract, options) {
|
|
12
|
-
var _a;
|
|
13
12
|
this.listenersByEvent = {};
|
|
14
13
|
this.eventContract = contract;
|
|
15
|
-
this.shouldEmitSequentally =
|
|
14
|
+
this.shouldEmitSequentally = options?.shouldEmitSequentally ?? false;
|
|
16
15
|
}
|
|
17
16
|
async emit(eventName, payload, cb) {
|
|
18
17
|
const { actualPayload, actualCallback } = this.normalizePayloadAndCallback(payload, cb);
|
|
@@ -23,7 +22,6 @@ class AbstractEventEmitter {
|
|
|
23
22
|
const listeners = this.listenersByEvent[eventName] || [];
|
|
24
23
|
let totalErrors = 0;
|
|
25
24
|
const emitOneAndValidate = async (listenerCb, idx) => {
|
|
26
|
-
var _a;
|
|
27
25
|
let response = await this.emitOne({
|
|
28
26
|
idx,
|
|
29
27
|
listenerCb,
|
|
@@ -33,7 +31,7 @@ class AbstractEventEmitter {
|
|
|
33
31
|
});
|
|
34
32
|
if (responseSchema && !response.errors) {
|
|
35
33
|
try {
|
|
36
|
-
this.validateResponsePayload(responseSchema,
|
|
34
|
+
this.validateResponsePayload(responseSchema, response.payload ?? {}, eventName);
|
|
37
35
|
}
|
|
38
36
|
catch (err) {
|
|
39
37
|
response = {
|
|
@@ -72,7 +70,7 @@ class AbstractEventEmitter {
|
|
|
72
70
|
return [];
|
|
73
71
|
}
|
|
74
72
|
const { payloads, errors } = spruce_event_utils_1.eventResponseUtil.getAllResponsePayloadsAndErrors(results, SpruceError_1.default);
|
|
75
|
-
if (errors
|
|
73
|
+
if (errors?.[0]) {
|
|
76
74
|
throw errors[0];
|
|
77
75
|
}
|
|
78
76
|
return payloads;
|
|
@@ -126,7 +124,7 @@ class AbstractEventEmitter {
|
|
|
126
124
|
if (schema) {
|
|
127
125
|
try {
|
|
128
126
|
//@ts-ignore
|
|
129
|
-
(0, schema_1.validateSchemaValues)(schema, actualPayload
|
|
127
|
+
(0, schema_1.validateSchemaValues)(schema, actualPayload ?? {});
|
|
130
128
|
}
|
|
131
129
|
catch (err) {
|
|
132
130
|
throw new SpruceError_1.default({
|
|
@@ -141,7 +139,7 @@ class AbstractEventEmitter {
|
|
|
141
139
|
if (schema) {
|
|
142
140
|
try {
|
|
143
141
|
//@ts-ignore
|
|
144
|
-
(0, schema_1.validateSchemaValues)(schema, actualPayload
|
|
142
|
+
(0, schema_1.validateSchemaValues)(schema, actualPayload ?? {});
|
|
145
143
|
}
|
|
146
144
|
catch (err) {
|
|
147
145
|
throw new SpruceError_1.default({
|
|
@@ -165,10 +163,9 @@ class AbstractEventEmitter {
|
|
|
165
163
|
this.listenersByEvent[eventName].push(cb);
|
|
166
164
|
}
|
|
167
165
|
async off(eventName, cb) {
|
|
168
|
-
var _a;
|
|
169
166
|
if (cb) {
|
|
170
167
|
let numForgotten = 0;
|
|
171
|
-
this.listenersByEvent[eventName] =
|
|
168
|
+
this.listenersByEvent[eventName] = this.listenersByEvent[eventName]?.filter((listener) => {
|
|
172
169
|
if (listener === cb) {
|
|
173
170
|
numForgotten++;
|
|
174
171
|
return false;
|
|
@@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const error_1 = __importDefault(require("@sprucelabs/error"));
|
|
7
7
|
class SpruceError extends error_1.default {
|
|
8
8
|
friendlyMessage() {
|
|
9
|
-
var _a, _b, _c, _d;
|
|
10
9
|
const { options } = this;
|
|
11
10
|
let message;
|
|
12
|
-
switch (options
|
|
11
|
+
switch (options?.code) {
|
|
13
12
|
case 'LISTENER_ERROR':
|
|
14
|
-
message = `Error in local event listener:\n\n${
|
|
13
|
+
message = `Error in local event listener:\n\n${options.originalError?.stack ??
|
|
14
|
+
options.originalError?.message ??
|
|
15
|
+
options.originalError}`;
|
|
15
16
|
break;
|
|
16
17
|
case 'INVALID_PAYLOAD':
|
|
17
18
|
message = `The emit payload you passed to "${options.eventName}" is invalid${options.originalError
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "42.0.
|
|
6
|
+
"version": "42.0.528",
|
|
7
7
|
"files": [
|
|
8
8
|
"build"
|
|
9
9
|
],
|
|
@@ -58,19 +58,19 @@
|
|
|
58
58
|
"watch.rebuild": "yarn run clean.all && yarn install && yarn run watch.build.dev"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@sprucelabs/error": "^6.0.
|
|
62
|
-
"@sprucelabs/mercury-types": "^47.0.
|
|
63
|
-
"@sprucelabs/schema": "^30.0.
|
|
64
|
-
"@sprucelabs/spruce-event-utils": "^40.1.
|
|
61
|
+
"@sprucelabs/error": "^6.0.479",
|
|
62
|
+
"@sprucelabs/mercury-types": "^47.0.529",
|
|
63
|
+
"@sprucelabs/schema": "^30.0.488",
|
|
64
|
+
"@sprucelabs/spruce-event-utils": "^40.1.249"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@sprucelabs/esm-postbuild": "^6.0.
|
|
68
|
-
"@sprucelabs/jest-json-reporter": "^8.0.
|
|
69
|
-
"@sprucelabs/resolve-path-aliases": "^2.0.
|
|
67
|
+
"@sprucelabs/esm-postbuild": "^6.0.462",
|
|
68
|
+
"@sprucelabs/jest-json-reporter": "^8.0.480",
|
|
69
|
+
"@sprucelabs/resolve-path-aliases": "^2.0.456",
|
|
70
70
|
"@sprucelabs/semantic-release": "^5.0.2",
|
|
71
|
-
"@sprucelabs/test": "^9.0.
|
|
72
|
-
"@sprucelabs/test-utils": "^5.1.
|
|
73
|
-
"@types/node": "^22.7.
|
|
71
|
+
"@sprucelabs/test": "^9.0.51",
|
|
72
|
+
"@sprucelabs/test-utils": "^5.1.432",
|
|
73
|
+
"@types/node": "^22.7.6",
|
|
74
74
|
"chokidar-cli": "^3.0.0",
|
|
75
75
|
"eslint": "^9.12.0",
|
|
76
76
|
"eslint-config-spruce": "^11.2.26",
|
|
@@ -100,5 +100,5 @@
|
|
|
100
100
|
"^#spruce/(.*)$": "<rootDir>/build/.spruce/$1"
|
|
101
101
|
}
|
|
102
102
|
},
|
|
103
|
-
"gitHead": "
|
|
103
|
+
"gitHead": "879b3cd247ef0ce19827c851aabd1c1c3cf67f02"
|
|
104
104
|
}
|