@orchestr-sh/orchestr 1.6.0 → 1.7.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/README.md +289 -22
- package/dist/Console/Commands/EventCacheCommand.d.ts +15 -0
- package/dist/Console/Commands/EventCacheCommand.d.ts.map +1 -0
- package/dist/Console/Commands/EventCacheCommand.js +99 -0
- package/dist/Console/Commands/EventCacheCommand.js.map +1 -0
- package/dist/Console/Commands/EventClearCommand.d.ts +15 -0
- package/dist/Console/Commands/EventClearCommand.d.ts.map +1 -0
- package/dist/Console/Commands/EventClearCommand.js +71 -0
- package/dist/Console/Commands/EventClearCommand.js.map +1 -0
- package/dist/Console/Commands/EventListCommand.d.ts +19 -0
- package/dist/Console/Commands/EventListCommand.d.ts.map +1 -0
- package/dist/Console/Commands/EventListCommand.js +106 -0
- package/dist/Console/Commands/EventListCommand.js.map +1 -0
- package/dist/Console/Commands/MakeEventCommand.d.ts +27 -0
- package/dist/Console/Commands/MakeEventCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MakeEventCommand.js +117 -0
- package/dist/Console/Commands/MakeEventCommand.js.map +1 -0
- package/dist/Console/Commands/MakeListenerCommand.d.ts +27 -0
- package/dist/Console/Commands/MakeListenerCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MakeListenerCommand.js +157 -0
- package/dist/Console/Commands/MakeListenerCommand.js.map +1 -0
- package/dist/Console/Commands/MigrateStatusCommand.d.ts.map +1 -1
- package/dist/Console/Commands/MigrateStatusCommand.js.map +1 -1
- package/dist/Console/orchestr.js +10 -0
- package/dist/Console/orchestr.js.map +1 -1
- package/dist/Container/Container.js.map +1 -1
- package/dist/Contracts/Events/Dispatcher.d.ts +94 -0
- package/dist/Contracts/Events/Dispatcher.d.ts.map +1 -0
- package/dist/Contracts/Events/Dispatcher.js +9 -0
- package/dist/Contracts/Events/Dispatcher.js.map +1 -0
- package/dist/Contracts/Events/index.d.ts +7 -0
- package/dist/Contracts/Events/index.d.ts.map +1 -0
- package/dist/Contracts/Events/index.js +8 -0
- package/dist/Contracts/Events/index.js.map +1 -0
- package/dist/Database/Connection.d.ts.map +1 -1
- package/dist/Database/Connection.js.map +1 -1
- package/dist/Database/Ensemble/Concerns/HasDynamicRelations.d.ts.map +1 -1
- package/dist/Database/Ensemble/Concerns/HasDynamicRelations.js +43 -12
- package/dist/Database/Ensemble/Concerns/HasDynamicRelations.js.map +1 -1
- package/dist/Database/Ensemble/Concerns/HasRelationships.d.ts.map +1 -1
- package/dist/Database/Ensemble/Concerns/HasRelationships.js +2 -5
- package/dist/Database/Ensemble/Concerns/HasRelationships.js.map +1 -1
- package/dist/Database/Ensemble/Ensemble.d.ts +7 -0
- package/dist/Database/Ensemble/Ensemble.d.ts.map +1 -1
- package/dist/Database/Ensemble/Ensemble.js +134 -11
- package/dist/Database/Ensemble/Ensemble.js.map +1 -1
- package/dist/Database/Ensemble/EnsembleBuilder.d.ts.map +1 -1
- package/dist/Database/Ensemble/EnsembleBuilder.js +7 -0
- package/dist/Database/Ensemble/EnsembleBuilder.js.map +1 -1
- package/dist/Database/Ensemble/Events/ModelCreated.d.ts +11 -0
- package/dist/Database/Ensemble/Events/ModelCreated.d.ts.map +1 -0
- package/dist/Database/Ensemble/Events/ModelCreated.js +16 -0
- package/dist/Database/Ensemble/Events/ModelCreated.js.map +1 -0
- package/dist/Database/Ensemble/Events/ModelCreating.d.ts +12 -0
- package/dist/Database/Ensemble/Events/ModelCreating.d.ts.map +1 -0
- package/dist/Database/Ensemble/Events/ModelCreating.js +17 -0
- package/dist/Database/Ensemble/Events/ModelCreating.js.map +1 -0
- package/dist/Database/Ensemble/Events/ModelDeleted.d.ts +11 -0
- package/dist/Database/Ensemble/Events/ModelDeleted.d.ts.map +1 -0
- package/dist/Database/Ensemble/Events/ModelDeleted.js +16 -0
- package/dist/Database/Ensemble/Events/ModelDeleted.js.map +1 -0
- package/dist/Database/Ensemble/Events/ModelDeleting.d.ts +12 -0
- package/dist/Database/Ensemble/Events/ModelDeleting.d.ts.map +1 -0
- package/dist/Database/Ensemble/Events/ModelDeleting.js +17 -0
- package/dist/Database/Ensemble/Events/ModelDeleting.js.map +1 -0
- package/dist/Database/Ensemble/Events/ModelEvent.d.ts +17 -0
- package/dist/Database/Ensemble/Events/ModelEvent.d.ts.map +1 -0
- package/dist/Database/Ensemble/Events/ModelEvent.js +22 -0
- package/dist/Database/Ensemble/Events/ModelEvent.js.map +1 -0
- package/dist/Database/Ensemble/Events/ModelRetrieved.d.ts +11 -0
- package/dist/Database/Ensemble/Events/ModelRetrieved.d.ts.map +1 -0
- package/dist/Database/Ensemble/Events/ModelRetrieved.js +16 -0
- package/dist/Database/Ensemble/Events/ModelRetrieved.js.map +1 -0
- package/dist/Database/Ensemble/Events/ModelSaved.d.ts +11 -0
- package/dist/Database/Ensemble/Events/ModelSaved.d.ts.map +1 -0
- package/dist/Database/Ensemble/Events/ModelSaved.js +16 -0
- package/dist/Database/Ensemble/Events/ModelSaved.js.map +1 -0
- package/dist/Database/Ensemble/Events/ModelSaving.d.ts +12 -0
- package/dist/Database/Ensemble/Events/ModelSaving.d.ts.map +1 -0
- package/dist/Database/Ensemble/Events/ModelSaving.js +17 -0
- package/dist/Database/Ensemble/Events/ModelSaving.js.map +1 -0
- package/dist/Database/Ensemble/Events/ModelUpdated.d.ts +11 -0
- package/dist/Database/Ensemble/Events/ModelUpdated.d.ts.map +1 -0
- package/dist/Database/Ensemble/Events/ModelUpdated.js +16 -0
- package/dist/Database/Ensemble/Events/ModelUpdated.js.map +1 -0
- package/dist/Database/Ensemble/Events/ModelUpdating.d.ts +12 -0
- package/dist/Database/Ensemble/Events/ModelUpdating.d.ts.map +1 -0
- package/dist/Database/Ensemble/Events/ModelUpdating.js +17 -0
- package/dist/Database/Ensemble/Events/ModelUpdating.js.map +1 -0
- package/dist/Database/Ensemble/Events/index.d.ts +16 -0
- package/dist/Database/Ensemble/Events/index.d.ts.map +1 -0
- package/dist/Database/Ensemble/Events/index.js +29 -0
- package/dist/Database/Ensemble/Events/index.js.map +1 -0
- package/dist/Database/Ensemble/Relations/BelongsTo.d.ts.map +1 -1
- package/dist/Database/Ensemble/Relations/BelongsTo.js.map +1 -1
- package/dist/Database/Ensemble/Relations/BelongsToMany.d.ts.map +1 -1
- package/dist/Database/Ensemble/Relations/BelongsToMany.js +1 -4
- package/dist/Database/Ensemble/Relations/BelongsToMany.js.map +1 -1
- package/dist/Database/Ensemble/Relations/HasMany.d.ts.map +1 -1
- package/dist/Database/Ensemble/Relations/HasMany.js.map +1 -1
- package/dist/Database/Ensemble/Relations/HasOne.d.ts.map +1 -1
- package/dist/Database/Ensemble/Relations/HasOne.js.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphMany.d.ts.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphMany.js +2 -6
- package/dist/Database/Ensemble/Relations/MorphMany.js.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphOne.d.ts.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphOne.js +2 -6
- package/dist/Database/Ensemble/Relations/MorphOne.js.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphTo.d.ts.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphTo.js +5 -11
- package/dist/Database/Ensemble/Relations/MorphTo.js.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphToMany.d.ts.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphToMany.js +1 -3
- package/dist/Database/Ensemble/Relations/MorphToMany.js.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphedByMany.d.ts.map +1 -1
- package/dist/Database/Ensemble/Relations/MorphedByMany.js.map +1 -1
- package/dist/Database/Ensemble/Relations/Relation.d.ts.map +1 -1
- package/dist/Database/Ensemble/Relations/Relation.js +4 -2
- package/dist/Database/Ensemble/Relations/Relation.js.map +1 -1
- package/dist/Database/Migrations/MigrationRepository.d.ts.map +1 -1
- package/dist/Database/Migrations/MigrationRepository.js +4 -19
- package/dist/Database/Migrations/MigrationRepository.js.map +1 -1
- package/dist/Database/Migrations/SchemaBuilder.d.ts.map +1 -1
- package/dist/Database/Migrations/SchemaBuilder.js +5 -15
- package/dist/Database/Migrations/SchemaBuilder.js.map +1 -1
- package/dist/Database/Query/Builder.d.ts.map +1 -1
- package/dist/Database/Query/Builder.js +5 -4
- package/dist/Database/Query/Builder.js.map +1 -1
- package/dist/Events/Concerns/Dispatchable.d.ts +121 -0
- package/dist/Events/Concerns/Dispatchable.d.ts.map +1 -0
- package/dist/Events/Concerns/Dispatchable.js +165 -0
- package/dist/Events/Concerns/Dispatchable.js.map +1 -0
- package/dist/Events/Contracts/Dispatcher.d.ts +144 -0
- package/dist/Events/Contracts/Dispatcher.d.ts.map +1 -0
- package/dist/Events/Contracts/Dispatcher.js +3 -0
- package/dist/Events/Contracts/Dispatcher.js.map +1 -0
- package/dist/Events/Contracts/ShouldDispatchAfterCommit.d.ts +21 -0
- package/dist/Events/Contracts/ShouldDispatchAfterCommit.d.ts.map +1 -0
- package/dist/Events/Contracts/ShouldDispatchAfterCommit.js +3 -0
- package/dist/Events/Contracts/ShouldDispatchAfterCommit.js.map +1 -0
- package/dist/Events/Decorators/HandlesEvents.d.ts +83 -0
- package/dist/Events/Decorators/HandlesEvents.d.ts.map +1 -0
- package/dist/Events/Decorators/HandlesEvents.js +105 -0
- package/dist/Events/Decorators/HandlesEvents.js.map +1 -0
- package/dist/Events/Dispatcher.d.ts +201 -0
- package/dist/Events/Dispatcher.d.ts.map +1 -0
- package/dist/Events/Dispatcher.js +359 -0
- package/dist/Events/Dispatcher.js.map +1 -0
- package/dist/Events/Event.d.ts +140 -0
- package/dist/Events/Event.d.ts.map +1 -0
- package/dist/Events/Event.js +266 -0
- package/dist/Events/Event.js.map +1 -0
- package/dist/Events/EventDiscoveryCache.d.ts +205 -0
- package/dist/Events/EventDiscoveryCache.d.ts.map +1 -0
- package/dist/Events/EventDiscoveryCache.js +310 -0
- package/dist/Events/EventDiscoveryCache.js.map +1 -0
- package/dist/Events/EventServiceProvider.d.ts +148 -0
- package/dist/Events/EventServiceProvider.d.ts.map +1 -0
- package/dist/Events/EventServiceProvider.js +258 -0
- package/dist/Events/EventServiceProvider.js.map +1 -0
- package/dist/Events/NullDispatcher.d.ts +97 -0
- package/dist/Events/NullDispatcher.d.ts.map +1 -0
- package/dist/Events/NullDispatcher.js +118 -0
- package/dist/Events/NullDispatcher.js.map +1 -0
- package/dist/Events/PendingDispatch.d.ts +119 -0
- package/dist/Events/PendingDispatch.d.ts.map +1 -0
- package/dist/Events/PendingDispatch.js +162 -0
- package/dist/Events/PendingDispatch.js.map +1 -0
- package/dist/Events/index.d.ts +12 -0
- package/dist/Events/index.d.ts.map +1 -0
- package/dist/Events/index.js +20 -0
- package/dist/Events/index.js.map +1 -0
- package/dist/Events/types.d.ts +77 -0
- package/dist/Events/types.d.ts.map +1 -0
- package/dist/Events/types.js +3 -0
- package/dist/Events/types.js.map +1 -0
- package/dist/Facades/DB.d.ts.map +1 -1
- package/dist/Facades/DB.js.map +1 -1
- package/dist/Facades/Event.d.ts +200 -0
- package/dist/Facades/Event.d.ts.map +1 -0
- package/dist/Facades/Event.js +331 -0
- package/dist/Facades/Event.js.map +1 -0
- package/dist/Facades/Route.js +1 -1
- package/dist/Foundation/Application.d.ts +33 -0
- package/dist/Foundation/Application.d.ts.map +1 -1
- package/dist/Foundation/Application.js +43 -3
- package/dist/Foundation/Application.js.map +1 -1
- package/dist/Foundation/Config/Config.js +1 -1
- package/dist/Foundation/Config/Config.js.map +1 -1
- package/dist/Foundation/Http/FormRequest.d.ts.map +1 -1
- package/dist/Foundation/Http/FormRequest.js +2 -2
- package/dist/Foundation/Http/FormRequest.js.map +1 -1
- package/dist/Foundation/Http/Kernel.d.ts.map +1 -1
- package/dist/Foundation/Http/Kernel.js +1 -1
- package/dist/Foundation/Http/Kernel.js.map +1 -1
- package/dist/Foundation/Http/Validator.d.ts.map +1 -1
- package/dist/Foundation/Http/Validator.js +27 -22
- package/dist/Foundation/Http/Validator.js.map +1 -1
- package/dist/Listeners/Contracts/ShouldQueue.d.ts +142 -0
- package/dist/Listeners/Contracts/ShouldQueue.d.ts.map +1 -0
- package/dist/Listeners/Contracts/ShouldQueue.js +20 -0
- package/dist/Listeners/Contracts/ShouldQueue.js.map +1 -0
- package/dist/Listeners/Contracts/ShouldQueueAfterCommit.d.ts +24 -0
- package/dist/Listeners/Contracts/ShouldQueueAfterCommit.d.ts.map +1 -0
- package/dist/Listeners/Contracts/ShouldQueueAfterCommit.js +3 -0
- package/dist/Listeners/Contracts/ShouldQueueAfterCommit.js.map +1 -0
- package/dist/Routing/Request.js +1 -1
- package/dist/Routing/Request.js.map +1 -1
- package/dist/Routing/Route.js +1 -1
- package/dist/Routing/Route.js.map +1 -1
- package/dist/Routing/Router.d.ts.map +1 -1
- package/dist/Routing/Router.js +5 -6
- package/dist/Routing/Router.js.map +1 -1
- package/dist/Support/EventDiscovery.d.ts +142 -0
- package/dist/Support/EventDiscovery.d.ts.map +1 -0
- package/dist/Support/EventDiscovery.js +302 -0
- package/dist/Support/EventDiscovery.js.map +1 -0
- package/dist/Support/Facade.js +2 -2
- package/dist/Support/Testing/Fakes/EventFake.d.ts +291 -0
- package/dist/Support/Testing/Fakes/EventFake.d.ts.map +1 -0
- package/dist/Support/Testing/Fakes/EventFake.js +444 -0
- package/dist/Support/Testing/Fakes/EventFake.js.map +1 -0
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/package.json +33 -12
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PendingDispatch = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Pending Dispatch
|
|
6
|
+
*
|
|
7
|
+
* A deferred dispatch helper that allows chaining configuration
|
|
8
|
+
* before actually dispatching an event.
|
|
9
|
+
*
|
|
10
|
+
* This is useful for building fluent APIs around event dispatching,
|
|
11
|
+
* similar to Laravel's job dispatching.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* // Defer dispatch with configuration
|
|
16
|
+
* const pending = new PendingDispatch(dispatcher, new UserRegistered(user));
|
|
17
|
+
* pending
|
|
18
|
+
* .onConnection('redis')
|
|
19
|
+
* .onQueue('notifications')
|
|
20
|
+
* .delay(60)
|
|
21
|
+
* .dispatch();
|
|
22
|
+
*
|
|
23
|
+
* // Or dispatch immediately with configuration
|
|
24
|
+
* PendingDispatch.for(dispatcher, new OrderPlaced(order))
|
|
25
|
+
* .delay(300)
|
|
26
|
+
* .dispatch();
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
class PendingDispatch {
|
|
30
|
+
dispatcher;
|
|
31
|
+
event;
|
|
32
|
+
/**
|
|
33
|
+
* Event configuration options
|
|
34
|
+
*/
|
|
35
|
+
options = {};
|
|
36
|
+
/**
|
|
37
|
+
* Create a new pending dispatch instance
|
|
38
|
+
*
|
|
39
|
+
* @param dispatcher - The event dispatcher
|
|
40
|
+
* @param event - The event to dispatch
|
|
41
|
+
*/
|
|
42
|
+
constructor(dispatcher, event) {
|
|
43
|
+
this.dispatcher = dispatcher;
|
|
44
|
+
this.event = event;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Static factory method for fluent API
|
|
48
|
+
*
|
|
49
|
+
* @param dispatcher - The event dispatcher
|
|
50
|
+
* @param event - The event to dispatch
|
|
51
|
+
* @returns PendingDispatch instance
|
|
52
|
+
*/
|
|
53
|
+
static for(dispatcher, event) {
|
|
54
|
+
return new PendingDispatch(dispatcher, event);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Set the queue connection for the event
|
|
58
|
+
*
|
|
59
|
+
* Only applicable if the event's listeners are queued
|
|
60
|
+
*
|
|
61
|
+
* @param connection - Connection name
|
|
62
|
+
* @returns This instance for chaining
|
|
63
|
+
*/
|
|
64
|
+
onConnection(connection) {
|
|
65
|
+
this.options.connection = connection;
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Set the queue for the event
|
|
70
|
+
*
|
|
71
|
+
* Only applicable if the event's listeners are queued
|
|
72
|
+
*
|
|
73
|
+
* @param queue - Queue name
|
|
74
|
+
* @returns This instance for chaining
|
|
75
|
+
*/
|
|
76
|
+
onQueue(queue) {
|
|
77
|
+
this.options.queue = queue;
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Set the delay before dispatching
|
|
82
|
+
*
|
|
83
|
+
* @param delay - Delay in seconds
|
|
84
|
+
* @returns This instance for chaining
|
|
85
|
+
*/
|
|
86
|
+
delay(delay) {
|
|
87
|
+
this.options.delay = delay;
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Set the delay before dispatching (alias for delay)
|
|
92
|
+
*
|
|
93
|
+
* @param delay - Delay in seconds
|
|
94
|
+
* @returns This instance for chaining
|
|
95
|
+
*/
|
|
96
|
+
afterDelay(delay) {
|
|
97
|
+
return this.delay(delay);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Apply the configured options to the event
|
|
101
|
+
*
|
|
102
|
+
* @returns The configured event
|
|
103
|
+
*/
|
|
104
|
+
applyOptions() {
|
|
105
|
+
if (this.options.connection) {
|
|
106
|
+
this.event.connection = this.options.connection;
|
|
107
|
+
}
|
|
108
|
+
if (this.options.queue) {
|
|
109
|
+
this.event.queue = this.options.queue;
|
|
110
|
+
}
|
|
111
|
+
if (this.options.delay) {
|
|
112
|
+
this.event.delay = this.options.delay;
|
|
113
|
+
}
|
|
114
|
+
return this.event;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Dispatch the event to all listeners
|
|
118
|
+
*
|
|
119
|
+
* @returns Array of results from listeners
|
|
120
|
+
*/
|
|
121
|
+
dispatch() {
|
|
122
|
+
const event = this.applyOptions();
|
|
123
|
+
return this.dispatcher.dispatch(event);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Dispatch the event until the first listener returns a non-null response
|
|
127
|
+
*
|
|
128
|
+
* @returns The first non-null response
|
|
129
|
+
*/
|
|
130
|
+
until() {
|
|
131
|
+
const event = this.applyOptions();
|
|
132
|
+
return this.dispatcher.until(event);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Conditionally dispatch the event
|
|
136
|
+
*
|
|
137
|
+
* @param condition - Boolean or function returning boolean
|
|
138
|
+
* @returns Array of results or empty array
|
|
139
|
+
*/
|
|
140
|
+
dispatchIf(condition) {
|
|
141
|
+
const shouldDispatch = typeof condition === 'function' ? condition() : condition;
|
|
142
|
+
if (shouldDispatch) {
|
|
143
|
+
return this.dispatch();
|
|
144
|
+
}
|
|
145
|
+
return [];
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Dispatch unless the condition is true
|
|
149
|
+
*
|
|
150
|
+
* @param condition - Boolean or function returning boolean
|
|
151
|
+
* @returns Array of results or empty array
|
|
152
|
+
*/
|
|
153
|
+
dispatchUnless(condition) {
|
|
154
|
+
const shouldNotDispatch = typeof condition === 'function' ? condition() : condition;
|
|
155
|
+
if (!shouldNotDispatch) {
|
|
156
|
+
return this.dispatch();
|
|
157
|
+
}
|
|
158
|
+
return [];
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
exports.PendingDispatch = PendingDispatch;
|
|
162
|
+
//# sourceMappingURL=PendingDispatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PendingDispatch.js","sourceRoot":"","sources":["../../src/Events/PendingDispatch.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAa,eAAe;IAiBd;IACA;IAjBZ;;OAEG;IACO,OAAO,GAIb,EAAE,CAAC;IAEP;;;;;OAKG;IACH,YACY,UAA8B,EAC9B,KAAY;QADZ,eAAU,GAAV,UAAU,CAAoB;QAC9B,UAAK,GAAL,KAAK,CAAO;IACrB,CAAC;IAEJ;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,UAA8B,EAAE,KAAY;QACrD,OAAO,IAAI,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,UAAkB;QAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACO,YAAY;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAClD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,SAAoC;QAC7C,MAAM,cAAc,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAEjF,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,SAAoC;QACjD,MAAM,iBAAiB,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAvJD,0CAuJC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Events Module
|
|
3
|
+
*
|
|
4
|
+
* Provides event dispatching and listener management following Laravel's event system
|
|
5
|
+
*/
|
|
6
|
+
export { Event } from './Event';
|
|
7
|
+
export { Dispatcher } from './Dispatcher';
|
|
8
|
+
export { EventServiceProvider } from './EventServiceProvider';
|
|
9
|
+
export { Dispatchable, applyDispatchable } from './Concerns/Dispatchable';
|
|
10
|
+
export type { DispatcherContract } from './Contracts/Dispatcher';
|
|
11
|
+
export type { EventListener, EventSubscriber, ListenerInterface, ListenerClosure, EventPayload, QueuedListener } from './types';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Events/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG1E,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,YAAY,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,cAAc,EACf,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Events Module
|
|
4
|
+
*
|
|
5
|
+
* Provides event dispatching and listener management following Laravel's event system
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.applyDispatchable = exports.Dispatchable = exports.EventServiceProvider = exports.Dispatcher = exports.Event = void 0;
|
|
9
|
+
// Core Event Classes
|
|
10
|
+
var Event_1 = require("./Event");
|
|
11
|
+
Object.defineProperty(exports, "Event", { enumerable: true, get: function () { return Event_1.Event; } });
|
|
12
|
+
var Dispatcher_1 = require("./Dispatcher");
|
|
13
|
+
Object.defineProperty(exports, "Dispatcher", { enumerable: true, get: function () { return Dispatcher_1.Dispatcher; } });
|
|
14
|
+
var EventServiceProvider_1 = require("./EventServiceProvider");
|
|
15
|
+
Object.defineProperty(exports, "EventServiceProvider", { enumerable: true, get: function () { return EventServiceProvider_1.EventServiceProvider; } });
|
|
16
|
+
// Concerns/Mixins
|
|
17
|
+
var Dispatchable_1 = require("./Concerns/Dispatchable");
|
|
18
|
+
Object.defineProperty(exports, "Dispatchable", { enumerable: true, get: function () { return Dispatchable_1.Dispatchable; } });
|
|
19
|
+
Object.defineProperty(exports, "applyDispatchable", { enumerable: true, get: function () { return Dispatchable_1.applyDispatchable; } });
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Events/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qBAAqB;AACrB,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAE7B,kBAAkB;AAClB,wDAA0E;AAAjE,4GAAA,YAAY,OAAA;AAAE,iHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { Event } from './Event';
|
|
2
|
+
import type { DispatcherContract } from './Contracts/Dispatcher';
|
|
3
|
+
/**
|
|
4
|
+
* Listener Interface
|
|
5
|
+
*
|
|
6
|
+
* Defines the contract for class-based event listeners.
|
|
7
|
+
* Listeners must implement a handle method that receives an event.
|
|
8
|
+
*
|
|
9
|
+
* @template TEvent - The event type this listener handles
|
|
10
|
+
*/
|
|
11
|
+
export interface ListenerInterface<TEvent extends Event = Event> {
|
|
12
|
+
/**
|
|
13
|
+
* Handle the event
|
|
14
|
+
*
|
|
15
|
+
* @param event - The event instance to handle
|
|
16
|
+
* @returns void, false to stop propagation, or a Promise
|
|
17
|
+
*/
|
|
18
|
+
handle(event: TEvent): void | false | Promise<void | false>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Listener Closure Type
|
|
22
|
+
*
|
|
23
|
+
* A function that handles an event. Can return false to stop propagation.
|
|
24
|
+
*
|
|
25
|
+
* @template TEvent - The event type this closure handles
|
|
26
|
+
*/
|
|
27
|
+
export type ListenerClosure<TEvent extends Event = Event> = (event: TEvent) => void | false | Promise<void | false>;
|
|
28
|
+
/**
|
|
29
|
+
* Event Listener Type
|
|
30
|
+
*
|
|
31
|
+
* Can be one of:
|
|
32
|
+
* - A class instance implementing ListenerInterface
|
|
33
|
+
* - A closure function
|
|
34
|
+
* - A string reference to resolve from the container
|
|
35
|
+
*
|
|
36
|
+
* @template TEvent - The event type this listener handles
|
|
37
|
+
*/
|
|
38
|
+
export type EventListener<TEvent extends Event = Event> = ListenerInterface<TEvent> | ListenerClosure<TEvent> | string;
|
|
39
|
+
/**
|
|
40
|
+
* Event Subscriber Interface
|
|
41
|
+
*
|
|
42
|
+
* Subscribers can register multiple event listeners at once.
|
|
43
|
+
* They return a mapping of event names to listener methods.
|
|
44
|
+
*/
|
|
45
|
+
export interface EventSubscriber {
|
|
46
|
+
/**
|
|
47
|
+
* Register event listeners
|
|
48
|
+
*
|
|
49
|
+
* @param events - The event dispatcher instance
|
|
50
|
+
* @returns Mapping of event names to listener methods/closures
|
|
51
|
+
*/
|
|
52
|
+
subscribe(events: DispatcherContract): void | Record<string, string | string[]>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Event Payload Type
|
|
56
|
+
*
|
|
57
|
+
* Additional arguments passed when dispatching events
|
|
58
|
+
*/
|
|
59
|
+
export type EventPayload = any[];
|
|
60
|
+
/**
|
|
61
|
+
* Queued Listener Configuration
|
|
62
|
+
*
|
|
63
|
+
* Metadata for listeners that should be queued
|
|
64
|
+
*/
|
|
65
|
+
export interface QueuedListener {
|
|
66
|
+
/** The listener class name */
|
|
67
|
+
class: string;
|
|
68
|
+
/** The event instance */
|
|
69
|
+
event: Event;
|
|
70
|
+
/** Number of times to retry */
|
|
71
|
+
tries: number;
|
|
72
|
+
/** Timeout in seconds */
|
|
73
|
+
timeout: number;
|
|
74
|
+
/** Delay before retrying (seconds or array of delays) */
|
|
75
|
+
backoff: number | number[];
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Events/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,KAAK,GAAG,KAAK;IAC7D;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;CAC7D;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,KAAK,GAAG,KAAK,IACtD,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,KAAK,GAAG,KAAK,IAClD,iBAAiB,CAAC,MAAM,CAAC,GACzB,eAAe,CAAC,MAAM,CAAC,GACvB,MAAM,CAAC;AAEX;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;CACjF;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC;AAEjC;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IAEd,yBAAyB;IACzB,KAAK,EAAE,KAAK,CAAC;IAEb,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IAEd,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAEhB,yDAAyD;IACzD,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/Events/types.ts"],"names":[],"mappings":""}
|
package/dist/Facades/DB.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DB.d.ts","sourceRoot":"","sources":["../../src/Facades/DB.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,eAAO,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"DB.d.ts","sourceRoot":"","sources":["../../src/Facades/DB.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,eAAO,MAAM,EAAE,KAgCb,CAAC"}
|
package/dist/Facades/DB.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DB.js","sourceRoot":"","sources":["../../src/Facades/DB.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,8CAA2C;AAG3C,MAAM,QAAS,SAAQ,eAAM;IACjB,MAAM,CAAC,iBAAiB;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,wCAAwC;AAC3B,QAAA,EAAE,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE;IACpC,GAAG,CAAC,MAAW,EAAE,IAAY;QAC3B,+CAA+C;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,EAAqB,CAAC;QAEvD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"DB.js","sourceRoot":"","sources":["../../src/Facades/DB.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,8CAA2C;AAG3C,MAAM,QAAS,SAAQ,eAAM;IACjB,MAAM,CAAC,iBAAiB;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,wCAAwC;AAC3B,QAAA,EAAE,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE;IACpC,GAAG,CAAC,MAAW,EAAE,IAAY;QAC3B,+CAA+C;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,EAAqB,CAAC;QAEvD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;QACnH,CAAC;QAED,oDAAoD;QACpD,IAAI,IAAI,IAAI,OAAQ,IAAY,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE,CAAE,IAAY,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACzB,OAAQ,IAAY,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,6DAA6D;QAC7D,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnE,CAAC;QAED,gDAAgD;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAErC,IAAI,UAAU,IAAI,OAAQ,UAAkB,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAClE,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE,CAAE,UAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,OAAQ,UAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { Facade } from '../Support/Facade';
|
|
2
|
+
import type { Dispatcher } from '../Events/Dispatcher';
|
|
3
|
+
import { EventFake } from '../Support/Testing/Fakes/EventFake';
|
|
4
|
+
import type { Event as EventClass } from '../Events/Event';
|
|
5
|
+
import type { EventListener } from '../Events/types';
|
|
6
|
+
/**
|
|
7
|
+
* Event Facade
|
|
8
|
+
*
|
|
9
|
+
* Provides static access to the event dispatcher for listening to and dispatching events.
|
|
10
|
+
* Includes testing utilities for faking events in tests.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* // Listen to events
|
|
15
|
+
* Event.listen(UserRegistered, SendWelcomeEmail);
|
|
16
|
+
* Event.listen('user.*', (event) => console.log(event));
|
|
17
|
+
*
|
|
18
|
+
* // Dispatch events
|
|
19
|
+
* Event.dispatch(new UserRegistered(user));
|
|
20
|
+
* Event.dispatch('user.registered', [user]);
|
|
21
|
+
*
|
|
22
|
+
* // Dispatch until first non-null response
|
|
23
|
+
* const result = Event.until(new ValidateUser(user));
|
|
24
|
+
*
|
|
25
|
+
* // Testing - Fake all events
|
|
26
|
+
* Event.fake();
|
|
27
|
+
* // Your code that dispatches events
|
|
28
|
+
* Event.assertDispatched(UserRegistered);
|
|
29
|
+
* Event.assertDispatchedTimes(UserRegistered, 2);
|
|
30
|
+
*
|
|
31
|
+
* // Fake specific events
|
|
32
|
+
* Event.fake([UserRegistered, OrderPlaced]);
|
|
33
|
+
*
|
|
34
|
+
* // Fake all except specific events
|
|
35
|
+
* Event.fakeExcept([UserDeleted]);
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
declare class EventFacadeClass extends Facade {
|
|
39
|
+
protected static getFacadeAccessor(): string;
|
|
40
|
+
/**
|
|
41
|
+
* Fake events for testing
|
|
42
|
+
*
|
|
43
|
+
* Replaces the real event dispatcher with a fake that records all
|
|
44
|
+
* dispatched events instead of calling listeners. Returns the fake
|
|
45
|
+
* instance for making assertions.
|
|
46
|
+
*
|
|
47
|
+
* @param events - Optional array of events to fake (fakes all if not provided)
|
|
48
|
+
* @returns EventFake instance for assertions
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* // Fake all events
|
|
53
|
+
* const fake = Event.fake();
|
|
54
|
+
* // Your code
|
|
55
|
+
* fake.assertDispatched(UserRegistered);
|
|
56
|
+
*
|
|
57
|
+
* // Fake specific events only
|
|
58
|
+
* Event.fake([UserRegistered, OrderPlaced]);
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
static fake(events?: (string | (new (...args: any[]) => EventClass))[]): EventFake;
|
|
62
|
+
/**
|
|
63
|
+
* Fake all events except the specified ones
|
|
64
|
+
*
|
|
65
|
+
* All events will be faked except those in the provided array,
|
|
66
|
+
* which will dispatch normally.
|
|
67
|
+
*
|
|
68
|
+
* @param events - Events that should NOT be faked
|
|
69
|
+
* @returns EventFake instance for assertions
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* // Fake all events except UserDeleted
|
|
74
|
+
* Event.fakeExcept([UserDeleted]);
|
|
75
|
+
* // UserDeleted will dispatch normally, all others will be faked
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
static fakeExcept(events: (string | (new (...args: any[]) => EventClass))[]): EventFake;
|
|
79
|
+
/**
|
|
80
|
+
* Fake events only for the duration of a callback
|
|
81
|
+
*
|
|
82
|
+
* Temporarily replaces the event dispatcher with a fake, executes
|
|
83
|
+
* the callback, then restores the original dispatcher. Useful for
|
|
84
|
+
* scoping fakes to specific test blocks.
|
|
85
|
+
*
|
|
86
|
+
* @param callback - Function to execute with faked events
|
|
87
|
+
* @returns Result of the callback and the fake instance
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const [result, fake] = await Event.fakeFor(async () => {
|
|
92
|
+
* await someService.createUser();
|
|
93
|
+
* return 'done';
|
|
94
|
+
* });
|
|
95
|
+
*
|
|
96
|
+
* fake.assertDispatched(UserRegistered);
|
|
97
|
+
* expect(result).toBe('done');
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
static fakeFor<T>(callback: (fake: EventFake) => T | Promise<T>): Promise<[T, EventFake]>;
|
|
101
|
+
/**
|
|
102
|
+
* Assert that an event was dispatched
|
|
103
|
+
*
|
|
104
|
+
* Can only be called after Event.fake() has been called.
|
|
105
|
+
*
|
|
106
|
+
* @param event - The event name or class
|
|
107
|
+
* @param callback - Optional callback to filter events
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* Event.fake();
|
|
112
|
+
* // Your code
|
|
113
|
+
* Event.assertDispatched(UserRegistered);
|
|
114
|
+
* Event.assertDispatched(UserRegistered, (event) => event.user.email === 'test@example.com');
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
static assertDispatched(event: string | (new (...args: any[]) => EventClass), callback?: (event: EventClass) => boolean): void;
|
|
118
|
+
/**
|
|
119
|
+
* Assert that an event was NOT dispatched
|
|
120
|
+
*
|
|
121
|
+
* Can only be called after Event.fake() has been called.
|
|
122
|
+
*
|
|
123
|
+
* @param event - The event name or class
|
|
124
|
+
* @param callback - Optional callback to filter events
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* Event.fake();
|
|
129
|
+
* // Your code
|
|
130
|
+
* Event.assertNotDispatched(UserDeleted);
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
static assertNotDispatched(event: string | (new (...args: any[]) => EventClass), callback?: (event: EventClass) => boolean): void;
|
|
134
|
+
/**
|
|
135
|
+
* Assert that an event was dispatched a specific number of times
|
|
136
|
+
*
|
|
137
|
+
* Can only be called after Event.fake() has been called.
|
|
138
|
+
*
|
|
139
|
+
* @param event - The event name or class
|
|
140
|
+
* @param times - Expected number of dispatches
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```typescript
|
|
144
|
+
* Event.fake();
|
|
145
|
+
* // Your code
|
|
146
|
+
* Event.assertDispatchedTimes(UserRegistered, 3);
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
static assertDispatchedTimes(event: string | (new (...args: any[]) => EventClass), times: number): void;
|
|
150
|
+
/**
|
|
151
|
+
* Assert that no events were dispatched
|
|
152
|
+
*
|
|
153
|
+
* Can only be called after Event.fake() has been called.
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* Event.fake();
|
|
158
|
+
* // Your code that shouldn't dispatch events
|
|
159
|
+
* Event.assertNothingDispatched();
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
static assertNothingDispatched(): void;
|
|
163
|
+
/**
|
|
164
|
+
* Assert that a listener is registered for an event
|
|
165
|
+
*
|
|
166
|
+
* @param event - The event name or class
|
|
167
|
+
* @param listener - Optional specific listener to check for
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```typescript
|
|
171
|
+
* Event.fake();
|
|
172
|
+
* Event.listen(UserRegistered, SendWelcomeEmail);
|
|
173
|
+
* Event.assertListening(UserRegistered);
|
|
174
|
+
* Event.assertListening(UserRegistered, SendWelcomeEmail);
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
static assertListening(event: string | (new (...args: any[]) => EventClass), listener?: string | EventListener): void;
|
|
178
|
+
/**
|
|
179
|
+
* Get the fake instance
|
|
180
|
+
*
|
|
181
|
+
* @returns The EventFake instance
|
|
182
|
+
* @throws Error if Event.fake() hasn't been called
|
|
183
|
+
*/
|
|
184
|
+
protected static getFakeInstance(): EventFake;
|
|
185
|
+
/**
|
|
186
|
+
* Check if the event dispatcher is currently faked
|
|
187
|
+
*
|
|
188
|
+
* @returns true if using EventFake
|
|
189
|
+
*/
|
|
190
|
+
static isFaked(): boolean;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Export facade with proper typing
|
|
194
|
+
*/
|
|
195
|
+
export declare const Event: typeof EventFacadeClass & Dispatcher;
|
|
196
|
+
/**
|
|
197
|
+
* Re-export EventFake for direct use
|
|
198
|
+
*/
|
|
199
|
+
export { EventFake };
|
|
200
|
+
//# sourceMappingURL=Event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../src/Facades/Event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,cAAM,gBAAiB,SAAQ,MAAM;IACnC,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAG5C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC,CAAC,EAAE,GAAG,SAAS;IA2BlF;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC,CAAC,EAAE,GAAG,SAAS;IAwBvF;;;;;;;;;;;;;;;;;;;;OAoBG;WACU,OAAO,CAAC,CAAC,EACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAkC1B;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,gBAAgB,CACrB,KAAK,EAAE,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC,EACpD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,GACxC,IAAI;IAKP;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,mBAAmB,CACxB,KAAK,EAAE,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC,EACpD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,GACxC,IAAI;IAKP;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,qBAAqB,CAC1B,KAAK,EAAE,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC,EACpD,KAAK,EAAE,MAAM,GACZ,IAAI;IAKP;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,uBAAuB,IAAI,IAAI;IAKtC;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,eAAe,CACpB,KAAK,EAAE,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC,EACpD,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAChC,IAAI;IAKP;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,eAAe,IAAI,SAAS;IAa7C;;;;OAIG;IACH,MAAM,CAAC,OAAO,IAAI,OAAO;CAS1B;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,EAAuB,OAAO,gBAAgB,GAAG,UAAU,CAAC;AAE9E;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
|