@alwatr/signal 0.7.2 → 0.10.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,36 @@
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.10.0](https://github.com/AliMD/alwatr/compare/v0.9.0...v0.10.0) (2022-04-02)
7
+
8
+ **Note:** Version bump only for package @alwatr/signal
9
+
10
+
11
+
12
+
13
+
14
+ # [0.9.0](https://github.com/AliMD/alwatr/compare/v0.8.0...v0.9.0) (2022-03-22)
15
+
16
+
17
+ ### Features
18
+
19
+ * **signal:** ListenerInterface ([38ef029](https://github.com/AliMD/alwatr/commit/38ef0291c5ba2e3619080ad89109d805d3d600f2))
20
+
21
+
22
+
23
+
24
+
25
+ # [0.8.0](https://github.com/AliMD/alwatr/compare/v0.7.2...v0.8.0) (2022-03-14)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * **signal:** remove once listene in dispatch change imediatly the loop! ([e4d420d](https://github.com/AliMD/alwatr/commit/e4d420d3a086558dc01dcd7a9c5fe3e96677f092))
31
+
32
+
33
+
34
+
35
+
6
36
  ## [0.7.2](https://github.com/AliMD/alwatr/compare/v0.7.1...v0.7.2) (2022-03-12)
7
37
 
8
38
 
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":"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,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.2",
3
+ "version": "0.10.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.2",
39
+ "@alwatr/logger": "^0.10.0",
40
40
  "tslib": "^2.3.1"
41
41
  },
42
- "gitHead": "6ad26514f722b38731ea4866201f1d47167ff161"
42
+ "gitHead": "bc4aaf903143dd89c0f5107e02c2990810af3fa1"
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;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,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":"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,+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
@@ -5,7 +5,7 @@ import { __getSignalObject, _removeSignalListener, _setSignalProvider, _dispatch
5
5
  */
6
6
  export class SignalInterface {
7
7
  constructor(signalName) {
8
- this._logger = createLogger('Signal:' + signalName);
8
+ this._logger = createLogger(`signal<${signalName}>`);
9
9
  this._signal = __getSignalObject(signalName);
10
10
  }
11
11
  /**
@@ -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
  /**
@@ -196,27 +197,52 @@ export class SignalInterface {
196
197
  */
197
198
  addListener(listener, options) {
198
199
  this._logger.logMethodArgs('addListener', { listener, options });
199
- 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;
200
230
  }
201
231
  /**
202
- * Remove listener from specific signal.
232
+ * Remove listener from target signal.
203
233
  *
204
234
  * Example:
205
235
  *
206
236
  * ```ts
207
237
  * const contentChangeSignal = new SignalInterface('content-change');
208
- * const listenerId = contentChangeSignal.addListener((content) => console.log(content));
238
+ * const listener = contentChangeSignal.addListener((content) => console.log(content));
209
239
  * ...
210
- * contentChangeSignal.removeListener(listenerId);
240
+ * listener.remove();
211
241
  * ```
212
242
  */
213
- removeListener(listenerId) {
214
- this._logger.logMethod('removeListener');
215
- _removeSignalListener(this._signal.name, listenerId);
243
+ remove() {
244
+ this._logger.logMethod('remove');
245
+ _removeSignalListener(this._signal.name, this._listener.id);
216
246
  }
217
247
  }
218
- // @TODO: getSignalOptions(signalName);
219
- // @TODO: getListenerOptions(listenerId);
220
- // @TODO: setSignalOptions(signalName, {...});
221
- // @TODO: setListenerOptions(listenerId, {...});
222
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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"}