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