fix(core): update

This commit is contained in:
Philipp Kunz 2023-04-13 14:22:31 +02:00
parent 6db03eee83
commit c4b214a308
2 changed files with 10 additions and 4 deletions

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@pushrocks/smartstate', name: '@pushrocks/smartstate',
version: '2.0.5', version: '2.0.6',
description: 'a package that handles state in a good way' description: 'a package that handles state in a good way'
} }

View File

@ -37,7 +37,7 @@ export class StatePart<TStatePartName, TStatePayload> {
if ( if (
this.stateStore && this.stateStore &&
this.lastStateNotificationPayloadHash && this.lastStateNotificationPayloadHash &&
createStateHash(this.stateStore) === createStateHash(this.lastStateNotificationPayloadHash) createStateHash(this.stateStore) === this.lastStateNotificationPayloadHash
) { ) {
return; return;
} else { } else {
@ -47,6 +47,14 @@ export class StatePart<TStatePartName, TStatePayload> {
} }
private lastStateNotificationPayloadHash: any; private lastStateNotificationPayloadHash: any;
/**
* creates a cumulative notification by adding a change notification at the end of the call stack;
*/
public notifyChangeCumulative() {
// TODO: check viability
setTimeout(() => this.state.next(this.stateStore), 0);
}
/** /**
* selects a state or a substate * selects a state or a substate
*/ */
@ -56,7 +64,6 @@ export class StatePart<TStatePartName, TStatePayload> {
if (!selectorFn) { if (!selectorFn) {
selectorFn = (state: TStatePayload) => <T>(<any>state); selectorFn = (state: TStatePayload) => <T>(<any>state);
} }
const mapped = this.state.pipe( const mapped = this.state.pipe(
plugins.smartrx.rxjs.ops.startWith(this.getState()), plugins.smartrx.rxjs.ops.startWith(this.getState()),
plugins.smartrx.rxjs.ops.map((stateArg) => { plugins.smartrx.rxjs.ops.map((stateArg) => {
@ -67,7 +74,6 @@ export class StatePart<TStatePartName, TStatePayload> {
} }
}) })
); );
return mapped; return mapped;
} }