@alwatr/signal 2.0.0 → 2.0.2
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 +15 -5
- package/index.d.ts +2 -1
- package/index.d.ts.map +1 -1
- package/index.js +1 -6
- package/index.js.map +1 -1
- package/observable.d.ts.map +1 -1
- package/observable.js +2 -1
- package/observable.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,15 +3,25 @@
|
|
|
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
|
+
## [2.0.2](https://github.com/AliMD/alwatr-signal/compare/@alwatr/signal@2.0.1...@alwatr/signal@2.0.2) (2023-11-01)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @alwatr/signal
|
|
9
|
+
|
|
10
|
+
## [2.0.1](https://github.com/AliMD/alwatr-signal/compare/@alwatr/signal@2.0.0...@alwatr/signal@2.0.1) (2023-10-23)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **signal:** compatible with new logger api ([0a3b1c0](https://github.com/AliMD/alwatr-signal/commit/0a3b1c02b285daa66491104a14596e6a19895e11)) by @
|
|
15
|
+
|
|
6
16
|
# 2.0.0 (2023-09-19)
|
|
7
17
|
|
|
8
18
|
### Bug Fixes
|
|
9
19
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
- all new repo path and packages dependencies ([21a6afa](https://github.com/AliMD/alwatr-signal/commit/21a6afa0badafe4051617d9a9e3bbfbaabd0c4ad)) by @AliMD
|
|
21
|
+
- cleanup old signal and fsm v1 ([bde0bea](https://github.com/AliMD/alwatr-signal/commit/bde0bea06a6750bebad49a127b75b57fd5e55ddd)) by @AliMD
|
|
22
|
+
- **signal:** package name ([4791b54](https://github.com/AliMD/alwatr-signal/commit/4791b54c8da75cf43eb9c86180f1ed94b0e28c4e)) by @AliMD
|
|
23
|
+
- **signal:** signal2 name ([70b71e3](https://github.com/AliMD/alwatr-signal/commit/70b71e312cb5e5d4c54c37c5c327712200f90be5)) by @AliMD
|
|
24
|
+
- ts refrence path ([c2baa44](https://github.com/AliMD/alwatr-signal/commit/c2baa44999c72a0015481fc8fea25439329c3f37)) by @AliMD
|
|
15
25
|
|
|
16
26
|
## [1.1.2](https://github.com/AliMD/alwatr-signal/compare/@alwatr/signal@1.1.1...@alwatr/signal@1.1.2) (2023-09-12)
|
|
17
27
|
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
export * from './observable.js';
|
|
1
2
|
export * from './simple-signal.js';
|
|
2
3
|
export * from './signal.js';
|
|
3
4
|
export * from './context.js';
|
|
4
5
|
export * from './multithread-context.js';
|
|
5
|
-
export * from './type.js';
|
|
6
|
+
export type * from './type.js';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,mBAAmB,WAAW,CAAC"}
|
package/index.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
export * from './observable.js';
|
|
2
2
|
export * from './simple-signal.js';
|
|
3
3
|
export * from './signal.js';
|
|
4
4
|
export * from './context.js';
|
|
5
5
|
export * from './multithread-context.js';
|
|
6
|
-
export * from './type.js';
|
|
7
|
-
globalAlwatr.registeredList.push({
|
|
8
|
-
name: '@alwatr/signal',
|
|
9
|
-
version: _ALWATR_VERSION_,
|
|
10
|
-
});
|
|
11
6
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC","sourcesContent":["export * from './observable.js';\nexport * from './simple-signal.js';\nexport * from './signal.js';\nexport * from './context.js';\nexport * from './multithread-context.js';\nexport type * from './type.js';\n"]}
|
package/observable.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.d.ts","sourceRoot":"","sources":["src/observable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"observable.d.ts","sourceRoot":"","sources":["src/observable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,yBAAyB,EAAC,MAAM,WAAW,CAAC;AAIxH;;GAEG;AACH,8BAAsB,gBAAgB,CAAC,CAAC,CAAE,YAAW,yBAAyB,CAAC,CAAC,CAAC;IAC/E,SAAS,CAAC,KAAK,SAAC;IAChB,SAAS,CAAC,OAAO,wCAAC;IAClB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrB,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAM;gBAEpC,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAC;IAOzD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,IAAI,CAAC,GAAG,SAAS;IAKnC;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAMhC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAuBnC;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,GAAE,gBAAqB,GAAG,eAAe;IAyCvG;;OAEG;IACH,WAAW,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI;IAQ9D;;;;OAIG;IACH,SAAS,CAAC,MAAM,IAAI,IAAI;IAKxB;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC,CAAC;CAUxC"}
|
package/observable.js
CHANGED
package/observable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.js","sourceRoot":"","sources":["src/observable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;
|
|
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alwatr/signal",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Elegant powerful event system for handle global signals and states written in tiny TypeScript module.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"signal",
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"url": "https://github.com/AliMD/alwatr-signal/issues"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@alwatr/logger": "^
|
|
32
|
+
"@alwatr/logger": "^2.1.2",
|
|
33
33
|
"@alwatr/type": "^1.1.4",
|
|
34
|
-
"@alwatr/util": "^1.2.
|
|
34
|
+
"@alwatr/util": "^1.2.9",
|
|
35
35
|
"tslib": "^2.6.2"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "af10084ada4c096cedb33eb2339cd25c2701f8eb"
|
|
38
38
|
}
|