easy-signal 3.0.6 → 3.1.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.
@@ -10,10 +10,10 @@ export declare type EventSignal<T extends EventSignalSubscriber = EventSignalSub
10
10
  (...args: Args<T>): void;
11
11
  (data: Error): void;
12
12
  (data: typeof ClearSignal): void;
13
- (data: typeof GetOnSignal): OnSignal<T>;
13
+ (data: typeof GetSubscribe): OnSignal<T>;
14
14
  };
15
15
  export declare const ClearSignal: unique symbol;
16
- export declare const GetOnSignal: unique symbol;
16
+ export declare const GetSubscribe: unique symbol;
17
17
  export declare const ForErrors: unique symbol;
18
18
  /**
19
19
  * Creates a signal, a function that can be used to subscribe to events. The signal can be called with a subscriber
@@ -1,5 +1,5 @@
1
1
  export const ClearSignal = Symbol();
2
- export const GetOnSignal = Symbol();
2
+ export const GetSubscribe = Symbol();
3
3
  export const ForErrors = Symbol();
4
4
  /**
5
5
  * Creates a signal, a function that can be used to subscribe to events. The signal can be called with a subscriber
@@ -37,14 +37,14 @@ export function eventSignal() {
37
37
  subscribers.clear();
38
38
  errorListeners.clear();
39
39
  }
40
- else if (arg === GetOnSignal) {
40
+ else if (arg === GetSubscribe) {
41
41
  return onSignal;
42
42
  }
43
43
  else if (arg instanceof Error) {
44
- errorListeners.forEach(listener => listener(arg));
44
+ return Promise.all(Array.from(errorListeners).map(listener => listener(arg))).then(() => { });
45
45
  }
46
46
  else {
47
- subscribers.forEach(listener => listener(...args));
47
+ return Promise.all(Array.from(subscribers).map(listener => listener(...args))).then(() => { });
48
48
  }
49
49
  }
50
50
  return signal;
@@ -1 +1 @@
1
- {"version":3,"file":"eventSignal.js","sourceRoot":"","sources":["../src/eventSignal.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;AAElC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IACrD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAExD,SAAS,QAAQ,CAAC,UAA+B,EAAE,IAAuB;QACxE,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;QACpE,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC;IAQD,SAAS,MAAM,CAAC,GAAG,IAAW;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;YAC7B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;SACtB;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE;YAC9B,WAAW,CAAC,KAAK,EAAE,CAAC;YACpB,cAAc,CAAC,KAAK,EAAE,CAAC;SACxB;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE;YAC9B,OAAO,QAAuB,CAAC;SAChC;aAAM,IAAI,GAAG,YAAY,KAAK,EAAE;YAC/B,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;SACnD;aAAM;YACL,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;SACpD;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"eventSignal.js","sourceRoot":"","sources":["../src/eventSignal.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;AAElC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IACrD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAExD,SAAS,QAAQ,CAAC,UAA+B,EAAE,IAAuB;QACxE,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;QACpE,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC;IAQD,SAAS,MAAM,CAAC,GAAG,IAAW;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;YAC7B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;SACtB;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE;YAC9B,WAAW,CAAC,KAAK,EAAE,CAAC;YACpB,cAAc,CAAC,KAAK,EAAE,CAAC;SACxB;aAAM,IAAI,GAAG,KAAK,YAAY,EAAE;YAC/B,OAAO,QAAuB,CAAC;SAChC;aAAM,IAAI,GAAG,YAAY,KAAK,EAAE;YAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;SAC9F;aAAM;YACL,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;SAC/F;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easy-signal",
3
- "version": "3.0.6",
3
+ "version": "3.1.0",
4
4
  "description": "A tiny (25 LOC), simple utility for alerting subscribers when an event happens, allowing for error handling and clearing.",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -12,11 +12,11 @@ export type EventSignal<T extends EventSignalSubscriber = EventSignalSubscriber>
12
12
  (...args: Args<T>): void;
13
13
  (data: Error): void;
14
14
  (data: typeof ClearSignal): void;
15
- (data: typeof GetOnSignal): OnSignal<T>;
15
+ (data: typeof GetSubscribe): OnSignal<T>;
16
16
  };
17
17
 
18
18
  export const ClearSignal = Symbol();
19
- export const GetOnSignal = Symbol();
19
+ export const GetSubscribe = Symbol();
20
20
  export const ForErrors = Symbol();
21
21
 
22
22
  /**
@@ -48,25 +48,25 @@ export function eventSignal<T extends EventSignalSubscriber = EventSignalSubscri
48
48
  };
49
49
  }
50
50
 
51
- function signal(...args: Args<T>): void;
52
- function signal(error: Error): void;
51
+ function signal(...args: Args<T>): Promise<void>;
52
+ function signal(error: Error): Promise<void>;
53
53
  function signal(data: typeof ClearSignal): void;
54
- function signal(data: typeof GetOnSignal): OnSignal<T>;
54
+ function signal(data: typeof GetSubscribe): OnSignal<T>;
55
55
  function signal(subscriber: T): Unsubscriber;
56
56
  function signal(errorListener: EventSignalSubscriber, what: typeof ForErrors): Unsubscriber;
57
- function signal(...args: any[]): Unsubscriber | OnSignal<T> | void {
57
+ function signal(...args: any[]): Unsubscriber | OnSignal<T> | void | Promise<void> {
58
58
  const arg = args[0];
59
59
  if (typeof arg === 'function') {
60
60
  return onSignal(arg);
61
61
  } else if (arg === ClearSignal) {
62
62
  subscribers.clear();
63
63
  errorListeners.clear();
64
- } else if (arg === GetOnSignal) {
64
+ } else if (arg === GetSubscribe) {
65
65
  return onSignal as OnSignal<T>;
66
66
  } else if (arg instanceof Error) {
67
- errorListeners.forEach(listener => listener(arg));
67
+ return Promise.all(Array.from(errorListeners).map(listener => listener(arg))).then(() => {});
68
68
  } else {
69
- subscribers.forEach(listener => listener(...args));
69
+ return Promise.all(Array.from(subscribers).map(listener => listener(...args))).then(() => {});
70
70
  }
71
71
  }
72
72