@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.
Files changed (227) 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/Commands/MigrateStatusCommand.d.ts.map +1 -1
  23. package/dist/Console/Commands/MigrateStatusCommand.js.map +1 -1
  24. package/dist/Console/orchestr.js +10 -0
  25. package/dist/Console/orchestr.js.map +1 -1
  26. package/dist/Container/Container.js.map +1 -1
  27. package/dist/Contracts/Events/Dispatcher.d.ts +94 -0
  28. package/dist/Contracts/Events/Dispatcher.d.ts.map +1 -0
  29. package/dist/Contracts/Events/Dispatcher.js +9 -0
  30. package/dist/Contracts/Events/Dispatcher.js.map +1 -0
  31. package/dist/Contracts/Events/index.d.ts +7 -0
  32. package/dist/Contracts/Events/index.d.ts.map +1 -0
  33. package/dist/Contracts/Events/index.js +8 -0
  34. package/dist/Contracts/Events/index.js.map +1 -0
  35. package/dist/Database/Connection.d.ts.map +1 -1
  36. package/dist/Database/Connection.js.map +1 -1
  37. package/dist/Database/Ensemble/Concerns/HasDynamicRelations.d.ts.map +1 -1
  38. package/dist/Database/Ensemble/Concerns/HasDynamicRelations.js +43 -12
  39. package/dist/Database/Ensemble/Concerns/HasDynamicRelations.js.map +1 -1
  40. package/dist/Database/Ensemble/Concerns/HasRelationships.d.ts.map +1 -1
  41. package/dist/Database/Ensemble/Concerns/HasRelationships.js +2 -5
  42. package/dist/Database/Ensemble/Concerns/HasRelationships.js.map +1 -1
  43. package/dist/Database/Ensemble/Ensemble.d.ts +7 -0
  44. package/dist/Database/Ensemble/Ensemble.d.ts.map +1 -1
  45. package/dist/Database/Ensemble/Ensemble.js +134 -11
  46. package/dist/Database/Ensemble/Ensemble.js.map +1 -1
  47. package/dist/Database/Ensemble/EnsembleBuilder.d.ts.map +1 -1
  48. package/dist/Database/Ensemble/EnsembleBuilder.js +7 -0
  49. package/dist/Database/Ensemble/EnsembleBuilder.js.map +1 -1
  50. package/dist/Database/Ensemble/Events/ModelCreated.d.ts +11 -0
  51. package/dist/Database/Ensemble/Events/ModelCreated.d.ts.map +1 -0
  52. package/dist/Database/Ensemble/Events/ModelCreated.js +16 -0
  53. package/dist/Database/Ensemble/Events/ModelCreated.js.map +1 -0
  54. package/dist/Database/Ensemble/Events/ModelCreating.d.ts +12 -0
  55. package/dist/Database/Ensemble/Events/ModelCreating.d.ts.map +1 -0
  56. package/dist/Database/Ensemble/Events/ModelCreating.js +17 -0
  57. package/dist/Database/Ensemble/Events/ModelCreating.js.map +1 -0
  58. package/dist/Database/Ensemble/Events/ModelDeleted.d.ts +11 -0
  59. package/dist/Database/Ensemble/Events/ModelDeleted.d.ts.map +1 -0
  60. package/dist/Database/Ensemble/Events/ModelDeleted.js +16 -0
  61. package/dist/Database/Ensemble/Events/ModelDeleted.js.map +1 -0
  62. package/dist/Database/Ensemble/Events/ModelDeleting.d.ts +12 -0
  63. package/dist/Database/Ensemble/Events/ModelDeleting.d.ts.map +1 -0
  64. package/dist/Database/Ensemble/Events/ModelDeleting.js +17 -0
  65. package/dist/Database/Ensemble/Events/ModelDeleting.js.map +1 -0
  66. package/dist/Database/Ensemble/Events/ModelEvent.d.ts +17 -0
  67. package/dist/Database/Ensemble/Events/ModelEvent.d.ts.map +1 -0
  68. package/dist/Database/Ensemble/Events/ModelEvent.js +22 -0
  69. package/dist/Database/Ensemble/Events/ModelEvent.js.map +1 -0
  70. package/dist/Database/Ensemble/Events/ModelRetrieved.d.ts +11 -0
  71. package/dist/Database/Ensemble/Events/ModelRetrieved.d.ts.map +1 -0
  72. package/dist/Database/Ensemble/Events/ModelRetrieved.js +16 -0
  73. package/dist/Database/Ensemble/Events/ModelRetrieved.js.map +1 -0
  74. package/dist/Database/Ensemble/Events/ModelSaved.d.ts +11 -0
  75. package/dist/Database/Ensemble/Events/ModelSaved.d.ts.map +1 -0
  76. package/dist/Database/Ensemble/Events/ModelSaved.js +16 -0
  77. package/dist/Database/Ensemble/Events/ModelSaved.js.map +1 -0
  78. package/dist/Database/Ensemble/Events/ModelSaving.d.ts +12 -0
  79. package/dist/Database/Ensemble/Events/ModelSaving.d.ts.map +1 -0
  80. package/dist/Database/Ensemble/Events/ModelSaving.js +17 -0
  81. package/dist/Database/Ensemble/Events/ModelSaving.js.map +1 -0
  82. package/dist/Database/Ensemble/Events/ModelUpdated.d.ts +11 -0
  83. package/dist/Database/Ensemble/Events/ModelUpdated.d.ts.map +1 -0
  84. package/dist/Database/Ensemble/Events/ModelUpdated.js +16 -0
  85. package/dist/Database/Ensemble/Events/ModelUpdated.js.map +1 -0
  86. package/dist/Database/Ensemble/Events/ModelUpdating.d.ts +12 -0
  87. package/dist/Database/Ensemble/Events/ModelUpdating.d.ts.map +1 -0
  88. package/dist/Database/Ensemble/Events/ModelUpdating.js +17 -0
  89. package/dist/Database/Ensemble/Events/ModelUpdating.js.map +1 -0
  90. package/dist/Database/Ensemble/Events/index.d.ts +16 -0
  91. package/dist/Database/Ensemble/Events/index.d.ts.map +1 -0
  92. package/dist/Database/Ensemble/Events/index.js +29 -0
  93. package/dist/Database/Ensemble/Events/index.js.map +1 -0
  94. package/dist/Database/Ensemble/Relations/BelongsTo.d.ts.map +1 -1
  95. package/dist/Database/Ensemble/Relations/BelongsTo.js.map +1 -1
  96. package/dist/Database/Ensemble/Relations/BelongsToMany.d.ts.map +1 -1
  97. package/dist/Database/Ensemble/Relations/BelongsToMany.js +1 -4
  98. package/dist/Database/Ensemble/Relations/BelongsToMany.js.map +1 -1
  99. package/dist/Database/Ensemble/Relations/HasMany.d.ts.map +1 -1
  100. package/dist/Database/Ensemble/Relations/HasMany.js.map +1 -1
  101. package/dist/Database/Ensemble/Relations/HasOne.d.ts.map +1 -1
  102. package/dist/Database/Ensemble/Relations/HasOne.js.map +1 -1
  103. package/dist/Database/Ensemble/Relations/MorphMany.d.ts.map +1 -1
  104. package/dist/Database/Ensemble/Relations/MorphMany.js +2 -6
  105. package/dist/Database/Ensemble/Relations/MorphMany.js.map +1 -1
  106. package/dist/Database/Ensemble/Relations/MorphOne.d.ts.map +1 -1
  107. package/dist/Database/Ensemble/Relations/MorphOne.js +2 -6
  108. package/dist/Database/Ensemble/Relations/MorphOne.js.map +1 -1
  109. package/dist/Database/Ensemble/Relations/MorphTo.d.ts.map +1 -1
  110. package/dist/Database/Ensemble/Relations/MorphTo.js +5 -11
  111. package/dist/Database/Ensemble/Relations/MorphTo.js.map +1 -1
  112. package/dist/Database/Ensemble/Relations/MorphToMany.d.ts.map +1 -1
  113. package/dist/Database/Ensemble/Relations/MorphToMany.js +1 -3
  114. package/dist/Database/Ensemble/Relations/MorphToMany.js.map +1 -1
  115. package/dist/Database/Ensemble/Relations/MorphedByMany.d.ts.map +1 -1
  116. package/dist/Database/Ensemble/Relations/MorphedByMany.js.map +1 -1
  117. package/dist/Database/Ensemble/Relations/Relation.d.ts.map +1 -1
  118. package/dist/Database/Ensemble/Relations/Relation.js +4 -2
  119. package/dist/Database/Ensemble/Relations/Relation.js.map +1 -1
  120. package/dist/Database/Migrations/MigrationRepository.d.ts.map +1 -1
  121. package/dist/Database/Migrations/MigrationRepository.js +4 -19
  122. package/dist/Database/Migrations/MigrationRepository.js.map +1 -1
  123. package/dist/Database/Migrations/SchemaBuilder.d.ts.map +1 -1
  124. package/dist/Database/Migrations/SchemaBuilder.js +5 -15
  125. package/dist/Database/Migrations/SchemaBuilder.js.map +1 -1
  126. package/dist/Database/Query/Builder.d.ts.map +1 -1
  127. package/dist/Database/Query/Builder.js +5 -4
  128. package/dist/Database/Query/Builder.js.map +1 -1
  129. package/dist/Events/Concerns/Dispatchable.d.ts +121 -0
  130. package/dist/Events/Concerns/Dispatchable.d.ts.map +1 -0
  131. package/dist/Events/Concerns/Dispatchable.js +165 -0
  132. package/dist/Events/Concerns/Dispatchable.js.map +1 -0
  133. package/dist/Events/Contracts/Dispatcher.d.ts +144 -0
  134. package/dist/Events/Contracts/Dispatcher.d.ts.map +1 -0
  135. package/dist/Events/Contracts/Dispatcher.js +3 -0
  136. package/dist/Events/Contracts/Dispatcher.js.map +1 -0
  137. package/dist/Events/Contracts/ShouldDispatchAfterCommit.d.ts +21 -0
  138. package/dist/Events/Contracts/ShouldDispatchAfterCommit.d.ts.map +1 -0
  139. package/dist/Events/Contracts/ShouldDispatchAfterCommit.js +3 -0
  140. package/dist/Events/Contracts/ShouldDispatchAfterCommit.js.map +1 -0
  141. package/dist/Events/Decorators/HandlesEvents.d.ts +83 -0
  142. package/dist/Events/Decorators/HandlesEvents.d.ts.map +1 -0
  143. package/dist/Events/Decorators/HandlesEvents.js +105 -0
  144. package/dist/Events/Decorators/HandlesEvents.js.map +1 -0
  145. package/dist/Events/Dispatcher.d.ts +201 -0
  146. package/dist/Events/Dispatcher.d.ts.map +1 -0
  147. package/dist/Events/Dispatcher.js +359 -0
  148. package/dist/Events/Dispatcher.js.map +1 -0
  149. package/dist/Events/Event.d.ts +140 -0
  150. package/dist/Events/Event.d.ts.map +1 -0
  151. package/dist/Events/Event.js +266 -0
  152. package/dist/Events/Event.js.map +1 -0
  153. package/dist/Events/EventDiscoveryCache.d.ts +205 -0
  154. package/dist/Events/EventDiscoveryCache.d.ts.map +1 -0
  155. package/dist/Events/EventDiscoveryCache.js +310 -0
  156. package/dist/Events/EventDiscoveryCache.js.map +1 -0
  157. package/dist/Events/EventServiceProvider.d.ts +148 -0
  158. package/dist/Events/EventServiceProvider.d.ts.map +1 -0
  159. package/dist/Events/EventServiceProvider.js +258 -0
  160. package/dist/Events/EventServiceProvider.js.map +1 -0
  161. package/dist/Events/NullDispatcher.d.ts +97 -0
  162. package/dist/Events/NullDispatcher.d.ts.map +1 -0
  163. package/dist/Events/NullDispatcher.js +118 -0
  164. package/dist/Events/NullDispatcher.js.map +1 -0
  165. package/dist/Events/PendingDispatch.d.ts +119 -0
  166. package/dist/Events/PendingDispatch.d.ts.map +1 -0
  167. package/dist/Events/PendingDispatch.js +162 -0
  168. package/dist/Events/PendingDispatch.js.map +1 -0
  169. package/dist/Events/index.d.ts +12 -0
  170. package/dist/Events/index.d.ts.map +1 -0
  171. package/dist/Events/index.js +20 -0
  172. package/dist/Events/index.js.map +1 -0
  173. package/dist/Events/types.d.ts +77 -0
  174. package/dist/Events/types.d.ts.map +1 -0
  175. package/dist/Events/types.js +3 -0
  176. package/dist/Events/types.js.map +1 -0
  177. package/dist/Facades/DB.d.ts.map +1 -1
  178. package/dist/Facades/DB.js.map +1 -1
  179. package/dist/Facades/Event.d.ts +200 -0
  180. package/dist/Facades/Event.d.ts.map +1 -0
  181. package/dist/Facades/Event.js +331 -0
  182. package/dist/Facades/Event.js.map +1 -0
  183. package/dist/Facades/Route.js +1 -1
  184. package/dist/Foundation/Application.d.ts +33 -0
  185. package/dist/Foundation/Application.d.ts.map +1 -1
  186. package/dist/Foundation/Application.js +43 -3
  187. package/dist/Foundation/Application.js.map +1 -1
  188. package/dist/Foundation/Config/Config.js +1 -1
  189. package/dist/Foundation/Config/Config.js.map +1 -1
  190. package/dist/Foundation/Http/FormRequest.d.ts.map +1 -1
  191. package/dist/Foundation/Http/FormRequest.js +2 -2
  192. package/dist/Foundation/Http/FormRequest.js.map +1 -1
  193. package/dist/Foundation/Http/Kernel.d.ts.map +1 -1
  194. package/dist/Foundation/Http/Kernel.js +1 -1
  195. package/dist/Foundation/Http/Kernel.js.map +1 -1
  196. package/dist/Foundation/Http/Validator.d.ts.map +1 -1
  197. package/dist/Foundation/Http/Validator.js +27 -22
  198. package/dist/Foundation/Http/Validator.js.map +1 -1
  199. package/dist/Listeners/Contracts/ShouldQueue.d.ts +142 -0
  200. package/dist/Listeners/Contracts/ShouldQueue.d.ts.map +1 -0
  201. package/dist/Listeners/Contracts/ShouldQueue.js +20 -0
  202. package/dist/Listeners/Contracts/ShouldQueue.js.map +1 -0
  203. package/dist/Listeners/Contracts/ShouldQueueAfterCommit.d.ts +24 -0
  204. package/dist/Listeners/Contracts/ShouldQueueAfterCommit.d.ts.map +1 -0
  205. package/dist/Listeners/Contracts/ShouldQueueAfterCommit.js +3 -0
  206. package/dist/Listeners/Contracts/ShouldQueueAfterCommit.js.map +1 -0
  207. package/dist/Routing/Request.js +1 -1
  208. package/dist/Routing/Request.js.map +1 -1
  209. package/dist/Routing/Route.js +1 -1
  210. package/dist/Routing/Route.js.map +1 -1
  211. package/dist/Routing/Router.d.ts.map +1 -1
  212. package/dist/Routing/Router.js +5 -6
  213. package/dist/Routing/Router.js.map +1 -1
  214. package/dist/Support/EventDiscovery.d.ts +142 -0
  215. package/dist/Support/EventDiscovery.d.ts.map +1 -0
  216. package/dist/Support/EventDiscovery.js +302 -0
  217. package/dist/Support/EventDiscovery.js.map +1 -0
  218. package/dist/Support/Facade.js +2 -2
  219. package/dist/Support/Testing/Fakes/EventFake.d.ts +291 -0
  220. package/dist/Support/Testing/Fakes/EventFake.d.ts.map +1 -0
  221. package/dist/Support/Testing/Fakes/EventFake.js +444 -0
  222. package/dist/Support/Testing/Fakes/EventFake.js.map +1 -0
  223. package/dist/index.d.ts +10 -4
  224. package/dist/index.d.ts.map +1 -1
  225. package/dist/index.js +11 -1
  226. package/dist/index.js.map +1 -1
  227. package/package.json +33 -12
