@rx-signals/store
Advanced tools
Comparing version 3.0.0-rc26 to 3.0.0-rc27
@@ -9,5 +9,5 @@ "use strict"; | ||
/** | ||
* Used by the {@link Store} | ||
* rx-signals internal helper type used by the {@link Store} | ||
* | ||
* @internal | ||
* @class ControlledSubject | ||
*/ | ||
@@ -14,0 +14,0 @@ class ControlledSubject { |
@@ -6,5 +6,5 @@ "use strict"; | ||
/** | ||
* Used by the {@link Store} | ||
* rx-signals internal helper type used by the {@link Store} | ||
* | ||
* @internal | ||
* @class DelayedEventQueue | ||
*/ | ||
@@ -11,0 +11,0 @@ class DelayedEventQueue { |
@@ -1,1 +0,51 @@ | ||
export {}; | ||
import { Observable } from 'rxjs'; | ||
import { DelayedEventQueue } from './delayed-event-queue'; | ||
import { SourceObservable } from './source-observable'; | ||
/** | ||
* Used by the {@link Store} | ||
* | ||
* rx-signals internal helper type | ||
*/ | ||
export type ResetHandle = { | ||
removeSources(): void; | ||
readdSources(): void; | ||
}; | ||
/** | ||
* rx-signals internal helper type used by the {@link Store} | ||
* | ||
* @class ControlledSubject | ||
*/ | ||
export declare class ControlledSubject<T> { | ||
private readonly id; | ||
private readonly isBehavior; | ||
private readonly onSourceError; | ||
private readonly onSourceCompleted; | ||
private readonly delayedEventQueue; | ||
private subject; | ||
private pipe; | ||
private readonly lazySources; | ||
private readonly statefulSources; | ||
private observable; | ||
private isSubscribed; | ||
private readonly isSubscribedSubject; | ||
private selfSubscriptionOrPendingSubscription; | ||
private nTargetSubscriptions; | ||
private readonly contextHandle; | ||
constructor(id: symbol, isBehavior: boolean, onSourceError: (sourceId: symbol, error: any) => void, onSourceCompleted: (sourceId: symbol) => void, delayedEventQueue: DelayedEventQueue); | ||
getObservable(): Observable<T>; | ||
getIsSubscribedObservable(): Observable<boolean>; | ||
addSource(source: SourceObservable<T>): void; | ||
removeSource(sourceId: symbol): void; | ||
removeAllSources(): void; | ||
next(next: T): void; | ||
error(error: any): void; | ||
complete(): void; | ||
isObservableSubscribed(): boolean; | ||
getResetHandle(): ResetHandle; | ||
hasSource(sourceId: symbol): boolean; | ||
getNumberOfSources(): number; | ||
private getNewTargetPipe; | ||
private unsubscribeSelf; | ||
private setIsSubscribed; | ||
private subscribeSource; | ||
} |
/* eslint no-underscore-dangle: ["error", { "allow": ["_rxs_id"] }] */ | ||
import { BehaviorSubject, distinctUntilChanged, filter, Observable, share, Subject, } from 'rxjs'; | ||
import { BehaviorSubject, Observable, Subject, distinctUntilChanged, filter, share, } from 'rxjs'; | ||
import { ContextHandle } from './context-handle'; | ||
import { NO_VALUE } from './store-utils'; | ||
/** | ||
* Used by the {@link Store} | ||
* rx-signals internal helper type used by the {@link Store} | ||
* | ||
* @internal | ||
* @class ControlledSubject | ||
*/ | ||
@@ -10,0 +10,0 @@ export class ControlledSubject { |
@@ -0,1 +1,14 @@ | ||
import { Observable } from 'rxjs'; | ||
/** | ||
* rx-signals internal helper type used by the {@link Store} | ||
* | ||
* @class DelayedEventQueue | ||
*/ | ||
export declare class DelayedEventQueue { | ||
private queueArray; | ||
getQueueDelayedObservable<T>(observable: Observable<T>): Observable<T>; | ||
private fromDelayedQueue; | ||
private queueSubject; | ||
private signalNext; | ||
} | ||
export default DelayedEventQueue; |
import { map, mergeMap, Subject } from 'rxjs'; | ||
/** | ||
* Used by the {@link Store} | ||
* rx-signals internal helper type used by the {@link Store} | ||
* | ||
* @internal | ||
* @class DelayedEventQueue | ||
*/ | ||
@@ -7,0 +7,0 @@ export class DelayedEventQueue { |
import { NoValueType } from './store-utils'; | ||
/** | ||
* rx-signals internal helper type | ||
*/ | ||
export type _ConflictKeys<T1 extends Record<string, any>, T2 extends Record<string, any>> = { | ||
[K in keyof T1]: K extends keyof T2 ? K : never; | ||
}[keyof T1]; | ||
/** | ||
* rx-signals internal helper type | ||
*/ | ||
export type _NoConflictKeys<T1 extends Record<string, any>, T2 extends Record<string, any>> = { | ||
[K in keyof T1]: K extends keyof T2 ? never : K; | ||
}[keyof T1]; | ||
/** | ||
* rx-signals internal helper type | ||
*/ | ||
export type _Conflicts<T1 extends Record<string, any>, T2 extends Record<string, any>> = { | ||
[K in _ConflictKeys<T1, T2>]: T1[K]; | ||
}; | ||
/** | ||
* rx-signals internal helper type | ||
*/ | ||
export type _NoConflicts<T1 extends Record<string, any>, T2 extends Record<string, any>> = { | ||
[K in _NoConflictKeys<Omit<T1, 'conflicts1' | 'conflicts2'>, T2>]: T1[K]; | ||
}; | ||
/** | ||
* rx-signals internal helper type | ||
*/ | ||
export type _MergeResult<T1 extends Record<string, any>, T2 extends Record<string, any>> = _ConflictKeys<T1, T2> extends never ? T1 & T2 : _NoConflicts<T1, T2> & _NoConflicts<T2, T1> & { | ||
conflicts1: _Conflicts<T1, T2> & ('conflicts1' extends keyof T1 ? { | ||
conflicts1: T1['conflicts1']; | ||
} : {}) & ('conflicts2' extends keyof T1 ? { | ||
conflicts2: T1['conflicts2']; | ||
} : {}); | ||
conflicts2: _Conflicts<T2, T1> & ('conflicts1' extends keyof T2 ? { | ||
conflicts1: T2['conflicts1']; | ||
} : {}) & ('conflicts2' extends keyof T2 ? { | ||
conflicts2: T2['conflicts2']; | ||
} : {}); | ||
}; | ||
/** | ||
* This type represents the result of a merge of two Record\<string, any\> types T1 and T2, using the following rules: | ||
@@ -81,2 +120,6 @@ * a) If there are no conflicts between T1 and T2, then Merged\<T1, T2\> equals T1 & T2 | ||
/** | ||
* rx-signals internal helper type | ||
*/ | ||
export type _NM<T1 extends Configuration, T2 extends Configuration> = T1 & T2; | ||
/** | ||
* This type represents the result of a merge of two Configuration types T1 and T2, using the following rules: | ||
@@ -83,0 +126,0 @@ * a) If either T1 or T2 is an empty object, then MergedConfiguration\<T1, T2\> equals T1 & T2 |
{ | ||
"name": "@rx-signals/store", | ||
"version": "3.0.0-rc26", | ||
"version": "3.0.0-rc27", | ||
"description": "Reactive state- and effects-management with behaviors and event streams", | ||
@@ -5,0 +5,0 @@ "author": "Gerd Neudert", |
@@ -6,6 +6,6 @@ # _@rx-signals/store_ | ||
:warning: This documentation is work in progress for the upcoming 3.0.0 version. | ||
There is however no good reason to use 2.x over 3.0.0-rc26, so please start with the rc-version (3.0.0 will be the first version I'm going to advertise publicly, so it's more like a 1.0 in reality.). | ||
There is however no good reason to use 2.x over 3.0.0-rc27, so please start with the rc-version (3.0.0 will be the first version I'm going to advertise publicly, so it's more like a 1.0 in reality.). | ||
2.x is deprecated and will NOT be maintained in any way. | ||
3.0.0-rc26 is better than 2.x in any aspect and the implementation is production-ready. | ||
3.0.0-rc27 is better than 2.x in any aspect and the implementation is production-ready. | ||
It's mainly documentation that needs improvement for a final realease. | ||
@@ -16,3 +16,3 @@ It is however possible that I will introduce minor breaking changes until 3.0.0 is finally released. | ||
**`npm install --save @rx-signals/store@3.0.0-rc26`** | ||
**`npm install --save @rx-signals/store@3.0.0-rc27`** | ||
@@ -19,0 +19,0 @@ ## Dependencies |
/* eslint no-underscore-dangle: ["error", { "allow": ["_rxs_id"] }] */ | ||
import { | ||
BehaviorSubject, | ||
Observable, | ||
Subject, | ||
Subscription, | ||
distinctUntilChanged, | ||
filter, | ||
Observable, | ||
share, | ||
Subject, | ||
Subscription, | ||
} from 'rxjs'; | ||
@@ -19,3 +19,3 @@ import { ContextHandle } from './context-handle'; | ||
* | ||
* @internal | ||
* rx-signals internal helper type | ||
*/ | ||
@@ -28,5 +28,5 @@ export type ResetHandle = { | ||
/** | ||
* Used by the {@link Store} | ||
* rx-signals internal helper type used by the {@link Store} | ||
* | ||
* @internal | ||
* @class ControlledSubject | ||
*/ | ||
@@ -33,0 +33,0 @@ export class ControlledSubject<T> { |
import { map, mergeMap, Observable, Subject } from 'rxjs'; | ||
/** | ||
* Used by the {@link Store} | ||
* rx-signals internal helper type used by the {@link Store} | ||
* | ||
* @internal | ||
* @class DelayedEventQueue | ||
*/ | ||
@@ -8,0 +8,0 @@ export class DelayedEventQueue { |
@@ -5,3 +5,3 @@ /* eslint-disable @typescript-eslint/naming-convention */ | ||
/** | ||
* @internal | ||
* rx-signals internal helper type | ||
*/ | ||
@@ -13,3 +13,3 @@ export type _ConflictKeys<T1 extends Record<string, any>, T2 extends Record<string, any>> = { | ||
/** | ||
* @internal | ||
* rx-signals internal helper type | ||
*/ | ||
@@ -21,3 +21,3 @@ export type _NoConflictKeys<T1 extends Record<string, any>, T2 extends Record<string, any>> = { | ||
/** | ||
* @internal | ||
* rx-signals internal helper type | ||
*/ | ||
@@ -29,3 +29,3 @@ export type _Conflicts<T1 extends Record<string, any>, T2 extends Record<string, any>> = { | ||
/** | ||
* @internal | ||
* rx-signals internal helper type | ||
*/ | ||
@@ -37,3 +37,3 @@ export type _NoConflicts<T1 extends Record<string, any>, T2 extends Record<string, any>> = { | ||
/** | ||
* @internal | ||
* rx-signals internal helper type | ||
*/ | ||
@@ -201,3 +201,3 @@ export type _MergeResult< | ||
/** | ||
* @internal | ||
* rx-signals internal helper type | ||
*/ | ||
@@ -204,0 +204,0 @@ export type _NM<T1 extends Configuration, T2 extends Configuration> = T1 & T2; |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
567508
9356