@ngxs/store 3.8.1-dev.master-db96f65 → 3.8.1-dev.master-9ffd0c4
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/esm2020/internals/index.mjs +2 -1
- package/esm2020/internals/src/symbols.mjs +11 -2
- package/esm2020/internals/symbols.mjs +11 -2
- package/esm2020/internals/testing/symbol.mjs +1 -1
- package/esm2020/src/decorators/state.mjs +6 -6
- package/esm2020/src/internal/internals.mjs +11 -11
- package/esm2020/src/internal/state-factory.mjs +4 -4
- package/esm2020/src/module.mjs +1 -1
- package/esm2020/src/selectors/selector-types.util.mjs +1 -1
- package/esm2020/src/standalone-features/feature-providers.mjs +1 -1
- package/esm2020/src/standalone-features/provide-states.mjs +1 -1
- package/esm2020/src/standalone-features/provide-store.mjs +1 -1
- package/esm2020/src/standalone-features/root-providers.mjs +1 -1
- package/esm2020/src/symbols.mjs +1 -4
- package/fesm2015/ngxs-store-internals.mjs +12 -1
- package/fesm2015/ngxs-store-internals.mjs.map +1 -1
- package/fesm2015/ngxs-store.mjs +265 -268
- package/fesm2015/ngxs-store.mjs.map +1 -1
- package/fesm2020/ngxs-store-internals.mjs +12 -1
- package/fesm2020/ngxs-store-internals.mjs.map +1 -1
- package/fesm2020/ngxs-store.mjs +15 -18
- package/fesm2020/ngxs-store.mjs.map +1 -1
- package/internals/index.d.ts +1 -1
- package/internals/src/symbols.d.ts +4 -1
- package/internals/symbols.d.ts +4 -1
- package/internals/testing/symbol.d.ts +2 -2
- package/package.json +1 -1
- package/src/decorators/state.d.ts +2 -2
- package/src/internal/internals.d.ts +5 -5
- package/src/module.d.ts +3 -3
- package/src/selectors/selector-types.util.d.ts +3 -3
- package/src/standalone-features/feature-providers.d.ts +2 -2
- package/src/standalone-features/provide-states.d.ts +2 -2
- package/src/standalone-features/provide-store.d.ts +3 -3
- package/src/standalone-features/root-providers.d.ts +2 -2
- package/src/symbols.d.ts +4 -7
|
@@ -90,6 +90,17 @@ const INITIAL_STATE_TOKEN = new InjectionToken(NG_DEV_MODE$1 ? 'INITIAL_STATE_TO
|
|
|
90
90
|
factory: () => InitialState.pop()
|
|
91
91
|
});
|
|
92
92
|
|
|
93
|
+
// This key is used to store metadata on state classes,
|
|
94
|
+
// such as actions and other related information.
|
|
95
|
+
const ɵMETA_KEY = 'NGXS_META';
|
|
96
|
+
// This key is used to store options on state classes
|
|
97
|
+
// provided through the `@State` decorator.
|
|
98
|
+
const ɵMETA_OPTIONS_KEY = 'NGXS_OPTIONS_META';
|
|
99
|
+
// This key is used to store selector metadata on selector functions,
|
|
100
|
+
// such as decorated with the `@Selector` or provided through the
|
|
101
|
+
// `createSelector` function.
|
|
102
|
+
const ɵSELECTOR_META_KEY = 'NGXS_SELECTOR_META';
|
|
103
|
+
|
|
93
104
|
const NG_DEV_MODE = typeof ngDevMode === 'undefined' || ngDevMode;
|
|
94
105
|
// These tokens are internal and can change at any point.
|
|
95
106
|
const ɵNGXS_STATE_FACTORY = new InjectionToken(NG_DEV_MODE ? 'ɵNGXS_STATE_FACTORY' : '');
|
|
@@ -99,5 +110,5 @@ const ɵNGXS_STATE_CONTEXT_FACTORY = new InjectionToken(NG_DEV_MODE ? 'ɵNGXS_ST
|
|
|
99
110
|
* Generated bundle index. Do not edit.
|
|
100
111
|
*/
|
|
101
112
|
|
|
102
|
-
export { INITIAL_STATE_TOKEN, InitialState, NgxsBootstrapper, memoize, ɵNGXS_STATE_CONTEXT_FACTORY, ɵNGXS_STATE_FACTORY };
|
|
113
|
+
export { INITIAL_STATE_TOKEN, InitialState, NgxsBootstrapper, memoize, ɵMETA_KEY, ɵMETA_OPTIONS_KEY, ɵNGXS_STATE_CONTEXT_FACTORY, ɵNGXS_STATE_FACTORY, ɵSELECTOR_META_KEY };
|
|
103
114
|
//# sourceMappingURL=ngxs-store-internals.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngxs-store-internals.mjs","sources":["../../../packages/store/internals/src/ngxs-bootstrapper.ts","../../../packages/store/internals/src/memoize.ts","../../../packages/store/internals/src/initial-state.ts","../../../packages/store/internals/src/internal-tokens.ts","../../../packages/store/internals/src/ngxs-store-internals.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class NgxsBootstrapper {\n /**\n * Use `ReplaySubject`, thus we can get cached value even if the stream is completed\n */\n private bootstrap$ = new ReplaySubject<boolean>(1);\n\n get appBootstrapped$(): Observable<boolean> {\n return this.bootstrap$.asObservable();\n }\n\n /**\n * This event will be emitted after attaching `ComponentRef` of the root component\n * to the tree of views, that's a signal that application has been fully rendered\n */\n bootstrap(): void {\n this.bootstrap$.next(true);\n this.bootstrap$.complete();\n }\n}\n","function defaultEqualityCheck(a: any, b: any) {\n return a === b;\n}\n\nfunction areArgumentsShallowlyEqual(\n equalityCheck: (a: any, b: any) => boolean,\n prev: IArguments | null,\n next: IArguments | null\n) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n }\n\n // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n const length = prev.length;\n for (let i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Memoize a function on its last inputs only.\n * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js\n *\n * @ignore\n */\nexport function memoize<T extends (...args: any[]) => any>(\n func: T,\n equalityCheck = defaultEqualityCheck\n): T {\n let lastArgs: IArguments | null = null;\n let lastResult: any = null;\n // we reference arguments instead of spreading them for performance reasons\n function memoized() {\n // eslint-disable-next-line prefer-rest-params\n if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {\n // apply arguments instead of spreading for performance.\n // eslint-disable-next-line prefer-rest-params, prefer-spread\n lastResult = (<Function>func).apply(null, arguments);\n }\n // eslint-disable-next-line prefer-rest-params\n lastArgs = arguments;\n return lastResult;\n }\n (<any>memoized).reset = function() {\n // The hidden (for now) ability to reset the memoization\n lastArgs = null;\n lastResult = null;\n };\n return memoized as T;\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { PlainObject } from './symbols';\n\ndeclare const ngDevMode: boolean;\n\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || ngDevMode;\n\nexport class InitialState {\n private static _value: PlainObject = {};\n\n static set(state: PlainObject) {\n this._value = state;\n }\n\n static pop(): PlainObject {\n const state = this._value;\n this._value = {};\n return state;\n }\n}\n\nexport const INITIAL_STATE_TOKEN = new InjectionToken<PlainObject>(\n NG_DEV_MODE ? 'INITIAL_STATE_TOKEN' : '',\n {\n providedIn: 'root',\n factory: () => InitialState.pop()\n }\n);\n","import { InjectionToken } from '@angular/core';\n\ndeclare const ngDevMode: boolean;\n\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || ngDevMode;\n\n// These tokens are internal and can change at any point.\n\nexport const ɵNGXS_STATE_FACTORY = new InjectionToken<any>(\n NG_DEV_MODE ? 'ɵNGXS_STATE_FACTORY' : ''\n);\n\nexport const ɵNGXS_STATE_CONTEXT_FACTORY = new InjectionToken<any>(\n NG_DEV_MODE ? 'ɵNGXS_STATE_CONTEXT_FACTORY' : ''\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["NG_DEV_MODE"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ngxs-store-internals.mjs","sources":["../../../packages/store/internals/src/ngxs-bootstrapper.ts","../../../packages/store/internals/src/memoize.ts","../../../packages/store/internals/src/initial-state.ts","../../../packages/store/internals/src/symbols.ts","../../../packages/store/internals/src/internal-tokens.ts","../../../packages/store/internals/src/ngxs-store-internals.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class NgxsBootstrapper {\n /**\n * Use `ReplaySubject`, thus we can get cached value even if the stream is completed\n */\n private bootstrap$ = new ReplaySubject<boolean>(1);\n\n get appBootstrapped$(): Observable<boolean> {\n return this.bootstrap$.asObservable();\n }\n\n /**\n * This event will be emitted after attaching `ComponentRef` of the root component\n * to the tree of views, that's a signal that application has been fully rendered\n */\n bootstrap(): void {\n this.bootstrap$.next(true);\n this.bootstrap$.complete();\n }\n}\n","function defaultEqualityCheck(a: any, b: any) {\n return a === b;\n}\n\nfunction areArgumentsShallowlyEqual(\n equalityCheck: (a: any, b: any) => boolean,\n prev: IArguments | null,\n next: IArguments | null\n) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n }\n\n // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n const length = prev.length;\n for (let i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Memoize a function on its last inputs only.\n * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js\n *\n * @ignore\n */\nexport function memoize<T extends (...args: any[]) => any>(\n func: T,\n equalityCheck = defaultEqualityCheck\n): T {\n let lastArgs: IArguments | null = null;\n let lastResult: any = null;\n // we reference arguments instead of spreading them for performance reasons\n function memoized() {\n // eslint-disable-next-line prefer-rest-params\n if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {\n // apply arguments instead of spreading for performance.\n // eslint-disable-next-line prefer-rest-params, prefer-spread\n lastResult = (<Function>func).apply(null, arguments);\n }\n // eslint-disable-next-line prefer-rest-params\n lastArgs = arguments;\n return lastResult;\n }\n (<any>memoized).reset = function() {\n // The hidden (for now) ability to reset the memoization\n lastArgs = null;\n lastResult = null;\n };\n return memoized as T;\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { PlainObject } from './symbols';\n\ndeclare const ngDevMode: boolean;\n\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || ngDevMode;\n\nexport class InitialState {\n private static _value: PlainObject = {};\n\n static set(state: PlainObject) {\n this._value = state;\n }\n\n static pop(): PlainObject {\n const state = this._value;\n this._value = {};\n return state;\n }\n}\n\nexport const INITIAL_STATE_TOKEN = new InjectionToken<PlainObject>(\n NG_DEV_MODE ? 'INITIAL_STATE_TOKEN' : '',\n {\n providedIn: 'root',\n factory: () => InitialState.pop()\n }\n);\n","export interface PlainObject {\n [key: string]: any;\n}\n\nexport interface PlainObjectOf<T> {\n [key: string]: T;\n}\n\nexport type ɵStateClass<T = any> = new (...args: any[]) => T;\n\n// This key is used to store metadata on state classes,\n// such as actions and other related information.\nexport const ɵMETA_KEY = 'NGXS_META';\n// This key is used to store options on state classes\n// provided through the `@State` decorator.\nexport const ɵMETA_OPTIONS_KEY = 'NGXS_OPTIONS_META';\n// This key is used to store selector metadata on selector functions,\n// such as decorated with the `@Selector` or provided through the\n// `createSelector` function.\nexport const ɵSELECTOR_META_KEY = 'NGXS_SELECTOR_META';\n","import { InjectionToken } from '@angular/core';\n\ndeclare const ngDevMode: boolean;\n\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || ngDevMode;\n\n// These tokens are internal and can change at any point.\n\nexport const ɵNGXS_STATE_FACTORY = new InjectionToken<any>(\n NG_DEV_MODE ? 'ɵNGXS_STATE_FACTORY' : ''\n);\n\nexport const ɵNGXS_STATE_CONTEXT_FACTORY = new InjectionToken<any>(\n NG_DEV_MODE ? 'ɵNGXS_STATE_CONTEXT_FACTORY' : ''\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["NG_DEV_MODE"],"mappings":"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"}
|
package/fesm2020/ngxs-store.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { Injectable, NgZone, PLATFORM_ID, Inject, InjectionToken, inject, INJECT
|
|
|
3
3
|
import { Observable, Subject, BehaviorSubject, of, forkJoin, throwError, EMPTY, from, isObservable, ReplaySubject } from 'rxjs';
|
|
4
4
|
import { share, shareReplay, filter, take, exhaustMap, map, mergeMap, defaultIfEmpty, catchError, takeUntil, distinctUntilChanged, tap, startWith, pairwise } from 'rxjs/operators';
|
|
5
5
|
import * as i5 from '@ngxs/store/internals';
|
|
6
|
-
import { memoize, INITIAL_STATE_TOKEN, NgxsBootstrapper, ɵNGXS_STATE_CONTEXT_FACTORY, ɵNGXS_STATE_FACTORY } from '@ngxs/store/internals';
|
|
6
|
+
import { ɵMETA_KEY, ɵSELECTOR_META_KEY, memoize, INITIAL_STATE_TOKEN, NgxsBootstrapper, ɵNGXS_STATE_CONTEXT_FACTORY, ɵNGXS_STATE_FACTORY, ɵMETA_OPTIONS_KEY } from '@ngxs/store/internals';
|
|
7
7
|
import { isPlatformServer } from '@angular/common';
|
|
8
8
|
import { isStateOperator } from '@ngxs/store/operators';
|
|
9
9
|
|
|
@@ -530,9 +530,6 @@ const NGXS_PLUGINS = new InjectionToken(NG_DEV_MODE$2 ? 'NGXS_PLUGINS' : '');
|
|
|
530
530
|
// The injection token is used to resolve to options provided at the root
|
|
531
531
|
// level through either `NgxsModule.forRoot` or `provideStore`.
|
|
532
532
|
const NGXS_OPTIONS = new InjectionToken(NG_DEV_MODE$2 ? 'NGXS_OPTIONS' : '');
|
|
533
|
-
const META_KEY = 'NGXS_META';
|
|
534
|
-
const META_OPTIONS_KEY = 'NGXS_OPTIONS_META';
|
|
535
|
-
const SELECTOR_META_KEY = 'NGXS_SELECTOR_META';
|
|
536
533
|
/**
|
|
537
534
|
* The NGXS config settings.
|
|
538
535
|
*/
|
|
@@ -781,7 +778,7 @@ function ensureStateAndActionsAreImmutable(root) {
|
|
|
781
778
|
* @ignore
|
|
782
779
|
*/
|
|
783
780
|
function ensureStoreMetadata$1(target) {
|
|
784
|
-
if (!target.hasOwnProperty(META_KEY)) {
|
|
781
|
+
if (!target.hasOwnProperty(ɵMETA_KEY)) {
|
|
785
782
|
const defaultMetadata = {
|
|
786
783
|
name: null,
|
|
787
784
|
actions: {},
|
|
@@ -792,7 +789,7 @@ function ensureStoreMetadata$1(target) {
|
|
|
792
789
|
},
|
|
793
790
|
children: []
|
|
794
791
|
};
|
|
795
|
-
Object.defineProperty(target, META_KEY, { value: defaultMetadata });
|
|
792
|
+
Object.defineProperty(target, ɵMETA_KEY, { value: defaultMetadata });
|
|
796
793
|
}
|
|
797
794
|
return getStoreMetadata$1(target);
|
|
798
795
|
}
|
|
@@ -802,7 +799,7 @@ function ensureStoreMetadata$1(target) {
|
|
|
802
799
|
* @ignore
|
|
803
800
|
*/
|
|
804
801
|
function getStoreMetadata$1(target) {
|
|
805
|
-
return target[META_KEY];
|
|
802
|
+
return target[ɵMETA_KEY];
|
|
806
803
|
}
|
|
807
804
|
/**
|
|
808
805
|
* Ensures metadata is attached to the selector and returns it.
|
|
@@ -810,7 +807,7 @@ function getStoreMetadata$1(target) {
|
|
|
810
807
|
* @ignore
|
|
811
808
|
*/
|
|
812
809
|
function ensureSelectorMetadata$1(target) {
|
|
813
|
-
if (!target.hasOwnProperty(SELECTOR_META_KEY)) {
|
|
810
|
+
if (!target.hasOwnProperty(ɵSELECTOR_META_KEY)) {
|
|
814
811
|
const defaultMetadata = {
|
|
815
812
|
makeRootSelector: null,
|
|
816
813
|
originalFn: null,
|
|
@@ -818,7 +815,7 @@ function ensureSelectorMetadata$1(target) {
|
|
|
818
815
|
selectorName: null,
|
|
819
816
|
getSelectorOptions: () => ({})
|
|
820
817
|
};
|
|
821
|
-
Object.defineProperty(target, SELECTOR_META_KEY, { value: defaultMetadata });
|
|
818
|
+
Object.defineProperty(target, ɵSELECTOR_META_KEY, { value: defaultMetadata });
|
|
822
819
|
}
|
|
823
820
|
return getSelectorMetadata$1(target);
|
|
824
821
|
}
|
|
@@ -828,7 +825,7 @@ function ensureSelectorMetadata$1(target) {
|
|
|
828
825
|
* @ignore
|
|
829
826
|
*/
|
|
830
827
|
function getSelectorMetadata$1(target) {
|
|
831
|
-
return target[SELECTOR_META_KEY];
|
|
828
|
+
return target[ɵSELECTOR_META_KEY];
|
|
832
829
|
}
|
|
833
830
|
/**
|
|
834
831
|
* Get a deeply nested value. Example:
|
|
@@ -904,10 +901,10 @@ function buildGraph(stateClasses) {
|
|
|
904
901
|
if ((typeof ngDevMode === 'undefined' || ngDevMode) && !meta) {
|
|
905
902
|
throw new Error(`Child state not found: ${stateClass}. \r\nYou may have forgotten to add states to module`);
|
|
906
903
|
}
|
|
907
|
-
return meta[META_KEY].name;
|
|
904
|
+
return meta[ɵMETA_KEY].name;
|
|
908
905
|
};
|
|
909
906
|
return stateClasses.reduce((result, stateClass) => {
|
|
910
|
-
const { name, children } = stateClass[META_KEY];
|
|
907
|
+
const { name, children } = stateClass[ɵMETA_KEY];
|
|
911
908
|
result[name] = (children || []).map(findName);
|
|
912
909
|
return result;
|
|
913
910
|
}, {});
|
|
@@ -924,7 +921,7 @@ function buildGraph(stateClasses) {
|
|
|
924
921
|
*/
|
|
925
922
|
function nameToState(states) {
|
|
926
923
|
return states.reduce((result, stateClass) => {
|
|
927
|
-
const meta = stateClass[META_KEY];
|
|
924
|
+
const meta = stateClass[ɵMETA_KEY];
|
|
928
925
|
result[meta.name] = stateClass;
|
|
929
926
|
return result;
|
|
930
927
|
}, {});
|
|
@@ -1489,7 +1486,7 @@ class StateFactory {
|
|
|
1489
1486
|
for (const name of sortedStates) {
|
|
1490
1487
|
const stateClass = nameGraph[name];
|
|
1491
1488
|
const path = paths[name];
|
|
1492
|
-
const meta = stateClass[META_KEY];
|
|
1489
|
+
const meta = stateClass[ɵMETA_KEY];
|
|
1493
1490
|
this.addRuntimeInfoToMeta(meta, path);
|
|
1494
1491
|
// Note: previously we called `ensureStateClassIsInjectable` within the
|
|
1495
1492
|
// `State` decorator. This check is moved here because the `ɵprov` property
|
|
@@ -2060,11 +2057,11 @@ function State(options) {
|
|
|
2060
2057
|
const inheritedStateClass = Object.getPrototypeOf(stateClass);
|
|
2061
2058
|
const optionsWithInheritance = getStateOptions(inheritedStateClass, options);
|
|
2062
2059
|
mutateMetaData({ meta, inheritedStateClass, optionsWithInheritance });
|
|
2063
|
-
stateClass[META_OPTIONS_KEY] = optionsWithInheritance;
|
|
2060
|
+
stateClass[ɵMETA_OPTIONS_KEY] = optionsWithInheritance;
|
|
2064
2061
|
};
|
|
2065
2062
|
}
|
|
2066
2063
|
function getStateOptions(inheritedStateClass, options) {
|
|
2067
|
-
const inheritanceOptions = inheritedStateClass[META_OPTIONS_KEY] || {};
|
|
2064
|
+
const inheritanceOptions = inheritedStateClass[ɵMETA_OPTIONS_KEY] || {};
|
|
2068
2065
|
return { ...inheritanceOptions, ...options };
|
|
2069
2066
|
}
|
|
2070
2067
|
function mutateMetaData(params) {
|
|
@@ -2074,8 +2071,8 @@ function mutateMetaData(params) {
|
|
|
2074
2071
|
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
2075
2072
|
ensureStateNameIsValid(stateName);
|
|
2076
2073
|
}
|
|
2077
|
-
if (inheritedStateClass.hasOwnProperty(META_KEY)) {
|
|
2078
|
-
const inheritedMeta = inheritedStateClass[META_KEY] || {};
|
|
2074
|
+
if (inheritedStateClass.hasOwnProperty(ɵMETA_KEY)) {
|
|
2075
|
+
const inheritedMeta = inheritedStateClass[ɵMETA_KEY] || {};
|
|
2079
2076
|
meta.actions = { ...meta.actions, ...inheritedMeta.actions };
|
|
2080
2077
|
}
|
|
2081
2078
|
meta.children = children;
|