@ngxs/store 3.7.6-dev.master-f234866 → 3.7.6-dev.master-6835a28
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/bundles/ngxs-store.umd.js +57 -58
- package/bundles/ngxs-store.umd.js.map +1 -1
- package/esm2015/src/decorators/selector/selector.js +2 -5
- package/esm2015/src/decorators/selector-options.js +2 -2
- package/esm2015/src/public_api.js +2 -3
- package/esm2015/src/selectors/create-model-selector.js +2 -2
- package/esm2015/src/selectors/create-pick-selector.js +2 -2
- package/esm2015/src/selectors/create-property-selectors.js +2 -2
- package/esm2015/src/selectors/create-selector.js +9 -0
- package/esm2015/src/selectors/index.js +2 -1
- package/esm2015/src/selectors/selector-metadata.js +30 -0
- package/esm2015/src/selectors/selector-models.js +2 -0
- package/esm2015/src/selectors/selector-utils.js +74 -0
- package/esm2015/src/store.js +2 -2
- package/fesm2015/ngxs-store.js +55 -56
- package/fesm2015/ngxs-store.js.map +1 -1
- package/package.json +1 -1
- package/src/decorators/selector/selector.d.ts +7 -2
- package/src/public_api.d.ts +1 -2
- package/src/selectors/create-selector.d.ts +19 -0
- package/src/selectors/index.d.ts +1 -0
- package/src/selectors/selector-metadata.d.ts +7 -0
- package/src/selectors/selector-models.d.ts +10 -0
- package/src/selectors/selector-utils.d.ts +9 -0
- package/esm2015/src/utils/selector-utils.js +0 -108
- package/src/utils/selector-utils.d.ts +0 -23
package/package.json
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import { SelectorDef } from '../../selectors';
|
|
1
2
|
import { SelectorType } from './symbols';
|
|
2
3
|
/**
|
|
3
|
-
* Decorator for
|
|
4
|
+
* Decorator for creating a state selector for the current state.
|
|
4
5
|
*/
|
|
5
|
-
export declare function Selector
|
|
6
|
+
export declare function Selector(): SelectorType<unknown>;
|
|
7
|
+
/**
|
|
8
|
+
* Decorator for creating a state selector from the provided selectors (and optionally the container State, depending on the applicable Selector Options).
|
|
9
|
+
*/
|
|
10
|
+
export declare function Selector<T extends SelectorDef<any>>(selectors: T[]): SelectorType<T>;
|
package/src/public_api.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ export { ofAction, ofActionDispatched, ofActionSuccessful, ofActionCanceled, ofA
|
|
|
10
10
|
export { StateContext, StateOperator, NgxsOnInit, NgxsAfterBootstrap, NgxsOnChanges, NgxsModuleOptions, NgxsSimpleChange, } from './symbols';
|
|
11
11
|
export { Selector } from './decorators/selector/selector';
|
|
12
12
|
export { getActionTypeFromInstance, actionMatcher } from './utils/utils';
|
|
13
|
-
export { createSelector } from './utils/selector-utils';
|
|
14
13
|
export { NgxsExecutionStrategy } from './execution/symbols';
|
|
15
14
|
export { ActionType, ActionOptions } from './actions/symbols';
|
|
16
15
|
export { NoopNgxsExecutionStrategy } from './execution/noop-ngxs-execution-strategy';
|
|
@@ -18,4 +17,4 @@ export { StateToken } from './state-token/state-token';
|
|
|
18
17
|
export { NgxsDevelopmentOptions } from './dev-features/symbols';
|
|
19
18
|
export { NgxsDevelopmentModule } from './dev-features/ngxs-development.module';
|
|
20
19
|
export { NgxsUnhandledActionsLogger } from './dev-features/ngxs-unhandled-actions-logger';
|
|
21
|
-
export { createModelSelector, createPickSelector, createPropertySelectors, PropertySelectors, TypedSelector, } from './selectors';
|
|
20
|
+
export { createModelSelector, createPickSelector, createPropertySelectors, createSelector, PropertySelectors, TypedSelector, } from './selectors';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CreationMetadata } from './selector-models';
|
|
2
|
+
import { SelectorDef, SelectorReturnType } from './selector-types.util';
|
|
3
|
+
declare type SelectorArg = SelectorDef<any>;
|
|
4
|
+
/**
|
|
5
|
+
* Function for creating a selector
|
|
6
|
+
* @param selectors The selectors to use to create the arguments of this function
|
|
7
|
+
* @param originalFn The original function being made into a selector
|
|
8
|
+
* @param creationMetadata
|
|
9
|
+
*/
|
|
10
|
+
export declare function createSelector<S1 extends SelectorArg, TProjector extends (s1: SelectorReturnType<S1>) => any>(selectors: [S1], projector: TProjector, creationMetadata?: Partial<CreationMetadata>): TProjector;
|
|
11
|
+
export declare function createSelector<S1 extends SelectorArg, S2 extends SelectorArg, TProjector extends (s1: SelectorReturnType<S1>, s2: SelectorReturnType<S2>) => any>(selectors: [S1, S2], projector: TProjector, creationMetadata?: Partial<CreationMetadata>): TProjector;
|
|
12
|
+
export declare function createSelector<S1 extends SelectorArg, S2 extends SelectorArg, S3 extends SelectorArg, TProjector extends (s1: SelectorReturnType<S1>, s2: SelectorReturnType<S2>, s3: SelectorReturnType<S3>) => any>(selectors: [S1, S2, S3], projector: TProjector, creationMetadata?: Partial<CreationMetadata>): TProjector;
|
|
13
|
+
export declare function createSelector<S1 extends SelectorArg, S2 extends SelectorArg, S3 extends SelectorArg, S4 extends SelectorArg, TProjector extends (s1: SelectorReturnType<S1>, s2: SelectorReturnType<S2>, s3: SelectorReturnType<S3>, s4: SelectorReturnType<S4>) => any>(selectors: [S1, S2, S3, S4], projector: TProjector, creationMetadata?: Partial<CreationMetadata>): TProjector;
|
|
14
|
+
export declare function createSelector<S1 extends SelectorArg, S2 extends SelectorArg, S3 extends SelectorArg, S4 extends SelectorArg, S5 extends SelectorArg, TProjector extends (s1: SelectorReturnType<S1>, s2: SelectorReturnType<S2>, s3: SelectorReturnType<S3>, s4: SelectorReturnType<S4>, s5: SelectorReturnType<S5>) => any>(selectors: [S1, S2, S3, S4, S5], projector: TProjector, creationMetadata?: Partial<CreationMetadata>): TProjector;
|
|
15
|
+
export declare function createSelector<S1 extends SelectorArg, S2 extends SelectorArg, S3 extends SelectorArg, S4 extends SelectorArg, S5 extends SelectorArg, S6 extends SelectorArg, TProjector extends (s1: SelectorReturnType<S1>, s2: SelectorReturnType<S2>, s3: SelectorReturnType<S3>, s4: SelectorReturnType<S4>, s5: SelectorReturnType<S5>, s6: SelectorReturnType<S6>) => any>(selectors: [S1, S2, S3, S4, S5, S6], projector: TProjector, creationMetadata?: Partial<CreationMetadata>): TProjector;
|
|
16
|
+
export declare function createSelector<S1 extends SelectorArg, S2 extends SelectorArg, S3 extends SelectorArg, S4 extends SelectorArg, S5 extends SelectorArg, S6 extends SelectorArg, S7 extends SelectorArg, TProjector extends (s1: SelectorReturnType<S1>, s2: SelectorReturnType<S2>, s3: SelectorReturnType<S3>, s4: SelectorReturnType<S4>, s5: SelectorReturnType<S5>, s6: SelectorReturnType<S6>, s7: SelectorReturnType<S7>) => any>(selectors: [S1, S2, S3, S4, S5, S6, S7], projector: TProjector, creationMetadata?: Partial<CreationMetadata>): TProjector;
|
|
17
|
+
export declare function createSelector<S1 extends SelectorArg, S2 extends SelectorArg, S3 extends SelectorArg, S4 extends SelectorArg, S5 extends SelectorArg, S6 extends SelectorArg, S7 extends SelectorArg, S8 extends SelectorArg, TProjector extends (s1: SelectorReturnType<S1>, s2: SelectorReturnType<S2>, s3: SelectorReturnType<S3>, s4: SelectorReturnType<S4>, s5: SelectorReturnType<S5>, s6: SelectorReturnType<S6>, s7: SelectorReturnType<S7>, s8: SelectorReturnType<S8>) => any>(selectors: [S1, S2, S3, S4, S5, S6, S7, S8], projector: TProjector, creationMetadata?: Partial<CreationMetadata>): TProjector;
|
|
18
|
+
export declare function createSelector<T extends (...args: any[]) => any>(selectors: SelectorArg[] | undefined, projector: T, creationMetadata?: Partial<CreationMetadata>): T;
|
|
19
|
+
export {};
|
package/src/selectors/index.d.ts
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SelectorMetaDataModel, SharedSelectorOptions } from '../internal/internals';
|
|
2
|
+
import { CreationMetadata } from './selector-models';
|
|
3
|
+
export declare const selectorOptionsMetaAccessor: {
|
|
4
|
+
getOptions: (target: any) => SharedSelectorOptions;
|
|
5
|
+
defineOptions: (target: any, options: SharedSelectorOptions) => void;
|
|
6
|
+
};
|
|
7
|
+
export declare function setupSelectorMetadata<T extends (...args: any[]) => any>(originalFn: T, creationMetadata: Partial<CreationMetadata> | undefined): SelectorMetaDataModel;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SharedSelectorOptions, SelectFromRootState } from '../internal/internals';
|
|
2
|
+
export interface CreationMetadata {
|
|
3
|
+
containerClass: any;
|
|
4
|
+
selectorName: string;
|
|
5
|
+
getSelectorOptions?: () => SharedSelectorOptions;
|
|
6
|
+
}
|
|
7
|
+
export interface RuntimeSelectorInfo {
|
|
8
|
+
selectorOptions: SharedSelectorOptions;
|
|
9
|
+
argumentSelectorFunctions: SelectFromRootState[];
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SelectorMetaDataModel, SelectorFactory } from '../internal/internals';
|
|
2
|
+
import { CreationMetadata } from './selector-models';
|
|
3
|
+
export declare function createRootSelectorFactory<T extends (...args: any[]) => any>(selectorMetaData: SelectorMetaDataModel, selectors: any[] | undefined, memoizedSelectorFn: T): SelectorFactory;
|
|
4
|
+
export declare function createMemoizedSelectorFn<T extends (...args: any[]) => any>(originalFn: T, creationMetadata: Partial<CreationMetadata> | undefined): T;
|
|
5
|
+
/**
|
|
6
|
+
* This function gets the factory function to create the selector to get the selected slice from the app state
|
|
7
|
+
* @ignore
|
|
8
|
+
*/
|
|
9
|
+
export declare function getRootSelectorFactory(selector: any): SelectorFactory;
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { memoize } from '@ngxs/store/internals';
|
|
2
|
-
import { ensureSelectorMetadata, getSelectorMetadata, getStoreMetadata } from '../internal/internals';
|
|
3
|
-
const SELECTOR_OPTIONS_META_KEY = 'NGXS_SELECTOR_OPTIONS_META';
|
|
4
|
-
export const selectorOptionsMetaAccessor = {
|
|
5
|
-
getOptions: (target) => {
|
|
6
|
-
return (target && target[SELECTOR_OPTIONS_META_KEY]) || {};
|
|
7
|
-
},
|
|
8
|
-
defineOptions: (target, options) => {
|
|
9
|
-
if (!target)
|
|
10
|
-
return;
|
|
11
|
-
target[SELECTOR_OPTIONS_META_KEY] = options;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Function for creating a selector
|
|
16
|
-
* @param selectors The selectors to use to create the arguments of this function
|
|
17
|
-
* @param originalFn The original function being made into a selector
|
|
18
|
-
* @param creationMetadata
|
|
19
|
-
*/
|
|
20
|
-
export function createSelector(selectors, originalFn, creationMetadata) {
|
|
21
|
-
const containerClass = creationMetadata && creationMetadata.containerClass;
|
|
22
|
-
const wrappedFn = function wrappedSelectorFn(...args) {
|
|
23
|
-
const returnValue = originalFn.apply(containerClass, args);
|
|
24
|
-
if (returnValue instanceof Function) {
|
|
25
|
-
const innerMemoizedFn = memoize.apply(null, [returnValue]);
|
|
26
|
-
return innerMemoizedFn;
|
|
27
|
-
}
|
|
28
|
-
return returnValue;
|
|
29
|
-
};
|
|
30
|
-
const memoizedFn = memoize(wrappedFn);
|
|
31
|
-
Object.setPrototypeOf(memoizedFn, originalFn);
|
|
32
|
-
const selectorMetaData = setupSelectorMetadata(originalFn, creationMetadata);
|
|
33
|
-
const makeRootSelector = (context) => {
|
|
34
|
-
const { argumentSelectorFunctions, selectorOptions } = getRuntimeSelectorInfo(context, selectorMetaData, selectors);
|
|
35
|
-
return function selectFromRoot(rootState) {
|
|
36
|
-
// Determine arguments from the app state using the selectors
|
|
37
|
-
const results = argumentSelectorFunctions.map(argFn => argFn(rootState));
|
|
38
|
-
// if the lambda tries to access a something on the
|
|
39
|
-
// state that doesn't exist, it will throw a TypeError.
|
|
40
|
-
// since this is quite usual behaviour, we simply return undefined if so.
|
|
41
|
-
try {
|
|
42
|
-
return memoizedFn(...results);
|
|
43
|
-
}
|
|
44
|
-
catch (ex) {
|
|
45
|
-
if (ex instanceof TypeError && selectorOptions.suppressErrors) {
|
|
46
|
-
return undefined;
|
|
47
|
-
}
|
|
48
|
-
throw ex;
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
selectorMetaData.makeRootSelector = makeRootSelector;
|
|
53
|
-
return memoizedFn;
|
|
54
|
-
}
|
|
55
|
-
function setupSelectorMetadata(originalFn, creationMetadata) {
|
|
56
|
-
const selectorMetaData = ensureSelectorMetadata(originalFn);
|
|
57
|
-
selectorMetaData.originalFn = originalFn;
|
|
58
|
-
let getExplicitSelectorOptions = () => ({});
|
|
59
|
-
if (creationMetadata) {
|
|
60
|
-
selectorMetaData.containerClass = creationMetadata.containerClass;
|
|
61
|
-
selectorMetaData.selectorName = creationMetadata.selectorName;
|
|
62
|
-
getExplicitSelectorOptions =
|
|
63
|
-
creationMetadata.getSelectorOptions || getExplicitSelectorOptions;
|
|
64
|
-
}
|
|
65
|
-
const selectorMetaDataClone = Object.assign({}, selectorMetaData);
|
|
66
|
-
selectorMetaData.getSelectorOptions = () => getLocalSelectorOptions(selectorMetaDataClone, getExplicitSelectorOptions());
|
|
67
|
-
return selectorMetaData;
|
|
68
|
-
}
|
|
69
|
-
function getRuntimeSelectorInfo(context, selectorMetaData, selectors = []) {
|
|
70
|
-
const localSelectorOptions = selectorMetaData.getSelectorOptions();
|
|
71
|
-
const selectorOptions = context.getSelectorOptions(localSelectorOptions);
|
|
72
|
-
const selectorsToApply = getSelectorsToApply(selectors, selectorOptions, selectorMetaData.containerClass);
|
|
73
|
-
const argumentSelectorFunctions = selectorsToApply.map(selector => {
|
|
74
|
-
const factory = getRootSelectorFactory(selector);
|
|
75
|
-
return factory(context);
|
|
76
|
-
});
|
|
77
|
-
return {
|
|
78
|
-
selectorOptions,
|
|
79
|
-
argumentSelectorFunctions
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
function getLocalSelectorOptions(selectorMetaData, explicitOptions) {
|
|
83
|
-
return Object.assign(Object.assign(Object.assign(Object.assign({}, (selectorOptionsMetaAccessor.getOptions(selectorMetaData.containerClass) || {})), (selectorOptionsMetaAccessor.getOptions(selectorMetaData.originalFn) || {})), (selectorMetaData.getSelectorOptions() || {})), explicitOptions);
|
|
84
|
-
}
|
|
85
|
-
function getSelectorsToApply(selectors = [], selectorOptions, containerClass) {
|
|
86
|
-
const selectorsToApply = [];
|
|
87
|
-
const canInjectContainerState = selectors.length === 0 || selectorOptions.injectContainerState;
|
|
88
|
-
if (containerClass && canInjectContainerState) {
|
|
89
|
-
// If we are on a state class, add it as the first selector parameter
|
|
90
|
-
const metadata = getStoreMetadata(containerClass);
|
|
91
|
-
if (metadata) {
|
|
92
|
-
selectorsToApply.push(containerClass);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
if (selectors) {
|
|
96
|
-
selectorsToApply.push(...selectors);
|
|
97
|
-
}
|
|
98
|
-
return selectorsToApply;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* This function gets the factory function to create the selector to get the selected slice from the app state
|
|
102
|
-
* @ignore
|
|
103
|
-
*/
|
|
104
|
-
export function getRootSelectorFactory(selector) {
|
|
105
|
-
const metadata = getSelectorMetadata(selector) || getStoreMetadata(selector);
|
|
106
|
-
return (metadata && metadata.makeRootSelector) || (() => selector);
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvdXRpbHMvc2VsZWN0b3ItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQU1qQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE1BQU0seUJBQXlCLEdBQUcsNEJBQTRCLENBQUM7QUFFL0QsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUc7SUFDekMsVUFBVSxFQUFFLENBQUMsTUFBVyxFQUF5QixFQUFFO1FBQ2pELE9BQU8sQ0FBQyxNQUFNLElBQVUsTUFBTyxDQUFDLHlCQUF5QixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUNELGFBQWEsRUFBRSxDQUFDLE1BQVcsRUFBRSxPQUE4QixFQUFFLEVBQUU7UUFDN0QsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQ2QsTUFBTyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsT0FBTyxDQUFDO0lBQ3JELENBQUM7Q0FDRixDQUFDO0FBYUY7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUM1QixTQUE0QixFQUM1QixVQUFhLEVBQ2IsZ0JBQW1DO0lBRW5DLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztJQUMzRSxNQUFNLFNBQVMsR0FBRyxTQUFTLGlCQUFpQixDQUFDLEdBQUcsSUFBVztRQUN6RCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRCxJQUFJLFdBQVcsWUFBWSxRQUFRLEVBQUU7WUFDbkMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJ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Q0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWVtb2l6ZSB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7XG4gIGVuc3VyZVNlbGVjdG9yTWV0YWRhdGEsXG4gIGdldFNlbGVjdG9yTWV0YWRhdGEsXG4gIGdldFN0b3JlTWV0YWRhdGEsXG4gIFNlbGVjdG9yTWV0YURhdGFNb2RlbCxcbiAgU2hhcmVkU2VsZWN0b3JPcHRpb25zLFxuICBSdW50aW1lU2VsZWN0b3JDb250ZXh0LFxuICBTZWxlY3RvckZhY3RvcnksXG4gIFNlbGVjdEZyb21Sb290U3RhdGVcbn0gZnJvbSAnLi4vaW50ZXJuYWwvaW50ZXJuYWxzJztcblxuY29uc3QgU0VMRUNUT1JfT1BUSU9OU19NRVRBX0tFWSA9ICdOR1hTX1NFTEVDVE9SX09QVElPTlNfTUVUQSc7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3Rvck9wdGlvbnNNZXRhQWNjZXNzb3IgPSB7XG4gIGdldE9wdGlvbnM6ICh0YXJnZXQ6IGFueSk6IFNoYXJlZFNlbGVjdG9yT3B0aW9ucyA9PiB7XG4gICAgcmV0dXJuICh0YXJnZXQgJiYgKDxhbnk+dGFyZ2V0KVtTRUxFQ1RPUl9PUFRJT05TX01FVEFfS0VZXSkgfHwge307XG4gIH0sXG4gIGRlZmluZU9wdGlvbnM6ICh0YXJnZXQ6IGFueSwgb3B0aW9uczogU2hhcmVkU2VsZWN0b3JPcHRpb25zKSA9PiB7XG4gICAgaWYgKCF0YXJnZXQpIHJldHVybjtcbiAgICAoPGFueT50YXJnZXQpW1NFTEVDVE9SX09QVElPTlNfTUVUQV9LRVldID0gb3B0aW9ucztcbiAgfVxufTtcblxuaW50ZXJmYWNlIENyZWF0aW9uTWV0YWRhdGEge1xuICBjb250YWluZXJDbGFzczogYW55O1xuICBzZWxlY3Rvck5hbWU6IHN0cmluZztcbiAgZ2V0U2VsZWN0b3JPcHRpb25zPzogKCkgPT4gU2hhcmVkU2VsZWN0b3JPcHRpb25zO1xufVxuXG5pbnRlcmZhY2UgUnVudGltZVNlbGVjdG9ySW5mbyB7XG4gIHNlbGVjdG9yT3B0aW9uczogU2hhcmVkU2VsZWN0b3JPcHRpb25zO1xuICBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zOiBTZWxlY3RGcm9tUm9vdFN0YXRlW107XG59XG5cbi8qKlxuICogRnVuY3Rpb24gZm9yIGNyZWF0aW5nIGEgc2VsZWN0b3JcbiAqIEBwYXJhbSBzZWxlY3RvcnMgVGhlIHNlbGVjdG9ycyB0byB1c2UgdG8gY3JlYXRlIHRoZSBhcmd1bWVudHMgb2YgdGhpcyBmdW5jdGlvblxuICogQHBhcmFtIG9yaWdpbmFsRm4gVGhlIG9yaWdpbmFsIGZ1bmN0aW9uIGJlaW5nIG1hZGUgaW50byBhIHNlbGVjdG9yXG4gKiBAcGFyYW0gY3JlYXRpb25NZXRhZGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0b3I8VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55PihcbiAgc2VsZWN0b3JzOiBhbnlbXSB8IHVuZGVmaW5lZCxcbiAgb3JpZ2luYWxGbjogVCxcbiAgY3JlYXRpb25NZXRhZGF0YT86IENyZWF0aW9uTWV0YWRhdGFcbikge1xuICBjb25zdCBjb250YWluZXJDbGFzcyA9IGNyZWF0aW9uTWV0YWRhdGEgJiYgY3JlYXRpb25NZXRhZGF0YS5jb250YWluZXJDbGFzcztcbiAgY29uc3Qgd3JhcHBlZEZuID0gZnVuY3Rpb24gd3JhcHBlZFNlbGVjdG9yRm4oLi4uYXJnczogYW55W10pIHtcbiAgICBjb25zdCByZXR1cm5WYWx1ZSA9IG9yaWdpbmFsRm4uYXBwbHkoY29udGFpbmVyQ2xhc3MsIGFyZ3MpO1xuICAgIGlmIChyZXR1cm5WYWx1ZSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICBjb25zdCBpbm5lck1lbW9pemVkRm4gPSBtZW1vaXplLmFwcGx5KG51bGwsIFtyZXR1cm5WYWx1ZV0pO1xuICAgICAgcmV0dXJuIGlubmVyTWVtb2l6ZWRGbjtcbiAgICB9XG4gICAgcmV0dXJuIHJldHVyblZhbHVlO1xuICB9IGFzIFQ7XG4gIGNvbnN0IG1lbW9pemVkRm4gPSBtZW1vaXplKHdyYXBwZWRGbik7XG4gIE9iamVjdC5zZXRQcm90b3R5cGVPZihtZW1vaXplZEZuLCBvcmlnaW5hbEZuKTtcblxuICBjb25zdCBzZWxlY3Rvck1ldGFEYXRhID0gc2V0dXBTZWxlY3Rvck1ldGFkYXRhPFQ+KG9yaWdpbmFsRm4sIGNyZWF0aW9uTWV0YWRhdGEpO1xuXG4gIGNvbnN0IG1ha2VSb290U2VsZWN0b3I6IFNlbGVjdG9yRmFjdG9yeSA9IChjb250ZXh0OiBSdW50aW1lU2VsZWN0b3JDb250ZXh0KSA9PiB7XG4gICAgY29uc3QgeyBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zLCBzZWxlY3Rvck9wdGlvbnMgfSA9IGdldFJ1bnRpbWVTZWxlY3RvckluZm8oXG4gICAgICBjb250ZXh0LFxuICAgICAgc2VsZWN0b3JNZXRhRGF0YSxcbiAgICAgIHNlbGVjdG9yc1xuICAgICk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gc2VsZWN0RnJvbVJvb3Qocm9vdFN0YXRlOiBhbnkpIHtcbiAgICAgIC8vIERldGVybWluZSBhcmd1bWVudHMgZnJvbSB0aGUgYXBwIHN0YXRlIHVzaW5nIHRoZSBzZWxlY3RvcnNcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zLm1hcChhcmdGbiA9PiBhcmdGbihyb290U3RhdGUpKTtcblxuICAgICAgLy8gaWYgdGhlIGxhbWJkYSB0cmllcyB0byBhY2Nlc3MgYSBzb21ldGhpbmcgb24gdGhlXG4gICAgICAvLyBzdGF0ZSB0aGF0IGRvZXNuJ3QgZXhpc3QsIGl0IHdpbGwgdGhyb3cgYSBUeXBlRXJyb3IuXG4gICAgICAvLyBzaW5jZSB0aGlzIGlzIHF1aXRlIHVzdWFsIGJlaGF2aW91ciwgd2Ugc2ltcGx5IHJldHVybiB1bmRlZmluZWQgaWYgc28uXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbWVtb2l6ZWRGbiguLi5yZXN1bHRzKTtcbiAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgIGlmIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBzZWxlY3Rvck9wdGlvbnMuc3VwcHJlc3NFcnJvcnMpIHtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXg7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcblxuICBzZWxlY3Rvck1ldGFEYXRhLm1ha2VSb290U2VsZWN0b3IgPSBtYWtlUm9vdFNlbGVjdG9yO1xuXG4gIHJldHVybiBtZW1vaXplZEZuO1xufVxuXG5mdW5jdGlvbiBzZXR1cFNlbGVjdG9yTWV0YWRhdGE8VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55PihcbiAgb3JpZ2luYWxGbjogVCxcbiAgY3JlYXRpb25NZXRhZGF0YTogQ3JlYXRpb25NZXRhZGF0YSB8IHVuZGVmaW5lZFxuKSB7XG4gIGNvbnN0IHNlbGVjdG9yTWV0YURhdGEgPSBlbnN1cmVTZWxlY3Rvck1ldGFkYXRhKG9yaWdpbmFsRm4pO1xuICBzZWxlY3Rvck1ldGFEYXRhLm9yaWdpbmFsRm4gPSBvcmlnaW5hbEZuO1xuICBsZXQgZ2V0RXhwbGljaXRTZWxlY3Rvck9wdGlvbnMgPSAoKSA9PiAoe30pO1xuICBpZiAoY3JlYXRpb25NZXRhZGF0YSkge1xuICAgIHNlbGVjdG9yTWV0YURhdGEuY29udGFpbmVyQ2xhc3MgPSBjcmVhdGlvbk1ldGFkYXRhLmNvbnRhaW5lckNsYXNzO1xuICAgIHNlbGVjdG9yTWV0YURhdGEuc2VsZWN0b3JOYW1lID0gY3JlYXRpb25NZXRhZGF0YS5zZWxlY3Rvck5hbWU7XG4gICAgZ2V0RXhwbGljaXRTZWxlY3Rvck9wdGlvbnMgPVxuICAgICAgY3JlYXRpb25NZXRhZGF0YS5nZXRTZWxlY3Rvck9wdGlvbnMgfHwgZ2V0RXhwbGljaXRTZWxlY3Rvck9wdGlvbnM7XG4gIH1cbiAgY29uc3Qgc2VsZWN0b3JNZXRhRGF0YUNsb25lID0geyAuLi5zZWxlY3Rvck1ldGFEYXRhIH07XG4gIHNlbGVjdG9yTWV0YURhdGEuZ2V0U2VsZWN0b3JPcHRpb25zID0gKCkgPT5cbiAgICBnZXRMb2NhbFNlbGVjdG9yT3B0aW9ucyhzZWxlY3Rvck1ldGFEYXRhQ2xvbmUsIGdldEV4cGxpY2l0U2VsZWN0b3JPcHRpb25zKCkpO1xuICByZXR1cm4gc2VsZWN0b3JNZXRhRGF0YTtcbn1cblxuZnVuY3Rpb24gZ2V0UnVudGltZVNlbGVjdG9ySW5mbyhcbiAgY29udGV4dDogUnVudGltZVNlbGVjdG9yQ29udGV4dCxcbiAgc2VsZWN0b3JNZXRhRGF0YTogU2VsZWN0b3JNZXRhRGF0YU1vZGVsLFxuICBzZWxlY3RvcnM6IGFueVtdIHwgdW5kZWZpbmVkID0gW11cbik6IFJ1bnRpbWVTZWxlY3RvckluZm8ge1xuICBjb25zdCBsb2NhbFNlbGVjdG9yT3B0aW9ucyA9IHNlbGVjdG9yTWV0YURhdGEuZ2V0U2VsZWN0b3JPcHRpb25zKCk7XG4gIGNvbnN0IHNlbGVjdG9yT3B0aW9ucyA9IGNvbnRleHQuZ2V0U2VsZWN0b3JPcHRpb25zKGxvY2FsU2VsZWN0b3JPcHRpb25zKTtcbiAgY29uc3Qgc2VsZWN0b3JzVG9BcHBseSA9IGdldFNlbGVjdG9yc1RvQXBwbHkoXG4gICAgc2VsZWN0b3JzLFxuICAgIHNlbGVjdG9yT3B0aW9ucyxcbiAgICBzZWxlY3Rvck1ldGFEYXRhLmNvbnRhaW5lckNsYXNzXG4gICk7XG5cbiAgY29uc3QgYXJndW1lbnRTZWxlY3RvckZ1bmN0aW9ucyA9IHNlbGVjdG9yc1RvQXBwbHkubWFwKHNlbGVjdG9yID0+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gZ2V0Um9vdFNlbGVjdG9yRmFjdG9yeShzZWxlY3Rvcik7XG4gICAgcmV0dXJuIGZhY3RvcnkoY29udGV4dCk7XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIHNlbGVjdG9yT3B0aW9ucyxcbiAgICBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldExvY2FsU2VsZWN0b3JPcHRpb25zKFxuICBzZWxlY3Rvck1ldGFEYXRhOiBTZWxlY3Rvck1ldGFEYXRhTW9kZWwsXG4gIGV4cGxpY2l0T3B0aW9uczogU2hhcmVkU2VsZWN0b3JPcHRpb25zXG4pOiBTaGFyZWRTZWxlY3Rvck9wdGlvbnMge1xuICByZXR1cm4ge1xuICAgIC4uLihzZWxlY3Rvck9wdGlvbnNNZXRhQWNjZXNzb3IuZ2V0T3B0aW9ucyhzZWxlY3Rvck1ldGFEYXRhLmNvbnRhaW5lckNsYXNzKSB8fCB7fSksXG4gICAgLi4uKHNlbGVjdG9yT3B0aW9uc01ldGFBY2Nlc3Nvci5nZXRPcHRpb25zKHNlbGVjdG9yTWV0YURhdGEub3JpZ2luYWxGbikgfHwge30pLFxuICAgIC4uLihzZWxlY3Rvck1ldGFEYXRhLmdldFNlbGVjdG9yT3B0aW9ucygpIHx8IHt9KSxcbiAgICAuLi5leHBsaWNpdE9wdGlvbnNcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0U2VsZWN0b3JzVG9BcHBseShcbiAgc2VsZWN0b3JzOiBhbnlbXSB8IHVuZGVmaW5lZCA9IFtdLFxuICBzZWxlY3Rvck9wdGlvbnM6IFNoYXJlZFNlbGVjdG9yT3B0aW9ucyxcbiAgY29udGFpbmVyQ2xhc3M6IGFueVxuKSB7XG4gIGNvbnN0IHNlbGVjdG9yc1RvQXBwbHkgPSBbXTtcbiAgY29uc3QgY2FuSW5qZWN0Q29udGFpbmVyU3RhdGUgPVxuICAgIHNlbGVjdG9ycy5sZW5ndGggPT09IDAgfHwgc2VsZWN0b3JPcHRpb25zLmluamVjdENvbnRhaW5lclN0YXRlO1xuICBpZiAoY29udGFpbmVyQ2xhc3MgJiYgY2FuSW5qZWN0Q29udGFpbmVyU3RhdGUpIHtcbiAgICAvLyBJZiB3ZSBhcmUgb24gYSBzdGF0ZSBjbGFzcywgYWRkIGl0IGFzIHRoZSBmaXJzdCBzZWxlY3RvciBwYXJhbWV0ZXJcbiAgICBjb25zdCBtZXRhZGF0YSA9IGdldFN0b3JlTWV0YWRhdGEoY29udGFpbmVyQ2xhc3MpO1xuICAgIGlmIChtZXRhZGF0YSkge1xuICAgICAgc2VsZWN0b3JzVG9BcHBseS5wdXNoKGNvbnRhaW5lckNsYXNzKTtcbiAgICB9XG4gIH1cbiAgaWYgKHNlbGVjdG9ycykge1xuICAgIHNlbGVjdG9yc1RvQXBwbHkucHVzaCguLi5zZWxlY3RvcnMpO1xuICB9XG4gIHJldHVybiBzZWxlY3RvcnNUb0FwcGx5O1xufVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgZmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgdGhlIHNlbGVjdG9yIHRvIGdldCB0aGUgc2VsZWN0ZWQgc2xpY2UgZnJvbSB0aGUgYXBwIHN0YXRlXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290U2VsZWN0b3JGYWN0b3J5KHNlbGVjdG9yOiBhbnkpOiBTZWxlY3RvckZhY3Rvcnkge1xuICBjb25zdCBtZXRhZGF0YSA9IGdldFNlbGVjdG9yTWV0YWRhdGEoc2VsZWN0b3IpIHx8IGdldFN0b3JlTWV0YWRhdGEoc2VsZWN0b3IpO1xuICByZXR1cm4gKG1ldGFkYXRhICYmIG1ldGFkYXRhLm1ha2VSb290U2VsZWN0b3IpIHx8ICgoKSA9PiBzZWxlY3Rvcik7XG59XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { SharedSelectorOptions, SelectorFactory } from '../internal/internals';
|
|
2
|
-
export declare const selectorOptionsMetaAccessor: {
|
|
3
|
-
getOptions: (target: any) => SharedSelectorOptions;
|
|
4
|
-
defineOptions: (target: any, options: SharedSelectorOptions) => void;
|
|
5
|
-
};
|
|
6
|
-
interface CreationMetadata {
|
|
7
|
-
containerClass: any;
|
|
8
|
-
selectorName: string;
|
|
9
|
-
getSelectorOptions?: () => SharedSelectorOptions;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Function for creating a selector
|
|
13
|
-
* @param selectors The selectors to use to create the arguments of this function
|
|
14
|
-
* @param originalFn The original function being made into a selector
|
|
15
|
-
* @param creationMetadata
|
|
16
|
-
*/
|
|
17
|
-
export declare function createSelector<T extends (...args: any[]) => any>(selectors: any[] | undefined, originalFn: T, creationMetadata?: CreationMetadata): T;
|
|
18
|
-
/**
|
|
19
|
-
* This function gets the factory function to create the selector to get the selected slice from the app state
|
|
20
|
-
* @ignore
|
|
21
|
-
*/
|
|
22
|
-
export declare function getRootSelectorFactory(selector: any): SelectorFactory;
|
|
23
|
-
export {};
|