@@ -0,0 +1,444 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventFake = void 0;
4
+ /**
5
+ * Event Fake Dispatcher
6
+ *
7
+ * A test double for the event dispatcher that records all dispatched events
8
+ * instead of actually calling listeners. Provides assertion methods to verify
9
+ * event dispatching behavior in tests.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * // Replace the real dispatcher with a fake
14
+ * const fake = new EventFake(app);
15
+ * app.instance('events', fake);
16
+ *
17
+ * // Test code that dispatches events
18
+ * dispatch(new UserRegistered(user));
19
+ *
20
+ * // Assert the event was dispatched
21
+ * fake.assertDispatched(UserRegistered);
22
+ * fake.assertDispatchedTimes(UserRegistered, 1);
23
+ * ```
24
+ */
25
+ class EventFake {
26
+ container;
27
+ /**
28
+ * All dispatched events organized by event name
29
+ */
30
+ dispatched = new Map();
31
+ /**
32
+ * Events that should be faked (empty = fake all)
33
+ */
34
+ fakedEvents = [];
35
+ /**
36
+ * Events that should NOT be faked (all others will be)
37
+ */
38
+ exceptedEvents = [];
39
+ /**
40
+ * The original dispatcher (for pass-through)
41
+ */
42
+ originalDispatcher;
43
+ /**
44
+ * Registered listeners (for assertListening)
45
+ */
46
+ listeners = new Map();
47
+ constructor(container) {
48
+ this.container = container;
49
+ }
50
+ /**
51
+ * Set which events should be faked
52
+ *
53
+ * @param events - Array of event names or classes to fake
54
+ */
55
+ setFakedEvents(events) {
56
+ this.fakedEvents = events;
57
+ }
58
+ /**
59
+ * Set which events should NOT be faked (all others will be)
60
+ *
61
+ * @param events - Array of event names or classes to NOT fake
62
+ */
63
+ setExceptedEvents(events) {
64
+ this.exceptedEvents = events;
65
+ }
66
+ /**
67
+ * Set the original dispatcher for pass-through
68
+ *
69
+ * @param dispatcher - The real dispatcher instance
70
+ */
71
+ setOriginalDispatcher(dispatcher) {
72
+ this.originalDispatcher = dispatcher;
73
+ }
74
+ /**
75
+ * Check if an event should be faked
76
+ *
77
+ * @param eventName - The event name to check
78
+ * @returns true if the event should be faked
79
+ */
80
+ shouldFake(eventName) {
81
+ // If excepted events are set, fake everything except those
82
+ if (this.exceptedEvents.length > 0) {
83
+ return !this.exceptedEvents.includes(eventName);
84
+ }
85
+ // If faked events are set, only fake those
86
+ if (this.fakedEvents.length > 0) {
87
+ return this.fakedEvents.includes(eventName);
88
+ }
89
+ // Otherwise fake everything
90
+ return true;
91
+ }
92
+ /**
93
+ * Register an event listener
94
+ *
95
+ * @param events - Event name(s) to listen for
96
+ * @param listener - The listener to call
97
+ */
98
+ listen(events, listener) {
99
+ // Store listeners for assertListening
100
+ const eventArray = Array.isArray(events) ? events : [events];
101
+ for (const event of eventArray) {
102
+ if (!this.listeners.has(event)) {
103
+ this.listeners.set(event, []);
104
+ }
105
+ this.listeners.get(event).push(listener);
106
+ }
107
+ }
108
+ /**
109
+ * Check if an event has listeners
110
+ *
111
+ * @param eventName - The event name to check
112
+ * @returns true if the event has registered listeners
113
+ */
114
+ hasListeners(eventName) {
115
+ return this.listeners.has(eventName) && this.listeners.get(eventName).length > 0;
116
+ }
117
+ /**
118
+ * Register an event subscriber
119
+ *
120
+ * @param subscriber - The subscriber instance
121
+ */
122
+ subscribe(subscriber) {
123
+ // Faked dispatcher doesn't actually register subscribers
124
+ // but stores them for assertListening
125
+ }
126
+ /**
127
+ * Dispatch an event
128
+ *
129
+ * @param event - The event instance or name
130
+ * @param payload - Additional arguments to pass
131
+ * @param halt - Stop on first non-null response
132
+ * @returns Array of listener results
133
+ */
134
+ dispatch(event, payload = [], halt = false) {
135
+ const eventName = this.getEventName(event);
136
+ if (!this.shouldFake(eventName)) {
137
+ // Pass through to original dispatcher if it exists
138
+ if (this.originalDispatcher) {
139
+ return this.originalDispatcher.dispatch(event, payload, halt);
140
+ }
141
+ return [];
142
+ }
143
+ // Record the dispatch
144
+ if (!this.dispatched.has(eventName)) {
145
+ this.dispatched.set(eventName, []);
146
+ }
147
+ this.dispatched.get(eventName).push({
148
+ event,
149
+ payload,
150
+ timestamp: Date.now(),
151
+ });
152
+ return [];
153
+ }
154
+ /**
155
+ * Dispatch an event until the first non-null response
156
+ *
157
+ * @param event - The event instance or name
158
+ * @param payload - Additional arguments to pass
159
+ * @returns The first non-null listener result
160
+ */
161
+ until(event, payload = []) {
162
+ return this.dispatch(event, payload, true)[0] || null;
163
+ }
164
+ /**
165
+ * Push an event onto the queue for later flushing
166
+ *
167
+ * @param event - The event name
168
+ * @param payload - Additional arguments to pass
169
+ */
170
+ push(event, payload = []) {
171
+ // Not implemented for faked dispatcher
172
+ }
173
+ /**
174
+ * Flush all queued events
175
+ *
176
+ * @param event - The event name to flush
177
+ */
178
+ flush(event) {
179
+ // Not implemented for faked dispatcher
180
+ }
181
+ /**
182
+ * Remove all listeners for an event
183
+ *
184
+ * @param event - The event name
185
+ */
186
+ forget(event) {
187
+ this.dispatched.delete(event);
188
+ this.listeners.delete(event);
189
+ }
190
+ /**
191
+ * Clear all queued events
192
+ */
193
+ forgetPushed() {
194
+ // Not implemented for faked dispatcher
195
+ }
196
+ /**
197
+ * Get all registered listeners
198
+ *
199
+ * @returns Map of event names to listeners
200
+ */
201
+ getRawListeners() {
202
+ return this.listeners;
203
+ }
204
+ /**
205
+ * Get the event name from an event instance or string
206
+ *
207
+ * @param event - The event instance or name
208
+ * @returns The event name
209
+ */
210
+ getEventName(event) {
211
+ if (typeof event === 'string') {
212
+ return event;
213
+ }
214
+ return event.constructor.name;
215
+ }
216
+ // ==================== Assertion Methods ====================
217
+ /**
218
+ * Assert that an event was dispatched
219
+ *
220
+ * @param event - The event name or class
221
+ * @param callback - Optional callback to filter events
222
+ * @throws Error if the event was not dispatched
223
+ *
224
+ * @example
225
+ * ```typescript
226
+ * // Assert event was dispatched
227
+ * fake.assertDispatched(UserRegistered);
228
+ *
229
+ * // Assert event with specific properties
230
+ * fake.assertDispatched(UserRegistered, (event) => {
231
+ * return event.user.email === 'test@example.com';
232
+ * });
233
+ * ```
234
+ */
235
+ assertDispatched(event, callback) {
236
+ const eventName = typeof event === 'string' ? event : event.name;
237
+ const events = this.dispatched.get(eventName) || [];
238
+ if (events.length === 0) {
239
+ const dispatchedList = Array.from(this.dispatched.keys()).join(', ') || 'none';
240
+ throw new Error(`Event [${eventName}] was not dispatched.\n` +
241
+ `Dispatched events: ${dispatchedList}`);
242
+ }
243
+ if (callback) {
244
+ const matching = events.filter(e => {
245
+ const eventObj = typeof e.event === 'string' ? null : e.event;
246
+ return eventObj && callback(eventObj);
247
+ });
248
+ if (matching.length === 0) {
249
+ throw new Error(`Event [${eventName}] was dispatched ${events.length} time(s) ` +
250
+ `but none matched the provided callback.`);
251
+ }
252
+ }
253
+ }
254
+ /**
255
+ * Assert that an event was NOT dispatched
256
+ *
257
+ * @param event - The event name or class
258
+ * @param callback - Optional callback to filter events
259
+ * @throws Error if the event was dispatched
260
+ *
261
+ * @example
262
+ * ```typescript
263
+ * // Assert event was not dispatched
264
+ * fake.assertNotDispatched(UserDeleted);
265
+ *
266
+ * // Assert event with specific properties was not dispatched
267
+ * fake.assertNotDispatched(UserRegistered, (event) => {
268
+ * return event.user.email === 'admin@example.com';
269
+ * });
270
+ * ```
271
+ */
272
+ assertNotDispatched(event, callback) {
273
+ const eventName = typeof event === 'string' ? event : event.name;
274
+ const events = this.dispatched.get(eventName) || [];
275
+ if (!callback) {
276
+ if (events.length > 0) {
277
+ throw new Error(`Event [${eventName}] was dispatched ${events.length} time(s).`);
278
+ }
279
+ return;
280
+ }
281
+ const matching = events.filter(e => {
282
+ const eventObj = typeof e.event === 'string' ? null : e.event;
283
+ return eventObj && callback(eventObj);
284
+ });
285
+ if (matching.length > 0) {
286
+ throw new Error(`Event [${eventName}] was unexpectedly dispatched ${matching.length} time(s) ` +
287
+ `matching the provided callback.`);
288
+ }
289
+ }
290
+ /**
291
+ * Assert that an event was dispatched a specific number of times
292
+ *
293
+ * @param event - The event name or class
294
+ * @param times - Expected number of dispatches
295
+ * @throws Error if the dispatch count doesn't match
296
+ *
297
+ * @example
298
+ * ```typescript
299
+ * fake.assertDispatchedTimes(UserRegistered, 3);
300
+ * ```
301
+ */
302
+ assertDispatchedTimes(event, times) {
303
+ const eventName = typeof event === 'string' ? event : event.name;
304
+ const events = this.dispatched.get(eventName) || [];
305
+ if (events.length !== times) {
306
+ throw new Error(`Event [${eventName}] was dispatched ${events.length} time(s) instead of ${times}.`);
307
+ }
308
+ }
309
+ /**
310
+ * Assert that no events were dispatched
311
+ *
312
+ * @throws Error if any events were dispatched
313
+ *
314
+ * @example
315
+ * ```typescript
316
+ * fake.assertNothingDispatched();
317
+ * ```
318
+ */
319
+ assertNothingDispatched() {
320
+ const totalEvents = Array.from(this.dispatched.values())
321
+ .reduce((sum, events) => sum + events.length, 0);
322
+ if (totalEvents > 0) {
323
+ const dispatched = Array.from(this.dispatched.entries())
324
+ .map(([name, events]) => ` ${name}: ${events.length}`)
325
+ .join('\n');
326
+ throw new Error(`Expected no events to be dispatched, but ${totalEvents} were:\n${dispatched}`);
327
+ }
328
+ }
329
+ /**
330
+ * Assert that a listener is registered for an event
331
+ *
332
+ * @param event - The event name or class
333
+ * @param listener - Optional specific listener to check for
334
+ * @throws Error if the listener is not registered
335
+ *
336
+ * @example
337
+ * ```typescript
338
+ * // Assert any listener is registered
339
+ * fake.assertListening(UserRegistered);
340
+ *
341
+ * // Assert specific listener is registered
342
+ * fake.assertListening(UserRegistered, SendWelcomeEmail);
343
+ * ```
344
+ */
345
+ assertListening(event, listener) {
346
+ const eventName = typeof event === 'string' ? event : event.name;
347
+ const eventListeners = this.listeners.get(eventName) || [];
348
+ if (eventListeners.length === 0) {
349
+ throw new Error(`No listeners are registered for event [${eventName}].`);
350
+ }
351
+ if (listener) {
352
+ const listenerName = typeof listener === 'string' ? listener : this.getListenerName(listener);
353
+ const hasListener = eventListeners.some(l => {
354
+ const lName = typeof l === 'string' ? l : this.getListenerName(l);
355
+ return lName === listenerName;
356
+ });
357
+ if (!hasListener) {
358
+ throw new Error(`Listener [${listenerName}] is not registered for event [${eventName}].`);
359
+ }
360
+ }
361
+ }
362
+ /**
363
+ * Get the name of a listener
364
+ *
365
+ * @param listener - The listener instance or closure
366
+ * @returns The listener name
367
+ */
368
+ getListenerName(listener) {
369
+ if (typeof listener === 'string') {
370
+ return listener;
371
+ }
372
+ if (typeof listener === 'function') {
373
+ return listener.name || '<Closure>';
374
+ }
375
+ if (typeof listener === 'object' && listener.constructor) {
376
+ return listener.constructor.name;
377
+ }
378
+ return '<Unknown>';
379
+ }
380
+ // ==================== Helper Methods ====================
381
+ /**
382
+ * Get all dispatched events for a given event name
383
+ *
384
+ * @param event - The event name or class
385
+ * @returns Array of dispatched event records
386
+ *
387
+ * @example
388
+ * ```typescript
389
+ * const dispatches = fake.getDispatched(UserRegistered);
390
+ * expect(dispatches).toHaveLength(3);
391
+ * ```
392
+ */
393
+ getDispatched(event) {
394
+ const eventName = typeof event === 'string' ? event : event.name;
395
+ return this.dispatched.get(eventName) || [];
396
+ }
397
+ /**
398
+ * Get all dispatched event names
399
+ *
400
+ * @returns Array of event names
401
+ */
402
+ getDispatchedEventNames() {
403
+ return Array.from(this.dispatched.keys());
404
+ }
405
+ /**
406
+ * Get the total count of dispatched events
407
+ *
408
+ * @returns Total number of event dispatches
409
+ */
410
+ getDispatchedCount() {
411
+ return Array.from(this.dispatched.values())
412
+ .reduce((sum, events) => sum + events.length, 0);
413
+ }
414
+ /**
415
+ * Clear all recorded dispatches
416
+ *
417
+ * @example
418
+ * ```typescript
419
+ * // Clear between tests
420
+ * fake.clear();
421
+ * ```
422
+ */
423
+ clear() {
424
+ this.dispatched.clear();
425
+ }
426
+ /**
427
+ * Clear all registered listeners
428
+ */
429
+ clearListeners() {
430
+ this.listeners.clear();
431
+ }
432
+ /**
433
+ * Reset the fake completely
434
+ */
435
+ reset() {
436
+ this.clear();
437
+ this.clearListeners();
438
+ this.fakedEvents = [];
439
+ this.exceptedEvents = [];
440
+ this.originalDispatcher = undefined;
441
+ }
442
+ }
443
+ exports.EventFake = EventFake;
444
+ //# sourceMappingURL=EventFake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventFake.js","sourceRoot":"","sources":["../../../../src/Support/Testing/Fakes/EventFake.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -40,8 +40,8 @@ export { Relation, HasOne, HasMany, BelongsTo, BelongsToMany } from './Database/
40
40
  export { MorphMap, MorphOne, MorphMany, MorphTo, MorphToMany, MorphedByMany } from './Database/Ensemble/Relations';
