@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 +30 -0
- package/README.md +17 -3
- package/core.d.ts +3 -3
- package/core.d.ts.map +1 -1
- package/core.js +4 -3
- package/core.js.map +1 -1
- package/package.json +3 -3
- package/signal.d.ts +30 -8
- package/signal.d.ts.map +1 -1
- package/signal.js +39 -13
- package/signal.js.map +1 -1
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
|
-
###
|
|
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
|
|
224
|
+
const listener = contentChangeSignal.addListener((content) => console.log(content));
|
|
211
225
|
...
|
|
212
|
-
|
|
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):
|
|
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):
|
|
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":"
|
|
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
|
|
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":"AAAA,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;
|
|
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.
|
|
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.
|
|
39
|
+
"@alwatr/logger": "^0.10.0",
|
|
40
40
|
"tslib": "^2.3.1"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
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
|
-
|
|
7
|
-
|
|
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):
|
|
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
|
-
*
|
|
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
|
|
183
|
+
* const listener = contentChangeSignal.addListener((content) => console.log(content));
|
|
162
184
|
* ...
|
|
163
|
-
*
|
|
185
|
+
* listener.remove();
|
|
164
186
|
* ```
|
|
165
187
|
*/
|
|
166
|
-
|
|
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":"
|
|
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(
|
|
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
|
-
|
|
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
|
|
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
|
|
238
|
+
* const listener = contentChangeSignal.addListener((content) => console.log(content));
|
|
209
239
|
* ...
|
|
210
|
-
*
|
|
240
|
+
* listener.remove();
|
|
211
241
|
* ```
|
|
212
242
|
*/
|
|
213
|
-
|
|
214
|
-
this._logger.logMethod('
|
|
215
|
-
_removeSignalListener(this._signal.name,
|
|
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":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"signal.js","sourceRoot":"","sources":["src/signal.ts"],"names":[],"mappings":"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"}
|