@ngxs/store 18.1.6-dev.master-d290a0e → 18.1.6-dev.master-a9e7ff3
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/experimental/index.d.ts +6 -5
- package/fesm2022/ngxs-store-experimental.mjs +8 -25
- package/fesm2022/ngxs-store-experimental.mjs.map +1 -1
- package/fesm2022/ngxs-store-internals-testing.mjs +8 -9
- package/fesm2022/ngxs-store-internals-testing.mjs.map +1 -1
- package/fesm2022/ngxs-store-internals.mjs +6 -6
- package/fesm2022/ngxs-store-internals.mjs.map +1 -1
- package/fesm2022/ngxs-store-operators.mjs.map +1 -1
- package/fesm2022/ngxs-store-plugins.mjs.map +1 -1
- package/fesm2022/ngxs-store.mjs +101 -72
- package/fesm2022/ngxs-store.mjs.map +1 -1
- package/index.d.ts +11 -1
- package/package.json +2 -14
- package/schematics/src/actions/actions.factory.js +1 -2
- package/schematics/src/actions/actions.factory.js.map +1 -1
- package/schematics/src/ng-add/add-declaration.js +2 -3
- package/schematics/src/ng-add/add-declaration.js.map +1 -1
- package/schematics/src/ng-add/ng-add.factory.js +1 -2
- package/schematics/src/ng-add/ng-add.factory.js.map +1 -1
- package/schematics/src/starter-kit/starter-kit.factory.js +1 -2
- package/schematics/src/starter-kit/starter-kit.factory.js.map +1 -1
- package/schematics/src/state/state.factory.js +1 -2
- package/schematics/src/state/state.factory.js.map +1 -1
- package/schematics/src/store/store.factory.js +1 -2
- package/schematics/src/store/store.factory.js.map +1 -1
- package/schematics/src/utils/common/properties.js +1 -2
- package/schematics/src/utils/common/properties.js.map +1 -1
- package/schematics/src/utils/config.js +2 -3
- package/schematics/src/utils/config.js.map +1 -1
- package/schematics/src/utils/generate-utils.js +1 -2
- package/schematics/src/utils/generate-utils.js.map +1 -1
- package/schematics/src/utils/normalize-options.js +3 -4
- package/schematics/src/utils/normalize-options.js.map +1 -1
- package/schematics/src/utils/project.js +4 -5
- package/schematics/src/utils/project.js.map +1 -1
- package/esm2022/experimental/index.mjs +0 -2
- package/esm2022/experimental/ngxs-store-experimental.mjs +0 -5
- package/esm2022/experimental/pending-tasks.mjs +0 -30
- package/esm2022/index.mjs +0 -13
- package/esm2022/internals/custom-rxjs-operators.mjs +0 -19
- package/esm2022/internals/custom-rxjs-subjects.mjs +0 -92
- package/esm2022/internals/index.mjs +0 -11
- package/esm2022/internals/initial-state.mjs +0 -17
- package/esm2022/internals/internal-tokens.mjs +0 -5
- package/esm2022/internals/memoize.mjs +0 -43
- package/esm2022/internals/metadata.mjs +0 -57
- package/esm2022/internals/ngxs-app-bootstrapped-state.mjs +0 -19
- package/esm2022/internals/ngxs-store-internals.mjs +0 -5
- package/esm2022/internals/state-stream.mjs +0 -33
- package/esm2022/internals/state-token.mjs +0 -17
- package/esm2022/internals/symbols.mjs +0 -11
- package/esm2022/internals/testing/fresh-platform.mjs +0 -72
- package/esm2022/internals/testing/helpers/ngxs-test.component.mjs +0 -16
- package/esm2022/internals/testing/helpers/ngxs-test.module.mjs +0 -20
- package/esm2022/internals/testing/index.mjs +0 -4
- package/esm2022/internals/testing/ngxs-store-internals-testing.mjs +0 -5
- package/esm2022/internals/testing/ngxs.setup.mjs +0 -49
- package/esm2022/internals/testing/skip-console-logging.mjs +0 -37
- package/esm2022/internals/testing/symbol.mjs +0 -2
- package/esm2022/ngxs-store.mjs +0 -5
- package/esm2022/operators/append.mjs +0 -20
- package/esm2022/operators/compose.mjs +0 -6
- package/esm2022/operators/iif.mjs +0 -38
- package/esm2022/operators/index.mjs +0 -14
- package/esm2022/operators/insert-item.mjs +0 -29
- package/esm2022/operators/ngxs-store-operators.mjs +0 -5
- package/esm2022/operators/patch.mjs +0 -21
- package/esm2022/operators/remove-item.mjs +0 -22
- package/esm2022/operators/types.mjs +0 -2
- package/esm2022/operators/update-item.mjs +0 -40
- package/esm2022/operators/utils.mjs +0 -19
- package/esm2022/plugins/actions.mjs +0 -16
- package/esm2022/plugins/index.mjs +0 -4
- package/esm2022/plugins/ngxs-store-plugins.mjs +0 -5
- package/esm2022/plugins/symbols.mjs +0 -15
- package/esm2022/plugins/utils.mjs +0 -51
- package/esm2022/src/actions/action-registry.mjs +0 -34
- package/esm2022/src/actions/symbols.mjs +0 -2
- package/esm2022/src/actions-stream.mjs +0 -61
- package/esm2022/src/configs/messages.config.mjs +0 -48
- package/esm2022/src/decorators/action.mjs +0 -31
- package/esm2022/src/decorators/select/select-factory.mjs +0 -29
- package/esm2022/src/decorators/select/select.mjs +0 -29
- package/esm2022/src/decorators/select/symbols.mjs +0 -29
- package/esm2022/src/decorators/selector/selector.mjs +0 -29
- package/esm2022/src/decorators/selector/symbols.mjs +0 -2
- package/esm2022/src/decorators/selector-options.mjs +0 -21
- package/esm2022/src/decorators/state.mjs +0 -35
- package/esm2022/src/dev-features/ngxs-development.module.mjs +0 -28
- package/esm2022/src/dev-features/ngxs-unhandled-actions-logger.mjs +0 -43
- package/esm2022/src/dev-features/symbols.mjs +0 -7
- package/esm2022/src/execution/dispatch-outside-zone-ngxs-execution-strategy.mjs +0 -52
- package/esm2022/src/execution/internal-ngxs-execution-strategy.mjs +0 -21
- package/esm2022/src/execution/noop-ngxs-execution-strategy.mjs +0 -17
- package/esm2022/src/execution/symbols.mjs +0 -28
- package/esm2022/src/internal/dispatcher.mjs +0 -125
- package/esm2022/src/internal/fallback-subscriber.mjs +0 -29
- package/esm2022/src/internal/internals.mjs +0 -205
- package/esm2022/src/internal/lifecycle-state-manager.mjs +0 -81
- package/esm2022/src/internal/provide-internal-tokens.mjs +0 -20
- package/esm2022/src/internal/state-context-factory.mjs +0 -70
- package/esm2022/src/internal/state-factory.mjs +0 -311
- package/esm2022/src/internal/state-operations.mjs +0 -60
- package/esm2022/src/internal/state-operators.mjs +0 -20
- package/esm2022/src/internal/unhandled-rxjs-error-callback.mjs +0 -46
- package/esm2022/src/ivy/ivy-enabled-in-dev-mode.mjs +0 -25
- package/esm2022/src/module.mjs +0 -27
- package/esm2022/src/modules/ngxs-feature.module.mjs +0 -18
- package/esm2022/src/modules/ngxs-root.module.mjs +0 -18
- package/esm2022/src/ngxs-unhandled-error-handler.mjs +0 -29
- package/esm2022/src/operators/leave-ngxs.mjs +0 -9
- package/esm2022/src/operators/of-action.mjs +0 -104
- package/esm2022/src/plugin-manager.mjs +0 -34
- package/esm2022/src/plugin_api.mjs +0 -2
- package/esm2022/src/private_api.mjs +0 -5
- package/esm2022/src/public_api.mjs +0 -20
- package/esm2022/src/selectors/create-model-selector.mjs +0 -30
- package/esm2022/src/selectors/create-pick-selector.mjs +0 -16
- package/esm2022/src/selectors/create-property-selectors.mjs +0 -20
- package/esm2022/src/selectors/create-selector.mjs +0 -9
- package/esm2022/src/selectors/index.mjs +0 -6
- package/esm2022/src/selectors/private_api.mjs +0 -2
- package/esm2022/src/selectors/selector-checks.util.mjs +0 -43
- package/esm2022/src/selectors/selector-metadata.mjs +0 -35
- package/esm2022/src/selectors/selector-models.mjs +0 -2
- package/esm2022/src/selectors/selector-types.util.mjs +0 -2
- package/esm2022/src/selectors/selector-utils.mjs +0 -95
- package/esm2022/src/standalone-features/feature-providers.mjs +0 -18
- package/esm2022/src/standalone-features/index.mjs +0 -5
- package/esm2022/src/standalone-features/initializers.mjs +0 -94
- package/esm2022/src/standalone-features/plugin.mjs +0 -33
- package/esm2022/src/standalone-features/preboot.mjs +0 -31
- package/esm2022/src/standalone-features/provide-states.mjs +0 -26
- package/esm2022/src/standalone-features/provide-store.mjs +0 -26
- package/esm2022/src/standalone-features/root-providers.mjs +0 -34
- package/esm2022/src/store.mjs +0 -117
- package/esm2022/src/symbols.mjs +0 -86
- package/esm2022/src/utils/create-dispatch-map.mjs +0 -11
- package/esm2022/src/utils/create-select-map.mjs +0 -13
- package/esm2022/src/utils/dispatch.mjs +0 -7
- package/esm2022/src/utils/freeze.mjs +0 -20
- package/esm2022/src/utils/public_api.mjs +0 -5
- package/esm2022/src/utils/select.mjs +0 -19
- package/esm2022/src/utils/store-validators.mjs +0 -25
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { ErrorHandler, Injectable, NgZone, inject } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class NgxsUnhandledErrorHandler {
|
|
4
|
-
constructor() {
|
|
5
|
-
this._ngZone = inject(NgZone);
|
|
6
|
-
this._errorHandler = inject(ErrorHandler);
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* The `_unhandledErrorContext` is left unused internally since we do not
|
|
10
|
-
* require it for internal operations. However, developers who wish to provide
|
|
11
|
-
* their own custom error handler may utilize this context information.
|
|
12
|
-
*/
|
|
13
|
-
handleError(error, _unhandledErrorContext) {
|
|
14
|
-
// In order to avoid duplicate error handling, it is necessary to leave
|
|
15
|
-
// the Angular zone to ensure that errors are not caught twice. The `handleError`
|
|
16
|
-
// method may contain a `throw error` statement, which is used to re-throw the error.
|
|
17
|
-
// If the error is re-thrown within the Angular zone, it will be caught again by the
|
|
18
|
-
// Angular zone. By default, `@angular/core` leaves the Angular zone when invoking
|
|
19
|
-
// `handleError` (see `_callAndReportToErrorHandler`).
|
|
20
|
-
this._ngZone.runOutsideAngular(() => this._errorHandler.handleError(error));
|
|
21
|
-
}
|
|
22
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsUnhandledErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsUnhandledErrorHandler, providedIn: 'root' }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsUnhandledErrorHandler, decorators: [{
|
|
26
|
-
type: Injectable,
|
|
27
|
-
args: [{ providedIn: 'root' }]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy11bmhhbmRsZWQtZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9uZ3hzLXVuaGFuZGxlZC1lcnJvci1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT3pFLE1BQU0sT0FBTyx5QkFBeUI7SUFEdEM7UUFFVSxZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBZ0I5QztJQWRDOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsS0FBVSxFQUFFLHNCQUFpRDtRQUN2RSx1RUFBdUU7UUFDdkUsaUZBQWlGO1FBQ2pGLHFGQUFxRjtRQUNyRixvRkFBb0Y7UUFDcEYsa0ZBQWtGO1FBQ2xGLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztpSUFqQlUseUJBQXlCO3FJQUF6Qix5QkFBeUIsY0FEWixNQUFNOzsyRkFDbkIseUJBQXlCO2tCQURyQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9ySGFuZGxlciwgSW5qZWN0YWJsZSwgTmdab25lLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3hzVW5oYW5kbGVkRXJyb3JDb250ZXh0IHtcbiAgYWN0aW9uOiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTmd4c1VuaGFuZGxlZEVycm9ySGFuZGxlciB7XG4gIHByaXZhdGUgX25nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIF9lcnJvckhhbmRsZXIgPSBpbmplY3QoRXJyb3JIYW5kbGVyKTtcblxuICAvKipcbiAgICogVGhlIGBfdW5oYW5kbGVkRXJyb3JDb250ZXh0YCBpcyBsZWZ0IHVudXNlZCBpbnRlcm5hbGx5IHNpbmNlIHdlIGRvIG5vdFxuICAgKiByZXF1aXJlIGl0IGZvciBpbnRlcm5hbCBvcGVyYXRpb25zLiBIb3dldmVyLCBkZXZlbG9wZXJzIHdobyB3aXNoIHRvIHByb3ZpZGVcbiAgICogdGhlaXIgb3duIGN1c3RvbSBlcnJvciBoYW5kbGVyIG1heSB1dGlsaXplIHRoaXMgY29udGV4dCBpbmZvcm1hdGlvbi5cbiAgICovXG4gIGhhbmRsZUVycm9yKGVycm9yOiBhbnksIF91bmhhbmRsZWRFcnJvckNvbnRleHQ6IE5neHNVbmhhbmRsZWRFcnJvckNvbnRleHQpOiB2b2lkIHtcbiAgICAvLyBJbiBvcmRlciB0byBhdm9pZCBkdXBsaWNhdGUgZXJyb3IgaGFuZGxpbmcsIGl0IGlzIG5lY2Vzc2FyeSB0byBsZWF2ZVxuICAgIC8vIHRoZSBBbmd1bGFyIHpvbmUgdG8gZW5zdXJlIHRoYXQgZXJyb3JzIGFyZSBub3QgY2F1Z2h0IHR3aWNlLiBUaGUgYGhhbmRsZUVycm9yYFxuICAgIC8vIG1ldGhvZCBtYXkgY29udGFpbiBhIGB0aHJvdyBlcnJvcmAgc3RhdGVtZW50LCB3aGljaCBpcyB1c2VkIHRvIHJlLXRocm93IHRoZSBlcnJvci5cbiAgICAvLyBJZiB0aGUgZXJyb3IgaXMgcmUtdGhyb3duIHdpdGhpbiB0aGUgQW5ndWxhciB6b25lLCBpdCB3aWxsIGJlIGNhdWdodCBhZ2FpbiBieSB0aGVcbiAgICAvLyBBbmd1bGFyIHpvbmUuIEJ5IGRlZmF1bHQsIGBAYW5ndWxhci9jb3JlYCBsZWF2ZXMgdGhlIEFuZ3VsYXIgem9uZSB3aGVuIGludm9raW5nXG4gICAgLy8gYGhhbmRsZUVycm9yYCAoc2VlIGBfY2FsbEFuZFJlcG9ydFRvRXJyb3JIYW5kbGVyYCkuXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuX2Vycm9ySGFuZGxlci5oYW5kbGVFcnJvcihlcnJvcikpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ɵwrapObserverCalls } from '@ngxs/store/internals';
|
|
2
|
-
/**
|
|
3
|
-
* Returns operator that will run
|
|
4
|
-
* `subscribe` outside of the ngxs execution context
|
|
5
|
-
*/
|
|
6
|
-
export function leaveNgxs(ngxsExecutionStrategy) {
|
|
7
|
-
return ɵwrapObserverCalls(fn => ngxsExecutionStrategy.leave(fn));
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtbmd4cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9vcGVyYXRvcnMvbGVhdmUtbmd4cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUczRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFJLHFCQUE0QztJQUN2RSxPQUFPLGtCQUFrQixDQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1d3JhcE9ic2VydmVyQ2FsbHMgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi4vZXhlY3V0aW9uL3N5bWJvbHMnO1xuXG4vKipcbiAqIFJldHVybnMgb3BlcmF0b3IgdGhhdCB3aWxsIHJ1blxuICogYHN1YnNjcmliZWAgb3V0c2lkZSBvZiB0aGUgbmd4cyBleGVjdXRpb24gY29udGV4dFxuICovXG5leHBvcnQgZnVuY3Rpb24gbGVhdmVOZ3hzPFQ+KG5neHNFeGVjdXRpb25TdHJhdGVneTogTmd4c0V4ZWN1dGlvblN0cmF0ZWd5KSB7XG4gIHJldHVybiDJtXdyYXBPYnNlcnZlckNhbGxzPFQ+KGZuID0+IG5neHNFeGVjdXRpb25TdHJhdGVneS5sZWF2ZShmbikpO1xufVxuIl19
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { getActionTypeFromInstance } from '@ngxs/store/plugins';
|
|
2
|
-
import { map, filter } from 'rxjs/operators';
|
|
3
|
-
/**
|
|
4
|
-
* RxJS operator for selecting out specific actions.
|
|
5
|
-
*
|
|
6
|
-
* This will grab actions that have just been dispatched as well as actions that have completed
|
|
7
|
-
*/
|
|
8
|
-
export function ofAction(...allowedTypes) {
|
|
9
|
-
return ofActionOperator(allowedTypes);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* RxJS operator for selecting out specific actions.
|
|
13
|
-
*
|
|
14
|
-
* This will ONLY grab actions that have just been dispatched
|
|
15
|
-
*/
|
|
16
|
-
export function ofActionDispatched(...allowedTypes) {
|
|
17
|
-
return ofActionOperator(allowedTypes, ["DISPATCHED" /* ActionStatus.Dispatched */]);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* RxJS operator for selecting out specific actions.
|
|
21
|
-
*
|
|
22
|
-
* This will ONLY grab actions that have just been successfully completed
|
|
23
|
-
*/
|
|
24
|
-
export function ofActionSuccessful(...allowedTypes) {
|
|
25
|
-
return ofActionOperator(allowedTypes, ["SUCCESSFUL" /* ActionStatus.Successful */]);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* RxJS operator for selecting out specific actions.
|
|
29
|
-
*
|
|
30
|
-
* This will ONLY grab actions that have just been canceled
|
|
31
|
-
*/
|
|
32
|
-
export function ofActionCanceled(...allowedTypes) {
|
|
33
|
-
return ofActionOperator(allowedTypes, ["CANCELED" /* ActionStatus.Canceled */]);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* RxJS operator for selecting out specific actions.
|
|
37
|
-
*
|
|
38
|
-
* This will ONLY grab actions that have just been completed
|
|
39
|
-
*/
|
|
40
|
-
export function ofActionCompleted(...allowedTypes) {
|
|
41
|
-
const allowedStatuses = [
|
|
42
|
-
"SUCCESSFUL" /* ActionStatus.Successful */,
|
|
43
|
-
"CANCELED" /* ActionStatus.Canceled */,
|
|
44
|
-
"ERRORED" /* ActionStatus.Errored */
|
|
45
|
-
];
|
|
46
|
-
return ofActionOperator(allowedTypes, allowedStatuses, mapActionResult);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* RxJS operator for selecting out specific actions.
|
|
50
|
-
*
|
|
51
|
-
* This will ONLY grab actions that have just thrown an error
|
|
52
|
-
*/
|
|
53
|
-
export function ofActionErrored(...allowedTypes) {
|
|
54
|
-
return ofActionOperator(allowedTypes, ["ERRORED" /* ActionStatus.Errored */], mapActionResult);
|
|
55
|
-
}
|
|
56
|
-
function ofActionOperator(allowedTypes, statuses,
|
|
57
|
-
// This could have been written as
|
|
58
|
-
// `OperatorFunction<ActionContext, ActionCompletion | any>`, as it maps
|
|
59
|
-
// either to `ctx.action` or to `ActionCompletion`. However,
|
|
60
|
-
// `ActionCompletion | any` defaults to `any`, rendering the union
|
|
61
|
-
// type meaningless.
|
|
62
|
-
mapOperator = mapAction) {
|
|
63
|
-
const allowedMap = createAllowedActionTypesMap(allowedTypes);
|
|
64
|
-
const allowedStatusMap = statuses && createAllowedStatusesMap(statuses);
|
|
65
|
-
return function (o) {
|
|
66
|
-
return o.pipe(filterStatus(allowedMap, allowedStatusMap), mapOperator());
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
function filterStatus(allowedTypes, allowedStatuses) {
|
|
70
|
-
return filter((ctx) => {
|
|
71
|
-
const actionType = getActionTypeFromInstance(ctx.action);
|
|
72
|
-
const typeMatch = allowedTypes[actionType];
|
|
73
|
-
const statusMatch = allowedStatuses ? allowedStatuses[ctx.status] : true;
|
|
74
|
-
return typeMatch && statusMatch;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
function mapActionResult() {
|
|
78
|
-
return map(({ action, status, error }) => {
|
|
79
|
-
return {
|
|
80
|
-
action,
|
|
81
|
-
result: {
|
|
82
|
-
successful: "SUCCESSFUL" /* ActionStatus.Successful */ === status,
|
|
83
|
-
canceled: "CANCELED" /* ActionStatus.Canceled */ === status,
|
|
84
|
-
error
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
function mapAction() {
|
|
90
|
-
return map((ctx) => ctx.action);
|
|
91
|
-
}
|
|
92
|
-
function createAllowedActionTypesMap(types) {
|
|
93
|
-
return types.reduce((filterMap, klass) => {
|
|
94
|
-
filterMap[getActionTypeFromInstance(klass)] = true;
|
|
95
|
-
return filterMap;
|
|
96
|
-
}, {});
|
|
97
|
-
}
|
|
98
|
-
function createAllowedStatusesMap(statuses) {
|
|
99
|
-
return statuses.reduce((filterMap, status) => {
|
|
100
|
-
filterMap[status] = true;
|
|
101
|
-
return filterMap;
|
|
102
|
-
}, {});
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2YtYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL29wZXJhdG9ycy9vZi1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXdCN0M7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQ3RCLEdBQUcsWUFBZTtJQUtsQixPQUFPLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxHQUFHLFlBQWU7SUFLbEIsT0FBTyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsNENBQXlCLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsR0FBRyxZQUFlO0lBS2xCLE9BQU8sZ0JBQWdCLENBQUMsWUFBWSxFQUFFLDRDQUF5QixDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEdBQUcsWUFBZTtJQUtsQixPQUFPLGdCQUFnQixDQUFDLFlBQVksRUFBRSx3Q0FBdUIsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixHQUFHLFlBQWU7SUFLbEIsTUFBTSxlQUFlLEdBQUc7Ozs7S0FJdkIsQ0FBQztJQUNGLE9BQU8sZ0JBQWdCLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQzdCLEdBQUcsWUFBZTtJQUtsQixPQUFPLGdCQUFnQixDQUFDLFlBQVksRUFBRSxzQ0FBc0IsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUNqRixDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FDdkIsWUFBMEIsRUFDMUIsUUFBeUI7QUFDekIsa0NBQWtDO0FBQ2xDLHdFQUF3RTtBQUN4RSw0REFBNEQ7QUFDNUQsa0VBQWtFO0FBQ2xFLG9CQUFvQjtBQUNwQixjQUEwRCxTQUFTO0lBRW5FLE1BQU0sVUFBVSxHQUFHLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzdELE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxJQUFJLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hFLE9BQU8sVUFBVSxDQUE0QjtRQUMzQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLFlBQXVCLEVBQUUsZUFBMkI7SUFDeEUsT0FBTyxNQUFNLENBQUMsQ0FBQyxHQUFrQixFQUFFLEVBQUU7UUFDbkMsTUFBTSxVQUFVLEdBQUcseUJBQXlCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBRSxDQUFDO1FBQzFELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQyxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN6RSxPQUFPLFNBQVMsSUFBSSxXQUFXLENBQUM7SUFDbEMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxlQUFlO0lBQ3RCLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBaUIsRUFBRSxFQUFFO1FBQ3RELE9BQXlCO1lBQ3ZCLE1BQU07WUFDTixNQUFNLEVBQUU7Z0JBQ04sVUFBVSxFQUFFLCtDQUE0QixNQUFNO2dCQUM5QyxRQUFRLEVBQUUsMkNBQTBCLE1BQU07Z0JBQzFDLEtBQUs7YUFDTjtTQUNGLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLFNBQVM7SUFDaEIsT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFrQixFQUFFLEVBQUUsQ0FBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQU1ELFNBQVMsMkJBQTJCLENBQUMsS0FBbUI7SUFDdEQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUNqQixDQUFDLFNBQW9CLEVBQUUsS0FBVSxFQUFFLEVBQUU7UUFDbkMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3BELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUMsRUFDVSxFQUFFLENBQ2QsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHdCQUF3QixDQUFDLFFBQXdCO0lBQ3hELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FDcEIsQ0FBQyxTQUFvQixFQUFFLE1BQW9CLEVBQUUsRUFBRTtRQUM3QyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUMsRUFDVSxFQUFFLENBQ2QsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlIH0gZnJvbSAnQG5neHMvc3RvcmUvcGx1Z2lucyc7XG5pbXBvcnQgeyBPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQWN0aW9uVHlwZSB9IGZyb20gJy4uL2FjdGlvbnMvc3ltYm9scyc7XG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0LCBBY3Rpb25TdGF0dXMgfSBmcm9tICcuLi9hY3Rpb25zLXN0cmVhbSc7XG5cbnR5cGUgVHVwbGVLZXlzPFQgZXh0ZW5kcyBhbnlbXT4gPSBFeGNsdWRlPGtleW9mIFQsIGtleW9mIFtdPjtcblxuLyoqXG4gKiBHaXZlbiBhIFBPSk8sIHJldHVybnMgdGhlIFBPSk8gdHlwZSwgZ2l2ZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBvYmplY3QsIHJldHVybnMgdGhlIHR5cGUgb2YgdGhlIGNsYXNzLlxuICpcbiAqIFRoaXMgdXRpbGl0eSB0eXBlIGV4aXN0cyBkdWUgdG8gdGhlIGNvbXBsZXhpdHkgb2YgQWN0aW9uVHlwZSBiZWluZyBlaXRoZXIgYW4gQWN0aW9uRGVmIGNsYXNzIG9yIHRoZSBwbGFpblxuICogYHsgdHlwZTogc3RyaW5nIH1gIHR5cGUgKG9yIHNpbWlsYXIgY29tcGF0aWJsZSBQT0pPIHR5cGVzKS5cbiAqL1xudHlwZSBDb25zdHJ1Y3RlZDxUPiA9IFQgZXh0ZW5kcyBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBpbmZlciBVID8gVSA6IFQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29tcGxldGlvbjxUID0gYW55LCBFID0gRXJyb3I+IHtcbiAgYWN0aW9uOiBUO1xuICByZXN1bHQ6IHtcbiAgICBzdWNjZXNzZnVsOiBib29sZWFuO1xuICAgIGNhbmNlbGVkOiBib29sZWFuO1xuICAgIGVycm9yPzogRTtcbiAgfTtcbn1cblxuLyoqXG4gKiBSeEpTIG9wZXJhdG9yIGZvciBzZWxlY3Rpbmcgb3V0IHNwZWNpZmljIGFjdGlvbnMuXG4gKlxuICogVGhpcyB3aWxsIGdyYWIgYWN0aW9ucyB0aGF0IGhhdmUganVzdCBiZWVuIGRpc3BhdGNoZWQgYXMgd2VsbCBhcyBhY3Rpb25zIHRoYXQgaGF2ZSBjb21wbGV0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9mQWN0aW9uPFQgZXh0ZW5kcyBBY3Rpb25UeXBlW10+KFxuICAuLi5hbGxvd2VkVHlwZXM6IFRcbik6IE9wZXJhdG9yRnVuY3Rpb248XG4gIEFjdGlvbkNvbnRleHQ8Q29uc3RydWN0ZWQ8VFtUdXBsZUtleXM8VD5dPj4sXG4gIENvbnN0cnVjdGVkPFRbVHVwbGVLZXlzPFQ+XT5cbj4ge1xuICByZXR1cm4gb2ZBY3Rpb25PcGVyYXRvcihhbGxvd2VkVHlwZXMpO1xufVxuXG4vKipcbiAqIFJ4SlMgb3BlcmF0b3IgZm9yIHNlbGVjdGluZyBvdXQgc3BlY2lmaWMgYWN0aW9ucy5cbiAqXG4gKiBUaGlzIHdpbGwgT05MWSBncmFiIGFjdGlvbnMgdGhhdCBoYXZlIGp1c3QgYmVlbiBkaXNwYXRjaGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvZkFjdGlvbkRpc3BhdGNoZWQ8VCBleHRlbmRzIEFjdGlvblR5cGVbXT4oXG4gIC4uLmFsbG93ZWRUeXBlczogVFxuKTogT3BlcmF0b3JGdW5jdGlvbjxcbiAgQWN0aW9uQ29udGV4dDxDb25zdHJ1Y3RlZDxUW1R1cGxlS2V5czxUPl0+PixcbiAgQ29uc3RydWN0ZWQ8VFtUdXBsZUtleXM8VD5dPlxuPiB7XG4gIHJldHVybiBvZkFjdGlvbk9wZXJhdG9yKGFsbG93ZWRUeXBlcywgW0FjdGlvblN0YXR1cy5EaXNwYXRjaGVkXSk7XG59XG5cbi8qKlxuICogUnhKUyBvcGVyYXRvciBmb3Igc2VsZWN0aW5nIG91dCBzcGVjaWZpYyBhY3Rpb25zLlxuICpcbiAqIFRoaXMgd2lsbCBPTkxZIGdyYWIgYWN0aW9ucyB0aGF0IGhhdmUganVzdCBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9mQWN0aW9uU3VjY2Vzc2Z1bDxUIGV4dGVuZHMgQWN0aW9uVHlwZVtdPihcbiAgLi4uYWxsb3dlZFR5cGVzOiBUXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFxuICBBY3Rpb25Db250ZXh0PENvbnN0cnVjdGVkPFRbVHVwbGVLZXlzPFQ+XT4+LFxuICBDb25zdHJ1Y3RlZDxUW1R1cGxlS2V5czxUPl0+XG4+IHtcbiAgcmV0dXJuIG9mQWN0aW9uT3BlcmF0b3IoYWxsb3dlZFR5cGVzLCBbQWN0aW9uU3RhdHVzLlN1Y2Nlc3NmdWxdKTtcbn1cblxuLyoqXG4gKiBSeEpTIG9wZXJhdG9yIGZvciBzZWxlY3Rpbmcgb3V0IHNwZWNpZmljIGFjdGlvbnMuXG4gKlxuICogVGhpcyB3aWxsIE9OTFkgZ3JhYiBhY3Rpb25zIHRoYXQgaGF2ZSBqdXN0IGJlZW4gY2FuY2VsZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9mQWN0aW9uQ2FuY2VsZWQ8VCBleHRlbmRzIEFjdGlvblR5cGVbXT4oXG4gIC4uLmFsbG93ZWRUeXBlczogVFxuKTogT3BlcmF0b3JGdW5jdGlvbjxcbiAgQWN0aW9uQ29udGV4dDxDb25zdHJ1Y3RlZDxUW1R1cGxlS2V5czxUPl0+PixcbiAgQ29uc3RydWN0ZWQ8VFtUdXBsZUtleXM8VD5dPlxuPiB7XG4gIHJldHVybiBvZkFjdGlvbk9wZXJhdG9yKGFsbG93ZWRUeXBlcywgW0FjdGlvblN0YXR1cy5DYW5jZWxlZF0pO1xufVxuXG4vKipcbiAqIFJ4SlMgb3BlcmF0b3IgZm9yIHNlbGVjdGluZyBvdXQgc3BlY2lmaWMgYWN0aW9ucy5cbiAqXG4gKiBUaGlzIHdpbGwgT05MWSBncmFiIGFjdGlvbnMgdGhhdCBoYXZlIGp1c3QgYmVlbiBjb21wbGV0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9mQWN0aW9uQ29tcGxldGVkPFQgZXh0ZW5kcyBBY3Rpb25UeXBlW10+KFxuICAuLi5hbGxvd2VkVHlwZXM6IFRcbik6IE9wZXJhdG9yRnVuY3Rpb248XG4gIEFjdGlvbkNvbnRleHQ8Q29uc3RydWN0ZWQ8VFtUdXBsZUtleXM8VD5dPj4sXG4gIEFjdGlvbkNvbXBsZXRpb248Q29uc3RydWN0ZWQ8VFtUdXBsZUtleXM8VD5dPj5cbj4ge1xuICBjb25zdCBhbGxvd2VkU3RhdHVzZXMgPSBbXG4gICAgQWN0aW9uU3RhdHVzLlN1Y2Nlc3NmdWwsXG4gICAgQWN0aW9uU3RhdHVzLkNhbmNlbGVkLFxuICAgIEFjdGlvblN0YXR1cy5FcnJvcmVkXG4gIF07XG4gIHJldHVybiBvZkFjdGlvbk9wZXJhdG9yKGFsbG93ZWRUeXBlcywgYWxsb3dlZFN0YXR1c2VzLCBtYXBBY3Rpb25SZXN1bHQpO1xufVxuXG4vKipcbiAqIFJ4SlMgb3BlcmF0b3IgZm9yIHNlbGVjdGluZyBvdXQgc3BlY2lmaWMgYWN0aW9ucy5cbiAqXG4gKiBUaGlzIHdpbGwgT05MWSBncmFiIGFjdGlvbnMgdGhhdCBoYXZlIGp1c3QgdGhyb3duIGFuIGVycm9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvZkFjdGlvbkVycm9yZWQ8VCBleHRlbmRzIEFjdGlvblR5cGVbXT4oXG4gIC4uLmFsbG93ZWRUeXBlczogVFxuKTogT3BlcmF0b3JGdW5jdGlvbjxcbiAgQWN0aW9uQ29udGV4dDxDb25zdHJ1Y3RlZDxUW1R1cGxlS2V5czxUPl0+PixcbiAgQWN0aW9uQ29tcGxldGlvbjxDb25zdHJ1Y3RlZDxUW1R1cGxlS2V5czxUPl0+PlxuPiB7XG4gIHJldHVybiBvZkFjdGlvbk9wZXJhdG9yKGFsbG93ZWRUeXBlcywgW0FjdGlvblN0YXR1cy5FcnJvcmVkXSwgbWFwQWN0aW9uUmVzdWx0KTtcbn1cblxuZnVuY3Rpb24gb2ZBY3Rpb25PcGVyYXRvcihcbiAgYWxsb3dlZFR5cGVzOiBBY3Rpb25UeXBlW10sXG4gIHN0YXR1c2VzPzogQWN0aW9uU3RhdHVzW10sXG4gIC8vIFRoaXMgY291bGQgaGF2ZSBiZWVuIHdyaXR0ZW4gYXNcbiAgLy8gYE9wZXJhdG9yRnVuY3Rpb248QWN0aW9uQ29udGV4dCwgQWN0aW9uQ29tcGxldGlvbiB8IGFueT5gLCBhcyBpdCBtYXBzXG4gIC8vIGVpdGhlciB0byBgY3R4LmFjdGlvbmAgb3IgdG8gYEFjdGlvbkNvbXBsZXRpb25gLiBIb3dldmVyLFxuICAvLyBgQWN0aW9uQ29tcGxldGlvbiB8IGFueWAgZGVmYXVsdHMgdG8gYGFueWAsIHJlbmRlcmluZyB0aGUgdW5pb25cbiAgLy8gdHlwZSBtZWFuaW5nbGVzcy5cbiAgbWFwT3BlcmF0b3I6ICgpID0+IE9wZXJhdG9yRnVuY3Rpb248QWN0aW9uQ29udGV4dCwgYW55PiA9IG1hcEFjdGlvblxuKTogT3BlcmF0b3JGdW5jdGlvbjxBY3Rpb25Db250ZXh0LCBhbnk+IHtcbiAgY29uc3QgYWxsb3dlZE1hcCA9IGNyZWF0ZUFsbG93ZWRBY3Rpb25UeXBlc01hcChhbGxvd2VkVHlwZXMpO1xuICBjb25zdCBhbGxvd2VkU3RhdHVzTWFwID0gc3RhdHVzZXMgJiYgY3JlYXRlQWxsb3dlZFN0YXR1c2VzTWFwKHN0YXR1c2VzKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIChvOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHQ+KSB7XG4gICAgcmV0dXJuIG8ucGlwZShmaWx0ZXJTdGF0dXMoYWxsb3dlZE1hcCwgYWxsb3dlZFN0YXR1c01hcCksIG1hcE9wZXJhdG9yKCkpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBmaWx0ZXJTdGF0dXMoYWxsb3dlZFR5cGVzOiBGaWx0ZXJNYXAsIGFsbG93ZWRTdGF0dXNlcz86IEZpbHRlck1hcCkge1xuICByZXR1cm4gZmlsdGVyKChjdHg6IEFjdGlvbkNvbnRleHQpID0+IHtcbiAgICBjb25zdCBhY3Rpb25UeXBlID0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShjdHguYWN0aW9uKSE7XG4gICAgY29uc3QgdHlwZU1hdGNoID0gYWxsb3dlZFR5cGVzW2FjdGlvblR5cGVdO1xuICAgIGNvbnN0IHN0YXR1c01hdGNoID0gYWxsb3dlZFN0YXR1c2VzID8gYWxsb3dlZFN0YXR1c2VzW2N0eC5zdGF0dXNdIDogdHJ1ZTtcbiAgICByZXR1cm4gdHlwZU1hdGNoICYmIHN0YXR1c01hdGNoO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gbWFwQWN0aW9uUmVzdWx0KCk6IE9wZXJhdG9yRnVuY3Rpb248QWN0aW9uQ29udGV4dCwgQWN0aW9uQ29tcGxldGlvbj4ge1xuICByZXR1cm4gbWFwKCh7IGFjdGlvbiwgc3RhdHVzLCBlcnJvciB9OiBBY3Rpb25Db250ZXh0KSA9PiB7XG4gICAgcmV0dXJuIDxBY3Rpb25Db21wbGV0aW9uPntcbiAgICAgIGFjdGlvbixcbiAgICAgIHJlc3VsdDoge1xuICAgICAgICBzdWNjZXNzZnVsOiBBY3Rpb25TdGF0dXMuU3VjY2Vzc2Z1bCA9PT0gc3RhdHVzLFxuICAgICAgICBjYW5jZWxlZDogQWN0aW9uU3RhdHVzLkNhbmNlbGVkID09PSBzdGF0dXMsXG4gICAgICAgIGVycm9yXG4gICAgICB9XG4gICAgfTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIG1hcEFjdGlvbjxUID0gYW55PigpOiBPcGVyYXRvckZ1bmN0aW9uPEFjdGlvbkNvbnRleHQsIFQ+IHtcbiAgcmV0dXJuIG1hcCgoY3R4OiBBY3Rpb25Db250ZXh0KSA9PiA8VD5jdHguYWN0aW9uKTtcbn1cblxuaW50ZXJmYWNlIEZpbHRlck1hcCB7XG4gIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUFsbG93ZWRBY3Rpb25UeXBlc01hcCh0eXBlczogQWN0aW9uVHlwZVtdKTogRmlsdGVyTWFwIHtcbiAgcmV0dXJuIHR5cGVzLnJlZHVjZShcbiAgICAoZmlsdGVyTWFwOiBGaWx0ZXJNYXAsIGtsYXNzOiBhbnkpID0+IHtcbiAgICAgIGZpbHRlck1hcFtnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKGtsYXNzKSFdID0gdHJ1ZTtcbiAgICAgIHJldHVybiBmaWx0ZXJNYXA7XG4gICAgfSxcbiAgICA8RmlsdGVyTWFwPnt9XG4gICk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUFsbG93ZWRTdGF0dXNlc01hcChzdGF0dXNlczogQWN0aW9uU3RhdHVzW10pOiBGaWx0ZXJNYXAge1xuICByZXR1cm4gc3RhdHVzZXMucmVkdWNlKFxuICAgIChmaWx0ZXJNYXA6IEZpbHRlck1hcCwgc3RhdHVzOiBBY3Rpb25TdGF0dXMpID0+IHtcbiAgICAgIGZpbHRlck1hcFtzdGF0dXNdID0gdHJ1ZTtcbiAgICAgIHJldHVybiBmaWx0ZXJNYXA7XG4gICAgfSxcbiAgICA8RmlsdGVyTWFwPnt9XG4gICk7XG59XG4iXX0=
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { NGXS_PLUGINS } from '@ngxs/store/plugins';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class PluginManager {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.plugins = [];
|
|
7
|
-
this._parentManager = inject(PluginManager, {
|
|
8
|
-
optional: true,
|
|
9
|
-
skipSelf: true
|
|
10
|
-
});
|
|
11
|
-
this._pluginHandlers = inject(NGXS_PLUGINS, {
|
|
12
|
-
optional: true
|
|
13
|
-
});
|
|
14
|
-
this.registerHandlers();
|
|
15
|
-
}
|
|
16
|
-
get _rootPlugins() {
|
|
17
|
-
return this._parentManager?.plugins || this.plugins;
|
|
18
|
-
}
|
|
19
|
-
registerHandlers() {
|
|
20
|
-
const pluginHandlers = this.getPluginHandlers();
|
|
21
|
-
this._rootPlugins.push(...pluginHandlers);
|
|
22
|
-
}
|
|
23
|
-
getPluginHandlers() {
|
|
24
|
-
const handlers = this._pluginHandlers || [];
|
|
25
|
-
return handlers.map((plugin) => (plugin.handle ? plugin.handle.bind(plugin) : plugin));
|
|
26
|
-
}
|
|
27
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PluginManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
28
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PluginManager, providedIn: 'root' }); }
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: PluginManager, decorators: [{
|
|
31
|
-
type: Injectable,
|
|
32
|
-
args: [{ providedIn: 'root' }]
|
|
33
|
-
}], ctorParameters: () => [] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvcGx1Z2luLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBNEIsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHN0UsTUFBTSxPQUFPLGFBQWE7SUFZeEI7UUFYUyxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUVyQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUU7WUFDdEQsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUVjLG9CQUFlLEdBQUcsTUFBTSxDQUFlLFlBQVksRUFBRTtZQUNwRSxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUdELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFZLFlBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RELENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsTUFBTSxjQUFjLEdBQW1CLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixNQUFNLFFBQVEsR0FBaUIsSUFBSSxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUM7UUFDMUQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUNqQixDQUFDLE1BQWtCLEVBQUUsRUFBRSxDQUNyQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQWlCLENBQ3hFLENBQUM7SUFDSixDQUFDO2lJQS9CVSxhQUFhO3FJQUFiLGFBQWEsY0FEQSxNQUFNOzsyRkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HWFNfUExVR0lOUywgTmd4c1BsdWdpbiwgTmd4c1BsdWdpbkZuIH0gZnJvbSAnQG5neHMvc3RvcmUvcGx1Z2lucyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUGx1Z2luTWFuYWdlciB7XG4gIHJlYWRvbmx5IHBsdWdpbnM6IE5neHNQbHVnaW5GbltdID0gW107XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50TWFuYWdlciA9IGluamVjdChQbHVnaW5NYW5hZ2VyLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgc2tpcFNlbGY6IHRydWVcbiAgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcGx1Z2luSGFuZGxlcnMgPSBpbmplY3Q8Tmd4c1BsdWdpbltdPihOR1hTX1BMVUdJTlMsIHtcbiAgICBvcHRpb25hbDogdHJ1ZVxuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnJlZ2lzdGVySGFuZGxlcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9yb290UGx1Z2lucygpOiBOZ3hzUGx1Z2luRm5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudE1hbmFnZXI/LnBsdWdpbnMgfHwgdGhpcy5wbHVnaW5zO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckhhbmRsZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IHBsdWdpbkhhbmRsZXJzOiBOZ3hzUGx1Z2luRm5bXSA9IHRoaXMuZ2V0UGx1Z2luSGFuZGxlcnMoKTtcbiAgICB0aGlzLl9yb290UGx1Z2lucy5wdXNoKC4uLnBsdWdpbkhhbmRsZXJzKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGx1Z2luSGFuZGxlcnMoKTogTmd4c1BsdWdpbkZuW10ge1xuICAgIGNvbnN0IGhhbmRsZXJzOiBOZ3hzUGx1Z2luW10gPSB0aGlzLl9wbHVnaW5IYW5kbGVycyB8fCBbXTtcbiAgICByZXR1cm4gaGFuZGxlcnMubWFwKFxuICAgICAgKHBsdWdpbjogTmd4c1BsdWdpbikgPT5cbiAgICAgICAgKHBsdWdpbi5oYW5kbGUgPyBwbHVnaW4uaGFuZGxlLmJpbmQocGx1Z2luKSA6IHBsdWdpbikgYXMgTmd4c1BsdWdpbkZuXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { InitState, UpdateState, getActionTypeFromInstance, setValue, getValue, NGXS_PLUGINS } from '@ngxs/store/plugins';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9wbHVnaW5fYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLHlCQUF5QixFQUN6QixRQUFRLEVBQ1IsUUFBUSxFQUNSLFlBQVksRUFJYixNQUFNLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgSW5pdFN0YXRlLFxuICBVcGRhdGVTdGF0ZSxcbiAgZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZSxcbiAgc2V0VmFsdWUsXG4gIGdldFZhbHVlLFxuICBOR1hTX1BMVUdJTlMsXG4gIE5neHNQbHVnaW4sXG4gIE5neHNQbHVnaW5GbixcbiAgTmd4c05leHRQbHVnaW5GblxufSBmcm9tICdAbmd4cy9zdG9yZS9wbHVnaW5zJztcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { NgxsRootModule as ɵNgxsRootModule } from './modules/ngxs-root.module';
|
|
2
|
-
export { NgxsFeatureModule as ɵNgxsFeatureModule } from './modules/ngxs-feature.module';
|
|
3
|
-
export * from './selectors/private_api';
|
|
4
|
-
export { ɵprovideNgxsInternalStateTokens } from './internal/provide-internal-tokens';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvcHJpdmF0ZV9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsSUFBSSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLElBQUksa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV4RixjQUFjLHlCQUF5QixDQUFDO0FBRXhDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTmd4c1Jvb3RNb2R1bGUgYXMgybVOZ3hzUm9vdE1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9uZ3hzLXJvb3QubW9kdWxlJztcbmV4cG9ydCB7IE5neHNGZWF0dXJlTW9kdWxlIGFzIMm1Tmd4c0ZlYXR1cmVNb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvbmd4cy1mZWF0dXJlLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0b3JzL3ByaXZhdGVfYXBpJztcblxuZXhwb3J0IHsgybVwcm92aWRlTmd4c0ludGVybmFsU3RhdGVUb2tlbnMgfSBmcm9tICcuL2ludGVybmFsL3Byb3ZpZGUtaW50ZXJuYWwtdG9rZW5zJztcbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export { NgxsModule } from './module';
|
|
2
|
-
export { Action } from './decorators/action';
|
|
3
|
-
export { Store } from './store';
|
|
4
|
-
export { State } from './decorators/state';
|
|
5
|
-
export { Select } from './decorators/select/select';
|
|
6
|
-
export { SelectorOptions } from './decorators/selector-options';
|
|
7
|
-
export { Actions } from './actions-stream';
|
|
8
|
-
export { ofAction, ofActionDispatched, ofActionSuccessful, ofActionCanceled, ofActionErrored, ofActionCompleted } from './operators/of-action';
|
|
9
|
-
export { NgxsConfig, NgxsSimpleChange } from './symbols';
|
|
10
|
-
export { Selector } from './decorators/selector/selector';
|
|
11
|
-
export { NoopNgxsExecutionStrategy } from './execution/noop-ngxs-execution-strategy';
|
|
12
|
-
export { NgxsUnhandledErrorHandler } from './ngxs-unhandled-error-handler';
|
|
13
|
-
export { NgxsDevelopmentModule, withNgxsDevelopmentOptions } from './dev-features/ngxs-development.module';
|
|
14
|
-
export { NgxsUnhandledActionsLogger } from './dev-features/ngxs-unhandled-actions-logger';
|
|
15
|
-
export { createModelSelector, createPickSelector, createPropertySelectors, createSelector } from './selectors';
|
|
16
|
-
export * from './standalone-features';
|
|
17
|
-
export * from './utils/public_api';
|
|
18
|
-
export { StateToken } from '@ngxs/store/internals';
|
|
19
|
-
export { getActionTypeFromInstance, actionMatcher } from '@ngxs/store/plugins';
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBK0IsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RSxPQUFPLEVBQ0wsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixpQkFBaUIsRUFFbEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQ0wsVUFBVSxFQU9WLGdCQUFnQixFQUNqQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUNMLHlCQUF5QixFQUUxQixNQUFNLGdDQUFnQyxDQUFDO0FBR3hDLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzNCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFMUYsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFHZixNQUFNLGFBQWEsQ0FBQztBQUVyQixjQUFjLHVCQUF1QixDQUFDO0FBRXRDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR25ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IE5neHNNb2R1bGUgfSBmcm9tICcuL21vZHVsZSc7XG5leHBvcnQgeyBBY3Rpb24gfSBmcm9tICcuL2RlY29yYXRvcnMvYWN0aW9uJztcbmV4cG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9zdG9yZSc7XG5leHBvcnQgeyBTdGF0ZSB9IGZyb20gJy4vZGVjb3JhdG9ycy9zdGF0ZSc7XG5leHBvcnQgeyBTZWxlY3QgfSBmcm9tICcuL2RlY29yYXRvcnMvc2VsZWN0L3NlbGVjdCc7XG5leHBvcnQgeyBTZWxlY3Rvck9wdGlvbnMgfSBmcm9tICcuL2RlY29yYXRvcnMvc2VsZWN0b3Itb3B0aW9ucyc7XG5leHBvcnQgeyBBY3Rpb25zLCBBY3Rpb25Db250ZXh0LCBBY3Rpb25TdGF0dXMgfSBmcm9tICcuL2FjdGlvbnMtc3RyZWFtJztcblxuZXhwb3J0IHtcbiAgb2ZBY3Rpb24sXG4gIG9mQWN0aW9uRGlzcGF0Y2hlZCxcbiAgb2ZBY3Rpb25TdWNjZXNzZnVsLFxuICBvZkFjdGlvbkNhbmNlbGVkLFxuICBvZkFjdGlvbkVycm9yZWQsXG4gIG9mQWN0aW9uQ29tcGxldGVkLFxuICBBY3Rpb25Db21wbGV0aW9uXG59IGZyb20gJy4vb3BlcmF0b3JzL29mLWFjdGlvbic7XG5leHBvcnQge1xuICBOZ3hzQ29uZmlnLFxuICBTdGF0ZUNvbnRleHQsXG4gIFN0YXRlT3BlcmF0b3IsXG4gIE5neHNPbkluaXQsXG4gIE5neHNBZnRlckJvb3RzdHJhcCxcbiAgTmd4c09uQ2hhbmdlcyxcbiAgTmd4c01vZHVsZU9wdGlvbnMsXG4gIE5neHNTaW1wbGVDaGFuZ2Vcbn0gZnJvbSAnLi9zeW1ib2xzJztcbmV4cG9ydCB7IFNlbGVjdG9yIH0gZnJvbSAnLi9kZWNvcmF0b3JzL3NlbGVjdG9yL3NlbGVjdG9yJztcbmV4cG9ydCB7IE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vZXhlY3V0aW9uL3N5bWJvbHMnO1xuZXhwb3J0IHsgQWN0aW9uVHlwZSwgQWN0aW9uRGVmIH0gZnJvbSAnLi9hY3Rpb25zL3N5bWJvbHMnO1xuZXhwb3J0IHsgTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vZXhlY3V0aW9uL25vb3Atbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuZXhwb3J0IHtcbiAgTmd4c1VuaGFuZGxlZEVycm9ySGFuZGxlcixcbiAgTmd4c1VuaGFuZGxlZEVycm9yQ29udGV4dFxufSBmcm9tICcuL25neHMtdW5oYW5kbGVkLWVycm9yLWhhbmRsZXInO1xuXG5leHBvcnQgeyBOZ3hzRGV2ZWxvcG1lbnRPcHRpb25zIH0gZnJvbSAnLi9kZXYtZmVhdHVyZXMvc3ltYm9scyc7XG5leHBvcnQge1xuICBOZ3hzRGV2ZWxvcG1lbnRNb2R1bGUsXG4gIHdpdGhOZ3hzRGV2ZWxvcG1lbnRPcHRpb25zXG59IGZyb20gJy4vZGV2LWZlYXR1cmVzL25neHMtZGV2ZWxvcG1lbnQubW9kdWxlJztcbmV4cG9ydCB7IE5neHNVbmhhbmRsZWRBY3Rpb25zTG9nZ2VyIH0gZnJvbSAnLi9kZXYtZmVhdHVyZXMvbmd4cy11bmhhbmRsZWQtYWN0aW9ucy1sb2dnZXInO1xuXG5leHBvcnQge1xuICBjcmVhdGVNb2RlbFNlbGVjdG9yLFxuICBjcmVhdGVQaWNrU2VsZWN0b3IsXG4gIGNyZWF0ZVByb3BlcnR5U2VsZWN0b3JzLFxuICBjcmVhdGVTZWxlY3RvcixcbiAgUHJvcGVydHlTZWxlY3RvcnMsXG4gIFR5cGVkU2VsZWN0b3Jcbn0gZnJvbSAnLi9zZWxlY3RvcnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3N0YW5kYWxvbmUtZmVhdHVyZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3B1YmxpY19hcGknO1xuXG5leHBvcnQgeyBTdGF0ZVRva2VuIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcbmV4cG9ydCB7IMm1QWN0aW9uT3B0aW9ucyBhcyBBY3Rpb25PcHRpb25zIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuZXhwb3J0IHsgZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZSwgYWN0aW9uTWF0Y2hlciB9IGZyb20gJ0BuZ3hzL3N0b3JlL3BsdWdpbnMnO1xuIl19
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { createSelector } from './create-selector';
|
|
2
|
-
import { ensureValidSelector, ensureValueProvided } from './selector-checks.util';
|
|
3
|
-
export function createModelSelector(selectorMap) {
|
|
4
|
-
const selectorKeys = Object.keys(selectorMap);
|
|
5
|
-
const selectors = Object.values(selectorMap);
|
|
6
|
-
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
7
|
-
ensureValidSelectorMap({
|
|
8
|
-
prefix: '[createModelSelector]',
|
|
9
|
-
selectorMap,
|
|
10
|
-
selectorKeys,
|
|
11
|
-
selectors
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
return createSelector(selectors, (...args) => {
|
|
15
|
-
return selectorKeys.reduce((obj, key, index) => {
|
|
16
|
-
obj[key] = args[index];
|
|
17
|
-
return obj;
|
|
18
|
-
}, {});
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
function ensureValidSelectorMap({ prefix, selectorMap, selectorKeys, selectors }) {
|
|
22
|
-
ensureValueProvided(selectorMap, { prefix, noun: 'selector map' });
|
|
23
|
-
ensureValueProvided(typeof selectorMap === 'object', { prefix, noun: 'valid selector map' });
|
|
24
|
-
ensureValueProvided(selectorKeys.length, { prefix, noun: 'non-empty selector map' });
|
|
25
|
-
selectors.forEach((selector, index) => ensureValidSelector(selector, {
|
|
26
|
-
prefix,
|
|
27
|
-
noun: `selector for the '${selectorKeys[index]}' property`
|
|
28
|
-
}));
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vZGVsLXNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3NlbGVjdG9ycy9jcmVhdGUtbW9kZWwtc2VsZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBYWxGLE1BQU0sVUFBVSxtQkFBbUIsQ0FBd0IsV0FBYztJQUN2RSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFN0MsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFLENBQUM7UUFDbEQsc0JBQXNCLENBQUk7WUFDeEIsTUFBTSxFQUFFLHVCQUF1QjtZQUMvQixXQUFXO1lBQ1gsWUFBWTtZQUNaLFNBQVM7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtRQUMzQyxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzVDLEdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBcUIsQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBcUIsQ0FBQztBQUN6QixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBd0IsRUFDckQsTUFBTSxFQUNOLFdBQVcsRUFDWCxZQUFZLEVBQ1osU0FBUyxFQU1WO0lBQ0MsbUJBQW1CLENBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLG1CQUFtQixDQUFDLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQztJQUNyRixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ3BDLG1CQUFtQixDQUFDLFFBQVEsRUFBRTtRQUM1QixNQUFNO1FBQ04sSUFBSSxFQUFFLHFCQUFxQixZQUFZLENBQUMsS0FBSyxDQUFDLFlBQVk7S0FDM0QsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICcuL2NyZWF0ZS1zZWxlY3Rvcic7XG5pbXBvcnQgeyBlbnN1cmVWYWxpZFNlbGVjdG9yLCBlbnN1cmVWYWx1ZVByb3ZpZGVkIH0gZnJvbSAnLi9zZWxlY3Rvci1jaGVja3MudXRpbCc7XG5pbXBvcnQgeyBUeXBlZFNlbGVjdG9yIH0gZnJvbSAnLi9zZWxlY3Rvci10eXBlcy51dGlsJztcblxuaW50ZXJmYWNlIFNlbGVjdG9yTWFwIHtcbiAgW2tleTogc3RyaW5nXTogVHlwZWRTZWxlY3Rvcjxhbnk+O1xufVxuXG50eXBlIE1vZGVsU2VsZWN0b3I8VCBleHRlbmRzIFNlbGVjdG9yTWFwPiA9ICguLi5hcmdzOiBhbnlbXSkgPT4gTWFwcGVkUmVzdWx0PFQ+O1xuXG50eXBlIE1hcHBlZFJlc3VsdDxUU2VsZWN0b3JNYXA+ID0ge1xuICBbUCBpbiBrZXlvZiBUU2VsZWN0b3JNYXBdOiBUU2VsZWN0b3JNYXBbUF0gZXh0ZW5kcyBUeXBlZFNlbGVjdG9yPGluZmVyIFI+ID8gUiA6IG5ldmVyO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vZGVsU2VsZWN0b3I8VCBleHRlbmRzIFNlbGVjdG9yTWFwPihzZWxlY3Rvck1hcDogVCk6IE1vZGVsU2VsZWN0b3I8VD4ge1xuICBjb25zdCBzZWxlY3RvcktleXMgPSBPYmplY3Qua2V5cyhzZWxlY3Rvck1hcCk7XG4gIGNvbnN0IHNlbGVjdG9ycyA9IE9iamVjdC52YWx1ZXMoc2VsZWN0b3JNYXApO1xuXG4gIGlmICh0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUpIHtcbiAgICBlbnN1cmVWYWxpZFNlbGVjdG9yTWFwPFQ+KHtcbiAgICAgIHByZWZpeDogJ1tjcmVhdGVNb2RlbFNlbGVjdG9yXScsXG4gICAgICBzZWxlY3Rvck1hcCxcbiAgICAgIHNlbGVjdG9yS2V5cyxcbiAgICAgIHNlbGVjdG9yc1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVNlbGVjdG9yKHNlbGVjdG9ycywgKC4uLmFyZ3MpID0+IHtcbiAgICByZXR1cm4gc2VsZWN0b3JLZXlzLnJlZHVjZSgob2JqLCBrZXksIGluZGV4KSA9PiB7XG4gICAgICAob2JqIGFzIGFueSlba2V5XSA9IGFyZ3NbaW5kZXhdO1xuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LCB7fSBhcyBNYXBwZWRSZXN1bHQ8VD4pO1xuICB9KSBhcyBNb2RlbFNlbGVjdG9yPFQ+O1xufVxuXG5mdW5jdGlvbiBlbnN1cmVWYWxpZFNlbGVjdG9yTWFwPFQgZXh0ZW5kcyBTZWxlY3Rvck1hcD4oe1xuICBwcmVmaXgsXG4gIHNlbGVjdG9yTWFwLFxuICBzZWxlY3RvcktleXMsXG4gIHNlbGVjdG9yc1xufToge1xuICBwcmVmaXg6IHN0cmluZztcbiAgc2VsZWN0b3JNYXA6IFQ7XG4gIHNlbGVjdG9yS2V5czogc3RyaW5nW107XG4gIHNlbGVjdG9yczogVHlwZWRTZWxlY3Rvcjxhbnk+W107XG59KSB7XG4gIGVuc3VyZVZhbHVlUHJvdmlkZWQoc2VsZWN0b3JNYXAsIHsgcHJlZml4LCBub3VuOiAnc2VsZWN0b3IgbWFwJyB9KTtcbiAgZW5zdXJlVmFsdWVQcm92aWRlZCh0eXBlb2Ygc2VsZWN0b3JNYXAgPT09ICdvYmplY3QnLCB7IHByZWZpeCwgbm91bjogJ3ZhbGlkIHNlbGVjdG9yIG1hcCcgfSk7XG4gIGVuc3VyZVZhbHVlUHJvdmlkZWQoc2VsZWN0b3JLZXlzLmxlbmd0aCwgeyBwcmVmaXgsIG5vdW46ICdub24tZW1wdHkgc2VsZWN0b3IgbWFwJyB9KTtcbiAgc2VsZWN0b3JzLmZvckVhY2goKHNlbGVjdG9yLCBpbmRleCkgPT5cbiAgICBlbnN1cmVWYWxpZFNlbGVjdG9yKHNlbGVjdG9yLCB7XG4gICAgICBwcmVmaXgsXG4gICAgICBub3VuOiBgc2VsZWN0b3IgZm9yIHRoZSAnJHtzZWxlY3RvcktleXNbaW5kZXhdfScgcHJvcGVydHlgXG4gICAgfSlcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { createSelector } from './create-selector';
|
|
2
|
-
import { ensureValidSelector } from './selector-checks.util';
|
|
3
|
-
export function createPickSelector(selector, keys) {
|
|
4
|
-
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
5
|
-
ensureValidSelector(selector, { prefix: '[createPickSelector]' });
|
|
6
|
-
}
|
|
7
|
-
const validKeys = keys.filter(Boolean);
|
|
8
|
-
const selectors = validKeys.map(key => createSelector([selector], (s) => s[key]));
|
|
9
|
-
return createSelector([...selectors], (...props) => {
|
|
10
|
-
return validKeys.reduce((acc, key, index) => {
|
|
11
|
-
acc[key] = props[index];
|
|
12
|
-
return acc;
|
|
13
|
-
}, {});
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBpY2stc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL2NyZWF0ZS1waWNrLXNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU83RCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFFBQStCLEVBQy9CLElBQWU7SUFFZixJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNsRCxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixPQUFPLGNBQWMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQWlDLEVBQUUsRUFBRTtRQUM3RSxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQ3JCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNsQixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUNELEVBQWdDLENBQ2pDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJy4vY3JlYXRlLXNlbGVjdG9yJztcbmltcG9ydCB7IGVuc3VyZVZhbGlkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9yLWNoZWNrcy51dGlsJztcbmltcG9ydCB7IFR5cGVkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9yLXR5cGVzLnV0aWwnO1xuXG50eXBlIEtleXNUb1ZhbHVlczxULCBLZXlzIGV4dGVuZHMgKGtleW9mIFQpW10+ID0ge1xuICBbSW5kZXggaW4ga2V5b2YgS2V5c106IEtleXNbSW5kZXhdIGV4dGVuZHMga2V5b2YgVCA/IFRbS2V5c1tJbmRleF1dIDogbmV2ZXI7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGlja1NlbGVjdG9yPFRNb2RlbCwgS2V5cyBleHRlbmRzIChrZXlvZiBUTW9kZWwpW10+KFxuICBzZWxlY3RvcjogVHlwZWRTZWxlY3RvcjxUTW9kZWw+LFxuICBrZXlzOiBbLi4uS2V5c11cbikge1xuICBpZiAodHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlKSB7XG4gICAgZW5zdXJlVmFsaWRTZWxlY3RvcihzZWxlY3RvciwgeyBwcmVmaXg6ICdbY3JlYXRlUGlja1NlbGVjdG9yXScgfSk7XG4gIH1cbiAgY29uc3QgdmFsaWRLZXlzID0ga2V5cy5maWx0ZXIoQm9vbGVhbik7XG4gIGNvbnN0IHNlbGVjdG9ycyA9IHZhbGlkS2V5cy5tYXAoa2V5ID0+IGNyZWF0ZVNlbGVjdG9yKFtzZWxlY3Rvcl0sIChzOiBUTW9kZWwpID0+IHNba2V5XSkpO1xuICByZXR1cm4gY3JlYXRlU2VsZWN0b3IoWy4uLnNlbGVjdG9yc10sICguLi5wcm9wczogS2V5c1RvVmFsdWVzPFRNb2RlbCwgS2V5cz4pID0+IHtcbiAgICByZXR1cm4gdmFsaWRLZXlzLnJlZHVjZShcbiAgICAgIChhY2MsIGtleSwgaW5kZXgpID0+IHtcbiAgICAgICAgYWNjW2tleV0gPSBwcm9wc1tpbmRleF07XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAge30gYXMgUGljazxUTW9kZWwsIEtleXNbbnVtYmVyXT5cbiAgICApO1xuICB9KTtcbn1cbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { createSelector } from './create-selector';
|
|
2
|
-
import { ensureValidSelector } from './selector-checks.util';
|
|
3
|
-
export function createPropertySelectors(parentSelector) {
|
|
4
|
-
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
5
|
-
ensureValidSelector(parentSelector, {
|
|
6
|
-
prefix: '[createPropertySelectors]',
|
|
7
|
-
noun: 'parent selector'
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
const cache = {};
|
|
11
|
-
return new Proxy({}, {
|
|
12
|
-
get(_target, prop) {
|
|
13
|
-
const selector = cache[prop] ||
|
|
14
|
-
createSelector([parentSelector], (s) => s?.[prop]);
|
|
15
|
-
cache[prop] = selector;
|
|
16
|
-
return selector;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb3BlcnR5LXNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zZWxlY3RvcnMvY3JlYXRlLXByb3BlcnR5LXNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFTN0QsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxjQUFvQztJQUVwQyxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNsRCxtQkFBbUIsQ0FBQyxjQUFjLEVBQUU7WUFDbEMsTUFBTSxFQUFFLDJCQUEyQjtZQUNuQyxJQUFJLEVBQUUsaUJBQWlCO1NBQ3hCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBdUMsRUFBRSxDQUFDO0lBQ3JELE9BQU8sSUFBSSxLQUFLLENBQ2QsRUFBMEMsRUFDMUM7UUFDRSxHQUFHLENBQUMsT0FBWSxFQUFFLElBQWtCO1lBQ2xDLE1BQU0sUUFBUSxHQUNaLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ1YsY0FBYyxDQUNiLENBQUMsY0FBYyxDQUFDLEVBQ2hCLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDa0IsQ0FBQztZQUMvQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7S0FDeUMsQ0FDN0MsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJy4vY3JlYXRlLXNlbGVjdG9yJztcbmltcG9ydCB7IGVuc3VyZVZhbGlkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9yLWNoZWNrcy51dGlsJztcbmltcG9ydCB7IMm1U2VsZWN0b3JEZWYgfSBmcm9tICcuL3NlbGVjdG9yLXR5cGVzLnV0aWwnO1xuXG5leHBvcnQgdHlwZSBQcm9wZXJ0eVNlbGVjdG9yczxUTW9kZWw+ID0ge1xuICBbUCBpbiBrZXlvZiBOb25OdWxsYWJsZTxUTW9kZWw+XS0/OiAoXG4gICAgbW9kZWw6IFRNb2RlbFxuICApID0+IFRNb2RlbCBleHRlbmRzIG51bGwgfCB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBOb25OdWxsYWJsZTxUTW9kZWw+W1BdO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb3BlcnR5U2VsZWN0b3JzPFRNb2RlbD4oXG4gIHBhcmVudFNlbGVjdG9yOiDJtVNlbGVjdG9yRGVmPFRNb2RlbD5cbik6IFByb3BlcnR5U2VsZWN0b3JzPFRNb2RlbD4ge1xuICBpZiAodHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlKSB7XG4gICAgZW5zdXJlVmFsaWRTZWxlY3RvcihwYXJlbnRTZWxlY3Rvciwge1xuICAgICAgcHJlZml4OiAnW2NyZWF0ZVByb3BlcnR5U2VsZWN0b3JzXScsXG4gICAgICBub3VuOiAncGFyZW50IHNlbGVjdG9yJ1xuICAgIH0pO1xuICB9XG4gIGNvbnN0IGNhY2hlOiBQYXJ0aWFsPFByb3BlcnR5U2VsZWN0b3JzPFRNb2RlbD4+ID0ge307XG4gIHJldHVybiBuZXcgUHJveHk8UHJvcGVydHlTZWxlY3RvcnM8VE1vZGVsPj4oXG4gICAge30gYXMgdW5rbm93biBhcyBQcm9wZXJ0eVNlbGVjdG9yczxUTW9kZWw+LFxuICAgIHtcbiAgICAgIGdldChfdGFyZ2V0OiBhbnksIHByb3A6IGtleW9mIFRNb2RlbCkge1xuICAgICAgICBjb25zdCBzZWxlY3RvciA9XG4gICAgICAgICAgY2FjaGVbcHJvcF0gfHxcbiAgICAgICAgICAoY3JlYXRlU2VsZWN0b3IoXG4gICAgICAgICAgICBbcGFyZW50U2VsZWN0b3JdLFxuICAgICAgICAgICAgKHM6IFRNb2RlbCkgPT4gcz8uW3Byb3BdXG4gICAgICAgICAgKSBhcyBQcm9wZXJ0eVNlbGVjdG9yczxUTW9kZWw+W3R5cGVvZiBwcm9wXSk7XG4gICAgICAgIGNhY2hlW3Byb3BdID0gc2VsZWN0b3I7XG4gICAgICAgIHJldHVybiBzZWxlY3RvcjtcbiAgICAgIH1cbiAgICB9IGFzIFByb3h5SGFuZGxlcjxQcm9wZXJ0eVNlbGVjdG9yczxUTW9kZWw+PlxuICApO1xufVxuIl19
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { setupSelectorMetadata } from './selector-metadata';
|
|
2
|
-
import { createMemoizedSelectorFn, createRootSelectorFactory } from './selector-utils';
|
|
3
|
-
export function createSelector(selectors, projector, creationMetadata) {
|
|
4
|
-
const memoizedFn = createMemoizedSelectorFn(projector, creationMetadata);
|
|
5
|
-
const selectorMetaData = setupSelectorMetadata(projector, creationMetadata);
|
|
6
|
-
selectorMetaData.makeRootSelector = createRootSelectorFactory(selectorMetaData, selectors, memoizedFn);
|
|
7
|
-
return memoizedFn;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3NlbGVjdG9ycy9jcmVhdGUtc2VsZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUE2SnZGLE1BQU0sVUFBVSxjQUFjLENBQzVCLFNBQW9DLEVBQ3BDLFNBQVksRUFDWixnQkFBNEM7SUFFNUMsTUFBTSxVQUFVLEdBQUcsd0JBQXdCLENBQUksU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFFNUUsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBSSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUUvRSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsR0FBRyx5QkFBeUIsQ0FDM0QsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLENBQ1gsQ0FBQztJQUVGLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcmVhdGlvbk1ldGFkYXRhIH0gZnJvbSAnLi9zZWxlY3Rvci1tb2RlbHMnO1xuaW1wb3J0IHsgc2V0dXBTZWxlY3Rvck1ldGFkYXRhIH0gZnJvbSAnLi9zZWxlY3Rvci1tZXRhZGF0YSc7XG5pbXBvcnQgeyBjcmVhdGVNZW1vaXplZFNlbGVjdG9yRm4sIGNyZWF0ZVJvb3RTZWxlY3RvckZhY3RvcnkgfSBmcm9tICcuL3NlbGVjdG9yLXV0aWxzJztcblxuaW1wb3J0IHsgybVTZWxlY3RvckRlZiwgybVTZWxlY3RvclJldHVyblR5cGUgfSBmcm9tICcuL3NlbGVjdG9yLXR5cGVzLnV0aWwnO1xuXG50eXBlIFNlbGVjdG9yQXJnID0gybVTZWxlY3RvckRlZjxhbnk+O1xuXG4vKipcbiAqIEZ1bmN0aW9uIGZvciBjcmVhdGluZyBhIHNlbGVjdG9yXG4gKiBAcGFyYW0gc2VsZWN0b3JzIFRoZSBzZWxlY3RvcnMgdG8gdXNlIHRvIGNyZWF0ZSB0aGUgYXJndW1lbnRzIG9mIHRoaXMgZnVuY3Rpb25cbiAqIEBwYXJhbSBvcmlnaW5hbEZuIFRoZSBvcmlnaW5hbCBmdW5jdGlvbiBiZWluZyBtYWRlIGludG8gYSBzZWxlY3RvclxuICogQHBhcmFtIGNyZWF0aW9uTWV0YWRhdGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdG9yPFxuICBTMSBleHRlbmRzIFNlbGVjdG9yQXJnLFxuICBUUHJvamVjdG9yIGV4dGVuZHMgKHMxOiDJtVNlbGVjdG9yUmV0dXJuVHlwZTxTMT4pID0+IGFueVxuPihcbiAgc2VsZWN0b3JzOiBbUzFdLFxuICBwcm9qZWN0b3I6IFRQcm9qZWN0b3IsXG4gIGNyZWF0aW9uTWV0YWRhdGE/OiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+XG4pOiBUUHJvamVjdG9yO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0b3I8XG4gIFMxIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMyIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFRQcm9qZWN0b3IgZXh0ZW5kcyAoczE6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFMxPiwgczI6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFMyPikgPT4gYW55XG4+KFxuICBzZWxlY3RvcnM6IFtTMSwgUzJdLFxuICBwcm9qZWN0b3I6IFRQcm9qZWN0b3IsXG4gIGNyZWF0aW9uTWV0YWRhdGE/OiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+XG4pOiBUUHJvamVjdG9yO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0b3I8XG4gIFMxIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMyIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMzIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFRQcm9qZWN0b3IgZXh0ZW5kcyAoXG4gICAgczE6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFMxPixcbiAgICBzMjogybVTZWxlY3RvclJldHVyblR5cGU8UzI+LFxuICAgIHMzOiDJtVNlbGVjdG9yUmV0dXJuVHlwZTxTMz5cbiAgKSA9PiBhbnlcbj4oXG4gIHNlbGVjdG9yczogW1MxLCBTMiwgUzNdLFxuICBwcm9qZWN0b3I6IFRQcm9qZWN0b3IsXG4gIGNyZWF0aW9uTWV0YWRhdGE/OiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+XG4pOiBUUHJvamVjdG9yO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0b3I8XG4gIFMxIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMyIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMzIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM0IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFRQcm9qZWN0b3IgZXh0ZW5kcyAoXG4gICAgczE6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFMxPixcbiAgICBzMjogybVTZWxlY3RvclJldHVyblR5cGU8UzI+LFxuICAgIHMzOiDJtVNlbGVjdG9yUmV0dXJuVHlwZTxTMz4sXG4gICAgczQ6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFM0PlxuICApID0+IGFueVxuPihcbiAgc2VsZWN0b3JzOiBbUzEsIFMyLCBTMywgUzRdLFxuICBwcm9qZWN0b3I6IFRQcm9qZWN0b3IsXG4gIGNyZWF0aW9uTWV0YWRhdGE/OiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+XG4pOiBUUHJvamVjdG9yO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0b3I8XG4gIFMxIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMyIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMzIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM0IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM1IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFRQcm9qZWN0b3IgZXh0ZW5kcyAoXG4gICAgczE6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFMxPixcbiAgICBzMjogybVTZWxlY3RvclJldHVyblR5cGU8UzI+LFxuICAgIHMzOiDJtVNlbGVjdG9yUmV0dXJuVHlwZTxTMz4sXG4gICAgczQ6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFM0PixcbiAgICBzNTogybVTZWxlY3RvclJldHVyblR5cGU8UzU+XG4gICkgPT4gYW55XG4+KFxuICBzZWxlY3RvcnM6IFtTMSwgUzIsIFMzLCBTNCwgUzVdLFxuICBwcm9qZWN0b3I6IFRQcm9qZWN0b3IsXG4gIGNyZWF0aW9uTWV0YWRhdGE/OiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+XG4pOiBUUHJvamVjdG9yO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0b3I8XG4gIFMxIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMyIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMzIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM0IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM1IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM2IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFRQcm9qZWN0b3IgZXh0ZW5kcyAoXG4gICAgczE6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFMxPixcbiAgICBzMjogybVTZWxlY3RvclJldHVyblR5cGU8UzI+LFxuICAgIHMzOiDJtVNlbGVjdG9yUmV0dXJuVHlwZTxTMz4sXG4gICAgczQ6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFM0PixcbiAgICBzNTogybVTZWxlY3RvclJldHVyblR5cGU8UzU+LFxuICAgIHM2OiDJtVNlbGVjdG9yUmV0dXJuVHlwZTxTNj5cbiAgKSA9PiBhbnlcbj4oXG4gIHNlbGVjdG9yczogW1MxLCBTMiwgUzMsIFM0LCBTNSwgUzZdLFxuICBwcm9qZWN0b3I6IFRQcm9qZWN0b3IsXG4gIGNyZWF0aW9uTWV0YWRhdGE/OiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+XG4pOiBUUHJvamVjdG9yO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0b3I8XG4gIFMxIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMyIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMzIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM0IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM1IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM2IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM3IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFRQcm9qZWN0b3IgZXh0ZW5kcyAoXG4gICAgczE6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFMxPixcbiAgICBzMjogybVTZWxlY3RvclJldHVyblR5cGU8UzI+LFxuICAgIHMzOiDJtVNlbGVjdG9yUmV0dXJuVHlwZTxTMz4sXG4gICAgczQ6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFM0PixcbiAgICBzNTogybVTZWxlY3RvclJldHVyblR5cGU8UzU+LFxuICAgIHM2OiDJtVNlbGVjdG9yUmV0dXJuVHlwZTxTNj4sXG4gICAgczc6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFM3PlxuICApID0+IGFueVxuPihcbiAgc2VsZWN0b3JzOiBbUzEsIFMyLCBTMywgUzQsIFM1LCBTNiwgUzddLFxuICBwcm9qZWN0b3I6IFRQcm9qZWN0b3IsXG4gIGNyZWF0aW9uTWV0YWRhdGE/OiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+XG4pOiBUUHJvamVjdG9yO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0b3I8XG4gIFMxIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMyIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFMzIGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM0IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM1IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM2IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM3IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFM4IGV4dGVuZHMgU2VsZWN0b3JBcmcsXG4gIFRQcm9qZWN0b3IgZXh0ZW5kcyAoXG4gICAgczE6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFMxPixcbiAgICBzMjogybVTZWxlY3RvclJldHVyblR5cGU8UzI+LFxuICAgIHMzOiDJtVNlbGVjdG9yUmV0dXJuVHlwZTxTMz4sXG4gICAgczQ6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFM0PixcbiAgICBzNTogybVTZWxlY3RvclJldHVyblR5cGU8UzU+LFxuICAgIHM2OiDJtVNlbGVjdG9yUmV0dXJuVHlwZTxTNj4sXG4gICAgczc6IMm1U2VsZWN0b3JSZXR1cm5UeXBlPFM3PixcbiAgICBzODogybVTZWxlY3RvclJldHVyblR5cGU8Uzg+XG4gICkgPT4gYW55XG4+KFxuICBzZWxlY3RvcnM6IFtTMSwgUzIsIFMzLCBTNCwgUzUsIFM2LCBTNywgUzhdLFxuICBwcm9qZWN0b3I6IFRQcm9qZWN0b3IsXG4gIGNyZWF0aW9uTWV0YWRhdGE/OiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+XG4pOiBUUHJvamVjdG9yO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0b3I8VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55PihcbiAgc2VsZWN0b3JzOiBTZWxlY3RvckFyZ1tdIHwgdW5kZWZpbmVkLFxuICBwcm9qZWN0b3I6IFQsXG4gIGNyZWF0aW9uTWV0YWRhdGE/OiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+XG4pOiBUO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0b3I8VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55PihcbiAgc2VsZWN0b3JzOiBTZWxlY3RvckFyZ1tdIHwgdW5kZWZpbmVkLFxuICBwcm9qZWN0b3I6IFQsXG4gIGNyZWF0aW9uTWV0YWRhdGE/OiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+XG4pIHtcbiAgY29uc3QgbWVtb2l6ZWRGbiA9IGNyZWF0ZU1lbW9pemVkU2VsZWN0b3JGbjxUPihwcm9qZWN0b3IsIGNyZWF0aW9uTWV0YWRhdGEpO1xuXG4gIGNvbnN0IHNlbGVjdG9yTWV0YURhdGEgPSBzZXR1cFNlbGVjdG9yTWV0YWRhdGE8VD4ocHJvamVjdG9yLCBjcmVhdGlvbk1ldGFkYXRhKTtcblxuICBzZWxlY3Rvck1ldGFEYXRhLm1ha2VSb290U2VsZWN0b3IgPSBjcmVhdGVSb290U2VsZWN0b3JGYWN0b3J5PFQ+KFxuICAgIHNlbGVjdG9yTWV0YURhdGEsXG4gICAgc2VsZWN0b3JzLFxuICAgIG1lbW9pemVkRm5cbiAgKTtcblxuICByZXR1cm4gbWVtb2l6ZWRGbjtcbn1cbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './create-model-selector';
|
|
2
|
-
export * from './create-pick-selector';
|
|
3
|
-
export * from './create-property-selectors';
|
|
4
|
-
export * from './create-selector';
|
|
5
|
-
export * from './selector-types.util';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLW1vZGVsLXNlbGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLXBpY2stc2VsZWN0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtcHJvcGVydHktc2VsZWN0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLXNlbGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0b3ItdHlwZXMudXRpbCc7XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL3ByaXZhdGVfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZXNlIHR5cGVzIGFyZSBleHBvcnRlZCBwcml2YXRlbHkgZm9yIGRldmVsb3BlcnMgd2hvIHdvcmsgb24gYWR2YW5jZWRcbiAqIHV0aWxpdGllcyBhbmQgbWF5IG5lZWQgdG8gdXNlIHRoZXNlIHR5cGVzIGV4dGVybmFsbHkuIEZvciBpbnN0YW5jZSxcbiAqIHRoZXkgbWF5IGhhdmUgYSBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgc2VsZWN0b3IgZnVuY3Rpb25zIGFuZCByZXR1cm5zXG4gKiBzaWduYWxzIHdpdGggdGhlIHR5cGUgY29ycmVzcG9uZGluZyB0byB0aGUgcmV0dXJuIHR5cGUgb2YgdGhvc2Ugc2VsZWN0b3JzLlxuICovXG5leHBvcnQge1xuICDJtVNlbGVjdG9yRnVuYyxcbiAgybVTdGF0ZVNlbGVjdG9yLFxuICDJtVNlbGVjdG9yRGVmLFxuICDJtVNlbGVjdG9yUmV0dXJuVHlwZVxufSBmcm9tICcuL3NlbGVjdG9yLXR5cGVzLnV0aWwnO1xuIl19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { ɵgetSelectorMetadata, ɵgetStoreMetadata } from '@ngxs/store/internals';
|
|
2
|
-
import { NgZone } from '@angular/core';
|
|
3
|
-
function getMissingMetaDataError(selector, context = {}) {
|
|
4
|
-
const metadata = ɵgetSelectorMetadata(selector) || ɵgetStoreMetadata(selector);
|
|
5
|
-
if (!metadata) {
|
|
6
|
-
return new Error(`${context.prefix}The value provided as the ${context.noun} is not a valid selector.`);
|
|
7
|
-
}
|
|
8
|
-
return null;
|
|
9
|
-
}
|
|
10
|
-
export function ensureValidSelector(selector, context = {}) {
|
|
11
|
-
const noun = context.noun || 'selector';
|
|
12
|
-
const prefix = context.prefix ? context.prefix + ': ' : '';
|
|
13
|
-
ensureValueProvided(selector, { noun, prefix: context.prefix });
|
|
14
|
-
const error = getMissingMetaDataError(selector, { noun, prefix });
|
|
15
|
-
if (error) {
|
|
16
|
-
// If we have used this utility within a state class, we may be
|
|
17
|
-
// before the @State or @Selector decorators have been applied.
|
|
18
|
-
// wait until the next microtask to verify.
|
|
19
|
-
// Theoretically this situation is only encountered when the javascript
|
|
20
|
-
// files are being loaded and we are outside the angular zone.
|
|
21
|
-
if (!NgZone.isInAngularZone()) {
|
|
22
|
-
Promise.resolve().then(() => {
|
|
23
|
-
const errorAgain = getMissingMetaDataError(selector, { noun, prefix });
|
|
24
|
-
if (errorAgain) {
|
|
25
|
-
// Throw the originally captured error so that the stack trace shows the
|
|
26
|
-
// original utility call site.
|
|
27
|
-
console.error(error);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
throw error;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
export function ensureValueProvided(value, context = {}) {
|
|
37
|
-
const noun = context.noun || 'value';
|
|
38
|
-
const prefix = context.prefix ? context.prefix + ': ' : '';
|
|
39
|
-
if (!value) {
|
|
40
|
-
throw new Error(`${prefix}A ${noun} must be provided.`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItY2hlY2tzLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL3NlbGVjdG9yLWNoZWNrcy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsU0FBUyx1QkFBdUIsQ0FDOUIsUUFBMkIsRUFDM0IsVUFBOEMsRUFBRTtJQUVoRCxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxRQUFlLENBQUMsQ0FBQztJQUN0RixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxPQUFPLElBQUksS0FBSyxDQUNkLEdBQUcsT0FBTyxDQUFDLE1BQU0sNkJBQTZCLE9BQU8sQ0FBQyxJQUFJLDJCQUEyQixDQUN0RixDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsUUFBMkIsRUFDM0IsVUFBOEMsRUFBRTtJQUVoRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQztJQUN4QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzNELG1CQUFtQixDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEUsTUFBTSxLQUFLLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEUsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLCtEQUErRDtRQUMvRCxnRUFBZ0U7UUFDaEUsNENBQTRDO1FBQzVDLHVFQUF1RTtRQUN2RSwrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUMxQixNQUFNLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDZix3RUFBd0U7b0JBQ3hFLDhCQUE4QjtvQkFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsS0FBVSxFQUNWLFVBQThDLEVBQUU7SUFFaEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUM7SUFDckMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsTUFBTSxLQUFLLElBQUksb0JBQW9CLENBQUMsQ0FBQztJQUMxRCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1Z2V0U2VsZWN0b3JNZXRhZGF0YSwgybVnZXRTdG9yZU1ldGFkYXRhIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcbmltcG9ydCB7IMm1U2VsZWN0b3JEZWYgfSBmcm9tICcuL3NlbGVjdG9yLXR5cGVzLnV0aWwnO1xuaW1wb3J0IHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmZ1bmN0aW9uIGdldE1pc3NpbmdNZXRhRGF0YUVycm9yKFxuICBzZWxlY3RvcjogybVTZWxlY3RvckRlZjxhbnk+LFxuICBjb250ZXh0OiB7IHByZWZpeD86IHN0cmluZzsgbm91bj86IHN0cmluZyB9ID0ge31cbikge1xuICBjb25zdCBtZXRhZGF0YSA9IMm1Z2V0U2VsZWN0b3JNZXRhZGF0YShzZWxlY3RvcikgfHwgybVnZXRTdG9yZU1ldGFkYXRhKHNlbGVjdG9yIGFzIGFueSk7XG4gIGlmICghbWV0YWRhdGEpIHtcbiAgICByZXR1cm4gbmV3IEVycm9yKFxuICAgICAgYCR7Y29udGV4dC5wcmVmaXh9VGhlIHZhbHVlIHByb3ZpZGVkIGFzIHRoZSAke2NvbnRleHQubm91bn0gaXMgbm90IGEgdmFsaWQgc2VsZWN0b3IuYFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVWYWxpZFNlbGVjdG9yKFxuICBzZWxlY3RvcjogybVTZWxlY3RvckRlZjxhbnk+LFxuICBjb250ZXh0OiB7IHByZWZpeD86IHN0cmluZzsgbm91bj86IHN0cmluZyB9ID0ge31cbikge1xuICBjb25zdCBub3VuID0gY29udGV4dC5ub3VuIHx8ICdzZWxlY3Rvcic7XG4gIGNvbnN0IHByZWZpeCA9IGNvbnRleHQucHJlZml4ID8gY29udGV4dC5wcmVmaXggKyAnOiAnIDogJyc7XG4gIGVuc3VyZVZhbHVlUHJvdmlkZWQoc2VsZWN0b3IsIHsgbm91biwgcHJlZml4OiBjb250ZXh0LnByZWZpeCB9KTtcbiAgY29uc3QgZXJyb3IgPSBnZXRNaXNzaW5nTWV0YURhdGFFcnJvcihzZWxlY3RvciwgeyBub3VuLCBwcmVmaXggfSk7XG4gIGlmIChlcnJvcikge1xuICAgIC8vIElmIHdlIGhhdmUgdXNlZCB0aGlzIHV0aWxpdHkgd2l0aGluIGEgc3RhdGUgY2xhc3MsIHdlIG1heSBiZVxuICAgIC8vICBiZWZvcmUgdGhlIEBTdGF0ZSBvciBAU2VsZWN0b3IgZGVjb3JhdG9ycyBoYXZlIGJlZW4gYXBwbGllZC5cbiAgICAvLyAgd2FpdCB1bnRpbCB0aGUgbmV4dCBtaWNyb3Rhc2sgdG8gdmVyaWZ5LlxuICAgIC8vIFRoZW9yZXRpY2FsbHkgdGhpcyBzaXR1YXRpb24gaXMgb25seSBlbmNvdW50ZXJlZCB3aGVuIHRoZSBqYXZhc2NyaXB0XG4gICAgLy8gIGZpbGVzIGFyZSBiZWluZyBsb2FkZWQgYW5kIHdlIGFyZSBvdXRzaWRlIHRoZSBhbmd1bGFyIHpvbmUuXG4gICAgaWYgKCFOZ1pvbmUuaXNJbkFuZ3VsYXJab25lKCkpIHtcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBlcnJvckFnYWluID0gZ2V0TWlzc2luZ01ldGFEYXRhRXJyb3Ioc2VsZWN0b3IsIHsgbm91biwgcHJlZml4IH0pO1xuICAgICAgICBpZiAoZXJyb3JBZ2Fpbikge1xuICAgICAgICAgIC8vIFRocm93IHRoZSBvcmlnaW5hbGx5IGNhcHR1cmVkIGVycm9yIHNvIHRoYXQgdGhlIHN0YWNrIHRyYWNlIHNob3dzIHRoZVxuICAgICAgICAgIC8vIG9yaWdpbmFsIHV0aWxpdHkgY2FsbCBzaXRlLlxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVWYWx1ZVByb3ZpZGVkKFxuICB2YWx1ZTogYW55LFxuICBjb250ZXh0OiB7IHByZWZpeD86IHN0cmluZzsgbm91bj86IHN0cmluZyB9ID0ge31cbikge1xuICBjb25zdCBub3VuID0gY29udGV4dC5ub3VuIHx8ICd2YWx1ZSc7XG4gIGNvbnN0IHByZWZpeCA9IGNvbnRleHQucHJlZml4ID8gY29udGV4dC5wcmVmaXggKyAnOiAnIDogJyc7XG4gIGlmICghdmFsdWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7cHJlZml4fUEgJHtub3VufSBtdXN0IGJlIHByb3ZpZGVkLmApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ɵensureSelectorMetadata } from '@ngxs/store/internals';
|
|
2
|
-
const SELECTOR_OPTIONS_META_KEY = 'NGXS_SELECTOR_OPTIONS_META';
|
|
3
|
-
export const selectorOptionsMetaAccessor = {
|
|
4
|
-
getOptions: (target) => {
|
|
5
|
-
return (target && target[SELECTOR_OPTIONS_META_KEY]) || {};
|
|
6
|
-
},
|
|
7
|
-
defineOptions: (target, options) => {
|
|
8
|
-
if (!target)
|
|
9
|
-
return;
|
|
10
|
-
target[SELECTOR_OPTIONS_META_KEY] = options;
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
export function setupSelectorMetadata(originalFn, creationMetadata) {
|
|
14
|
-
const selectorMetaData = ɵensureSelectorMetadata(originalFn);
|
|
15
|
-
selectorMetaData.originalFn = originalFn;
|
|
16
|
-
let getExplicitSelectorOptions = () => ({});
|
|
17
|
-
if (creationMetadata) {
|
|
18
|
-
selectorMetaData.containerClass = creationMetadata.containerClass;
|
|
19
|
-
selectorMetaData.selectorName = creationMetadata.selectorName || null;
|
|
20
|
-
getExplicitSelectorOptions =
|
|
21
|
-
creationMetadata.getSelectorOptions || getExplicitSelectorOptions;
|
|
22
|
-
}
|
|
23
|
-
const selectorMetaDataClone = { ...selectorMetaData };
|
|
24
|
-
selectorMetaData.getSelectorOptions = () => getLocalSelectorOptions(selectorMetaDataClone, getExplicitSelectorOptions());
|
|
25
|
-
return selectorMetaData;
|
|
26
|
-
}
|
|
27
|
-
function getLocalSelectorOptions(selectorMetaData, explicitOptions) {
|
|
28
|
-
return {
|
|
29
|
-
...(selectorOptionsMetaAccessor.getOptions(selectorMetaData.containerClass) || {}),
|
|
30
|
-
...(selectorOptionsMetaAccessor.getOptions(selectorMetaData.originalFn) || {}),
|
|
31
|
-
...(selectorMetaData.getSelectorOptions() || {}),
|
|
32
|
-
...explicitOptions
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItbWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL3NlbGVjdG9yLW1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCx1QkFBdUIsRUFDeEIsTUFBTSx1QkFBdUIsQ0FBQztBQUkvQixNQUFNLHlCQUF5QixHQUFHLDRCQUE0QixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHO0lBQ3pDLFVBQVUsRUFBRSxDQUFDLE1BQVcsRUFBMEIsRUFBRTtRQUNsRCxPQUFPLENBQUMsTUFBTSxJQUFVLE1BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFDRCxhQUFhLEVBQUUsQ0FBQyxNQUFXLEVBQUUsT0FBK0IsRUFBRSxFQUFFO1FBQzlELElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUNkLE1BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUNyRCxDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsVUFBYSxFQUNiLGdCQUF1RDtJQUV2RCxNQUFNLGdCQUFnQixHQUFHLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdELGdCQUFnQixDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDekMsSUFBSSwwQkFBMEIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUNyQixnQkFBZ0IsQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO1FBQ2xFLGdCQUFnQixDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDO1FBQ3RFLDBCQUEwQjtZQUN4QixnQkFBZ0IsQ0FBQyxrQkFBa0IsSUFBSSwwQkFBMEIsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsTUFBTSxxQkFBcUIsR0FBRyxFQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztJQUN0RCxnQkFBZ0IsQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLEVBQUUsQ0FDekMsdUJBQXVCLENBQUMscUJBQXFCLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQzlCLGdCQUF3QyxFQUN4QyxlQUF1QztJQUV2QyxPQUFPO1FBQ0wsR0FBRyxDQUFDLDJCQUEyQixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEYsR0FBRyxDQUFDLDJCQUEyQixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUUsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2hELEdBQUcsZUFBZTtLQUNuQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIMm1U2VsZWN0b3JNZXRhRGF0YU1vZGVsLFxuICDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucyxcbiAgybVlbnN1cmVTZWxlY3Rvck1ldGFkYXRhXG59IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7IENyZWF0aW9uTWV0YWRhdGEgfSBmcm9tICcuL3NlbGVjdG9yLW1vZGVscyc7XG5cbmNvbnN0IFNFTEVDVE9SX09QVElPTlNfTUVUQV9LRVkgPSAnTkdYU19TRUxFQ1RPUl9PUFRJT05TX01FVEEnO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0b3JPcHRpb25zTWV0YUFjY2Vzc29yID0ge1xuICBnZXRPcHRpb25zOiAodGFyZ2V0OiBhbnkpOiDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucyA9PiB7XG4gICAgcmV0dXJuICh0YXJnZXQgJiYgKDxhbnk+dGFyZ2V0KVtTRUxFQ1RPUl9PUFRJT05TX01FVEFfS0VZXSkgfHwge307XG4gIH0sXG4gIGRlZmluZU9wdGlvbnM6ICh0YXJnZXQ6IGFueSwgb3B0aW9uczogybVTaGFyZWRTZWxlY3Rvck9wdGlvbnMpID0+IHtcbiAgICBpZiAoIXRhcmdldCkgcmV0dXJuO1xuICAgICg8YW55PnRhcmdldClbU0VMRUNUT1JfT1BUSU9OU19NRVRBX0tFWV0gPSBvcHRpb25zO1xuICB9XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBTZWxlY3Rvck1ldGFkYXRhPFQgZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGFueT4oXG4gIG9yaWdpbmFsRm46IFQsXG4gIGNyZWF0aW9uTWV0YWRhdGE6IFBhcnRpYWw8Q3JlYXRpb25NZXRhZGF0YT4gfCB1bmRlZmluZWRcbikge1xuICBjb25zdCBzZWxlY3Rvck1ldGFEYXRhID0gybVlbnN1cmVTZWxlY3Rvck1ldGFkYXRhKG9yaWdpbmFsRm4pO1xuICBzZWxlY3Rvck1ldGFEYXRhLm9yaWdpbmFsRm4gPSBvcmlnaW5hbEZuO1xuICBsZXQgZ2V0RXhwbGljaXRTZWxlY3Rvck9wdGlvbnMgPSAoKSA9PiAoe30pO1xuICBpZiAoY3JlYXRpb25NZXRhZGF0YSkge1xuICAgIHNlbGVjdG9yTWV0YURhdGEuY29udGFpbmVyQ2xhc3MgPSBjcmVhdGlvbk1ldGFkYXRhLmNvbnRhaW5lckNsYXNzO1xuICAgIHNlbGVjdG9yTWV0YURhdGEuc2VsZWN0b3JOYW1lID0gY3JlYXRpb25NZXRhZGF0YS5zZWxlY3Rvck5hbWUgfHwgbnVsbDtcbiAgICBnZXRFeHBsaWNpdFNlbGVjdG9yT3B0aW9ucyA9XG4gICAgICBjcmVhdGlvbk1ldGFkYXRhLmdldFNlbGVjdG9yT3B0aW9ucyB8fCBnZXRFeHBsaWNpdFNlbGVjdG9yT3B0aW9ucztcbiAgfVxuICBjb25zdCBzZWxlY3Rvck1ldGFEYXRhQ2xvbmUgPSB7IC4uLnNlbGVjdG9yTWV0YURhdGEgfTtcbiAgc2VsZWN0b3JNZXRhRGF0YS5nZXRTZWxlY3Rvck9wdGlvbnMgPSAoKSA9PlxuICAgIGdldExvY2FsU2VsZWN0b3JPcHRpb25zKHNlbGVjdG9yTWV0YURhdGFDbG9uZSwgZ2V0RXhwbGljaXRTZWxlY3Rvck9wdGlvbnMoKSk7XG4gIHJldHVybiBzZWxlY3Rvck1ldGFEYXRhO1xufVxuXG5mdW5jdGlvbiBnZXRMb2NhbFNlbGVjdG9yT3B0aW9ucyhcbiAgc2VsZWN0b3JNZXRhRGF0YTogybVTZWxlY3Rvck1ldGFEYXRhTW9kZWwsXG4gIGV4cGxpY2l0T3B0aW9uczogybVTaGFyZWRTZWxlY3Rvck9wdGlvbnNcbik6IMm1U2hhcmVkU2VsZWN0b3JPcHRpb25zIHtcbiAgcmV0dXJuIHtcbiAgICAuLi4oc2VsZWN0b3JPcHRpb25zTWV0YUFjY2Vzc29yLmdldE9wdGlvbnMoc2VsZWN0b3JNZXRhRGF0YS5jb250YWluZXJDbGFzcykgfHwge30pLFxuICAgIC4uLihzZWxlY3Rvck9wdGlvbnNNZXRhQWNjZXNzb3IuZ2V0T3B0aW9ucyhzZWxlY3Rvck1ldGFEYXRhLm9yaWdpbmFsRm4pIHx8IHt9KSxcbiAgICAuLi4oc2VsZWN0b3JNZXRhRGF0YS5nZXRTZWxlY3Rvck9wdGlvbnMoKSB8fCB7fSksXG4gICAgLi4uZXhwbGljaXRPcHRpb25zXG4gIH07XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3NlbGVjdG9ycy9zZWxlY3Rvci1tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1U2hhcmVkU2VsZWN0b3JPcHRpb25zLCDJtVNlbGVjdEZyb21Sb290U3RhdGUgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0aW9uTWV0YWRhdGEge1xuICBjb250YWluZXJDbGFzczogYW55O1xuICBzZWxlY3Rvck5hbWU6IHN0cmluZztcbiAgZ2V0U2VsZWN0b3JPcHRpb25zPzogKCkgPT4gybVTaGFyZWRTZWxlY3Rvck9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZVNlbGVjdG9ySW5mbyB7XG4gIHNlbGVjdG9yT3B0aW9uczogybVTaGFyZWRTZWxlY3Rvck9wdGlvbnM7XG4gIGFyZ3VtZW50U2VsZWN0b3JGdW5jdGlvbnM6IMm1U2VsZWN0RnJvbVJvb3RTdGF0ZVtdO1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItdHlwZXMudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zZWxlY3RvcnMvc2VsZWN0b3ItdHlwZXMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgybVTdGF0ZUNsYXNzLCBTdGF0ZVRva2VuIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuZXhwb3J0IHR5cGUgybVTZWxlY3RvckZ1bmM8VE1vZGVsPiA9ICguLi5hcmc6IGFueVtdKSA9PiBUTW9kZWw7XG5cbmV4cG9ydCB0eXBlIFR5cGVkU2VsZWN0b3I8VE1vZGVsPiA9IFN0YXRlVG9rZW48VE1vZGVsPiB8IMm1U2VsZWN0b3JGdW5jPFRNb2RlbD47XG5cbmV4cG9ydCB0eXBlIMm1U3RhdGVTZWxlY3RvciA9IMm1U3RhdGVDbGFzczxhbnk+O1xuXG5leHBvcnQgdHlwZSDJtVNlbGVjdG9yRGVmPFRNb2RlbD4gPSDJtVN0YXRlU2VsZWN0b3IgfCBUeXBlZFNlbGVjdG9yPFRNb2RlbD47XG5cbmV4cG9ydCB0eXBlIMm1U2VsZWN0b3JSZXR1cm5UeXBlPFQgZXh0ZW5kcyDJtVNlbGVjdG9yRGVmPGFueT4+ID1cbiAgVCBleHRlbmRzIFN0YXRlVG9rZW48aW5mZXIgUjE+XG4gICAgPyBSMVxuICAgIDogVCBleHRlbmRzIMm1U2VsZWN0b3JGdW5jPGluZmVyIFIyPlxuICAgICAgPyBSMlxuICAgICAgOiBUIGV4dGVuZHMgybVTdGF0ZUNsYXNzPGFueT5cbiAgICAgICAgPyBhbnkgLyogKEJsb2NrIGNvbW1lbnQgdG8gc3RvcCBwcmV0dGllciBicmVha2luZyB0aGUgY29tbWVudCBiZWxvdylcbiAgLy8gSWYgdGhlIHN0YXRlIHNlbGVjdG9yIGlzIGEgY2xhc3MgdGhlbiB3ZSBzaG91bGQgaW5mZXIgaXRzIHJldHVybiB0eXBlIHRvIGBhbnlgLCBhbmQgbm90IHRvIGB1bmtub3duYC5cbiAgLy8gU2luY2Ugd2UnbGwgZ2V0IGFuIGVycm9yIHRoYXQgYFR5cGUgJ3Vua25vd24nIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHR5cGUgJ0F1dGhTdGF0ZU1vZGVsJy5gXG4gIC8vIFRoZSBgdW5rbm93bmAgdHlwZSBpcyBub3Qgb3ZlcnJpZGFibGUgd2hlbiB0aGUgc3RyaWN0IG1vZGUgaXMgZW5hYmxlZDpcbiAgLy8gZnVuY3Rpb24gZG9Tb21ldGhpbmdXaXRoQXJyYXkoYXJyYXk6IG51bWJlcltdLCBmYWN0b3J5OiAoeDogdW5rbm93bikgPT4gdm9pZCkge1xuICAvLyAgIGFycmF5LmZvckVhY2goZmFjdG9yeSk7XG4gIC8vIH1cbiAgLy8gZG9Tb21ldGhpbmdXaXRoQXJyYXkoWzEsIDJdLCAoeDogbnVtYmVyKSA9PiBjb25zb2xlLmxvZyh4KSk7XG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5cbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICd1bmtub3duJyBpcyBub3QgYXNzaWduYWJsZSB0byB0eXBlICdudW1iZXInLlxuICAqL1xuICAgICAgICA6IG5ldmVyO1xuIl19
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { ɵmemoize, ɵgetStoreMetadata, ɵgetSelectorMetadata } from '@ngxs/store/internals';
|
|
2
|
-
export function createRootSelectorFactory(selectorMetaData, selectors, memoizedSelectorFn) {
|
|
3
|
-
return (context) => {
|
|
4
|
-
const { argumentSelectorFunctions, selectorOptions } = getRuntimeSelectorInfo(context, selectorMetaData, selectors);
|
|
5
|
-
const { suppressErrors } = selectorOptions;
|
|
6
|
-
return function selectFromRoot(rootState) {
|
|
7
|
-
// Determine arguments from the app state using the selectors
|
|
8
|
-
const results = argumentSelectorFunctions.map(argFn => argFn(rootState));
|
|
9
|
-
// If the lambda attempts to access something in the state that doesn't exist,
|
|
10
|
-
// it will throw a `TypeError`. Since this behavior is common, we simply return
|
|
11
|
-
// `undefined` in such cases.
|
|
12
|
-
try {
|
|
13
|
-
return memoizedSelectorFn(...results);
|
|
14
|
-
}
|
|
15
|
-
catch (ex) {
|
|
16
|
-
if (suppressErrors && ex instanceof TypeError) {
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
// We're logging an error in this function because it may be used by `select`,
|
|
20
|
-
// `selectSignal`, and `selectSnapshot`. Therefore, there's no need to catch
|
|
21
|
-
// exceptions there to log errors.
|
|
22
|
-
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
23
|
-
const message = 'The selector below has thrown an error upon invocation. ' +
|
|
24
|
-
'Please check for any unsafe property access that may result in null ' +
|
|
25
|
-
'or undefined values.';
|
|
26
|
-
// Avoid concatenating the message with the original function, as this will
|
|
27
|
-
// invoke `toString()` on the function. Instead, log it as the second argument.
|
|
28
|
-
// This way, developers will be able to navigate to the actual code in the browser.
|
|
29
|
-
console.error(message, selectorMetaData.originalFn);
|
|
30
|
-
}
|
|
31
|
-
throw ex;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
export function createMemoizedSelectorFn(originalFn, creationMetadata) {
|
|
37
|
-
const containerClass = creationMetadata && creationMetadata.containerClass;
|
|
38
|
-
const wrappedFn = function wrappedSelectorFn() {
|
|
39
|
-
// eslint-disable-next-line prefer-rest-params
|
|
40
|
-
const returnValue = originalFn.apply(containerClass, arguments);
|
|
41
|
-
if (typeof returnValue === 'function') {
|
|
42
|
-
const innerMemoizedFn = ɵmemoize.apply(null, [returnValue]);
|
|
43
|
-
return innerMemoizedFn;
|
|
44
|
-
}
|
|
45
|
-
return returnValue;
|
|
46
|
-
};
|
|
47
|
-
const memoizedFn = ɵmemoize(wrappedFn);
|
|
48
|
-
Object.setPrototypeOf(memoizedFn, originalFn);
|
|
49
|
-
return memoizedFn;
|
|
50
|
-
}
|
|
51
|
-
function getRuntimeSelectorInfo(context, selectorMetaData, selectors = []) {
|
|
52
|
-
const localSelectorOptions = selectorMetaData.getSelectorOptions();
|
|
53
|
-
const selectorOptions = context.getSelectorOptions(localSelectorOptions);
|
|
54
|
-
const selectorsToApply = getSelectorsToApply(selectors, selectorOptions, selectorMetaData.containerClass);
|
|
55
|
-
const argumentSelectorFunctions = selectorsToApply.map(selector => {
|
|
56
|
-
const factory = getRootSelectorFactory(selector);
|
|
57
|
-
return factory(context);
|
|
58
|
-
});
|
|
59
|
-
return {
|
|
60
|
-
selectorOptions,
|
|
61
|
-
argumentSelectorFunctions
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
function getSelectorsToApply(selectors = [], selectorOptions, containerClass) {
|
|
65
|
-
const selectorsToApply = [];
|
|
66
|
-
// The container state refers to the state class that includes the
|
|
67
|
-
// definition of the selector function, for example:
|
|
68
|
-
// @State()
|
|
69
|
-
// class AnimalsState {
|
|
70
|
-
// @Selector()
|
|
71
|
-
// static getAnimals(state: AnimalsStateModel) {}
|
|
72
|
-
// }
|
|
73
|
-
// The `AnimalsState` serves as the container state. Additionally, the
|
|
74
|
-
// selector may reside within a namespace or another class lacking the
|
|
75
|
-
// `@State` decorator, thus not being treated as the container state.
|
|
76
|
-
const canInjectContainerState = selectorOptions.injectContainerState || selectors.length === 0;
|
|
77
|
-
if (containerClass && canInjectContainerState) {
|
|
78
|
-
// If we are on a state class, add it as the first selector parameter
|
|
79
|
-
const metadata = ɵgetStoreMetadata(containerClass);
|
|
80
|
-
if (metadata) {
|
|
81
|
-
selectorsToApply.push(containerClass);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
selectorsToApply.push(...selectors);
|
|
85
|
-
return selectorsToApply;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* This function gets the factory function to create the selector to get the selected slice from the app state
|
|
89
|
-
* @ignore
|
|
90
|
-
*/
|
|
91
|
-
export function getRootSelectorFactory(selector) {
|
|
92
|
-
const metadata = ɵgetSelectorMetadata(selector) || ɵgetStoreMetadata(selector);
|
|
93
|
-
return (metadata && metadata.makeRootSelector) || (() => selector);
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL3NlbGVjdG9yLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBR1IsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUdyQixNQUFNLHVCQUF1QixDQUFDO0FBTS9CLE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsZ0JBQXdDLEVBQ3hDLFNBQTRCLEVBQzVCLGtCQUFxQjtJQUVyQixPQUFPLENBQUMsT0FBZ0MsRUFBRSxFQUFFO1FBQzFDLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsR0FBRyxzQkFBc0IsQ0FDM0UsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixTQUFTLENBQ1YsQ0FBQztRQUVGLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxlQUFlLENBQUM7UUFFM0MsT0FBTyxTQUFTLGNBQWMsQ0FBQyxTQUFjO1lBQzNDLDZEQUE2RDtZQUM3RCxNQUFNLE9BQU8sR0FBRyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUV6RSw4RUFBOEU7WUFDOUUsK0VBQStFO1lBQy9FLDZCQUE2QjtZQUM3QixJQUFJLENBQUM7Z0JBQ0gsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1lBQ3hDLENBQUM7WUFBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUNaLElBQUksY0FBYyxJQUFJLEVBQUUsWUFBWSxTQUFTLEVBQUUsQ0FBQztvQkFDOUMsT0FBTyxTQUFTLENBQUM7Z0JBQ25CLENBQUM7Z0JBRUQsOEVBQThFO2dCQUM5RSw0RUFBNEU7Z0JBQzVFLGtDQUFrQztnQkFDbEMsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFLENBQUM7b0JBQ2xELE1BQU0sT0FBTyxHQUNYLDBEQUEwRDt3QkFDMUQsc0VBQXNFO3dCQUN0RSxzQkFBc0IsQ0FBQztvQkFFekIsMkVBQTJFO29CQUMzRSwrRUFBK0U7b0JBQy9FLG1GQUFtRjtvQkFDbkYsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3RELENBQUM7Z0JBRUQsTUFBTSxFQUFFLENBQUM7WUFDWCxDQUFDO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsVUFBYSxFQUNiLGdCQUF1RDtJQUV2RCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7SUFDM0UsTUFBTSxTQUFTLEdBQUcsU0FBUyxpQkFBaUI7UUFDMUMsOENBQThDO1FBQzlDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFPLFNBQVMsQ0FBQyxDQUFDO1FBQ3JFLElBQUksT0FBTyxXQUFXLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDdEMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzVELE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFNLENBQUM7SUFDUCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDOUMsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQzdCLE9BQWdDLEVBQ2hDLGdCQUF3QyxFQUN4QyxZQUErQixFQUFFO0lBRWpDLE1BQU0sb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNuRSxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN6RSxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUMxQyxTQUFTLEVBQ1QsZUFBZSxFQUNmLGdCQUFnQixDQUFDLGNBQWMsQ0FDaEMsQ0FBQztJQUVGLE1BQU0seUJBQXlCLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTztRQUNMLGVBQWU7UUFDZix5QkFBeUI7S0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUMxQixZQUErQixFQUFFLEVBQ2pDLGVBQXVDLEVBQ3ZDLGNBQW1CO0lBRW5CLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzVCLGtFQUFrRTtJQUNsRSxvREFBb0Q7SUFDcEQsV0FBVztJQUNYLHVCQUF1QjtJQUN2QixnQkFBZ0I7SUFDaEIsbURBQW1EO0lBQ25ELElBQUk7SUFDSixzRUFBc0U7SUFDdEUsc0VBQXNFO0lBQ3RFLHFFQUFxRTtJQUNyRSxNQUFNLHVCQUF1QixHQUMzQixlQUFlLENBQUMsb0JBQW9CLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFFakUsSUFBSSxjQUFjLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUM5QyxxRUFBcUU7UUFDckUsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUNELGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxRQUFhO0lBQ2xELE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9FLE9BQU8sQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgybVtZW1vaXplLFxuICDJtVJ1bnRpbWVTZWxlY3RvckNvbnRleHQsXG4gIMm1U2VsZWN0b3JGYWN0b3J5LFxuICDJtWdldFN0b3JlTWV0YWRhdGEsXG4gIMm1Z2V0U2VsZWN0b3JNZXRhZGF0YSxcbiAgybVTZWxlY3Rvck1ldGFEYXRhTW9kZWwsXG4gIMm1U2hhcmVkU2VsZWN0b3JPcHRpb25zXG59IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7IENyZWF0aW9uTWV0YWRhdGEsIFJ1bnRpbWVTZWxlY3RvckluZm8gfSBmcm9tICcuL3NlbGVjdG9yLW1vZGVscyc7XG5cbmRlY2xhcmUgY29uc3QgbmdEZXZNb2RlOiBib29sZWFuO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm9vdFNlbGVjdG9yRmFjdG9yeTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+KFxuICBzZWxlY3Rvck1ldGFEYXRhOiDJtVNlbGVjdG9yTWV0YURhdGFNb2RlbCxcbiAgc2VsZWN0b3JzOiBhbnlbXSB8IHVuZGVmaW5lZCxcbiAgbWVtb2l6ZWRTZWxlY3RvckZuOiBUXG4pOiDJtVNlbGVjdG9yRmFjdG9yeSB7XG4gIHJldHVybiAoY29udGV4dDogybVSdW50aW1lU2VsZWN0b3JDb250ZXh0KSA9PiB7XG4gICAgY29uc3QgeyBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zLCBzZWxlY3Rvck9wdGlvbnMgfSA9IGdldFJ1bnRpbWVTZWxlY3RvckluZm8oXG4gICAgICBjb250ZXh0LFxuICAgICAgc2VsZWN0b3JNZXRhRGF0YSxcbiAgICAgIHNlbGVjdG9yc1xuICAgICk7XG5cbiAgICBjb25zdCB7IHN1cHByZXNzRXJyb3JzIH0gPSBzZWxlY3Rvck9wdGlvbnM7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gc2VsZWN0RnJvbVJvb3Qocm9vdFN0YXRlOiBhbnkpIHtcbiAgICAgIC8vIERldGVybWluZSBhcmd1bWVudHMgZnJvbSB0aGUgYXBwIHN0YXRlIHVzaW5nIHRoZSBzZWxlY3RvcnNcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zLm1hcChhcmdGbiA9PiBhcmdGbihyb290U3RhdGUpKTtcblxuICAgICAgLy8gSWYgdGhlIGxhbWJkYSBhdHRlbXB0cyB0byBhY2Nlc3Mgc29tZXRoaW5nIGluIHRoZSBzdGF0ZSB0aGF0IGRvZXNuJ3QgZXhpc3QsXG4gICAgICAvLyBpdCB3aWxsIHRocm93IGEgYFR5cGVFcnJvcmAuIFNpbmNlIHRoaXMgYmVoYXZpb3IgaXMgY29tbW9uLCB3ZSBzaW1wbHkgcmV0dXJuXG4gICAgICAvLyBgdW5kZWZpbmVkYCBpbiBzdWNoIGNhc2VzLlxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1lbW9pemVkU2VsZWN0b3JGbiguLi5yZXN1bHRzKTtcbiAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgIGlmIChzdXBwcmVzc0Vycm9ycyAmJiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikge1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXZSdyZSBsb2dnaW5nIGFuIGVycm9yIGluIHRoaXMgZnVuY3Rpb24gYmVjYXVzZSBpdCBtYXkgYmUgdXNlZCBieSBgc2VsZWN0YCxcbiAgICAgICAgLy8gYHNlbGVjdFNpZ25hbGAsIGFuZCBgc2VsZWN0U25hcHNob3RgLiBUaGVyZWZvcmUsIHRoZXJlJ3Mgbm8gbmVlZCB0byBjYXRjaFxuICAgICAgICAvLyBleGNlcHRpb25zIHRoZXJlIHRvIGxvZyBlcnJvcnMuXG4gICAgICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUpIHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID1cbiAgICAgICAgICAgICdUaGUgc2VsZWN0b3IgYmVsb3cgaGFzIHRocm93biBhbiBlcnJvciB1cG9uIGludm9jYXRpb24uICcgK1xuICAgICAgICAgICAgJ1BsZWFzZSBjaGVjayBmb3IgYW55IHVuc2FmZSBwcm9wZXJ0eSBhY2Nlc3MgdGhhdCBtYXkgcmVzdWx0IGluIG51bGwgJyArXG4gICAgICAgICAgICAnb3IgdW5kZWZpbmVkIHZhbHVlcy4nO1xuXG4gICAgICAgICAgLy8gQXZvaWQgY29uY2F0ZW5hdGluZyB0aGUgbWVzc2FnZSB3aXRoIHRoZSBvcmlnaW5hbCBmdW5jdGlvbiwgYXMgdGhpcyB3aWxsXG4gICAgICAgICAgLy8gaW52b2tlIGB0b1N0cmluZygpYCBvbiB0aGUgZnVuY3Rpb24uIEluc3RlYWQsIGxvZyBpdCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50LlxuICAgICAgICAgIC8vIFRoaXMgd2F5LCBkZXZlbG9wZXJzIHdpbGwgYmUgYWJsZSB0byBuYXZpZ2F0ZSB0byB0aGUgYWN0dWFsIGNvZGUgaW4gdGhlIGJyb3dzZXIuXG4gICAgICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlLCBzZWxlY3Rvck1ldGFEYXRhLm9yaWdpbmFsRm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXg7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1lbW9pemVkU2VsZWN0b3JGbjxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+KFxuICBvcmlnaW5hbEZuOiBULFxuICBjcmVhdGlvbk1ldGFkYXRhOiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+IHwgdW5kZWZpbmVkXG4pIHtcbiAgY29uc3QgY29udGFpbmVyQ2xhc3MgPSBjcmVhdGlvbk1ldGFkYXRhICYmIGNyZWF0aW9uTWV0YWRhdGEuY29udGFpbmVyQ2xhc3M7XG4gIGNvbnN0IHdyYXBwZWRGbiA9IGZ1bmN0aW9uIHdyYXBwZWRTZWxlY3RvckZuKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItcmVzdC1wYXJhbXNcbiAgICBjb25zdCByZXR1cm5WYWx1ZSA9IG9yaWdpbmFsRm4uYXBwbHkoY29udGFpbmVyQ2xhc3MsIDxhbnk+YXJndW1lbnRzKTtcbiAgICBpZiAodHlwZW9mIHJldHVyblZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCBpbm5lck1lbW9pemVkRm4gPSDJtW1lbW9pemUuYXBwbHkobnVsbCwgW3JldHVyblZhbHVlXSk7XG4gICAgICByZXR1cm4gaW5uZXJNZW1vaXplZEZuO1xuICAgIH1cbiAgICByZXR1cm4gcmV0dXJuVmFsdWU7XG4gIH0gYXMgVDtcbiAgY29uc3QgbWVtb2l6ZWRGbiA9IMm1bWVtb2l6ZSh3cmFwcGVkRm4pO1xuICBPYmplY3Quc2V0UHJvdG90eXBlT2YobWVtb2l6ZWRGbiwgb3JpZ2luYWxGbik7XG4gIHJldHVybiBtZW1vaXplZEZuO1xufVxuXG5mdW5jdGlvbiBnZXRSdW50aW1lU2VsZWN0b3JJbmZvKFxuICBjb250ZXh0OiDJtVJ1bnRpbWVTZWxlY3RvckNvbnRleHQsXG4gIHNlbGVjdG9yTWV0YURhdGE6IMm1U2VsZWN0b3JNZXRhRGF0YU1vZGVsLFxuICBzZWxlY3RvcnM6IGFueVtdIHwgdW5kZWZpbmVkID0gW11cbik6IFJ1bnRpbWVTZWxlY3RvckluZm8ge1xuICBjb25zdCBsb2NhbFNlbGVjdG9yT3B0aW9ucyA9IHNlbGVjdG9yTWV0YURhdGEuZ2V0U2VsZWN0b3JPcHRpb25zKCk7XG4gIGNvbnN0IHNlbGVjdG9yT3B0aW9ucyA9IGNvbnRleHQuZ2V0U2VsZWN0b3JPcHRpb25zKGxvY2FsU2VsZWN0b3JPcHRpb25zKTtcbiAgY29uc3Qgc2VsZWN0b3JzVG9BcHBseSA9IGdldFNlbGVjdG9yc1RvQXBwbHkoXG4gICAgc2VsZWN0b3JzLFxuICAgIHNlbGVjdG9yT3B0aW9ucyxcbiAgICBzZWxlY3Rvck1ldGFEYXRhLmNvbnRhaW5lckNsYXNzXG4gICk7XG5cbiAgY29uc3QgYXJndW1lbnRTZWxlY3RvckZ1bmN0aW9ucyA9IHNlbGVjdG9yc1RvQXBwbHkubWFwKHNlbGVjdG9yID0+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gZ2V0Um9vdFNlbGVjdG9yRmFjdG9yeShzZWxlY3Rvcik7XG4gICAgcmV0dXJuIGZhY3RvcnkoY29udGV4dCk7XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIHNlbGVjdG9yT3B0aW9ucyxcbiAgICBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFNlbGVjdG9yc1RvQXBwbHkoXG4gIHNlbGVjdG9yczogYW55W10gfCB1bmRlZmluZWQgPSBbXSxcbiAgc2VsZWN0b3JPcHRpb25zOiDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucyxcbiAgY29udGFpbmVyQ2xhc3M6IGFueVxuKSB7XG4gIGNvbnN0IHNlbGVjdG9yc1RvQXBwbHkgPSBbXTtcbiAgLy8gVGhlIGNvbnRhaW5lciBzdGF0ZSByZWZlcnMgdG8gdGhlIHN0YXRlIGNsYXNzIHRoYXQgaW5jbHVkZXMgdGhlXG4gIC8vIGRlZmluaXRpb24gb2YgdGhlIHNlbGVjdG9yIGZ1bmN0aW9uLCBmb3IgZXhhbXBsZTpcbiAgLy8gQFN0YXRlKClcbiAgLy8gY2xhc3MgQW5pbWFsc1N0YXRlIHtcbiAgLy8gICBAU2VsZWN0b3IoKVxuICAvLyAgIHN0YXRpYyBnZXRBbmltYWxzKHN0YXRlOiBBbmltYWxzU3RhdGVNb2RlbCkge31cbiAgLy8gfVxuICAvLyBUaGUgYEFuaW1hbHNTdGF0ZWAgc2VydmVzIGFzIHRoZSBjb250YWluZXIgc3RhdGUuIEFkZGl0aW9uYWxseSwgdGhlXG4gIC8vIHNlbGVjdG9yIG1heSByZXNpZGUgd2l0aGluIGEgbmFtZXNwYWNlIG9yIGFub3RoZXIgY2xhc3MgbGFja2luZyB0aGVcbiAgLy8gYEBTdGF0ZWAgZGVjb3JhdG9yLCB0aHVzIG5vdCBiZWluZyB0cmVhdGVkIGFzIHRoZSBjb250YWluZXIgc3RhdGUuXG4gIGNvbnN0IGNhbkluamVjdENvbnRhaW5lclN0YXRlID1cbiAgICBzZWxlY3Rvck9wdGlvbnMuaW5qZWN0Q29udGFpbmVyU3RhdGUgfHwgc2VsZWN0b3JzLmxlbmd0aCA9PT0gMDtcblxuICBpZiAoY29udGFpbmVyQ2xhc3MgJiYgY2FuSW5qZWN0Q29udGFpbmVyU3RhdGUpIHtcbiAgICAvLyBJZiB3ZSBhcmUgb24gYSBzdGF0ZSBjbGFzcywgYWRkIGl0IGFzIHRoZSBmaXJzdCBzZWxlY3RvciBwYXJhbWV0ZXJcbiAgICBjb25zdCBtZXRhZGF0YSA9IMm1Z2V0U3RvcmVNZXRhZGF0YShjb250YWluZXJDbGFzcyk7XG4gICAgaWYgKG1ldGFkYXRhKSB7XG4gICAgICBzZWxlY3RvcnNUb0FwcGx5LnB1c2goY29udGFpbmVyQ2xhc3MpO1xuICAgIH1cbiAgfVxuICBzZWxlY3RvcnNUb0FwcGx5LnB1c2goLi4uc2VsZWN0b3JzKTtcbiAgcmV0dXJuIHNlbGVjdG9yc1RvQXBwbHk7XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBnZXRzIHRoZSBmYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSB0aGUgc2VsZWN0b3IgdG8gZ2V0IHRoZSBzZWxlY3RlZCBzbGljZSBmcm9tIHRoZSBhcHAgc3RhdGVcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJvb3RTZWxlY3RvckZhY3Rvcnkoc2VsZWN0b3I6IGFueSk6IMm1U2VsZWN0b3JGYWN0b3J5IHtcbiAgY29uc3QgbWV0YWRhdGEgPSDJtWdldFNlbGVjdG9yTWV0YWRhdGEoc2VsZWN0b3IpIHx8IMm1Z2V0U3RvcmVNZXRhZGF0YShzZWxlY3Rvcik7XG4gIHJldHVybiAobWV0YWRhdGEgJiYgbWV0YWRhdGEubWFrZVJvb3RTZWxlY3RvcikgfHwgKCgpID0+IHNlbGVjdG9yKTtcbn1cbiJdfQ==
|