41
41
  export { HasRelationshipsMixin } from './Database/Ensemble/Concerns/HasRelationships';
42
42
  export { DynamicRelation, defineDynamicRelation } from './Database/Ensemble/Concerns/HasDynamicRelations';
43
- export type { DynamicRelationAccessor, BelongsToAccessor, HasOneAccessor, HasManyAccessor, BelongsToManyAccessor, MorphOneAccessor, MorphManyAccessor, MorphToAccessor, MorphToManyAccessor, MorphedByManyAccessor } from './Database/Ensemble/Concerns/HasDynamicRelations';
44
- export type { HasAttributes, CastType, AttributeMutator, AttributeAccessor } from './Database/Ensemble/Concerns/HasAttributes';
43
+ export type { DynamicRelationAccessor, BelongsToAccessor, HasOneAccessor, HasManyAccessor, BelongsToManyAccessor, MorphOneAccessor, MorphManyAccessor, MorphToAccessor, MorphToManyAccessor, MorphedByManyAccessor, } from './Database/Ensemble/Concerns/HasDynamicRelations';
44
+ export type { HasAttributes, CastType, AttributeMutator, AttributeAccessor, } from './Database/Ensemble/Concerns/HasAttributes';
45
45
  export type { HasTimestamps } from './Database/Ensemble/Concerns/HasTimestamps';
