@alwatr/signal 0.7.0 → 0.9.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,6 +3,39 @@
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.9.0](https://github.com/AliMD/alwatr/compare/v0.8.0...v0.9.0) (2022-03-22)
7
+
8
+
9
+ ### Features
10
+
11
+ * **signal:** ListenerInterface ([38ef029](https://github.com/AliMD/alwatr/commit/38ef0291c5ba2e3619080ad89109d805d3d600f2))
12
+
13
+
14
+
15
+
16
+
17
+ # [0.8.0](https://github.com/AliMD/alwatr/compare/v0.7.2...v0.8.0) (2022-03-14)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **signal:** remove once listene in dispatch change imediatly the loop! ([e4d420d](https://github.com/AliMD/alwatr/commit/e4d420d3a086558dc01dcd7a9c5fe3e96677f092))
23
+
24
+
25
+
26
+
27
+
28
+ ## [0.7.2](https://github.com/AliMD/alwatr/compare/v0.7.1...v0.7.2) (2022-03-12)
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * **signal:** promise to multi requests works ([dd59f0e](https://github.com/AliMD/alwatr/commit/dd59f0e5737abec72c41895b93365199fad66fcb))
34
+
35
+
36
+
37
+
38
+
6
39
  # [0.7.0](https://github.com/AliMD/alwatr/compare/v0.6.1...v0.7.0) (2022-03-12)
7
40
 
8
41
  **Note:** Version bump only for package @alwatr/signal
package/README.md CHANGED
@@ -200,14 +200,28 @@ Example:
200
200
  const listener = contentChangeSignal.addListener((content) => console.log(content));
201
201
  ```
202
202
 
203
- ### `removeListener(listener)`
203
+ ### Listener API Interface
204
+
205
+ #### `listener.disabled`
206
+
207
+ Disable the listener, not called anymore.
208
+
209
+ Example:
210
+
211
+ ```ts
212
+ const listener = contentChangeSignal.addListener((content) => console.log(content));
213
+ ...
214
+ listener.disabled = true;
215
+ ```
216
+
217
+ #### `listener.remove()`
204
218
 
205
219
  Remove listener from specific signal.
206
220
 
207
221
  Example:
208
222
 
209
223
  ```ts
210
- const listenerId = contentChangeSignal.addListener((content) => console.log(content));
224
+ const listener = contentChangeSignal.addListener((content) => console.log(content));
211
225
  ...
212
- contentChangeSignal.removeListener(listenerId);
226
+ listener.remove();
213
227
  ```
package/core.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { DispatchOptions, ListenerCallback, ListenerOptions, SignalObject, SignalProvider, SignalProviderOptions } from './type';
1
+ import type { DispatchOptions, ListenerCallback, ListenerObject, ListenerOptions, SignalObject, SignalProvider, SignalProviderOptions } from './type';
2
2
  export declare const logger: import("logger/type").Logger;
3
3
  /**
4
4
  * Access to signal option, Make new signal with default options if not exist.
@@ -13,7 +13,7 @@ export declare function __getSignalObject<SignalName extends keyof AlwatrSignals
13
13
  * const listener = addSignalListener('content-change', (content) => console.log(content));
14
14
  * ```
15
15
  */
16
- export declare function _addSignalListener<SignalName extends keyof AlwatrSignals>(signalName: SignalName, signalCallback: ListenerCallback<SignalName>, options?: ListenerOptions): symbol;
16
+ export declare function _addSignalListener<SignalName extends keyof AlwatrSignals>(signalName: SignalName, signalCallback: ListenerCallback<SignalName>, options?: ListenerOptions): ListenerObject<SignalName>;
17
17
  /**
18
18
  * Remove listener from specific signal.
19
19
  *
@@ -49,5 +49,5 @@ export declare function _dispatchSignal<SignalName extends keyof AlwatrSignals>(
49
49
  * }
50
50
  * ```
51
51
  */
52
- export declare function _setSignalProvider<SignalName extends keyof AlwatrRequestSignals>(signalName: SignalName, signalProvider: SignalProvider<SignalName>, options?: SignalProviderOptions): symbol;
52
+ export declare function _setSignalProvider<SignalName extends keyof AlwatrRequestSignals>(signalName: SignalName, signalProvider: SignalProvider<SignalName>, options?: SignalProviderOptions): ListenerObject<SignalName>;
53
53
  //# 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":"AACA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAEhB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,EAEtB,MAAM,QAAQ,CAAC;AAEhB,eAAO,MAAM,MAAM,8BAAgC,CAAC;AAYpD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,SAAS,MAAM,aAAa,EACpE,UAAU,EAAE,UAAU,GACvB,YAAY,CAAC,UAAU,CAAC,CAU1B;AA0BD;;;;;;;;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,MAAM,CA8CR;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,MAAM,CAuBR"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,EAEtB,MAAM,QAAQ,CAAC;AAEhB,eAAO,MAAM,MAAM,8BAAgC,CAAC;AAYpD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,SAAS,MAAM,aAAa,EACpE,UAAU,EAAE,UAAU,GACvB,YAAY,CAAC,UAAU,CAAC,CAU1B;AA8BD;;;;;;;;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,CA8C5B;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,CAuB5B"}
package/core.js CHANGED
@@ -40,9 +40,10 @@ function __callListeners(signal) {
40
40
  catch (err) {
41
41
  logger.error('_callListeners', 'call_listener_failed', err.stack || err, { signalName: signal.name });
42
42
  }
43
- if (listener.once)
44
- _removeSignalListener(signal.name, listener.id);
45
43
  }
44
+ signal.listenerList
45
+ .filter((listener) => !listener.disabled && listener.once)
46
+ .forEach((listener) => _removeSignalListener(signal.name, listener.id));
46
47
  }
47
48
  /**
48
49
  * Add new listener to specific signal.
@@ -95,7 +96,7 @@ export function _addSignalListener(signalName, signalCallback, options) {
95
96
  signal.listenerList.push(listener);
96
97
  }
97
98
  }
98
- return listener.id;
99
+ return listener;
99
100
  }
100
101
  /**
101
102
  * Remove listener from specific signal.
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.7.0",
3
+ "version": "0.9.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",
@@ -36,8 +36,8 @@
36
36
  "url": "https://github.com/AliMD/alwatr/issues"
37
37
  },
38
38
  "dependencies": {
39
- "@alwatr/logger": "^0.7.0",
39
+ "@alwatr/logger": "^0.9.0",
40
40
  "tslib": "^2.3.1"
41
41
  },
42
- "gitHead": "5eca110493087213c2c01695b9738a5f9fd8edf7"
42
+ "gitHead": "1f94c6a09874971a0f28b6ef91b7582837e043d0"
43
43
  }
package/signal.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import type { ListenerOptions, DispatchOptions, ListenerCallback, SignalProvider, SignalProviderOptions } from './type';
1
+ import type { ListenerOptions, DispatchOptions, ListenerCallback, SignalProvider, SignalProviderOptions, ListenerObject, SignalObject } from './type';
2
2
  /**
3
3
  * Signal API interface as a remote controller.
4
4
  */
5
5
  export declare class SignalInterface<SignalName extends keyof AlwatrSignals> {
6
- private _signal;
7
- private _logger;
6
+ protected _signal: SignalObject<SignalName>;
7
+ protected _logger: import("logger/type").Logger;
8
8
  constructor(signalName: SignalName);
9
9
  /**
10
10
  * Get signal name.
@@ -150,19 +150,41 @@ export declare class SignalInterface<SignalName extends keyof AlwatrSignals> {
150
150
  * const listener = contentChangeSignal.addListener((content) => console.log(content));
151
151
  * ```
152
152
  */
153
- addListener(listener: ListenerCallback<SignalName>, options?: ListenerOptions): symbol;
153
+ addListener(listener: ListenerCallback<SignalName>, options?: ListenerOptions): ListenerInterface<SignalName>;
154
+ }
155
+ /**
156
+ * Signal Listener API interface as a remote controller.
157
+ */
158
+ export declare class ListenerInterface<SignalName extends keyof AlwatrSignals> {
159
+ protected _signal: SignalObject<SignalName>;
160
+ protected _listener: ListenerObject<SignalName>;
161
+ protected _logger: import("logger/type").Logger;
162
+ constructor(_signal: SignalObject<SignalName>, _listener: ListenerObject<SignalName>);
154
163
  /**
155
- * Remove listener from specific signal.
164
+ * Disable the listener, not called anymore.
165
+ *
166
+ * Example:
167
+ *
168
+ * ```ts
169
+ * const listener = contentChangeSignal.addListener((content) => console.log(content));
170
+ * ...
171
+ * listener.disabled = true;
172
+ * ```
173
+ */
174
+ get disabled(): boolean;
175
+ set disabled(disabled: boolean);
176
+ /**
177
+ * Remove listener from target signal.
156
178
  *
157
179
  * Example:
158
180
  *
159
181
  * ```ts
160
182
  * const contentChangeSignal = new SignalInterface('content-change');
161
- * const listenerId = contentChangeSignal.addListener((content) => console.log(content));
183
+ * const listener = contentChangeSignal.addListener((content) => console.log(content));
162
184
  * ...
163
- * contentChangeSignal.removeListener(listenerId);
185
+ * listener.remove();
164
186
  * ```
165
187
  */
166
- removeListener(listenerId: symbol): void;
188
+ remove(): void;
167
189
  }
168
190
  //# sourceMappingURL=signal.d.ts.map
package/signal.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["src/signal.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACtB,MAAM,QAAQ,CAAC;AAEhB;;GAEG;AACH,qBAAa,eAAe,CAAC,UAAU,SAAS,MAAM,aAAa;IACjE,OAAO,CAAC,OAAO,CAAC;IAChB,OAAO,CAAC,OAAO,CAAC;gBAEJ,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,EAE7B;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;IAS3F;;;;;;;;;;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,MAAM;IAKtF;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;CAIzC"}
1
+ {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["src/signal.ts"],"names":[],"mappings":"AASA,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,+BAAC;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;IAGjE,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC;IAC3C,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC;IAHjD,SAAS,CAAC,OAAO,+BAAC;gBAEN,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EACjC,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC;IAKjD;;;;;;;;;;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
@@ -64,6 +64,7 @@ export class SignalInterface {
64
64
  return this._signal.disabled;
65
65
  }
66
66
  set disabled(disabled) {
67
+ this._logger.logProperty('disabled', disabled);
67
68
  this._signal.disabled = disabled;
68
69
  }
69
70
  /**
@@ -105,7 +106,7 @@ export class SignalInterface {
105
106
  */
106
107
  setProvider(signalProvider, options) {
107
108
  this._logger.logMethodArgs('setProvider', { options });
108
- return _setSignalProvider(this.name, signalProvider, options);
109
+ return _setSignalProvider(this.name, signalProvider, options).id;
109
110
  }
110
111
  // @TODO: removeProvider(signalName): void
111
112
  /**
@@ -123,8 +124,9 @@ export class SignalInterface {
123
124
  */
124
125
  request(requestParam) {
125
126
  this._logger.logMethodArgs('request', { requestParam });
127
+ const nextSignalValuePromise = this.getNextSignalValue();
126
128
  _dispatchSignal(`request-${this.name}`, requestParam);
127
- return this.getNextSignalValue();
129
+ return nextSignalValuePromise;
128
130
  }
129
131
  /**
130
132
  * Resolved with signal value when new signal received.
@@ -195,27 +197,52 @@ export class SignalInterface {
195
197
  */
196
198
  addListener(listener, options) {
197
199
  this._logger.logMethodArgs('addListener', { listener, options });
198
- return _addSignalListener(this._signal.name, listener, options);
200
+ const listenerId = _addSignalListener(this._signal.name, listener, options);
201
+ return new ListenerInterface(this._signal, listenerId);
202
+ }
203
+ }
204
+ /**
205
+ * Signal Listener API interface as a remote controller.
206
+ */
207
+ export class ListenerInterface {
208
+ constructor(_signal, _listener) {
209
+ this._signal = _signal;
210
+ this._listener = _listener;
211
+ this._logger = createLogger('Listener of ' + _signal.name);
212
+ }
213
+ /**
214
+ * Disable the listener, not called anymore.
215
+ *
216
+ * Example:
217
+ *
218
+ * ```ts
219
+ * const listener = contentChangeSignal.addListener((content) => console.log(content));
220
+ * ...
221
+ * listener.disabled = true;
222
+ * ```
223
+ */
224
+ get disabled() {
225
+ return this._listener.disabled;
226
+ }
227
+ set disabled(disabled) {
228
+ this._logger.logProperty('disabled', disabled);
229
+ this._listener.disabled = disabled;
199
230
  }
200
231
  /**
201
- * Remove listener from specific signal.
232
+ * Remove listener from target signal.
202
233
  *
203
234
  * Example:
204
235
  *
205
236
  * ```ts
206
237
  * const contentChangeSignal = new SignalInterface('content-change');
207
- * const listenerId = contentChangeSignal.addListener((content) => console.log(content));
238
+ * const listener = contentChangeSignal.addListener((content) => console.log(content));
208
239
  * ...
209
- * contentChangeSignal.removeListener(listenerId);
240
+ * listener.remove();
210
241
  * ```
211
242
  */
212
- removeListener(listenerId) {
213
- this._logger.logMethod('removeListener');
214
- _removeSignalListener(this._signal.name, listenerId);
243
+ remove() {
244
+ this._logger.logMethod('remove');
245
+ _removeSignalListener(this._signal.name, this._listener.id);
215
246
  }
216
247
  }
217
- // @TODO: getSignalOptions(signalName);
218
- // @TODO: getListenerOptions(listenerId);
219
- // @TODO: setSignalOptions(signalName, {...});
220
- // @TODO: setListenerOptions(listenerId, {...});
221
248
  //# sourceMappingURL=signal.js.map
package/signal.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"signal.js","sourceRoot":"","sources":["src/signal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signal.js","sourceRoot":"","sources":["src/signal.ts"],"names":[],"mappings":"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"}