@orchestr-sh/orchestr 1.6.1 → 1.7.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.
Files changed (159) hide show
  1. package/README.md +289 -22
  2. package/dist/Console/Commands/EventCacheCommand.d.ts +15 -0
  3. package/dist/Console/Commands/EventCacheCommand.d.ts.map +1 -0
  4. package/dist/Console/Commands/EventCacheCommand.js +99 -0
  5. package/dist/Console/Commands/EventCacheCommand.js.map +1 -0
  6. package/dist/Console/Commands/EventClearCommand.d.ts +15 -0
  7. package/dist/Console/Commands/EventClearCommand.d.ts.map +1 -0
  8. package/dist/Console/Commands/EventClearCommand.js +71 -0
  9. package/dist/Console/Commands/EventClearCommand.js.map +1 -0
  10. package/dist/Console/Commands/EventListCommand.d.ts +19 -0
  11. package/dist/Console/Commands/EventListCommand.d.ts.map +1 -0
  12. package/dist/Console/Commands/EventListCommand.js +106 -0
  13. package/dist/Console/Commands/EventListCommand.js.map +1 -0
  14. package/dist/Console/Commands/MakeEventCommand.d.ts +27 -0
  15. package/dist/Console/Commands/MakeEventCommand.d.ts.map +1 -0
  16. package/dist/Console/Commands/MakeEventCommand.js +117 -0
  17. package/dist/Console/Commands/MakeEventCommand.js.map +1 -0
  18. package/dist/Console/Commands/MakeListenerCommand.d.ts +27 -0
  19. package/dist/Console/Commands/MakeListenerCommand.d.ts.map +1 -0
  20. package/dist/Console/Commands/MakeListenerCommand.js +157 -0
  21. package/dist/Console/Commands/MakeListenerCommand.js.map +1 -0
  22. package/dist/Console/orchestr.js +10 -0
  23. package/dist/Console/orchestr.js.map +1 -1
  24. package/dist/Contracts/Events/Dispatcher.d.ts +94 -0
  25. package/dist/Contracts/Events/Dispatcher.d.ts.map +1 -0
  26. package/dist/Contracts/Events/Dispatcher.js +9 -0
  27. package/dist/Contracts/Events/Dispatcher.js.map +1 -0
  28. package/dist/Contracts/Events/index.d.ts +7 -0
  29. package/dist/Contracts/Events/index.d.ts.map +1 -0
  30. package/dist/Contracts/Events/index.js +8 -0
  31. package/dist/Contracts/Events/index.js.map +1 -0
  32. package/dist/Database/Ensemble/Ensemble.d.ts +7 -0
  33. package/dist/Database/Ensemble/Ensemble.d.ts.map +1 -1
  34. package/dist/Database/Ensemble/Ensemble.js +119 -0
  35. package/dist/Database/Ensemble/Ensemble.js.map +1 -1
  36. package/dist/Database/Ensemble/EnsembleBuilder.d.ts.map +1 -1
  37. package/dist/Database/Ensemble/EnsembleBuilder.js +7 -0
  38. package/dist/Database/Ensemble/EnsembleBuilder.js.map +1 -1
  39. package/dist/Database/Ensemble/Events/ModelCreated.d.ts +11 -0
  40. package/dist/Database/Ensemble/Events/ModelCreated.d.ts.map +1 -0
  41. package/dist/Database/Ensemble/Events/ModelCreated.js +16 -0
  42. package/dist/Database/Ensemble/Events/ModelCreated.js.map +1 -0
  43. package/dist/Database/Ensemble/Events/ModelCreating.d.ts +12 -0
  44. package/dist/Database/Ensemble/Events/ModelCreating.d.ts.map +1 -0
  45. package/dist/Database/Ensemble/Events/ModelCreating.js +17 -0
  46. package/dist/Database/Ensemble/Events/ModelCreating.js.map +1 -0
  47. package/dist/Database/Ensemble/Events/ModelDeleted.d.ts +11 -0
  48. package/dist/Database/Ensemble/Events/ModelDeleted.d.ts.map +1 -0
  49. package/dist/Database/Ensemble/Events/ModelDeleted.js +16 -0
  50. package/dist/Database/Ensemble/Events/ModelDeleted.js.map +1 -0
  51. package/dist/Database/Ensemble/Events/ModelDeleting.d.ts +12 -0
  52. package/dist/Database/Ensemble/Events/ModelDeleting.d.ts.map +1 -0
  53. package/dist/Database/Ensemble/Events/ModelDeleting.js +17 -0
  54. package/dist/Database/Ensemble/Events/ModelDeleting.js.map +1 -0
  55. package/dist/Database/Ensemble/Events/ModelEvent.d.ts +17 -0
  56. package/dist/Database/Ensemble/Events/ModelEvent.d.ts.map +1 -0
  57. package/dist/Database/Ensemble/Events/ModelEvent.js +22 -0
  58. package/dist/Database/Ensemble/Events/ModelEvent.js.map +1 -0
  59. package/dist/Database/Ensemble/Events/ModelRetrieved.d.ts +11 -0
  60. package/dist/Database/Ensemble/Events/ModelRetrieved.d.ts.map +1 -0
  61. package/dist/Database/Ensemble/Events/ModelRetrieved.js +16 -0
  62. package/dist/Database/Ensemble/Events/ModelRetrieved.js.map +1 -0
  63. package/dist/Database/Ensemble/Events/ModelSaved.d.ts +11 -0
  64. package/dist/Database/Ensemble/Events/ModelSaved.d.ts.map +1 -0
  65. package/dist/Database/Ensemble/Events/ModelSaved.js +16 -0
  66. package/dist/Database/Ensemble/Events/ModelSaved.js.map +1 -0
  67. package/dist/Database/Ensemble/Events/ModelSaving.d.ts +12 -0
  68. package/dist/Database/Ensemble/Events/ModelSaving.d.ts.map +1 -0
  69. package/dist/Database/Ensemble/Events/ModelSaving.js +17 -0
  70. package/dist/Database/Ensemble/Events/ModelSaving.js.map +1 -0
  71. package/dist/Database/Ensemble/Events/ModelUpdated.d.ts +11 -0
  72. package/dist/Database/Ensemble/Events/ModelUpdated.d.ts.map +1 -0
  73. package/dist/Database/Ensemble/Events/ModelUpdated.js +16 -0
  74. package/dist/Database/Ensemble/Events/ModelUpdated.js.map +1 -0
  75. package/dist/Database/Ensemble/Events/ModelUpdating.d.ts +12 -0
  76. package/dist/Database/Ensemble/Events/ModelUpdating.d.ts.map +1 -0
  77. package/dist/Database/Ensemble/Events/ModelUpdating.js +17 -0
  78. package/dist/Database/Ensemble/Events/ModelUpdating.js.map +1 -0
  79. package/dist/Database/Ensemble/Events/index.d.ts +16 -0
  80. package/dist/Database/Ensemble/Events/index.d.ts.map +1 -0
  81. package/dist/Database/Ensemble/Events/index.js +29 -0
  82. package/dist/Database/Ensemble/Events/index.js.map +1 -0
  83. package/dist/Events/Concerns/Dispatchable.d.ts +121 -0
  84. package/dist/Events/Concerns/Dispatchable.d.ts.map +1 -0
  85. package/dist/Events/Concerns/Dispatchable.js +165 -0
  86. package/dist/Events/Concerns/Dispatchable.js.map +1 -0
  87. package/dist/Events/Contracts/Dispatcher.d.ts +144 -0
  88. package/dist/Events/Contracts/Dispatcher.d.ts.map +1 -0
  89. package/dist/Events/Contracts/Dispatcher.js +3 -0
  90. package/dist/Events/Contracts/Dispatcher.js.map +1 -0
  91. package/dist/Events/Contracts/ShouldDispatchAfterCommit.d.ts +21 -0
  92. package/dist/Events/Contracts/ShouldDispatchAfterCommit.d.ts.map +1 -0
  93. package/dist/Events/Contracts/ShouldDispatchAfterCommit.js +3 -0
  94. package/dist/Events/Contracts/ShouldDispatchAfterCommit.js.map +1 -0
  95. package/dist/Events/Decorators/HandlesEvents.d.ts +83 -0
  96. package/dist/Events/Decorators/HandlesEvents.d.ts.map +1 -0
  97. package/dist/Events/Decorators/HandlesEvents.js +105 -0
  98. package/dist/Events/Decorators/HandlesEvents.js.map +1 -0
  99. package/dist/Events/Dispatcher.d.ts +201 -0
  100. package/dist/Events/Dispatcher.d.ts.map +1 -0
  101. package/dist/Events/Dispatcher.js +359 -0
  102. package/dist/Events/Dispatcher.js.map +1 -0
  103. package/dist/Events/Event.d.ts +164 -0
  104. package/dist/Events/Event.d.ts.map +1 -0
  105. package/dist/Events/Event.js +266 -0
  106. package/dist/Events/Event.js.map +1 -0
  107. package/dist/Events/EventDiscoveryCache.d.ts +205 -0
  108. package/dist/Events/EventDiscoveryCache.d.ts.map +1 -0
  109. package/dist/Events/EventDiscoveryCache.js +310 -0
  110. package/dist/Events/EventDiscoveryCache.js.map +1 -0
  111. package/dist/Events/EventServiceProvider.d.ts +148 -0
  112. package/dist/Events/EventServiceProvider.d.ts.map +1 -0
  113. package/dist/Events/EventServiceProvider.js +258 -0
  114. package/dist/Events/EventServiceProvider.js.map +1 -0
  115. package/dist/Events/NullDispatcher.d.ts +97 -0
  116. package/dist/Events/NullDispatcher.d.ts.map +1 -0
  117. package/dist/Events/NullDispatcher.js +118 -0
  118. package/dist/Events/NullDispatcher.js.map +1 -0
  119. package/dist/Events/PendingDispatch.d.ts +119 -0
  120. package/dist/Events/PendingDispatch.d.ts.map +1 -0
  121. package/dist/Events/PendingDispatch.js +162 -0
  122. package/dist/Events/PendingDispatch.js.map +1 -0
  123. package/dist/Events/index.d.ts +13 -0
  124. package/dist/Events/index.d.ts.map +1 -0
  125. package/dist/Events/index.js +20 -0
  126. package/dist/Events/index.js.map +1 -0
  127. package/dist/Events/types.d.ts +77 -0
  128. package/dist/Events/types.d.ts.map +1 -0
  129. package/dist/Events/types.js +3 -0
  130. package/dist/Events/types.js.map +1 -0
  131. package/dist/Facades/Event.d.ts +200 -0
  132. package/dist/Facades/Event.d.ts.map +1 -0
  133. package/dist/Facades/Event.js +331 -0
  134. package/dist/Facades/Event.js.map +1 -0
  135. package/dist/Foundation/Application.d.ts +33 -0
  136. package/dist/Foundation/Application.d.ts.map +1 -1
  137. package/dist/Foundation/Application.js +40 -0
  138. package/dist/Foundation/Application.js.map +1 -1
  139. package/dist/Listeners/Contracts/ShouldQueue.d.ts +142 -0
  140. package/dist/Listeners/Contracts/ShouldQueue.d.ts.map +1 -0
  141. package/dist/Listeners/Contracts/ShouldQueue.js +20 -0
  142. package/dist/Listeners/Contracts/ShouldQueue.js.map +1 -0
  143. package/dist/Listeners/Contracts/ShouldQueueAfterCommit.d.ts +24 -0
  144. package/dist/Listeners/Contracts/ShouldQueueAfterCommit.d.ts.map +1 -0
  145. package/dist/Listeners/Contracts/ShouldQueueAfterCommit.js +3 -0
  146. package/dist/Listeners/Contracts/ShouldQueueAfterCommit.js.map +1 -0
  147. package/dist/Support/EventDiscovery.d.ts +142 -0
  148. package/dist/Support/EventDiscovery.d.ts.map +1 -0
  149. package/dist/Support/EventDiscovery.js +302 -0
  150. package/dist/Support/EventDiscovery.js.map +1 -0
  151. package/dist/Support/Testing/Fakes/EventFake.d.ts +291 -0
  152. package/dist/Support/Testing/Fakes/EventFake.d.ts.map +1 -0
  153. package/dist/Support/Testing/Fakes/EventFake.js +444 -0
  154. package/dist/Support/Testing/Fakes/EventFake.js.map +1 -0
  155. package/dist/index.d.ts +6 -0
  156. package/dist/index.d.ts.map +1 -1
  157. package/dist/index.js +11 -1
  158. package/dist/index.js.map +1 -1
  159. package/package.json +3 -3