46
46
  export type { SoftDeletes } from './Database/Ensemble/SoftDeletes';
47
47
  export type { RelationshipConfig } from './Database/Ensemble/Concerns/HasRelationships';
@@ -68,11 +68,17 @@ export { SeedCommand } from './Console/Commands/SeedCommand';
68
68
  export { MakeSeederCommand } from './Console/Commands/MakeSeederCommand';
69
69
  export type { DatabaseAdapter, DatabaseConfig, QueryResult } from './Database/Contracts/DatabaseAdapter';
70
70
  export type { QueryBuilderInterface, WhereOperator, OrderDirection, JoinType, WhereClause, JoinClause, OrderByClause, } from './Database/Contracts/QueryBuilderInterface';
71
- export type { Schema, Blueprint, ColumnDefinition, ForeignKeyDefinition, } from './Database/Contracts/Schema';
72
- export type { DatabaseManagerConfig, DatabaseConnectionConfig, } from './Database/DatabaseManager';
71
+ export type { Schema, Blueprint, ColumnDefinition, ForeignKeyDefinition } from './Database/Contracts/Schema';
72
+ export type { DatabaseManagerConfig, DatabaseConnectionConfig } from './Database/DatabaseManager';
73
73
  export type { CommandOptions } from './Console/Command';
