@ruiapp/rapid-core 0.1.52 → 0.1.53

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.
@@ -2,5 +2,5 @@ export default class EventManager<EventTypes extends Record<string, any[]>> {
2
2
  #private;
3
3
  constructor();
4
4
  on<K extends keyof EventTypes>(eventName: K, listener: (...args: EventTypes[K]) => void): void;
5
- emit<K extends keyof EventTypes>(eventName: K, ...args: EventTypes[K]): boolean;
5
+ emit<K extends keyof EventTypes>(eventName: K, ...args: EventTypes[K]): Promise<void>;
6
6
  }
package/dist/index.js CHANGED
@@ -726,8 +726,11 @@ class EventManager {
726
726
  on(eventName, listener) {
727
727
  this.#eventEmitter.on(eventName, listener);
728
728
  }
729
- emit(eventName, ...args) {
730
- return this.#eventEmitter.emit(eventName, ...args);
729
+ async emit(eventName, ...args) {
730
+ const listeners = this.#eventEmitter.listeners(eventName);
731
+ for (const listener of listeners) {
732
+ await listener(...args);
733
+ }
731
734
  }
732
735
  }
733
736
 
@@ -3181,7 +3184,7 @@ class RapidServer {
3181
3184
  async beforeUpdateEntity(model, options, currentEntity) {
3182
3185
  await this.#pluginManager.beforeUpdateEntity(model, options, currentEntity);
3183
3186
  }
3184
- #handleEntityEvent(eventName, sender, payload) {
3187
+ async #handleEntityEvent(eventName, sender, payload) {
3185
3188
  const { modelSingularCode, baseModelSingularCode } = payload;
3186
3189
  const entityWatchHandlerContext = {
3187
3190
  server: this,
@@ -3215,9 +3218,9 @@ class RapidServer {
3215
3218
  else if (eventName === "entity.beforeResponse") {
3216
3219
  emitter = this.#entityBeforeResponseEventEmitters;
3217
3220
  }
3218
- emitter.emit(modelSingularCode, entityWatchHandlerContext);
3221
+ await emitter.emit(modelSingularCode, entityWatchHandlerContext);
3219
3222
  if (baseModelSingularCode) {
3220
- emitter.emit(baseModelSingularCode, entityWatchHandlerContext);
3223
+ await emitter.emit(baseModelSingularCode, entityWatchHandlerContext);
3221
3224
  }
3222
3225
  }
3223
3226
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ruiapp/rapid-core",
3
- "version": "0.1.52",
3
+ "version": "0.1.53",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,7 +11,10 @@ export default class EventManager<EventTypes extends Record<string, any[]>> {
11
11
  this.#eventEmitter.on(eventName as string, listener);
12
12
  }
13
13
 
14
- emit<K extends keyof EventTypes>(eventName: K, ...args: EventTypes[K]) {
15
- return this.#eventEmitter.emit(eventName as string, ...args);
14
+ async emit<K extends keyof EventTypes>(eventName: K, ...args: EventTypes[K]) {
15
+ const listeners = this.#eventEmitter.listeners(eventName as string);
16
+ for (const listener of listeners) {
17
+ await listener(...args);
18
+ }
16
19
  }
17
20
  }
package/src/server.ts CHANGED
@@ -392,7 +392,7 @@ export class RapidServer implements IRpdServer {
392
392
  await this.#pluginManager.beforeUpdateEntity(model, options, currentEntity);
393
393
  }
394
394
 
395
- #handleEntityEvent(eventName: keyof RpdServerEventTypes, sender: RapidPlugin, payload: RpdEntityCreateEventPayload) {
395
+ async #handleEntityEvent(eventName: keyof RpdServerEventTypes, sender: RapidPlugin, payload: RpdEntityCreateEventPayload) {
396
396
  const { modelSingularCode, baseModelSingularCode } = payload;
397
397
  const entityWatchHandlerContext: EntityWatchHandlerContext<typeof eventName> = {
398
398
  server: this,
@@ -420,9 +420,9 @@ export class RapidServer implements IRpdServer {
420
420
  emitter = this.#entityBeforeResponseEventEmitters;
421
421
  }
422
422
 
423
- emitter.emit(modelSingularCode, entityWatchHandlerContext);
423
+ await emitter.emit(modelSingularCode, entityWatchHandlerContext);
424
424
  if (baseModelSingularCode) {
425
- emitter.emit(baseModelSingularCode, entityWatchHandlerContext);
425
+ await emitter.emit(baseModelSingularCode, entityWatchHandlerContext);
426
426
  }
427
427
  }
428
428
  }