@adonisjs/events 8.4.9-0 → 8.4.9-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/build/src/base_event.js
CHANGED
|
@@ -7,7 +7,7 @@ export class BaseEvent {
|
|
|
7
7
|
}
|
|
8
8
|
static async dispatch(...args) {
|
|
9
9
|
if (!this.emitter) {
|
|
10
|
-
throw new RuntimeException(`Cannot dispatch "${this.name}" event. Make sure to pass emitter to the
|
|
10
|
+
throw new RuntimeException(`Cannot dispatch "${this.name}" event. Make sure to pass emitter to the "BaseEvent" class for dispatch method to work`);
|
|
11
11
|
}
|
|
12
12
|
return this.emitter.emit(this, new this(...args));
|
|
13
13
|
}
|
|
@@ -7,5 +7,8 @@ export declare class EventsBuffer<EventsList extends Record<string | symbol | nu
|
|
|
7
7
|
exists<Event extends keyof EventsList | Constructor<any>>(finder: Event | ((event: BufferedEventsList<EventsList>) => boolean)): boolean;
|
|
8
8
|
filter(finder: keyof EventsList | Constructor<any> | ((event: BufferedEventsList<EventsList>) => boolean)): BufferedEventsList<EventsList>[];
|
|
9
9
|
find<Event extends keyof EventsList | Constructor<any>>(finder: Event | ((event: BufferedEventsList<EventsList>) => boolean)): (Event extends keyof EventsList ? BufferedEvent<Event, EventsList[Event]> : Event extends Constructor<infer A> ? BufferedEvent<Event, A> : BufferedEventsList<EventsList>) | null;
|
|
10
|
+
assertEmitted<Event extends keyof EventsList | Constructor<any>>(finder: Event | ((event: BufferedEventsList<EventsList>) => boolean)): void;
|
|
11
|
+
assertNotEmitted<Event extends keyof EventsList | Constructor<any>>(finder: Event | ((event: BufferedEventsList<EventsList>) => boolean)): void;
|
|
12
|
+
assertNoneEmitted(): void;
|
|
10
13
|
flush(): void;
|
|
11
14
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import is from '@sindresorhus/is';
|
|
2
|
+
import { AssertionError } from 'node:assert';
|
|
2
3
|
export class EventsBuffer {
|
|
3
4
|
#events = [];
|
|
4
5
|
add(event, data) {
|
|
@@ -25,6 +26,56 @@ export class EventsBuffer {
|
|
|
25
26
|
}
|
|
26
27
|
return (this.#events.find((event) => event.event === finder) || null);
|
|
27
28
|
}
|
|
29
|
+
assertEmitted(finder) {
|
|
30
|
+
const hasEvent = this.exists(finder);
|
|
31
|
+
if (!hasEvent) {
|
|
32
|
+
const isClass = is.class_(finder);
|
|
33
|
+
const message = typeof finder === 'function' && !isClass
|
|
34
|
+
? `Expected callback to find an emitted event`
|
|
35
|
+
: isClass
|
|
36
|
+
? `Expected "${finder.name}" event to be emitted`
|
|
37
|
+
: `Expected "${String(finder)}" event to be emitted`;
|
|
38
|
+
throw new AssertionError({
|
|
39
|
+
message: message,
|
|
40
|
+
expected: true,
|
|
41
|
+
actual: false,
|
|
42
|
+
operator: 'strictEqual',
|
|
43
|
+
stackStartFn: this.assertEmitted,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
assertNotEmitted(finder) {
|
|
48
|
+
const hasEvent = this.exists(finder);
|
|
49
|
+
if (hasEvent) {
|
|
50
|
+
const isClass = is.class_(finder);
|
|
51
|
+
const message = typeof finder === 'function' && !isClass
|
|
52
|
+
? `Expected callback to not find any event`
|
|
53
|
+
: isClass
|
|
54
|
+
? `Expected "${finder.name}" event to be not emitted`
|
|
55
|
+
: `Expected "${String(finder)}" event to be not emitted`;
|
|
56
|
+
throw new AssertionError({
|
|
57
|
+
message: message,
|
|
58
|
+
expected: false,
|
|
59
|
+
actual: true,
|
|
60
|
+
operator: 'strictEqual',
|
|
61
|
+
stackStartFn: this.assertNotEmitted,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
assertNoneEmitted() {
|
|
66
|
+
const eventsSize = this.size();
|
|
67
|
+
if (eventsSize > 0) {
|
|
68
|
+
throw new AssertionError(Object.assign({
|
|
69
|
+
message: `Expected zero events to be emitted. Instead received "${eventsSize}" event(s)`,
|
|
70
|
+
expected: 0,
|
|
71
|
+
actual: eventsSize,
|
|
72
|
+
operator: 'strictEqual',
|
|
73
|
+
stackStartFn: this.assertNoneEmitted,
|
|
74
|
+
}, {
|
|
75
|
+
showDiff: true,
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
28
79
|
flush() {
|
|
29
80
|
this.#events = [];
|
|
30
81
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adonisjs/events",
|
|
3
|
-
"version": "8.4.9-
|
|
3
|
+
"version": "8.4.9-1",
|
|
4
4
|
"description": "An implementation of the event emitter built on top of emittery",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -39,11 +39,9 @@
|
|
|
39
39
|
"author": "virk,adonisjs",
|
|
40
40
|
"license": "MIT",
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@adonisjs/application": "^7.1.2-
|
|
42
|
+
"@adonisjs/application": "^7.1.2-1",
|
|
43
43
|
"@adonisjs/config": "^4.2.1-0",
|
|
44
|
-
"@adonisjs/
|
|
45
|
-
"@adonisjs/fold": "^9.9.3-0",
|
|
46
|
-
"@adonisjs/logger": "^5.4.2-0",
|
|
44
|
+
"@adonisjs/fold": "^9.9.3-2",
|
|
47
45
|
"@commitlint/cli": "^17.4.4",
|
|
48
46
|
"@commitlint/config-conventional": "^17.4.4",
|
|
49
47
|
"@japa/assert": "^1.4.1",
|
|
@@ -52,17 +50,16 @@
|
|
|
52
50
|
"@japa/run-failed-tests": "^1.1.1",
|
|
53
51
|
"@japa/runner": "^2.5.1",
|
|
54
52
|
"@japa/spec-reporter": "^1.3.3",
|
|
55
|
-
"@
|
|
56
|
-
"@
|
|
57
|
-
"@types/node": "^18.14.6",
|
|
53
|
+
"@swc/core": "^1.3.39",
|
|
54
|
+
"@types/node": "^18.15.0",
|
|
58
55
|
"c8": "^7.13.0",
|
|
59
56
|
"cross-env": "^7.0.3",
|
|
60
57
|
"del-cli": "^5.0.0",
|
|
61
|
-
"eslint": "^8.
|
|
62
|
-
"eslint-config-prettier": "^8.
|
|
58
|
+
"eslint": "^8.36.0",
|
|
59
|
+
"eslint-config-prettier": "^8.7.0",
|
|
63
60
|
"eslint-plugin-adonis": "^3.0.3",
|
|
64
61
|
"eslint-plugin-prettier": "^4.2.1",
|
|
65
|
-
"github-label-sync": "^2.
|
|
62
|
+
"github-label-sync": "^2.3.1",
|
|
66
63
|
"husky": "^8.0.3",
|
|
67
64
|
"np": "^7.6.3",
|
|
68
65
|
"prettier": "^2.8.4",
|
|
@@ -70,12 +67,13 @@
|
|
|
70
67
|
"typescript": "^4.9.5"
|
|
71
68
|
},
|
|
72
69
|
"dependencies": {
|
|
70
|
+
"@poppinss/utils": "^6.5.0-1",
|
|
73
71
|
"@sindresorhus/is": "^5.3.0",
|
|
74
72
|
"emittery": "^1.0.1"
|
|
75
73
|
},
|
|
76
74
|
"peerDependencies": {
|
|
77
|
-
"@adonisjs/application": "^7.1.2-
|
|
78
|
-
"@adonisjs/fold": "^9.9.3-
|
|
75
|
+
"@adonisjs/application": "^7.1.2-1",
|
|
76
|
+
"@adonisjs/fold": "^9.9.3-2"
|
|
79
77
|
},
|
|
80
78
|
"repository": {
|
|
81
79
|
"type": "git",
|