@alwatr/signal 0.13.0 → 0.16.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.
package/CHANGELOG.md CHANGED
@@ -3,7 +3,7 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [0.13.0](https://github.com/AliMD/alwatr/compare/v0.12.0...v0.13.0) (2022-08-06)
6
+ # [0.16.0](https://github.com/AliMD/alwatr/compare/v0.15.0...v0.16.0) (2022-09-08)
7
7
 
8
8
  **Note:** Version bump only for package @alwatr/signal
9
9
 
@@ -11,6 +11,22 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
11
 
12
12
 
13
13
 
14
+ # [0.15.0](https://github.com/AliMD/alwatr/compare/v0.14.0...v0.15.0) (2022-09-01)
15
+
16
+ ### Bug Fixes
17
+
18
+ - get signal object of `request` signal ([eec4b62](https://github.com/AliMD/alwatr/commit/eec4b6201d79785aa10f4b9c777449525158a346))
19
+ - **signal:** fix some issues of `review` ([36ceb8b](https://github.com/AliMD/alwatr/commit/36ceb8b25987621065327b4fa475a213562af8e7))
20
+ - **signal:** log performance and security issue ([dbe9483](https://github.com/AliMD/alwatr/commit/dbe9483b672099b91c18c3a103c2878435fd6508))
21
+
22
+ # [0.14.0](https://github.com/AliMD/alwatr/compare/v0.13.0...v0.14.0) (2022-08-19)
23
+
24
+ **Note:** Version bump only for package @alwatr/signal
25
+
26
+ # [0.13.0](https://github.com/AliMD/alwatr/compare/v0.12.0...v0.13.0) (2022-08-06)
27
+
28
+ **Note:** Version bump only for package @alwatr/signal
29
+
14
30
  # [0.12.0](https://github.com/AliMD/alwatr/compare/v0.11.0...v0.12.0) (2022-07-22)
15
31
 
16
32
  **Note:** Version bump only for package @alwatr/signal
package/README.md CHANGED
@@ -37,7 +37,7 @@ contentChangeSignal1.dispatch({a: 1, b: 2});
37
37
 
38
38
  contentChangeSignal1.dispatch({a: 2, b: 3});
39
39
 
40
- // Multiple dispatch debounced and last value dispatched after an animate frame.
40
+ // Multiple dispatch debounced and last value dispatched after an animation frame.
41
41
  contentChangeSignal1.dispatch({a: 3, b: 4});
42
42
  ```
43
43
 
@@ -127,7 +127,7 @@ contentChangeSignal.dispatched; // false
127
127
 
128
128
  ### `setProvider(provider)`
129
129
 
130
- Define signal provider, which will be called when signal requested (addRequestSignalListener).
130
+ Defines the provider of the signal that will be called when the signal requested (addRequestSignalListener).
131
131
 
132
132
  Example:
133
133
 
@@ -175,7 +175,7 @@ Get signal value from last dispatched signal (if any) or wait for new signal rec
175
175
  Example:
176
176
 
177
177
  ```ts
178
- // get signal value from last dispatched signal (if any) or wait new signal received.
178
+ // get signal value from last dispatched signal (if any) or wait for a new signal to receive
179
179
  const content = await contentChangeSignal.getSignalValue();
180
180
  ```
181
181
 
@@ -191,7 +191,7 @@ contentChangeSignal.dispatch(content);
191
191
 
192
192
  ### `addListener(listener)`
193
193
 
194
- Add new listener to the signal.
194
+ Adds a new listener to the signal.
195
195
 
196
196
  Example:
197
197
 
@@ -215,7 +215,7 @@ listener.disabled = true;
215
215
 
216
216
  #### `listener.remove()`
217
217
 
218
- Remove listener from specific signal.
218
+ Removes a listener from the signal.
219
219
 
220
220
  Example:
221
221
 
package/core.d.ts CHANGED
@@ -1,44 +1,56 @@
1
1
  import type { DispatchOptions, ListenerCallback, ListenerObject, ListenerOptions, SignalObject, SignalProvider, SignalProviderOptions } from './type';
2
2
  export declare const logger: import("@alwatr/logger").AlwatrLogger;
3
3
  /**
4
- * Access to signal option, Make new signal with default options if not exist.
4
+ * Get signal object by name, If not available, it will create a new signal with default options.
5
+ *
6
+ * Example:
7
+ *
8
+ * ```ts
9
+ * const signal = _getSignalObject('content-change');
10
+ * signal.disabled = true;
11
+ * ```
5
12
  */
6
- export declare function __getSignalObject<SignalName extends keyof AlwatrSignals>(signalName: SignalName): SignalObject<SignalName>;
13
+ export declare function _getSignalObject<SignalName extends keyof AlwatrSignals>(signalName: SignalName): SignalObject<SignalName>;
7
14
  /**
8
- * Add new listener to specific signal.
15
+ * Adds a new listener to the signal.
9
16
  *
10
17
  * Example:
11
18
  *
12
19
  * ```ts
13
- * const listener = addSignalListener('content-change', (content) => console.log(content));
20
+ * const signal = _getSignalObject('content-change')
21
+ * const listener = _addSignalListener(signal, (content) => console.log(content));
14
22
  * ```
15
23
  */
16
- export declare function _addSignalListener<SignalName extends keyof AlwatrSignals>(signalName: SignalName, signalCallback: ListenerCallback<SignalName>, options?: ListenerOptions): ListenerObject<SignalName>;
24
+ export declare function _addSignalListener<SignalName extends keyof AlwatrSignals>(signal: SignalObject<SignalName>, listenerCallback: ListenerCallback<SignalName>, options?: ListenerOptions): ListenerObject<SignalName>;
17
25
  /**
18
- * Remove listener from specific signal.
26
+ * Removes a listener from the signal.
19
27
  *
20
28
  * Example:
21
29
  *
22
30
  * ```ts
23
- * const listener = addSignalListener('content-change', ...);
24
- * removeSignalListener('content-change', listener);
31
+ * const signal = _getSignalObject('content-change')
32
+ * const listener = _addSignalListener(signal, ...);
33
+ * _removeSignalListener(signal, listener);
25
34
  * ```
26
35
  */
27
- export declare function _removeSignalListener<SignalName extends keyof AlwatrSignals>(signalName: SignalName, listenerId: symbol): void;
36
+ export declare function _removeSignalListener<SignalName extends keyof AlwatrSignals>(signal: SignalObject<SignalName>, listenerId: number): void;
28
37
  /**
29
- * Dispatch signal to all listeners.
38
+ * Dispatch (send) signal to all listeners.
30
39
  *
31
40
  * @example
32
- * dispatchSignal('content-change', content);
41
+ * const signal = _getSignalObject('content-change')
42
+ * _dispatchSignal(signal, content);
33
43
  */
34
- export declare function _dispatchSignal<SignalName extends keyof AlwatrSignals>(signalName: SignalName, value: AlwatrSignals[SignalName], options?: DispatchOptions): void;
44
+ export declare function _dispatchSignal<SignalName extends keyof AlwatrSignals>(signal: SignalObject<SignalName>, value: AlwatrSignals[SignalName], options?: DispatchOptions): void;
35
45
  /**
36
- * Define signal provider, which will be called when signal requested (addRequestSignalListener).
46
+ * Defines the provider of the signal that will be called when the signal requested (addRequestSignalListener).
37
47
  *
38
48
  * Example:
39
49
  *
40
50
  * ```ts
41
- * setSignalProvider('content-change', async (requestParam) => {
51
+ * const signal = _getSignalObject('content-change');
52
+ * const requestSignal = _getSignalObject('request-content-change');
53
+ * _setSignalProvider(signal, requestSignal, async (requestParam) => {
42
54
  * const content = await fetchNewContent(requestParam);
43
55
  * if (content != null) {
44
56
  * return content; // dispatchSignal('content-change', content);
@@ -49,5 +61,5 @@ export declare function _dispatchSignal<SignalName extends keyof AlwatrSignals>(
49
61
  * }
50
62
  * ```
51
63
  */
52
- export declare function _setSignalProvider<SignalName extends keyof AlwatrRequestSignals>(signalName: SignalName, signalProvider: SignalProvider<SignalName>, options?: SignalProviderOptions): ListenerObject<SignalName>;
64
+ export declare function _setSignalProvider<SignalName extends keyof AlwatrSignals>(signal: SignalObject<SignalName>, requestSignal: SignalObject<SignalName>, signalProvider: SignalProvider<SignalName>, options?: SignalProviderOptions): ListenerObject<SignalName>;
53
65
  //# sourceMappingURL=core.d.ts.map
package/core.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,EAEtB,MAAM,QAAQ,CAAC;AAEhB,eAAO,MAAM,MAAM,uCAAgC,CAAC;AAYpD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,SAAS,MAAM,aAAa,EACpE,UAAU,EAAE,UAAU,GACvB,YAAY,CAAC,UAAU,CAAC,CAU1B;AAkCD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,SAAS,MAAM,aAAa,EACrE,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAC5C,OAAO,CAAC,EAAE,eAAe,GAC1B,cAAc,CAAC,UAAU,CAAC,CAkD5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,SAAS,MAAM,aAAa,EACxE,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,GACnB,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,SAAS,MAAM,aAAa,EAClE,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,EAChC,OAAO,CAAC,EAAE,eAAe,GAC1B,IAAI,CAqBN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,SAAS,MAAM,oBAAoB,EAC5E,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC,EAC1C,OAAO,CAAC,EAAE,qBAAqB,GAChC,cAAc,CAAC,UAAU,CAAC,CAyB5B"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,EAEtB,MAAM,QAAQ,CAAC;AAEhB,eAAO,MAAM,MAAM,uCAAgC,CAAC;AAiBpD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,SAAS,MAAM,aAAa,EACnE,UAAU,EAAE,UAAU,GACvB,YAAY,CAAC,UAAU,CAAC,CAU1B;AAmCD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,SAAS,MAAM,aAAa,EACrE,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,EAChC,gBAAgB,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAC9C,OAAO,CAAC,EAAE,eAAe,GAC1B,cAAc,CAAC,UAAU,CAAC,CAqD5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,SAAS,MAAM,aAAa,EACxE,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,EAChC,UAAU,EAAE,MAAM,GACnB,IAAI,CAMN;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,SAAS,MAAM,aAAa,EAClE,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,EAChC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,EAChC,OAAO,CAAC,EAAE,eAAe,GAC1B,IAAI,CAoBN;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,SAAS,MAAM,aAAa,EACrE,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,EAChC,aAAa,EAAE,YAAY,CAAC,UAAU,CAAC,EACvC,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC,EAC1C,OAAO,CAAC,EAAE,qBAAqB,GAChC,cAAc,CAAC,UAAU,CAAC,CA0B5B"}
package/core.js CHANGED
@@ -4,14 +4,25 @@ alwatrRegisteredList.push({
4
4
  name: '@alwatr/signal',
5
5
  version: '{{ALWATR_VERSION}}',
6
6
  });
7
+ /**
8
+ * Listener `id`
9
+ */
10
+ let _lastListenerId = 0;
7
11
  /**
8
12
  * Signal stack database.
9
13
  */
10
14
  const _signalStack = {};
11
15
  /**
12
- * Access to signal option, Make new signal with default options if not exist.
16
+ * Get signal object by name, If not available, it will create a new signal with default options.
17
+ *
18
+ * Example:
19
+ *
20
+ * ```ts
21
+ * const signal = _getSignalObject('content-change');
22
+ * signal.disabled = true;
23
+ * ```
13
24
  */
14
- export function __getSignalObject(signalName) {
25
+ export function _getSignalObject(signalName) {
15
26
  if (!_signalStack[signalName]) {
16
27
  _signalStack[signalName] = {
17
28
  name: signalName,
@@ -25,6 +36,7 @@ export function __getSignalObject(signalName) {
25
36
  function __callListeners(signal) {
26
37
  logger.logMethodArgs('_callListeners', { signalName: signal.name, signalValue: signal.value });
27
38
  if (signal.value === undefined) {
39
+ // null is a valid value for signal.
28
40
  logger.accident('_callListeners', 'no_signal_value', 'signal must have a value', {
29
41
  signalName: signal.name,
30
42
  });
@@ -49,50 +61,54 @@ function __callListeners(signal) {
49
61
  }
50
62
  signal.listenerList
51
63
  .filter((listener) => !listener.disabled && listener.once)
52
- .forEach((listener) => _removeSignalListener(signal.name, listener.id));
64
+ .forEach((listener) => _removeSignalListener(signal, listener.id));
53
65
  }
54
66
  /**
55
- * Add new listener to specific signal.
67
+ * Adds a new listener to the signal.
56
68
  *
57
69
  * Example:
58
70
  *
59
71
  * ```ts
60
- * const listener = addSignalListener('content-change', (content) => console.log(content));
72
+ * const signal = _getSignalObject('content-change')
73
+ * const listener = _addSignalListener(signal, (content) => console.log(content));
61
74
  * ```
62
75
  */
63
- export function _addSignalListener(signalName, signalCallback, options) {
64
- logger.logMethodArgs('addSignalListener', { signalName, options });
65
- const signal = __getSignalObject(signalName);
76
+ export function _addSignalListener(signal, listenerCallback, options) {
77
+ logger.logMethodArgs('_addSignalListener', { signalName: signal.name, options });
66
78
  const listener = {
67
- id: Symbol('Alwatr signal listener for ' + signalName),
79
+ id: ++_lastListenerId,
68
80
  once: options?.once ?? false,
69
81
  disabled: options?.disabled ?? false,
70
- callback: signalCallback,
82
+ callback: listenerCallback,
71
83
  };
72
84
  let callbackCalled = false;
73
85
  // Run callback for old dispatch signal
74
86
  if (signal.value !== undefined) {
87
+ // null is a valid value for signal.
75
88
  if (options?.receivePrevious === 'Immediate') {
76
- logger.incident('addSignalListener', 'call_signal_callback', 'run callback with previous signal value!', {
77
- signalName,
89
+ logger.incident('_addSignalListener', 'call_signal_callback', 'run callback with previous signal value!', {
90
+ signalName: signal.name,
78
91
  mode: 'Immediate',
79
92
  });
80
93
  try {
81
- signalCallback(signal.value);
94
+ listenerCallback(signal.value);
82
95
  }
83
96
  catch (err) {
84
- logger.error('addSignalListener', 'call_signal_callback_failed', err.stack || err, { signalName });
97
+ logger.error('_addSignalListener', 'call_signal_callback_failed', err.stack || err, {
98
+ signalName: signal.name,
99
+ });
85
100
  }
86
101
  callbackCalled = true;
87
102
  }
88
103
  else if (options?.receivePrevious === true) {
89
104
  requestAnimationFrame(() => {
90
105
  if (signal.value !== undefined) {
91
- logger.incident('addSignalListener', 'call_signal_callback', 'run callback with previous signal value!', {
92
- signalName,
106
+ // null is a valid value for signal.
107
+ logger.incident('_addSignalListener', 'call_signal_callback', 'run callback with previous signal value!', {
108
+ signalName: signal.name,
93
109
  mode: 'Delay',
94
110
  });
95
- signalCallback(signal.value);
111
+ listenerCallback(signal.value);
96
112
  }
97
113
  });
98
114
  callbackCalled = true; // must be outside of requestAnimationFrame.
@@ -110,32 +126,32 @@ export function _addSignalListener(signalName, signalCallback, options) {
110
126
  return listener;
111
127
  }
112
128
  /**
113
- * Remove listener from specific signal.
129
+ * Removes a listener from the signal.
114
130
  *
115
131
  * Example:
116
132
  *
117
133
  * ```ts
118
- * const listener = addSignalListener('content-change', ...);
119
- * removeSignalListener('content-change', listener);
134
+ * const signal = _getSignalObject('content-change')
135
+ * const listener = _addSignalListener(signal, ...);
136
+ * _removeSignalListener(signal, listener);
120
137
  * ```
121
138
  */
122
- export function _removeSignalListener(signalName, listenerId) {
123
- logger.logMethodArgs('_removeSignalListener', signalName);
124
- const signal = __getSignalObject(signalName);
139
+ export function _removeSignalListener(signal, listenerId) {
140
+ logger.logMethodArgs('_removeSignalListener', { signalName: signal.name, listenerId });
125
141
  const listenerIndex = signal.listenerList.findIndex((_listener) => _listener.id === listenerId);
126
142
  if (listenerIndex !== -1) {
127
143
  signal.listenerList.splice(listenerIndex, 1);
128
144
  }
129
145
  }
130
146
  /**
131
- * Dispatch signal to all listeners.
147
+ * Dispatch (send) signal to all listeners.
132
148
  *
133
149
  * @example
134
- * dispatchSignal('content-change', content);
150
+ * const signal = _getSignalObject('content-change')
151
+ * _dispatchSignal(signal, content);
135
152
  */
136
- export function _dispatchSignal(signalName, value, options) {
137
- logger.logMethodArgs('dispatchSignal', { signalName, value, options });
138
- const signal = __getSignalObject(signalName);
153
+ export function _dispatchSignal(signal, value, options) {
154
+ logger.logMethodArgs('dispatchSignal', { signalName: signal.name, value, options });
139
155
  // set value before check signal.debounced for act like throttle (call listeners with last dispatch value).
140
156
  signal.value = value;
141
157
  if (signal.disabled)
@@ -155,12 +171,14 @@ export function _dispatchSignal(signalName, value, options) {
155
171
  });
156
172
  }
157
173
  /**
158
- * Define signal provider, which will be called when signal requested (addRequestSignalListener).
174
+ * Defines the provider of the signal that will be called when the signal requested (addRequestSignalListener).
159
175
  *
160
176
  * Example:
161
177
  *
162
178
  * ```ts
163
- * setSignalProvider('content-change', async (requestParam) => {
179
+ * const signal = _getSignalObject('content-change');
180
+ * const requestSignal = _getSignalObject('request-content-change');
181
+ * _setSignalProvider(signal, requestSignal, async (requestParam) => {
164
182
  * const content = await fetchNewContent(requestParam);
165
183
  * if (content != null) {
166
184
  * return content; // dispatchSignal('content-change', content);
@@ -171,23 +189,23 @@ export function _dispatchSignal(signalName, value, options) {
171
189
  * }
172
190
  * ```
173
191
  */
174
- export function _setSignalProvider(signalName, signalProvider, options) {
175
- logger.logMethodArgs('setSignalProvider', { signalName, options });
176
- // @TODO: refactor with removeSignalProvider
177
- const signal = __getSignalObject(`request-${signalName}`);
178
- if (signal.listenerList.length > 0) {
179
- logger.accident('setSignalProvider', 'signal_provider_already_set', 'another provider defined and will removed', {
180
- signalName,
192
+ export function _setSignalProvider(signal, requestSignal, signalProvider, options) {
193
+ logger.logMethodArgs('_setSignalProvider', { signal: signal.name, requestSignal: requestSignal.name, options });
194
+ if (requestSignal.listenerList.length > 0) {
195
+ logger.accident('_setSignalProvider', 'another_signal_provider_exist', 'Another provider exist! It will be removed to fix the problem', {
196
+ signalName: signal.name,
181
197
  });
182
- signal.listenerList = [];
198
+ requestSignal.listenerList = [];
183
199
  }
184
200
  const _callback = async (requestParam) => {
185
201
  const signalValue = await signalProvider(requestParam);
186
202
  if (signalValue !== undefined) {
187
- // null can be a valid value.
188
- _dispatchSignal(signalName, signalValue, { debounce: options?.debounce ?? true });
203
+ // null is a valid value for signal.
204
+ _dispatchSignal(signal, signalValue, { debounce: options?.debounce ?? true });
189
205
  }
190
206
  };
191
- return _addSignalListener(`request-${signalName}`, _callback, { receivePrevious: options?.receivePrevious ?? true });
207
+ return _addSignalListener(requestSignal, _callback, {
208
+ receivePrevious: options?.receivePrevious ?? true,
209
+ });
192
210
  }
193
211
  //# sourceMappingURL=core.js.map
package/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwatr/signal",
3
- "version": "0.13.0",
3
+ "version": "0.16.0",
4
4
  "description": "Elegant powerful event system for handle global signals and states written in tiny TypeScript module.",
5
5
  "keywords": [
6
6
  "signal",
@@ -32,8 +32,8 @@
32
32
  "url": "https://github.com/AliMD/alwatr/issues"
33
33
  },
34
34
  "dependencies": {
35
- "@alwatr/logger": "^0.13.0",
35
+ "@alwatr/logger": "^0.16.0",
36
36
  "tslib": "^2.3.1"
37
37
  },
38
- "gitHead": "2739e45b8d36caf18b25f5d779467c53a3efc835"
38
+ "gitHead": "403b42f686edc84c4a3021b40f5b05dce0289f12"
39
39
  }
package/signal.d.ts CHANGED
@@ -4,6 +4,7 @@ import type { ListenerOptions, DispatchOptions, ListenerCallback, SignalProvider
4
4
  */
5
5
  export declare class SignalInterface<SignalName extends keyof AlwatrSignals> {
6
6
  protected _signal: SignalObject<SignalName>;
7
+ protected _requestSignal: SignalObject<SignalName>;
7
8
  protected _logger: import("@alwatr/logger").AlwatrLogger;
8
9
  constructor(signalName: SignalName);
9
10
  /**
@@ -71,7 +72,7 @@ export declare class SignalInterface<SignalName extends keyof AlwatrSignals> {
71
72
  */
72
73
  expire(): void;
73
74
  /**
74
- * Define signal provider, which will be called when signal requested (addRequestSignalListener).
75
+ * Defines the provider of the signal that will be called when the signal requested (addRequestSignalListener).
75
76
  *
76
77
  * Example:
77
78
  *
@@ -88,7 +89,7 @@ export declare class SignalInterface<SignalName extends keyof AlwatrSignals> {
88
89
  * });
89
90
  * ```
90
91
  */
91
- setProvider(signalProvider: SignalProvider<SignalName>, options?: SignalProviderOptions): symbol;
92
+ setProvider(signalProvider: SignalProvider<SignalName>, options?: SignalProviderOptions): ListenerInterface<SignalName>;
92
93
  /**
93
94
  * Dispatch request signal and wait for answer (wait for new signal dispatched).
94
95
  *
@@ -141,7 +142,7 @@ export declare class SignalInterface<SignalName extends keyof AlwatrSignals> {
141
142
  */
142
143
  dispatch(signalValue: AlwatrSignals[SignalName], options?: DispatchOptions): void;
143
144
  /**
144
- * Add new listener to the signal.
145
+ * Adds a new listener to the signal.
145
146
  *
146
147
  * Example:
147
148
  *
@@ -150,7 +151,7 @@ export declare class SignalInterface<SignalName extends keyof AlwatrSignals> {
150
151
  * const listener = contentChangeSignal.addListener((content) => console.log(content));
151
152
  * ```
152
153
  */
153
- addListener(listener: ListenerCallback<SignalName>, options?: ListenerOptions): ListenerInterface<SignalName>;
154
+ addListener(listenerCallback: ListenerCallback<SignalName>, options?: ListenerOptions): ListenerInterface<SignalName>;
154
155
  }
155
156
  /**
156
157
  * Signal Listener API interface as a remote controller.
@@ -174,7 +175,7 @@ export declare class ListenerInterface<SignalName extends keyof AlwatrSignals> {
174
175
  get disabled(): boolean;
175
176
  set disabled(disabled: boolean);
176
177
  /**
177
- * Remove listener from target signal.
178
+ * Removes a listener from the signal.
178
179
  *
179
180
  * Example:
180
181
  *
package/signal.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["src/signal.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,YAAY,EACb,MAAM,QAAQ,CAAC;AAEhB;;GAEG;AACH,qBAAa,eAAe,CAAC,UAAU,SAAS,MAAM,aAAa;IACjE,SAAS,CAAC,OAAO,2BAAC;IAClB,SAAS,CAAC,OAAO,wCAAC;gBAEN,UAAU,EAAE,UAAU;IAKlC;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI,UAAU,CAErB;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,KAAK,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAEjD;IAED;;;;;;;;;;;OAWG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;;;;OAQG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAG7B;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,IAAI,IAAI;IAKd;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM;IAOhG;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,YAAY,EAAE,oBAAoB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAU3F;;;;;;;;;;OAUG;IACH,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAWxD;;;;;;;;;;;;OAYG;IACH,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IASpD;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI;IAKjF;;;;;;;;;OASG;IACH,WAAW,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAAC,UAAU,CAAC;CAK9G;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,UAAU,SAAS,MAAM,aAAa;IAEvD,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC;IAAE,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC;IADxG,SAAS,CAAC,OAAO,wCAAC;gBACI,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EAAY,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC;IAIxG;;;;;;;;;;OAUG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAG7B;IAED;;;;;;;;;;;OAWG;IACH,MAAM,IAAI,IAAI;CAIf"}
1
+ {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["src/signal.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,YAAY,EACb,MAAM,QAAQ,CAAC;AAEhB;;GAEG;AACH,qBAAa,eAAe,CAAC,UAAU,SAAS,MAAM,aAAa;IACjE,SAAS,CAAC,OAAO,2BAAC;IAClB,SAAS,CAAC,cAAc,2BAAC;IACzB,SAAS,CAAC,OAAO,wCAAC;gBAEN,UAAU,EAAE,UAAU;IAMlC;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI,UAAU,CAErB;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,KAAK,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAEjD;IAED;;;;;;;;;;;OAWG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;;;;OAQG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAG7B;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,IAAI,IAAI;IAKd;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CACP,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC,EAC1C,OAAO,CAAC,EAAE,qBAAqB,GAChC,iBAAiB,CAAC,UAAU,CAAC;IAMhC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,YAAY,EAAE,oBAAoB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAU3F;;;;;;;;;;OAUG;IACH,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAWxD;;;;;;;;;;;;OAYG;IACH,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IASpD;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI;IAKjF;;;;;;;;;OASG;IACH,WAAW,CACP,gBAAgB,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAC9C,OAAO,CAAC,EAAE,eAAe,GAC1B,iBAAiB,CAAC,UAAU,CAAC;CAKjC;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,UAAU,SAAS,MAAM,aAAa;IAEvD,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC;IAAE,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC;IADxG,SAAS,CAAC,OAAO,wCAAC;gBACI,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EAAY,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC;IAIxG;;;;;;;;;;OAUG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAG7B;IAED;;;;;;;;;;;OAWG;IACH,MAAM,IAAI,IAAI;CAIf"}
package/signal.js CHANGED
@@ -1,12 +1,13 @@
1
1
  import { createLogger } from '@alwatr/logger';
2
- import { __getSignalObject, _removeSignalListener, _setSignalProvider, _dispatchSignal, _addSignalListener, } from './core';
2
+ import { _getSignalObject, _removeSignalListener, _setSignalProvider, _dispatchSignal, _addSignalListener } from './core';
3
3
  /**
4
4
  * Signal API interface as a remote controller.
5
5
  */
6
6
  export class SignalInterface {
7
7
  constructor(signalName) {
8
8
  this._logger = createLogger(`signal<${signalName}>`);
9
- this._signal = __getSignalObject(signalName);
9
+ this._signal = _getSignalObject(signalName);
10
+ this._requestSignal = _getSignalObject(`request-${signalName}`);
10
11
  }
11
12
  /**
12
13
  * Get signal name.
@@ -87,7 +88,7 @@ export class SignalInterface {
87
88
  delete this._signal.value;
88
89
  }
89
90
  /**
90
- * Define signal provider, which will be called when signal requested (addRequestSignalListener).
91
+ * Defines the provider of the signal that will be called when the signal requested (addRequestSignalListener).
91
92
  *
92
93
  * Example:
93
94
  *
@@ -106,9 +107,9 @@ export class SignalInterface {
106
107
  */
107
108
  setProvider(signalProvider, options) {
108
109
  this._logger.logMethodArgs('setProvider', { options });
109
- return _setSignalProvider(this.name, signalProvider, options).id;
110
+ const listener = _setSignalProvider(this._signal, this._requestSignal, signalProvider, options);
111
+ return new ListenerInterface(this._requestSignal, listener);
110
112
  }
111
- // @TODO: removeProvider(signalName): void
112
113
  /**
113
114
  * Dispatch request signal and wait for answer (wait for new signal dispatched).
114
115
  *
@@ -125,7 +126,7 @@ export class SignalInterface {
125
126
  request(requestParam) {
126
127
  this._logger.logMethodArgs('request', { requestParam });
127
128
  const nextSignalValuePromise = this.getNextSignalValue();
128
- _dispatchSignal(`request-${this.name}`, requestParam);
129
+ _dispatchSignal(this._requestSignal, requestParam);
129
130
  return nextSignalValuePromise;
130
131
  }
131
132
  /**
@@ -183,10 +184,10 @@ export class SignalInterface {
183
184
  */
184
185
  dispatch(signalValue, options) {
185
186
  this._logger.logMethodArgs('dispatch', { signalValue, options });
186
- _dispatchSignal(this._signal.name, signalValue, options);
187
+ _dispatchSignal(this._signal, signalValue, options);
187
188
  }
188
189
  /**
189
- * Add new listener to the signal.
190
+ * Adds a new listener to the signal.
190
191
  *
191
192
  * Example:
192
193
  *
@@ -195,10 +196,10 @@ export class SignalInterface {
195
196
  * const listener = contentChangeSignal.addListener((content) => console.log(content));
196
197
  * ```
197
198
  */
198
- addListener(listener, options) {
199
- this._logger.logMethodArgs('addListener', { listener, options });
200
- const listenerId = _addSignalListener(this._signal.name, listener, options);
201
- return new ListenerInterface(this._signal, listenerId);
199
+ addListener(listenerCallback, options) {
200
+ this._logger.logMethodArgs('addListener', { options });
201
+ const listener = _addSignalListener(this._signal, listenerCallback, options);
202
+ return new ListenerInterface(this._signal, listener);
202
203
  }
203
204
  }
204
205
  /**
@@ -229,7 +230,7 @@ export class ListenerInterface {
229
230
  this._listener.disabled = disabled;
230
231
  }
231
232
  /**
232
- * Remove listener from target signal.
233
+ * Removes a listener from the signal.
233
234
  *
234
235
  * Example:
235
236
  *
@@ -242,7 +243,7 @@ export class ListenerInterface {
242
243
  */
243
244
  remove() {
244
245
  this._logger.logMethod('remove');
245
- _removeSignalListener(this._signal.name, this._listener.id);
246
+ _removeSignalListener(this._signal, this._listener.id);
246
247
  }
247
248
  }
248
249
  //# sourceMappingURL=signal.js.map
package/signal.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"signal.js","sourceRoot":"","sources":["src/signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,GACnB,MAAM,QAAQ,CAAC;AAYhB;;GAEG;AACH,MAAM,OAAO,eAAe;IAI1B,YAAY,UAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,UAAU,UAAU,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,UAAU;QACZ,OAAO,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;IACD,IAAI,QAAQ,CAAC,QAAiB;QAC5B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM;QACJ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,cAA0C,EAAE,OAA+B;QACrF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,0CAA0C;IAE1C;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,YAA8C;QACpD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,EAAC,YAAY,EAAC,CAAC,CAAC;QACtD,MAAM,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzD,eAAe,CACb,WAAW,IAAI,CAAC,IAAI,EAA2B,EAC/C,YAAoD,CACrD,CAAC;QACF,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED;;;;;;;;;;OAUG;IACH,kBAAkB;QAChB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;gBACd,eAAe,EAAE,KAAK;aACvB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,cAAc;QACZ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YACpC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC5C;aAAM;YACL,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAClC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAsC,EAAE,OAAyB;QACxE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,EAAC,WAAW,EAAE,OAAO,EAAC,CAAC,CAAC;QAC/D,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;OASG;IACH,WAAW,CAAC,QAAsC,EAAE,OAAyB;QAC3E,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5E,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAE5B,YAAsB,OAAiC,EAAY,SAAqC;QAAlF,YAAO,GAAP,OAAO,CAA0B;QAAY,cAAS,GAAT,SAAS,CAA4B;QACtG,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IACjC,CAAC;IACD,IAAI,QAAQ,CAAC,QAAiB;QAC5B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM;QACJ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"signal.js","sourceRoot":"","sources":["src/signal.ts"],"names":[],"mappings":"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"}
package/type.d.ts CHANGED
@@ -3,7 +3,7 @@ declare global {
3
3
  * Global signals value type registry.
4
4
  */
5
5
  interface AlwatrSignals {
6
- readonly 'easter-egg': number;
6
+ readonly 'easter-egg': string;
7
7
  }
8
8
  /**
9
9
  * Global request signal parameters types.
@@ -83,9 +83,9 @@ export declare type SignalProvider<SignalName extends keyof AlwatrRequestSignals
83
83
  */
84
84
  export interface ListenerObject<SignalName extends keyof AlwatrSignals> {
85
85
  /**
86
- * Listener symbol id (unique).
86
+ * Unique listener id
87
87
  */
88
- id: symbol;
88
+ id: number;
89
89
  /**
90
90
  * If true, the listener will be called only once and removed automatically after first call
91
91
  */