74
74
  export type { MigrationOptions } from './Database/Migrations/Migrator';
75
75
  export type { MigrationData } from './Database/Migrations/MigrationRepository';
76
+ export { Event } from './Events/Event';
77
+ export { Dispatcher } from './Events/Dispatcher';
78
+ export { EventServiceProvider } from './Events/EventServiceProvider';
79
+ export { Dispatchable, applyDispatchable } from './Events/Concerns/Dispatchable';
80
+ export type { DispatcherContract } from './Events/Contracts/Dispatcher';
81
+ export type { EventListener, EventSubscriber, ListenerInterface, ListenerClosure, EventPayload, QueuedListener } from './Events/types';
76
82
  export type { HttpMethod, RouteAction, Middleware } from './Routing/Route';
77
83
  export type { Abstract, Concrete, Binding } from './Container/Container';
78
84
  export type { CookieOptions } from './Routing/Response';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.defineDynamicRelation = exports.DynamicRelation = exports.HasRelationshipsMixin = exports.MorphedByMany = exports.MorphToMany = exports.MorphTo = exports.MorphMany = exports.MorphOne = exports.MorphMap = exports.BelongsToMany = exports.BelongsTo = exports.HasMany = exports.HasOne = exports.Relation = exports.softDeletes = exports.EnsembleCollection = exports.EnsembleBuilder = exports.Ensemble = exports.DB = exports.DrizzleAdapter = exports.raw = exports.Expression = exports.QueryBuilder = exports.Connection = exports.DatabaseManager = exports.DatabaseServiceProvider = exports.RouteServiceProvider = exports.config = exports.ValidateRequest = exports.Injectable = exports.routes_path = exports.base_path = exports.loadRoutes = exports.Config = exports.Route = exports.Facade = exports.Controller = exports.Response = exports.Request = exports.RouteClass = exports.Router = exports.Container = exports.ConfigServiceProvider = exports.ConfigClass = exports.Validator = exports.ValidationException = exports.FormRequest = exports.Kernel = exports.ServiceProvider = exports.Application = void 0;
