@alwatr/signal 2.0.5 → 3.0.1
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 +236 -174
- package/README.md +70 -3
- package/dist/logger.d.ts +2 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/main.cjs +3 -0
- package/dist/main.cjs.map +7 -0
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.mjs +3 -0
- package/dist/main.mjs.map +7 -0
- package/dist/signal.d.ts +17 -0
- package/dist/signal.d.ts.map +1 -0
- package/dist/trigger.d.ts +16 -0
- package/dist/trigger.d.ts.map +1 -0
- package/package.json +46 -15
- package/context.d.ts +0 -31
- package/context.d.ts.map +0 -1
- package/context.js +0 -40
- package/context.js.map +0 -1
- package/index.d.ts +0 -7
- package/index.d.ts.map +0 -1
- package/index.js +0 -6
- package/index.js.map +0 -1
- package/multithread-context.d.ts +0 -21
- package/multithread-context.d.ts.map +0 -1
- package/multithread-context.js +0 -50
- package/multithread-context.js.map +0 -1
- package/observable.d.ts +0 -47
- package/observable.d.ts.map +0 -1
- package/observable.js +0 -127
- package/observable.js.map +0 -1
- package/signal.d.ts +0 -19
- package/signal.d.ts.map +0 -1
- package/signal.js +0 -23
- package/signal.js.map +0 -1
- package/simple-signal.d.ts +0 -19
- package/simple-signal.d.ts.map +0 -1
- package/simple-signal.js +0 -23
- package/simple-signal.js.map +0 -1
- package/type.d.ts +0 -35
- package/type.d.ts.map +0 -1
- package/type.js +0 -2
- package/type.js.map +0 -1
package/observable.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observable.js","sourceRoot":"","sources":["src/observable.ts"],"names":[],"mappings":"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","sourcesContent":["import {createLogger, definePackage} from '@alwatr/logger';\n\nimport type {SubscribeOptions, ListenerCallback, Observer, SubscribeResult, AlwatrObservableInterface} from './type.js';\n\ndefinePackage('signal', '2.x');\n\n/**\n * Alwatr base signal.\n */\nexport abstract class AlwatrObservable<T> implements AlwatrObservableInterface<T> {\n protected _name;\n protected _logger;\n protected _$data?: T;\n protected _$observers: Observer<this, T>[] = [];\n\n constructor(config: {name: string; loggerPrefix?: string}) {\n config.loggerPrefix ??= 'signal';\n this._name = config.name;\n this._logger = createLogger(`{${config.loggerPrefix}: ${this._name}}`);\n this._logger.logMethod?.('constructor');\n }\n\n /**\n * Get data.\n *\n * Return undefined if signal not notify before or expired.\n */\n protected _getData(): T | undefined {\n this._logger.logMethodFull?.('_getData', {}, this._$data);\n return this._$data;\n }\n\n /**\n * Execute all observers and remember data.\n */\n protected _notify(data: T): void {\n this._logger.logMethodArgs?.('_notify', data);\n this._$data = data;\n setTimeout(() => this._$dispatch(data), 0);\n }\n\n /**\n * Execute all observers callback.\n */\n protected _$dispatch(data: T): void {\n const removeList: Observer<this, T>[] = [];\n\n for (const listener of this._$observers) {\n if (listener.options.disabled) continue;\n if (listener.options.once) removeList.push(listener);\n\n try {\n const ret = listener.callback.call(this, data);\n if (ret instanceof Promise) {\n ret.catch((err) => this._logger.error('_$dispatch', 'call_listener_failed', err));\n }\n }\n catch (err) {\n this._logger.error('_$dispatch', 'call_listener_failed', err);\n }\n }\n\n for (const listener of removeList) {\n this.unsubscribe(listener.callback);\n }\n }\n\n /**\n * Subscribe to context changes.\n */\n subscribe(listenerCallback: ListenerCallback<this, T>, options: SubscribeOptions = {}): SubscribeResult {\n this._logger.logMethodArgs?.('subscribe', {options});\n\n const _listenerObject: Observer<this, T> = {\n callback: listenerCallback,\n options,\n };\n\n let callbackExecuted = false;\n const data = this._$data;\n if (data !== undefined && options.receivePrevious === true && options.disabled !== true) {\n // Run callback for old dispatch signal\n callbackExecuted = true;\n setTimeout(() => {\n try {\n const ret = listenerCallback.call(this, data);\n if (ret instanceof Promise) {\n ret.catch((err) => this._logger.error('subscribe.receivePrevious', 'call_signal_callback_failed', err));\n }\n }\n catch (err) {\n this._logger.error('subscribe.receivePrevious', 'call_signal_callback_failed', err);\n }\n }, 0);\n }\n\n // If once then must remove listener after first callback called! then why push it to listenerList?!\n if (options.once !== true || callbackExecuted === true) {\n if (options.priority === true) {\n this._$observers.unshift(_listenerObject);\n }\n else {\n this._$observers.push(_listenerObject);\n }\n }\n\n return {\n unsubscribe: this.unsubscribe.bind(this, listenerCallback),\n };\n }\n\n /**\n * Unsubscribe from context.\n */\n unsubscribe(listenerCallback: ListenerCallback<this, T>): void {\n this._logger.logMethod?.('unsubscribe');\n const listenerIndex = this._$observers.findIndex((listener) => listener.callback === listenerCallback);\n if (listenerIndex !== -1) {\n void this._$observers.splice(listenerIndex, 1);\n }\n }\n\n /**\n * Clear current data without notify subscribers.\n *\n * `receivePrevious` in new subscribers not work until new a notify changes the data.\n */\n protected _clear(): void {\n this._logger.logMethod?.('_clear');\n this._$data = undefined;\n }\n\n /**\n * Get the data of next notify.\n */\n protected _untilNewNotify(): Promise<T> {\n this._logger.logMethod?.('_untilNewNotify');\n return new Promise((resolve) => {\n this.subscribe(resolve, {\n once: true,\n priority: true,\n receivePrevious: false,\n });\n });\n }\n}\n"]}
|
package/signal.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { AlwatrObservable } from './observable.js';
|
|
2
|
-
/**
|
|
3
|
-
* Alwatr event signal.
|
|
4
|
-
*/
|
|
5
|
-
export declare class AlwatrSignal<T> extends AlwatrObservable<T> {
|
|
6
|
-
constructor(config: {
|
|
7
|
-
name: string;
|
|
8
|
-
loggerPrefix?: string;
|
|
9
|
-
});
|
|
10
|
-
/**
|
|
11
|
-
* Dispatch an event to all listeners.
|
|
12
|
-
*/
|
|
13
|
-
notify(detail: T): void;
|
|
14
|
-
/**
|
|
15
|
-
* Wait until next event.
|
|
16
|
-
*/
|
|
17
|
-
untilNewNotify(): Promise<T>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=signal.d.ts.map
|
package/signal.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["src/signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;gBAC1C,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAC;IAKzD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;IAIvB;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,CAAC,CAAC;CAG7B"}
|
package/signal.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { AlwatrObservable } from './observable.js';
|
|
2
|
-
/**
|
|
3
|
-
* Alwatr event signal.
|
|
4
|
-
*/
|
|
5
|
-
export class AlwatrSignal extends AlwatrObservable {
|
|
6
|
-
constructor(config) {
|
|
7
|
-
config.loggerPrefix ?? (config.loggerPrefix = 'signal');
|
|
8
|
-
super(config);
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Dispatch an event to all listeners.
|
|
12
|
-
*/
|
|
13
|
-
notify(detail) {
|
|
14
|
-
this._notify(detail);
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Wait until next event.
|
|
18
|
-
*/
|
|
19
|
-
untilNewNotify() {
|
|
20
|
-
return super._untilNewNotify();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=signal.js.map
|
package/signal.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signal.js","sourceRoot":"","sources":["src/signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,MAAM,OAAO,YAAgB,SAAQ,gBAAmB;IACtD,YAAY,MAA6C;QACvD,MAAM,CAAC,YAAY,KAAnB,MAAM,CAAC,YAAY,GAAK,QAAQ,EAAC;QACjC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAS;QACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,KAAK,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC;CACF","sourcesContent":["import {AlwatrObservable} from './observable.js';\n\n/**\n * Alwatr event signal.\n */\nexport class AlwatrSignal<T> extends AlwatrObservable<T> {\n constructor(config: {name: string; loggerPrefix?: string}) {\n config.loggerPrefix ??= 'signal';\n super(config);\n }\n\n /**\n * Dispatch an event to all listeners.\n */\n notify(detail: T): void {\n this._notify(detail);\n }\n\n /**\n * Wait until next event.\n */\n untilNewNotify(): Promise<T> {\n return super._untilNewNotify();\n }\n}\n"]}
|
package/simple-signal.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { AlwatrObservable } from './observable.js';
|
|
2
|
-
/**
|
|
3
|
-
* Alwatr event signal without any data.
|
|
4
|
-
*/
|
|
5
|
-
export declare class AlwatrSimpleSignal extends AlwatrObservable<undefined> {
|
|
6
|
-
constructor(config: {
|
|
7
|
-
name: string;
|
|
8
|
-
loggerPrefix?: string;
|
|
9
|
-
});
|
|
10
|
-
/**
|
|
11
|
-
* Dispatch an event to all listeners.
|
|
12
|
-
*/
|
|
13
|
-
notify(): void;
|
|
14
|
-
/**
|
|
15
|
-
* Wait until next event signal.
|
|
16
|
-
*/
|
|
17
|
-
untilNewNotify(): Promise<void>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=simple-signal.d.ts.map
|
package/simple-signal.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple-signal.d.ts","sourceRoot":"","sources":["src/simple-signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,gBAAgB,CAAC,SAAS,CAAC;gBACrD,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAC;IAKzD;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
|
package/simple-signal.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { AlwatrObservable } from './observable.js';
|
|
2
|
-
/**
|
|
3
|
-
* Alwatr event signal without any data.
|
|
4
|
-
*/
|
|
5
|
-
export class AlwatrSimpleSignal extends AlwatrObservable {
|
|
6
|
-
constructor(config) {
|
|
7
|
-
config.loggerPrefix ?? (config.loggerPrefix = 'signal');
|
|
8
|
-
super(config);
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Dispatch an event to all listeners.
|
|
12
|
-
*/
|
|
13
|
-
notify() {
|
|
14
|
-
this._notify(undefined);
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Wait until next event signal.
|
|
18
|
-
*/
|
|
19
|
-
untilNewNotify() {
|
|
20
|
-
return super._untilNewNotify();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=simple-signal.js.map
|
package/simple-signal.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple-signal.js","sourceRoot":"","sources":["src/simple-signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,gBAA2B;IACjE,YAAY,MAA6C;QACvD,MAAM,CAAC,YAAY,KAAnB,MAAM,CAAC,YAAY,GAAK,QAAQ,EAAC;QACjC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,KAAK,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC;CACF","sourcesContent":["import {AlwatrObservable} from './observable.js';\n\n/**\n * Alwatr event signal without any data.\n */\nexport class AlwatrSimpleSignal extends AlwatrObservable<undefined> {\n constructor(config: {name: string; loggerPrefix?: string}) {\n config.loggerPrefix ??= 'signal';\n super(config);\n }\n\n /**\n * Dispatch an event to all listeners.\n */\n notify(): void {\n this._notify(undefined);\n }\n\n /**\n * Wait until next event signal.\n */\n untilNewNotify(): Promise<void> {\n return super._untilNewNotify();\n }\n}\n"]}
|
package/type.d.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { MaybePromise } from '@alwatr/type';
|
|
2
|
-
/**
|
|
3
|
-
* Subscribe options type.
|
|
4
|
-
*/
|
|
5
|
-
export interface SubscribeOptions {
|
|
6
|
-
/**
|
|
7
|
-
* If true, the listener will be called only once.
|
|
8
|
-
*/
|
|
9
|
-
once?: true;
|
|
10
|
-
/**
|
|
11
|
-
* If true, the listener will be called before other.
|
|
12
|
-
*/
|
|
13
|
-
priority?: true;
|
|
14
|
-
/**
|
|
15
|
-
* If true, the listener will be defined disabled by default.
|
|
16
|
-
*/
|
|
17
|
-
disabled?: true;
|
|
18
|
-
/**
|
|
19
|
-
* If true, calls the listener (callback) with previous signal value (if dispatched before).
|
|
20
|
-
*/
|
|
21
|
-
receivePrevious?: boolean;
|
|
22
|
-
}
|
|
23
|
-
export type ListenerCallback<T, D> = (this: T, detail: D) => MaybePromise<void>;
|
|
24
|
-
export interface Observer<T, D> {
|
|
25
|
-
callback: ListenerCallback<T, D>;
|
|
26
|
-
options: SubscribeOptions;
|
|
27
|
-
}
|
|
28
|
-
export interface SubscribeResult {
|
|
29
|
-
unsubscribe: () => void;
|
|
30
|
-
}
|
|
31
|
-
export interface AlwatrObservableInterface<T> {
|
|
32
|
-
subscribe(listenerCallback: ListenerCallback<this, T>, options?: SubscribeOptions): SubscribeResult;
|
|
33
|
-
unsubscribe(listenerCallback: ListenerCallback<this, T>): void;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=type.d.ts.map
|
package/type.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["src/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAM3B;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;AAEhF,MAAM,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC;IAC5B,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACpG,WAAW,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;CAChE"}
|
package/type.js
DELETED
package/type.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["src/type.ts"],"names":[],"mappings":"","sourcesContent":["import type {MaybePromise} from '@alwatr/type';\n\n/**\n * Subscribe options type.\n */\nexport interface SubscribeOptions {\n /**\n * If true, the listener will be called only once.\n */\n once?: true;\n\n /**\n * If true, the listener will be called before other.\n */\n priority?: true;\n\n /**\n * If true, the listener will be defined disabled by default.\n */\n disabled?: true;\n\n /**\n * If true, calls the listener (callback) with previous signal value (if dispatched before).\n */\n receivePrevious?: boolean;\n\n /**\n * If defined, calls the listener (callback) with debounce.\n */\n // debounce?: 'AnimationFrame' | number;\n}\n\nexport type ListenerCallback<T, D> = (this: T, detail: D) => MaybePromise<void>;\n\nexport interface Observer<T, D> {\n callback: ListenerCallback<T, D>;\n options: SubscribeOptions;\n}\n\nexport interface SubscribeResult {\n unsubscribe: () => void;\n}\n\nexport interface AlwatrObservableInterface<T> {\n subscribe(listenerCallback: ListenerCallback<this, T>, options?: SubscribeOptions): SubscribeResult;\n unsubscribe(listenerCallback: ListenerCallback<this, T>): void;\n}\n"]}
|