@@ -0,0 +1,291 @@
1
+ import type { DispatcherContract } from '../../../Events/Contracts/Dispatcher';
2
+ import type { Container } from '../../../Container/Container';
3
+ import type { Event } from '../../../Events/Event';
4
+ import type { EventListener } from '../../../Events/types';
5
+ /**
6
+ * Dispatched Event Record
7
+ *
8
+ * Represents a single event dispatch with metadata
9
+ */
10
+ interface DispatchedEvent {
11
+ /** The event instance or event name */
12
+ event: Event | string;
13
+ /** Additional payload passed to the event */
14
+ payload: any[];
15
+ /** Timestamp when the event was dispatched */
16
+ timestamp: number;
17
+ }
18
+ /**
19
+ * Event Fake Dispatcher
20
+ *
21
+ * A test double for the event dispatcher that records all dispatched events
22
+ * instead of actually calling listeners. Provides assertion methods to verify
23
+ * event dispatching behavior in tests.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * // Replace the real dispatcher with a fake
28
+ * const fake = new EventFake(app);
29
+ * app.instance('events', fake);
30
+ *
31
+ * // Test code that dispatches events
32
+ * dispatch(new UserRegistered(user));
33
+ *
34
+ * // Assert the event was dispatched
35
+ * fake.assertDispatched(UserRegistered);
36
+ * fake.assertDispatchedTimes(UserRegistered, 1);
37
+ * ```
38
+ */
39
+ export declare class EventFake implements DispatcherContract {
40
+ protected container: Container;
41
+ /**
42
+ * All dispatched events organized by event name
43
+ */
44
+ protected dispatched: Map<string, DispatchedEvent[]>;
45
+ /**
46
+ * Events that should be faked (empty = fake all)
47
+ */
48
+ protected fakedEvents: string[];
49
+ /**
50
+ * Events that should NOT be faked (all others will be)
51
+ */
52
+ protected exceptedEvents: string[];
53
+ /**
54
+ * The original dispatcher (for pass-through)
55
+ */
56
+ protected originalDispatcher?: DispatcherContract;
57
+ /**
58
+ * Registered listeners (for assertListening)
59
+ */
60
+ protected listeners: Map<string, EventListener[]>;
61
+ constructor(container: Container);
62
+ /**
63
+ * Set which events should be faked
64
+ *
65
+ * @param events - Array of event names or classes to fake
66
+ */
67
+ setFakedEvents(events: string[]): void;
68
+ /**
69
+ * Set which events should NOT be faked (all others will be)
70
+ *
71
+ * @param events - Array of event names or classes to NOT fake
72
+ */
73
+ setExceptedEvents(events: string[]): void;
74
+ /**
75
+ * Set the original dispatcher for pass-through
76
+ *
77
+ * @param dispatcher - The real dispatcher instance
78
+ */
79
+ setOriginalDispatcher(dispatcher: DispatcherContract): void;
80
+ /**
81
+ * Check if an event should be faked
82
+ *
83
+ * @param eventName - The event name to check
84
+ * @returns true if the event should be faked
85
+ */
86
+ protected shouldFake(eventName: string): boolean;
87
+ /**
88
+ * Register an event listener
89
+ *
90
+ * @param events - Event name(s) to listen for
91
+ * @param listener - The listener to call
92
+ */
93
+ listen(events: string | string[], listener: EventListener): void;
94
+ /**
95
+ * Check if an event has listeners
96
+ *
97
+ * @param eventName - The event name to check
98
+ * @returns true if the event has registered listeners
99
+ */
100
+ hasListeners(eventName: string): boolean;
101
+ /**
102
+ * Register an event subscriber
103
+ *
104
+ * @param subscriber - The subscriber instance
105
+ */
106
+ subscribe(subscriber: any): void;
107
+ /**
108
+ * Dispatch an event
109
+ *
110
+ * @param event - The event instance or name
111
+ * @param payload - Additional arguments to pass
112
+ * @param halt - Stop on first non-null response
113
+ * @returns Array of listener results
114
+ */
115
+ dispatch(event: string | Event, payload?: any[], halt?: boolean): any[];
116
+ /**
117
+ * Dispatch an event until the first non-null response
118
+ *
119
+ * @param event - The event instance or name
120
+ * @param payload - Additional arguments to pass
121
+ * @returns The first non-null listener result
122
+ */
123
+ until(event: string | Event, payload?: any[]): any;
124
+ /**
125
+ * Push an event onto the queue for later flushing
126
+ *
127
+ * @param event - The event name
128
+ * @param payload - Additional arguments to pass
129
+ */
130
+ push(event: string, payload?: any[]): void;
131
+ /**
132
+ * Flush all queued events
133
+ *
134
+ * @param event - The event name to flush
135
+ */
136
+ flush(event: string): void;
137
+ /**
138
+ * Remove all listeners for an event
139
+ *
140
+ * @param event - The event name
141
+ */
142
+ forget(event: string): void;
143
+ /**
144
+ * Clear all queued events
145
+ */
146
+ forgetPushed(): void;
147
+ /**
148
+ * Get all registered listeners
149
+ *
150
+ * @returns Map of event names to listeners
151
+ */
152
+ getRawListeners(): Map<string, EventListener[]>;
153
+ /**
154
+ * Get the event name from an event instance or string
155
+ *
156
+ * @param event - The event instance or name
157
+ * @returns The event name
158
+ */
159
+ protected getEventName(event: string | Event): string;
160
+ /**
161
+ * Assert that an event was dispatched
162
+ *
163
+ * @param event - The event name or class
164
+ * @param callback - Optional callback to filter events
165
+ * @throws Error if the event was not dispatched
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * // Assert event was dispatched
170
+ * fake.assertDispatched(UserRegistered);
171
+ *
172
+ * // Assert event with specific properties
173
+ * fake.assertDispatched(UserRegistered, (event) => {
174
+ * return event.user.email === 'test@example.com';
175
+ * });
176
+ * ```
177
+ */
178
+ assertDispatched(event: string | (new (...args: any[]) => Event), callback?: (event: Event) => boolean): void;
179
+ /**
180
+ * Assert that an event was NOT dispatched
181
+ *
182
+ * @param event - The event name or class
183
+ * @param callback - Optional callback to filter events
184
+ * @throws Error if the event was dispatched
185
+ *
186
+ * @example
187
+ * ```typescript
188
+ * // Assert event was not dispatched
189
+ * fake.assertNotDispatched(UserDeleted);
190
+ *
191
+ * // Assert event with specific properties was not dispatched
192
+ * fake.assertNotDispatched(UserRegistered, (event) => {
193
+ * return event.user.email === 'admin@example.com';
194
+ * });
195
+ * ```
196
+ */
197
+ assertNotDispatched(event: string | (new (...args: any[]) => Event), callback?: (event: Event) => boolean): void;
198
+ /**
199
+ * Assert that an event was dispatched a specific number of times
200
+ *
201
+ * @param event - The event name or class
202
+ * @param times - Expected number of dispatches
203
+ * @throws Error if the dispatch count doesn't match
204
+ *
205
+ * @example
206
+ * ```typescript
207
+ * fake.assertDispatchedTimes(UserRegistered, 3);
208
+ * ```
209
+ */
210
+ assertDispatchedTimes(event: string | (new (...args: any[]) => Event), times: number): void;
211
+ /**
212
+ * Assert that no events were dispatched
213
+ *
214
+ * @throws Error if any events were dispatched
215
+ *
216
+ * @example
217
+ * ```typescript
218
+ * fake.assertNothingDispatched();
219
+ * ```
220
+ */
221
+ assertNothingDispatched(): void;
222
+ /**
223
+ * Assert that a listener is registered for an event
224
+ *
225
+ * @param event - The event name or class
226
+ * @param listener - Optional specific listener to check for
227
+ * @throws Error if the listener is not registered
228
+ *
229
+ * @example
230
+ * ```typescript
231
+ * // Assert any listener is registered
232
+ * fake.assertListening(UserRegistered);
233
+ *
234
+ * // Assert specific listener is registered
235
+ * fake.assertListening(UserRegistered, SendWelcomeEmail);
236
+ * ```
237
+ */
238
+ assertListening(event: string | (new (...args: any[]) => Event), listener?: string | EventListener): void;
239
+ /**
240
+ * Get the name of a listener
241
+ *
242
+ * @param listener - The listener instance or closure
243
+ * @returns The listener name
244
+ */
245
+ protected getListenerName(listener: EventListener): string;
246
+ /**
247
+ * Get all dispatched events for a given event name
248
+ *
249
+ * @param event - The event name or class
250
+ * @returns Array of dispatched event records
251
+ *
252
+ * @example
253
+ * ```typescript
254
+ * const dispatches = fake.getDispatched(UserRegistered);
255
+ * expect(dispatches).toHaveLength(3);
256
+ * ```
257
+ */
258
+ getDispatched(event: string | (new (...args: any[]) => Event)): DispatchedEvent[];
259
+ /**
260
+ * Get all dispatched event names
261
+ *
262
+ * @returns Array of event names
263
+ */
264
+ getDispatchedEventNames(): string[];
265
+ /**
266
+ * Get the total count of dispatched events
267
+ *
268
+ * @returns Total number of event dispatches
269
+ */
270
+ getDispatchedCount(): number;
271
+ /**
272
+ * Clear all recorded dispatches
273
+ *
274
+ * @example
275
+ * ```typescript
276
+ * // Clear between tests
277
+ * fake.clear();
278
+ * ```
279
+ */
280
+ clear(): void;
281
+ /**
282
+ * Clear all registered listeners
283
+ */
284
+ clearListeners(): void;
285
+ /**
286
+ * Reset the fake completely
287
+ */
288
+ reset(): void;
289
+ }
290
+ export {};
291
+ //# sourceMappingURL=EventFake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventFake.d.ts","sourceRoot":"","sources":["../../../../src/Support/Testing/Fakes/EventFake.ts"],"names":[],"mappings":"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"}