8
- exports.MakeSeederCommand = exports.SeedCommand = exports.MakeMigrationCommand = exports.MigrateStatusCommand = exports.MigrateFreshCommand = exports.MigrateRefreshCommand = exports.MigrateResetCommand = exports.MigrateRollbackCommand = exports.MigrateCommand = exports.ConsoleKernel = exports.Command = exports.SeederRunner = exports.Seeder = exports.ForeignKeyDefinitionBuilder = exports.ColumnDefinitionBuilder = exports.BlueprintBuilder = exports.SchemaBuilder = exports.MigrationCreator = exports.Migrator = exports.MigrationRepository = exports.Migration = void 0;
8
+ exports.applyDispatchable = exports.Dispatchable = exports.EventServiceProvider = exports.Dispatcher = exports.Event = exports.MakeSeederCommand = exports.SeedCommand = exports.MakeMigrationCommand = exports.MigrateStatusCommand = exports.MigrateFreshCommand = exports.MigrateRefreshCommand = exports.MigrateResetCommand = exports.MigrateRollbackCommand = exports.MigrateCommand = exports.ConsoleKernel = exports.Command = exports.SeederRunner = exports.Seeder = exports.ForeignKeyDefinitionBuilder = exports.ColumnDefinitionBuilder = exports.BlueprintBuilder = exports.SchemaBuilder = exports.MigrationCreator = exports.Migrator = exports.MigrationRepository = exports.Migration = void 0;
9
9
  // Foundation
