@orchestr-sh/orchestr 1.6.1 → 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/orchestr.js +10 -0
- package/dist/Console/orchestr.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/Ensemble/Ensemble.d.ts +7 -0
- package/dist/Database/Ensemble/Ensemble.d.ts.map +1 -1
- package/dist/Database/Ensemble/Ensemble.js +119 -0
- 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/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/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/Foundation/Application.d.ts +33 -0
- package/dist/Foundation/Application.d.ts.map +1 -1
- package/dist/Foundation/Application.js +40 -0
- package/dist/Foundation/Application.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/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/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 +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.EventServiceProvider = void 0;
|
|
37
|
+
const ServiceProvider_1 = require("../Foundation/ServiceProvider");
|
|
38
|
+
const Dispatcher_1 = require("./Dispatcher");
|
|
39
|
+
const fs = __importStar(require("fs"));
|
|
40
|
+
/**
|
|
41
|
+
* Event Service Provider
|
|
42
|
+
*
|
|
43
|
+
* Provides event registration and discovery services following Laravel's
|
|
44
|
+
* EventServiceProvider pattern. Supports both manual registration and
|
|
45
|
+
* automatic listener discovery.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* export class AppEventServiceProvider extends EventServiceProvider {
|
|
50
|
+
* protected listen = {
|
|
51
|
+
* 'UserRegistered': [
|
|
52
|
+
* 'SendWelcomeEmail',
|
|
53
|
+
* 'CreateUserProfile'
|
|
54
|
+
* ],
|
|
55
|
+
* 'OrderPlaced': 'SendOrderConfirmation'
|
|
56
|
+
* }
|
|
57
|
+
*
|
|
58
|
+
* protected subscribe = [
|
|
59
|
+
* 'UserEventSubscriber'
|
|
60
|
+
* ]
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
class EventServiceProvider extends ServiceProvider_1.ServiceProvider {
|
|
65
|
+
/**
|
|
66
|
+
* The event listener mappings for the application
|
|
67
|
+
*
|
|
68
|
+
* Maps event names to listener class names (string) or arrays of listener names.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* protected listen = {
|
|
73
|
+
* 'UserRegistered': ['SendWelcomeEmail', 'LogRegistration'],
|
|
74
|
+
* 'OrderPlaced': 'ProcessOrder'
|
|
75
|
+
* }
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
listen = {};
|
|
79
|
+
/**
|
|
80
|
+
* The subscriber classes to register
|
|
81
|
+
*
|
|
82
|
+
* Subscribers provide their own event-to-listener mappings via a subscribe() method.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* protected subscribe = [
|
|
87
|
+
* 'UserEventSubscriber',
|
|
88
|
+
* 'OrderEventSubscriber'
|
|
89
|
+
* ]
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
subscribe = [];
|
|
93
|
+
/**
|
|
94
|
+
* Register the application's event listeners
|
|
95
|
+
*
|
|
96
|
+
* Binds the event dispatcher as a singleton in the container.
|
|
97
|
+
*/
|
|
98
|
+
register() {
|
|
99
|
+
this.app.singleton('events', (app) => {
|
|
100
|
+
return new Dispatcher_1.Dispatcher(app);
|
|
101
|
+
});
|
|
102
|
+
// Register alias for convenience
|
|
103
|
+
this.app.alias('events', Dispatcher_1.Dispatcher);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Bootstrap the application events
|
|
107
|
+
*
|
|
108
|
+
* Performs three key operations:
|
|
109
|
+
* 1. Registers manual event-listener mappings from the `listen` property
|
|
110
|
+
* 2. Registers event subscribers from the `subscribe` property
|
|
111
|
+
* 3. Performs automatic event discovery if enabled
|
|
112
|
+
*
|
|
113
|
+
* @throws {Error} If the dispatcher cannot be resolved from the container
|
|
114
|
+
*/
|
|
115
|
+
async boot() {
|
|
116
|
+
const events = this.app.make('events');
|
|
117
|
+
// Register event listeners from listen property
|
|
118
|
+
for (const [event, listeners] of Object.entries(this.listen)) {
|
|
119
|
+
const listenerArray = Array.isArray(listeners) ? listeners : [listeners];
|
|
120
|
+
for (const listener of listenerArray) {
|
|
121
|
+
events.listen(event, listener);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Register event subscribers
|
|
125
|
+
for (const subscriber of this.subscribe) {
|
|
126
|
+
const subscriberInstance = this.app.make(subscriber);
|
|
127
|
+
events.subscribe(subscriberInstance);
|
|
128
|
+
}
|
|
129
|
+
// Perform event discovery if enabled
|
|
130
|
+
if (this.shouldDiscoverEvents()) {
|
|
131
|
+
await this.discoverEvents(events);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Determine if events and listeners should be automatically discovered
|
|
136
|
+
*
|
|
137
|
+
* By default, discovery is enabled unless events are cached.
|
|
138
|
+
* Override this method to customize discovery behavior.
|
|
139
|
+
*
|
|
140
|
+
* @returns {boolean} True if event discovery should run
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```typescript
|
|
144
|
+
* protected shouldDiscoverEvents(): boolean {
|
|
145
|
+
* // Disable discovery in production
|
|
146
|
+
* return this.app.environment() !== 'production'
|
|
147
|
+
* }
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
shouldDiscoverEvents() {
|
|
151
|
+
// Check for cached events first
|
|
152
|
+
return !this.eventsAreCached();
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Discover the events and listeners for the application
|
|
156
|
+
*
|
|
157
|
+
* Uses EventDiscovery to scan specified directories for listener classes
|
|
158
|
+
* and automatically registers them with their corresponding events.
|
|
159
|
+
*
|
|
160
|
+
* @param {Dispatcher} events - The event dispatcher instance
|
|
161
|
+
*
|
|
162
|
+
* @throws {Error} If EventDiscovery is not available (Task 6 dependency)
|
|
163
|
+
*/
|
|
164
|
+
async discoverEvents(events) {
|
|
165
|
+
// Import EventDiscovery dynamically to avoid circular dependency
|
|
166
|
+
try {
|
|
167
|
+
const { EventDiscovery } = await Promise.resolve().then(() => __importStar(require('../Support/EventDiscovery')));
|
|
168
|
+
const discovery = new EventDiscovery(this.app);
|
|
169
|
+
const listeners = await discovery.discover(this.discoverEventsWithin());
|
|
170
|
+
for (const [event, listenerClasses] of listeners) {
|
|
171
|
+
for (const listener of listenerClasses) {
|
|
172
|
+
events.listen(event, listener);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
// EventDiscovery not implemented yet (Task 6)
|
|
178
|
+
// Silently skip discovery for now
|
|
179
|
+
if (error.code !== 'MODULE_NOT_FOUND') {
|
|
180
|
+
throw error;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Get the directories to discover events within
|
|
186
|
+
*
|
|
187
|
+
* By default, uses the paths configured via Application.withEvents()
|
|
188
|
+
* or falls back to the standard 'Listeners' directory.
|
|
189
|
+
*
|
|
190
|
+
* Override this method to customize discovery paths.
|
|
191
|
+
*
|
|
192
|
+
* @returns {string[]} Array of absolute directory paths to scan
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* protected discoverEventsWithin(): string[] {
|
|
197
|
+
* return [
|
|
198
|
+
* this.app.path('Listeners'),
|
|
199
|
+
* this.app.path('Domain/Listeners')
|
|
200
|
+
* ]
|
|
201
|
+
* }
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
discoverEventsWithin() {
|
|
205
|
+
return this.app.getEventDiscoveryPaths();
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Determine if events are cached
|
|
209
|
+
*
|
|
210
|
+
* Checks for the existence of the cached events file.
|
|
211
|
+
*
|
|
212
|
+
* @returns {boolean} True if cached events file exists
|
|
213
|
+
*/
|
|
214
|
+
eventsAreCached() {
|
|
215
|
+
const cachePath = this.app.storagePath('framework/events.json');
|
|
216
|
+
try {
|
|
217
|
+
fs.accessSync(cachePath, fs.constants.F_OK);
|
|
218
|
+
return true;
|
|
219
|
+
}
|
|
220
|
+
catch {
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Get the events and handlers from the cached file
|
|
226
|
+
*
|
|
227
|
+
* Loads and parses the cached events JSON file.
|
|
228
|
+
*
|
|
229
|
+
* @returns {Map<string, string[]>} Map of event names to listener class names
|
|
230
|
+
*/
|
|
231
|
+
getCachedEvents() {
|
|
232
|
+
const cachePath = this.app.storagePath('framework/events.json');
|
|
233
|
+
if (!fs.existsSync(cachePath)) {
|
|
234
|
+
return new Map();
|
|
235
|
+
}
|
|
236
|
+
try {
|
|
237
|
+
const cached = JSON.parse(fs.readFileSync(cachePath, 'utf-8'));
|
|
238
|
+
// Convert array of entries back to Map
|
|
239
|
+
return new Map(cached);
|
|
240
|
+
}
|
|
241
|
+
catch {
|
|
242
|
+
return new Map();
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Get all registered event-listener mappings
|
|
247
|
+
*
|
|
248
|
+
* Returns the complete mapping of events to listeners for inspection.
|
|
249
|
+
* Useful for debugging and console commands.
|
|
250
|
+
*
|
|
251
|
+
* @returns {Record<string, string | string[]>} The listen property mappings
|
|
252
|
+
*/
|
|
253
|
+
listens() {
|
|
254
|
+
return this.listen;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
exports.EventServiceProvider = EventServiceProvider;
|
|
258
|
+
//# sourceMappingURL=EventServiceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventServiceProvider.js","sourceRoot":"","sources":["../../src/Events/EventServiceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAgE;AAEhE,6CAA0C;AAE1C,uCAAyB;AAGzB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAsB,oBAAqB,SAAQ,iCAAe;IAChE;;;;;;;;;;;;OAYG;IACO,MAAM,GAAsC,EAAE,CAAC;IAEzD;;;;;;;;;;;;OAYG;IACO,SAAS,GAAa,EAAE,CAAC;IAEnC;;;;OAIG;IACH,QAAQ;QACN,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;YACnC,OAAO,IAAI,uBAAU,CAAC,GAAkB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,uBAAU,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAa,QAAQ,CAAC,CAAC;QAEnD,gDAAgD;QAChD,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7D,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAEzE,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;gBACrC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAkB,UAAU,CAAC,CAAC;YACtE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACvC,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACO,oBAAoB;QAC5B,gCAAgC;QAChC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,cAAc,CAAC,MAAkB;QAC/C,iEAAiE;QACjE,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,2BAA2B,GAAC,CAAC;YACrE,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE/C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,QAAQ,CACxC,IAAI,CAAC,oBAAoB,EAAE,CAC5B,CAAC;YAEF,KAAK,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,SAAS,EAAE,CAAC;gBACjD,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;oBACvC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,8CAA8C;YAC9C,kCAAkC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACtC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACO,oBAAoB;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACO,eAAe;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACO,eAAe;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QAEhE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,uCAAuC;YACvC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAjND,oDAiNC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { DispatcherContract } from './Contracts/Dispatcher';
|
|
2
|
+
import type { Event } from './Event';
|
|
3
|
+
import type { EventListener, EventSubscriber } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Null Dispatcher
|
|
6
|
+
*
|
|
7
|
+
* A no-op event dispatcher implementation following the Null Object pattern.
|
|
8
|
+
* Useful for testing or when you want to disable event dispatching entirely.
|
|
9
|
+
*
|
|
10
|
+
* All methods are implemented but do nothing, allowing code to call
|
|
11
|
+
* dispatcher methods without side effects.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* // Use in tests to disable events
|
|
16
|
+
* const dispatcher = new NullDispatcher();
|
|
17
|
+
* container.instance('events', dispatcher);
|
|
18
|
+
*
|
|
19
|
+
* // Events will be "dispatched" but nothing happens
|
|
20
|
+
* dispatcher.dispatch(new UserRegistered(user));
|
|
21
|
+
* // No listeners are called
|
|
22
|
+
*
|
|
23
|
+
* // Use for performance when events aren't needed
|
|
24
|
+
* if (config.disableEvents) {
|
|
25
|
+
* app.singleton('events', () => new NullDispatcher());
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare class NullDispatcher implements DispatcherContract {
|
|
30
|
+
/**
|
|
31
|
+
* Register an event listener (no-op)
|
|
32
|
+
*
|
|
33
|
+
* @param events - Event name(s) to listen for (ignored)
|
|
34
|
+
* @param listener - Listener to invoke (ignored)
|
|
35
|
+
*/
|
|
36
|
+
listen(events: string | string[], listener: EventListener): void;
|
|
37
|
+
/**
|
|
38
|
+
* Check if an event has any listeners (always returns false)
|
|
39
|
+
*
|
|
40
|
+
* @param eventName - The event name to check (ignored)
|
|
41
|
+
* @returns Always false
|
|
42
|
+
*/
|
|
43
|
+
hasListeners(eventName: string): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Register an event subscriber (no-op)
|
|
46
|
+
*
|
|
47
|
+
* @param subscriber - The subscriber instance (ignored)
|
|
48
|
+
*/
|
|
49
|
+
subscribe(subscriber: EventSubscriber): void;
|
|
50
|
+
/**
|
|
51
|
+
* Dispatch an event to all listeners (no-op, returns empty array)
|
|
52
|
+
*
|
|
53
|
+
* @param event - Event name or instance (ignored)
|
|
54
|
+
* @param payload - Additional arguments (ignored)
|
|
55
|
+
* @param halt - Stop on false return (ignored)
|
|
56
|
+
* @returns Empty array
|
|
57
|
+
*/
|
|
58
|
+
dispatch(event: string | Event, payload?: any[], halt?: boolean): any[];
|
|
59
|
+
/**
|
|
60
|
+
* Dispatch an event until a listener returns a non-null response (always returns null)
|
|
61
|
+
*
|
|
62
|
+
* @param event - Event name or instance (ignored)
|
|
63
|
+
* @param payload - Additional arguments (ignored)
|
|
64
|
+
* @returns Always null
|
|
65
|
+
*/
|
|
66
|
+
until(event: string | Event, payload?: any[]): any;
|
|
67
|
+
/**
|
|
68
|
+
* Queue an event for later dispatch (no-op)
|
|
69
|
+
*
|
|
70
|
+
* @param event - Event name (ignored)
|
|
71
|
+
* @param payload - Event payload (ignored)
|
|
72
|
+
*/
|
|
73
|
+
push(event: string, payload?: any[]): void;
|
|
74
|
+
/**
|
|
75
|
+
* Flush all queued events (no-op)
|
|
76
|
+
*
|
|
77
|
+
* @param event - Event name to flush (ignored)
|
|
78
|
+
*/
|
|
79
|
+
flush(event: string): void;
|
|
80
|
+
/**
|
|
81
|
+
* Remove all listeners for an event (no-op)
|
|
82
|
+
*
|
|
83
|
+
* @param event - Event name (ignored)
|
|
84
|
+
*/
|
|
85
|
+
forget(event: string): void;
|
|
86
|
+
/**
|
|
87
|
+
* Clear all queued events (no-op)
|
|
88
|
+
*/
|
|
89
|
+
forgetPushed(): void;
|
|
90
|
+
/**
|
|
91
|
+
* Get raw listener mappings (always returns empty map)
|
|
92
|
+
*
|
|
93
|
+
* @returns Empty Map
|
|
94
|
+
*/
|
|
95
|
+
getRawListeners(): Map<string, EventListener[]>;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=NullDispatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NullDispatcher.d.ts","sourceRoot":"","sources":["../../src/Events/NullDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,cAAe,YAAW,kBAAkB;IACvD;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIhE;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIxC;;;;OAIG;IACH,SAAS,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAI5C;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,GAAE,GAAG,EAAO,EAAE,IAAI,GAAE,OAAe,GAAG,GAAG,EAAE;IAIlF;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,GAAE,GAAG,EAAO,GAAG,GAAG;IAItD;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,GAAG,EAAO,GAAG,IAAI;IAI9C;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI1B;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;;;OAIG;IACH,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;CAGhD"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NullDispatcher = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Null Dispatcher
|
|
6
|
+
*
|
|
7
|
+
* A no-op event dispatcher implementation following the Null Object pattern.
|
|
8
|
+
* Useful for testing or when you want to disable event dispatching entirely.
|
|
9
|
+
*
|
|
10
|
+
* All methods are implemented but do nothing, allowing code to call
|
|
11
|
+
* dispatcher methods without side effects.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* // Use in tests to disable events
|
|
16
|
+
* const dispatcher = new NullDispatcher();
|
|
17
|
+
* container.instance('events', dispatcher);
|
|
18
|
+
*
|
|
19
|
+
* // Events will be "dispatched" but nothing happens
|
|
20
|
+
* dispatcher.dispatch(new UserRegistered(user));
|
|
21
|
+
* // No listeners are called
|
|
22
|
+
*
|
|
23
|
+
* // Use for performance when events aren't needed
|
|
24
|
+
* if (config.disableEvents) {
|
|
25
|
+
* app.singleton('events', () => new NullDispatcher());
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
class NullDispatcher {
|
|
30
|
+
/**
|
|
31
|
+
* Register an event listener (no-op)
|
|
32
|
+
*
|
|
33
|
+
* @param events - Event name(s) to listen for (ignored)
|
|
34
|
+
* @param listener - Listener to invoke (ignored)
|
|
35
|
+
*/
|
|
36
|
+
listen(events, listener) {
|
|
37
|
+
// No-op
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Check if an event has any listeners (always returns false)
|
|
41
|
+
*
|
|
42
|
+
* @param eventName - The event name to check (ignored)
|
|
43
|
+
* @returns Always false
|
|
44
|
+
*/
|
|
45
|
+
hasListeners(eventName) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Register an event subscriber (no-op)
|
|
50
|
+
*
|
|
51
|
+
* @param subscriber - The subscriber instance (ignored)
|
|
52
|
+
*/
|
|
53
|
+
subscribe(subscriber) {
|
|
54
|
+
// No-op
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Dispatch an event to all listeners (no-op, returns empty array)
|
|
58
|
+
*
|
|
59
|
+
* @param event - Event name or instance (ignored)
|
|
60
|
+
* @param payload - Additional arguments (ignored)
|
|
61
|
+
* @param halt - Stop on false return (ignored)
|
|
62
|
+
* @returns Empty array
|
|
63
|
+
*/
|
|
64
|
+
dispatch(event, payload = [], halt = false) {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Dispatch an event until a listener returns a non-null response (always returns null)
|
|
69
|
+
*
|
|
70
|
+
* @param event - Event name or instance (ignored)
|
|
71
|
+
* @param payload - Additional arguments (ignored)
|
|
72
|
+
* @returns Always null
|
|
73
|
+
*/
|
|
74
|
+
until(event, payload = []) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Queue an event for later dispatch (no-op)
|
|
79
|
+
*
|
|
80
|
+
* @param event - Event name (ignored)
|
|
81
|
+
* @param payload - Event payload (ignored)
|
|
82
|
+
*/
|
|
83
|
+
push(event, payload = []) {
|
|
84
|
+
// No-op
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Flush all queued events (no-op)
|
|
88
|
+
*
|
|
89
|
+
* @param event - Event name to flush (ignored)
|
|
90
|
+
*/
|
|
91
|
+
flush(event) {
|
|
92
|
+
// No-op
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Remove all listeners for an event (no-op)
|
|
96
|
+
*
|
|
97
|
+
* @param event - Event name (ignored)
|
|
98
|
+
*/
|
|
99
|
+
forget(event) {
|
|
100
|
+
// No-op
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Clear all queued events (no-op)
|
|
104
|
+
*/
|
|
105
|
+
forgetPushed() {
|
|
106
|
+
// No-op
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Get raw listener mappings (always returns empty map)
|
|
110
|
+
*
|
|
111
|
+
* @returns Empty Map
|
|
112
|
+
*/
|
|
113
|
+
getRawListeners() {
|
|
114
|
+
return new Map();
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.NullDispatcher = NullDispatcher;
|
|
118
|
+
//# sourceMappingURL=NullDispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NullDispatcher.js","sourceRoot":"","sources":["../../src/Events/NullDispatcher.ts"],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAa,cAAc;IACzB;;;;;OAKG;IACH,MAAM,CAAC,MAAyB,EAAE,QAAuB;QACvD,QAAQ;IACV,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,SAAiB;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,UAA2B;QACnC,QAAQ;IACV,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAqB,EAAE,UAAiB,EAAE,EAAE,OAAgB,KAAK;QACxE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAqB,EAAE,UAAiB,EAAE;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,KAAa,EAAE,UAAiB,EAAE;QACrC,QAAQ;IACV,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAa;QACjB,QAAQ;IACV,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAa;QAClB,QAAQ;IACV,CAAC;IAED;;OAEG;IACH,YAAY;QACV,QAAQ;IACV,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;CACF;AAhGD,wCAgGC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { Event } from './Event';
|
|
2
|
+
import type { DispatcherContract } from './Contracts/Dispatcher';
|
|
3
|
+
/**
|
|
4
|
+
* Pending Dispatch
|
|
5
|
+
*
|
|
6
|
+
* A deferred dispatch helper that allows chaining configuration
|
|
7
|
+
* before actually dispatching an event.
|
|
8
|
+
*
|
|
9
|
+
* This is useful for building fluent APIs around event dispatching,
|
|
10
|
+
* similar to Laravel's job dispatching.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* // Defer dispatch with configuration
|
|
15
|
+
* const pending = new PendingDispatch(dispatcher, new UserRegistered(user));
|
|
16
|
+
* pending
|
|
17
|
+
* .onConnection('redis')
|
|
18
|
+
* .onQueue('notifications')
|
|
19
|
+
* .delay(60)
|
|
20
|
+
* .dispatch();
|
|
21
|
+
*
|
|
22
|
+
* // Or dispatch immediately with configuration
|
|
23
|
+
* PendingDispatch.for(dispatcher, new OrderPlaced(order))
|
|
24
|
+
* .delay(300)
|
|
25
|
+
* .dispatch();
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare class PendingDispatch {
|
|
29
|
+
protected dispatcher: DispatcherContract;
|
|
30
|
+
protected event: Event;
|
|
31
|
+
/**
|
|
32
|
+
* Event configuration options
|
|
33
|
+
*/
|
|
34
|
+
protected options: {
|
|
35
|
+
connection?: string;
|
|
36
|
+
queue?: string;
|
|
37
|
+
delay?: number;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Create a new pending dispatch instance
|
|
41
|
+
*
|
|
42
|
+
* @param dispatcher - The event dispatcher
|
|
43
|
+
* @param event - The event to dispatch
|
|
44
|
+
*/
|
|
45
|
+
constructor(dispatcher: DispatcherContract, event: Event);
|
|
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: DispatcherContract, event: Event): PendingDispatch;
|
|
54
|
+
/**
|
|
55
|
+
* Set the queue connection for the event
|
|
56
|
+
*
|
|
57
|
+
* Only applicable if the event's listeners are queued
|
|
58
|
+
*
|
|
59
|
+
* @param connection - Connection name
|
|
60
|
+
* @returns This instance for chaining
|
|
61
|
+
*/
|
|
62
|
+
onConnection(connection: string): this;
|
|
63
|
+
/**
|
|
64
|
+
* Set the queue for the event
|
|
65
|
+
*
|
|
66
|
+
* Only applicable if the event's listeners are queued
|
|
67
|
+
*
|
|
68
|
+
* @param queue - Queue name
|
|
69
|
+
* @returns This instance for chaining
|
|
70
|
+
*/
|
|
71
|
+
onQueue(queue: string): this;
|
|
72
|
+
/**
|
|
73
|
+
* Set the delay before dispatching
|
|
74
|
+
*
|
|
75
|
+
* @param delay - Delay in seconds
|
|
76
|
+
* @returns This instance for chaining
|
|
77
|
+
*/
|
|
78
|
+
delay(delay: number): this;
|
|
79
|
+
/**
|
|
80
|
+
* Set the delay before dispatching (alias for delay)
|
|
81
|
+
*
|
|
82
|
+
* @param delay - Delay in seconds
|
|
83
|
+
* @returns This instance for chaining
|
|
84
|
+
*/
|
|
85
|
+
afterDelay(delay: number): this;
|
|
86
|
+
/**
|
|
87
|
+
* Apply the configured options to the event
|
|
88
|
+
*
|
|
89
|
+
* @returns The configured event
|
|
90
|
+
*/
|
|
91
|
+
protected applyOptions(): Event;
|
|
92
|
+
/**
|
|
93
|
+
* Dispatch the event to all listeners
|
|
94
|
+
*
|
|
95
|
+
* @returns Array of results from listeners
|
|
96
|
+
*/
|
|
97
|
+
dispatch(): any[];
|
|
98
|
+
/**
|
|
99
|
+
* Dispatch the event until the first listener returns a non-null response
|
|
100
|
+
*
|
|
101
|
+
* @returns The first non-null response
|
|
102
|
+
*/
|
|
103
|
+
until(): any;
|
|
104
|
+
/**
|
|
105
|
+
* Conditionally dispatch the event
|
|
106
|
+
*
|
|
107
|
+
* @param condition - Boolean or function returning boolean
|
|
108
|
+
* @returns Array of results or empty array
|
|
109
|
+
*/
|
|
110
|
+
dispatchIf(condition: boolean | (() => boolean)): any[];
|
|
111
|
+
/**
|
|
112
|
+
* Dispatch unless the condition is true
|
|
113
|
+
*
|
|
114
|
+
* @param condition - Boolean or function returning boolean
|
|
115
|
+
* @returns Array of results or empty array
|
|
116
|
+
*/
|
|
117
|
+
dispatchUnless(condition: boolean | (() => boolean)): any[];
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=PendingDispatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PendingDispatch.d.ts","sourceRoot":"","sources":["../../src/Events/PendingDispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,eAAe;IAiBxB,SAAS,CAAC,UAAU,EAAE,kBAAkB;IACxC,SAAS,CAAC,KAAK,EAAE,KAAK;IAjBxB;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAM;IAEP;;;;;OAKG;gBAES,UAAU,EAAE,kBAAkB,EAC9B,KAAK,EAAE,KAAK;IAGxB;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,GAAG,eAAe;IAIzE;;;;;;;OAOG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKtC;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/B;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI,KAAK;IAgB/B;;;;OAIG;IACH,QAAQ,IAAI,GAAG,EAAE;IAKjB;;;;OAIG;IACH,KAAK,IAAI,GAAG;IAKZ;;;;;OAKG;IACH,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,GAAG,EAAE;IAUvD;;;;;OAKG;IACH,cAAc,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,GAAG,EAAE;CAS5D"}
|