10
10
  var Application_1 = require("./Foundation/Application");
11
11
  Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return Application_1.Application; } });
@@ -154,4 +154,14 @@ var SeedCommand_1 = require("./Console/Commands/SeedCommand");
154
154
  Object.defineProperty(exports, "SeedCommand", { enumerable: true, get: function () { return SeedCommand_1.SeedCommand; } });
155
155
  var MakeSeederCommand_1 = require("./Console/Commands/MakeSeederCommand");
156
156
  Object.defineProperty(exports, "MakeSeederCommand", { enumerable: true, get: function () { return MakeSeederCommand_1.MakeSeederCommand; } });
157
+ // Events
158
+ var Event_1 = require("./Events/Event");
159
+ Object.defineProperty(exports, "Event", { enumerable: true, get: function () { return Event_1.Event; } });
160
+ var Dispatcher_1 = require("./Events/Dispatcher");
161
+ Object.defineProperty(exports, "Dispatcher", { enumerable: true, get: function () { return Dispatcher_1.Dispatcher; } });
162
+ var EventServiceProvider_1 = require("./Events/EventServiceProvider");
163
+ Object.defineProperty(exports, "EventServiceProvider", { enumerable: true, get: function () { return EventServiceProvider_1.EventServiceProvider; } });
164
+ var Dispatchable_1 = require("./Events/Concerns/Dispatchable");
165
+ Object.defineProperty(exports, "Dispatchable", { enumerable: true, get: function () { return Dispatchable_1.Dispatchable; } });
166
+ Object.defineProperty(exports, "applyDispatchable", { enumerable: true, get: function () { return Dispatchable_1.applyDispatchable; } });
157
167
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@orchestr-sh/orchestr",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "A 1:1 Laravel replica in TypeScript - Brings Laravel's elegant syntax and architecture to Node.js",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "bin": {
8
- "orchestr": "./dist/Console/orchestr.js"
8
+ "orchestr": "dist/Console/orchestr.js"
9
9
  },
10
10
  "files": [
11
11
  "dist",
@@ -15,7 +15,18 @@
15
15
  "scripts": {
16
16
  "build": "tsc",
17
17
  "prepublishOnly": "npm run build",
18
- "dev": "tsx watch examples/basic-app/server.ts"
18
+ "dev": "tsx watch examples/basic-app/server.ts",
19
+ "prepare": "husky",
20
+ "lint": "eslint 'src/**/*.ts'",
21
+ "lint:fix": "eslint 'src/**/*.ts' --fix",
22
+ "format": "prettier --write 'src/**/*.ts'",
23
+ "format:check": "prettier --check 'src/**/*.ts'"
24
+ },
25
+ "lint-staged": {
26
+ "*.ts": [
27
+ "eslint --fix",
28
+ "prettier --write"
29
+ ]
19
30
  },
20
31
  "keywords": [
21
32
  "laravel",
@@ -36,7 +47,7 @@
36
47
  "license": "MIT",
37
48
  "repository": {
38
49
  "type": "git",
39
- "url": "https://github.com/orchestr-sh/orchestr.git"
50
+ "url": "git+https://github.com/orchestr-sh/orchestr.git"
40
51
  },
41
52
  "bugs": {
42
53
  "url": "https://github.com/orchestr-sh/orchestr/issues"
@@ -46,22 +57,32 @@
46
57
  "node": ">=18.0.0"
47
58
  },
48
59
  "dependencies": {
49
- "reflect-metadata": "^0.2.2",
50
- "drizzle-orm": "^0.30.0"
60
+ "drizzle-orm": ">=0.30.0",
61
+ "reflect-metadata": "^0.2.2"
51
62
  },
52
63
  "devDependencies": {
53
- "@types/node": "^22.10.5",
64
+ "@eslint/js": "^10.0.1",
54
65
  "@types/better-sqlite3": "^7.6.9",
66
+ "@types/node": "^22.10.5",
67
+ "@typescript-eslint/eslint-plugin": "^8.55.0",
68
+ "@typescript-eslint/parser": "^8.55.0",
69
+ "eslint": "^9.39.2",
70
+ "eslint-config-prettier": "^10.1.8",
71
+ "eslint-plugin-prettier": "^5.5.5",
72
+ "husky": "^9.1.7",
73
+ "lint-staged": "^16.2.7",
74
+ "prettier": "^3.8.1",
55
75
  "tsx": "^4.19.2",
56
- "typescript": "^5.7.3"
76
+ "typescript": "^5.7.3",
77
+ "typescript-eslint": "^8.55.0"
57
78
  },
58
79
  "peerDependencies": {
59
- "typescript": ">=5.0.0",
60
- "drizzle-orm": ">=0.30.0"
80
+ "drizzle-orm": ">=0.30.0",
81
+ "typescript": ">=5.0.0"
61
82
  },
62
83
  "optionalDependencies": {
63
84
  "better-sqlite3": "^9.4.0",
64
- "postgres": "^3.4.3",
65
- "mysql2": "^3.9.0"
85
+ "mysql2": "^3.9.0",
86
+ "postgres": "^3.4.3"
66
87
  }
67
88
  }