@ngxs/store 3.7.4 → 3.7.5
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/README.md +16 -16
- package/bundles/ngxs-store-internals-testing.umd.js +315 -315
- package/bundles/ngxs-store-internals-testing.umd.js.map +1 -1
- package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -1
- package/bundles/ngxs-store-internals.umd.js +192 -397
- package/bundles/ngxs-store-internals.umd.js.map +1 -1
- package/bundles/ngxs-store-internals.umd.min.js +1 -1
- package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
- package/bundles/ngxs-store-operators.umd.js +310 -310
- package/bundles/ngxs-store-operators.umd.js.map +1 -1
- package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
- package/bundles/ngxs-store.umd.js +4401 -4481
- package/bundles/ngxs-store.umd.js.map +1 -1
- package/bundles/ngxs-store.umd.min.js +1 -1
- package/bundles/ngxs-store.umd.min.js.map +1 -1
- package/esm2015/index.js +13 -13
- package/esm2015/internals/angular.js +20 -20
- package/esm2015/internals/index.js +10 -11
- package/esm2015/internals/initial-state.js +34 -34
- package/esm2015/internals/internal-tokens.js +16 -16
- package/esm2015/internals/memoize.js +70 -70
- package/esm2015/internals/ngxs-bootstrapper.js +41 -41
- package/esm2015/internals/ngxs-store-internals.js +9 -9
- package/esm2015/internals/src/symbols.js +14 -14
- package/esm2015/internals/symbols.js +14 -14
- package/esm2015/internals/testing/fresh-platform.js +110 -110
- package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -22
- package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -24
- package/esm2015/internals/testing/index.js +8 -8
- package/esm2015/internals/testing/ngxs-store-internals-testing.js +8 -8
- package/esm2015/internals/testing/ngxs.setup.js +76 -76
- package/esm2015/internals/testing/skip-console-logging.js +62 -62
- package/esm2015/internals/testing/symbol.js +29 -29
- package/esm2015/ngxs-store.js +24 -23
- package/esm2015/operators/append.js +31 -31
- package/esm2015/operators/compose.js +24 -24
- package/esm2015/operators/iif.js +56 -56
- package/esm2015/operators/index.js +18 -18
- package/esm2015/operators/insert-item.js +41 -41
- package/esm2015/operators/internals.js +5 -5
- package/esm2015/operators/ngxs-store-operators.js +8 -8
- package/esm2015/operators/patch.js +39 -39
- package/esm2015/operators/remove-item.js +34 -34
- package/esm2015/operators/update-item.js +52 -52
- package/esm2015/operators/utils.js +50 -50
- package/esm2015/src/actions/actions.js +39 -39
- package/esm2015/src/actions/symbols.js +39 -39
- package/esm2015/src/actions-stream.js +140 -140
- package/esm2015/src/configs/messages.config.js +79 -79
- package/esm2015/src/decorators/action.js +48 -48
- package/esm2015/src/decorators/select/select-factory.js +45 -49
- package/esm2015/src/decorators/select/select.js +45 -81
- package/esm2015/src/decorators/select/symbols.js +50 -94
- package/esm2015/src/decorators/selector/selector.js +59 -59
- package/esm2015/src/decorators/selector/symbols.js +5 -5
- package/esm2015/src/decorators/selector-options.js +34 -34
- package/esm2015/src/decorators/state.js +77 -83
- package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +103 -103
- package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
- package/esm2015/src/execution/noop-ngxs-execution-strategy.js +29 -29
- package/esm2015/src/execution/symbols.js +52 -52
- package/esm2015/src/internal/dispatcher.js +219 -217
- package/esm2015/src/internal/internals.js +493 -493
- package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
- package/esm2015/src/internal/state-context-factory.js +138 -138
- package/esm2015/src/internal/state-factory.js +457 -449
- package/esm2015/src/internal/state-operations.js +124 -133
- package/esm2015/src/internal/state-operators.js +33 -33
- package/esm2015/src/internal/state-stream.js +30 -30
- package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +28 -28
- package/esm2015/src/module.js +159 -157
- package/esm2015/src/modules/ngxs-feature.module.js +63 -63
- package/esm2015/src/modules/ngxs-root.module.js +49 -52
- package/esm2015/src/operators/leave-ngxs.js +58 -58
- package/esm2015/src/operators/of-action.js +191 -191
- package/esm2015/src/plugin-manager.js +70 -70
- package/esm2015/src/plugin_api.js +10 -10
- package/esm2015/src/public_api.js +29 -29
- package/esm2015/src/public_to_deprecate.js +64 -64
- package/esm2015/src/state-token/state-token.js +45 -45
- package/esm2015/src/state-token/symbols.js +5 -5
- package/esm2015/src/store.js +190 -190
- package/esm2015/src/symbols.js +221 -220
- package/esm2015/src/utils/compose.js +44 -44
- package/esm2015/src/utils/freeze.js +35 -35
- package/esm2015/src/utils/selector-utils.js +221 -221
- package/esm2015/src/utils/store-validators.js +60 -60
- package/esm2015/src/utils/utils.js +143 -143
- package/esm5/index.js +13 -13
- package/esm5/internals/angular.js +20 -20
- package/esm5/internals/index.js +10 -11
- package/esm5/internals/initial-state.js +45 -45
- package/esm5/internals/internal-tokens.js +16 -16
- package/esm5/internals/memoize.js +71 -71
- package/esm5/internals/ngxs-bootstrapper.js +56 -56
- package/esm5/internals/ngxs-store-internals.js +9 -9
- package/esm5/internals/src/symbols.js +14 -14
- package/esm5/internals/symbols.js +14 -14
- package/esm5/internals/testing/fresh-platform.js +121 -121
- package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -32
- package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -32
- package/esm5/internals/testing/index.js +8 -8
- package/esm5/internals/testing/ngxs-store-internals-testing.js +8 -8
- package/esm5/internals/testing/ngxs.setup.js +98 -98
- package/esm5/internals/testing/skip-console-logging.js +62 -62
- package/esm5/internals/testing/symbol.js +29 -29
- package/esm5/ngxs-store.js +24 -23
- package/esm5/operators/append.js +31 -31
- package/esm5/operators/compose.js +28 -28
- package/esm5/operators/iif.js +56 -56
- package/esm5/operators/index.js +18 -18
- package/esm5/operators/insert-item.js +41 -41
- package/esm5/operators/internals.js +5 -5
- package/esm5/operators/ngxs-store-operators.js +8 -8
- package/esm5/operators/patch.js +40 -40
- package/esm5/operators/remove-item.js +34 -34
- package/esm5/operators/update-item.js +52 -52
- package/esm5/operators/utils.js +50 -50
- package/esm5/src/actions/actions.js +62 -62
- package/esm5/src/actions/symbols.js +39 -39
- package/esm5/src/actions-stream.js +186 -186
- package/esm5/src/configs/messages.config.js +79 -79
- package/esm5/src/decorators/action.js +60 -60
- package/esm5/src/decorators/select/select-factory.js +46 -50
- package/esm5/src/decorators/select/select.js +50 -87
- package/esm5/src/decorators/select/symbols.js +51 -95
- package/esm5/src/decorators/selector/selector.js +59 -59
- package/esm5/src/decorators/selector/symbols.js +5 -5
- package/esm5/src/decorators/selector-options.js +34 -34
- package/esm5/src/decorators/state.js +78 -84
- package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +123 -123
- package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
- package/esm5/src/execution/noop-ngxs-execution-strategy.js +43 -43
- package/esm5/src/execution/symbols.js +52 -52
- package/esm5/src/internal/dispatcher.js +255 -253
- package/esm5/src/internal/internals.js +495 -495
- package/esm5/src/internal/lifecycle-state-manager.js +177 -177
- package/esm5/src/internal/state-context-factory.js +146 -146
- package/esm5/src/internal/state-factory.js +583 -575
- package/esm5/src/internal/state-operations.js +134 -143
- package/esm5/src/internal/state-operators.js +34 -34
- package/esm5/src/internal/state-stream.js +37 -37
- package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +28 -28
- package/esm5/src/module.js +202 -200
- package/esm5/src/modules/ngxs-feature.module.js +65 -65
- package/esm5/src/modules/ngxs-root.module.js +44 -47
- package/esm5/src/operators/leave-ngxs.js +58 -58
- package/esm5/src/operators/of-action.js +217 -217
- package/esm5/src/plugin-manager.js +82 -82
- package/esm5/src/plugin_api.js +10 -10
- package/esm5/src/public_api.js +29 -29
- package/esm5/src/public_to_deprecate.js +64 -64
- package/esm5/src/state-token/state-token.js +57 -57
- package/esm5/src/state-token/symbols.js +5 -5
- package/esm5/src/store.js +241 -241
- package/esm5/src/symbols.js +230 -229
- package/esm5/src/utils/compose.js +55 -55
- package/esm5/src/utils/freeze.js +35 -35
- package/esm5/src/utils/selector-utils.js +230 -230
- package/esm5/src/utils/store-validators.js +78 -78
- package/esm5/src/utils/utils.js +151 -151
- package/fesm2015/ngxs-store-internals-testing.js +274 -274
- package/fesm2015/ngxs-store-internals-testing.js.map +1 -1
- package/fesm2015/ngxs-store-internals.js +175 -377
- package/fesm2015/ngxs-store-internals.js.map +1 -1
- package/fesm2015/ngxs-store-operators.js +312 -312
- package/fesm2015/ngxs-store-operators.js.map +1 -1
- package/fesm2015/ngxs-store.js +3915 -3995
- package/fesm2015/ngxs-store.js.map +1 -1
- package/fesm5/ngxs-store-internals-testing.js +321 -321
- package/fesm5/ngxs-store-internals-testing.js.map +1 -1
- package/fesm5/ngxs-store-internals.js +200 -402
- package/fesm5/ngxs-store-internals.js.map +1 -1
- package/fesm5/ngxs-store-operators.js +316 -316
- package/fesm5/ngxs-store-operators.js.map +1 -1
- package/fesm5/ngxs-store.js +4410 -4491
- package/fesm5/ngxs-store.js.map +1 -1
- package/index.d.ts +8 -8
- package/internals/angular.d.ts +1 -1
- package/internals/index.d.ts +6 -7
- package/internals/initial-state.d.ts +8 -8
- package/internals/internal-tokens.d.ts +9 -9
- package/internals/memoize.d.ts +9 -9
- package/internals/ngxs-bootstrapper.d.ts +13 -13
- package/internals/ngxs-store-internals.d.ts +4 -4
- package/internals/ngxs-store-internals.metadata.json +1 -1
- package/internals/src/symbols.d.ts +7 -7
- package/internals/symbols.d.ts +7 -7
- package/internals/testing/fresh-platform.d.ts +1 -1
- package/internals/testing/helpers/ngxs-test.component.d.ts +5 -5
- package/internals/testing/helpers/ngxs-test.module.d.ts +4 -4
- package/internals/testing/index.d.ts +4 -4
- package/internals/testing/ngxs-store-internals-testing.d.ts +4 -4
- package/internals/testing/ngxs.setup.d.ts +7 -7
- package/internals/testing/skip-console-logging.d.ts +1 -1
- package/internals/testing/symbol.d.ts +14 -14
- package/ngxs-store.d.ts +20 -19
- package/ngxs-store.metadata.json +1 -1
- package/operators/append.d.ts +6 -6
- package/operators/compose.d.ts +2 -2
- package/operators/iif.d.ts +11 -11
- package/operators/index.d.ts +13 -13
- package/operators/insert-item.d.ts +7 -7
- package/operators/internals.d.ts +2 -2
- package/operators/ngxs-store-operators.d.ts +4 -4
- package/operators/patch.d.ts +10 -10
- package/operators/remove-item.d.ts +7 -7
- package/operators/update-item.d.ts +10 -10
- package/operators/utils.d.ts +9 -9
- package/package.json +1 -1
- package/src/actions/actions.d.ts +15 -15
- package/src/actions/symbols.d.ts +21 -21
- package/src/actions-stream.d.ts +49 -49
- package/src/configs/messages.config.d.ts +11 -11
- package/src/decorators/action.d.ts +5 -5
- package/src/decorators/select/select-factory.d.ts +13 -13
- package/src/decorators/select/select.d.ts +4 -4
- package/src/decorators/select/symbols.d.ts +10 -14
- package/src/decorators/selector/selector.d.ts +5 -5
- package/src/decorators/selector/symbols.d.ts +4 -4
- package/src/decorators/selector-options.d.ts +5 -5
- package/src/decorators/state.d.ts +6 -6
- package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +11 -11
- package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
- package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
- package/src/execution/symbols.d.ts +10 -10
- package/src/internal/dispatcher.d.ts +32 -32
- package/src/internal/internals.d.ts +166 -166
- package/src/internal/lifecycle-state-manager.d.ts +20 -20
- package/src/internal/state-context-factory.d.ts +15 -15
- package/src/internal/state-factory.d.ts +57 -57
- package/src/internal/state-operations.d.ts +19 -19
- package/src/internal/state-operators.d.ts +2 -2
- package/src/internal/state-stream.d.ts +11 -11
- package/src/ivy/ivy-enabled-in-dev-mode.d.ts +6 -6
- package/src/module.d.ts +23 -23
- package/src/modules/ngxs-feature.module.d.ts +13 -13
- package/src/modules/ngxs-root.module.d.ts +13 -13
- package/src/operators/leave-ngxs.d.ts +7 -7
- package/src/operators/of-action.d.ts +43 -43
- package/src/plugin-manager.d.ts +10 -10
- package/src/plugin_api.d.ts +5 -5
- package/src/public_api.d.ts +17 -17
- package/src/public_to_deprecate.d.ts +21 -21
- package/src/state-token/state-token.d.ts +7 -7
- package/src/state-token/symbols.d.ts +5 -5
- package/src/store.d.ts +59 -59
- package/src/symbols.d.ts +139 -138
- package/src/utils/compose.d.ts +23 -23
- package/src/utils/freeze.d.ts +5 -5
- package/src/utils/selector-utils.d.ts +23 -23
- package/src/utils/store-validators.d.ts +7 -7
- package/src/utils/utils.d.ts +46 -46
- package/types/index.d.ts +2 -2
- package/esm2015/internals/decorator-injector-adapter.js +0 -204
- package/esm5/internals/decorator-injector-adapter.js +0 -204
- package/internals/decorator-injector-adapter.d.ts +0 -15
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { INJECTOR, ɵɵdirectiveInject, ɵglobal } from '@angular/core';
|
|
6
|
-
import { ReplaySubject } from 'rxjs';
|
|
7
|
-
// Angular doesn't export `NG_FACTORY_DEF`.
|
|
8
|
-
/** @type {?} */
|
|
9
|
-
const NG_FACTORY_DEF = 'ɵfac';
|
|
10
|
-
// A `Symbol` which is used to save the `Injector` onto the class instance.
|
|
11
|
-
/** @type {?} */
|
|
12
|
-
const InjectorInstance = Symbol('InjectorInstance');
|
|
13
|
-
// A `Symbol` which is used to determine if factory has been decorated previously or not.
|
|
14
|
-
/** @type {?} */
|
|
15
|
-
const FactoryHasBeenDecorated = Symbol('FactoryHasBeenDecorated');
|
|
16
|
-
// A `Symbol` which is used to save the notifier on the class instance. The `InjectorInstance` cannot
|
|
17
|
-
// be retrieved within the `constructor` since it's set after the `factory()` is called.
|
|
18
|
-
/** @type {?} */
|
|
19
|
-
const InjectorNotifier = Symbol('InjectorNotifier');
|
|
20
|
-
/**
|
|
21
|
-
* @record
|
|
22
|
-
*/
|
|
23
|
-
function PrototypeWithInjectorNotifier() { }
|
|
24
|
-
if (false) {
|
|
25
|
-
/* Skipping unnamed member:
|
|
26
|
-
[InjectorNotifier]?: ReplaySubject<boolean>;*/
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* @param {?} target
|
|
30
|
-
* @return {?}
|
|
31
|
-
*/
|
|
32
|
-
export function ensureInjectorNotifierIsCaptured(target) {
|
|
33
|
-
if (target[InjectorNotifier]) {
|
|
34
|
-
return (/** @type {?} */ (target[InjectorNotifier]));
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
/** @type {?} */
|
|
38
|
-
const injectorNotifier$ = new ReplaySubject(1);
|
|
39
|
-
Object.defineProperty(target, InjectorNotifier, {
|
|
40
|
-
get: (/**
|
|
41
|
-
* @return {?}
|
|
42
|
-
*/
|
|
43
|
-
() => injectorNotifier$)
|
|
44
|
-
});
|
|
45
|
-
return injectorNotifier$;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
49
|
-
/**
|
|
50
|
-
* @param {?} target
|
|
51
|
-
* @return {?}
|
|
52
|
-
*/
|
|
53
|
-
export function ensureLocalInjectorCaptured(target) {
|
|
54
|
-
if (FactoryHasBeenDecorated in target.constructor.prototype) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
/** @type {?} */
|
|
58
|
-
const constructor = target.constructor;
|
|
59
|
-
// Means we're in AOT mode.
|
|
60
|
-
if (typeof constructor[NG_FACTORY_DEF] === 'function') {
|
|
61
|
-
decorateFactory(constructor);
|
|
62
|
-
}
|
|
63
|
-
else if (ngDevMode) {
|
|
64
|
-
// We're running in JIT mode and that means we're not able to get the compiled definition
|
|
65
|
-
// on the class inside the property decorator during the current message loop tick. We have
|
|
66
|
-
// to wait for the next message loop tick. Note that this is safe since this Promise will be
|
|
67
|
-
// resolved even before the `APP_INITIALIZER` is resolved.
|
|
68
|
-
// The below code also will be executed only in development mode, since it's never recommended
|
|
69
|
-
// to use the JIT compiler in production mode (by setting "aot: false").
|
|
70
|
-
decorateFactoryLater(constructor);
|
|
71
|
-
}
|
|
72
|
-
target.constructor.prototype[FactoryHasBeenDecorated] = true;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* @template T
|
|
76
|
-
* @param {?} instance
|
|
77
|
-
* @param {?} token
|
|
78
|
-
* @return {?}
|
|
79
|
-
*/
|
|
80
|
-
export function localInject(instance, token) {
|
|
81
|
-
/** @type {?} */
|
|
82
|
-
const injector = instance[InjectorInstance];
|
|
83
|
-
return injector ? injector.get(token) : null;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* @param {?} constructor
|
|
87
|
-
* @return {?}
|
|
88
|
-
*/
|
|
89
|
-
function decorateFactory(constructor) {
|
|
90
|
-
/** @type {?} */
|
|
91
|
-
const factory = constructor[NG_FACTORY_DEF];
|
|
92
|
-
if (typeof factory !== 'function') {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
// Let's try to get any definition.
|
|
96
|
-
// Caretaker note: this will be compatible only with Angular 9+, since Angular 9 is the first
|
|
97
|
-
// Ivy-stable version. Previously definition properties were named differently (e.g. `ngComponentDef`).
|
|
98
|
-
/** @type {?} */
|
|
99
|
-
const def = constructor.ɵprov || constructor.ɵpipe || constructor.ɵcmp || constructor.ɵdir;
|
|
100
|
-
/** @type {?} */
|
|
101
|
-
const decoratedFactory = (/**
|
|
102
|
-
* @return {?}
|
|
103
|
-
*/
|
|
104
|
-
() => {
|
|
105
|
-
/** @type {?} */
|
|
106
|
-
const instance = factory();
|
|
107
|
-
// Caretaker note: `inject()` won't work here.
|
|
108
|
-
// We can use the `directiveInject` only during the component
|
|
109
|
-
// construction, since Angular captures the currently active injector.
|
|
110
|
-
// We're not able to use this function inside the getter (when the `selectorId` property is
|
|
111
|
-
// requested for the first time), since the currently active injector will be null.
|
|
112
|
-
instance[InjectorInstance] = ɵɵdirectiveInject(
|
|
113
|
-
// We're using `INJECTOR` token except of the `Injector` class since the compiler
|
|
114
|
-
// throws: `Cannot assign an abstract constructor type to a non-abstract constructor type.`.
|
|
115
|
-
// Caretaker note: that this is the same way of getting the injector.
|
|
116
|
-
INJECTOR);
|
|
117
|
-
// Caretaker note: the notifier will be available only if consumers call the `ensureInjectorNotifierIsCaptured()`.
|
|
118
|
-
/** @type {?} */
|
|
119
|
-
const injectorNotifier$ = instance[InjectorNotifier];
|
|
120
|
-
if (injectorNotifier$) {
|
|
121
|
-
injectorNotifier$.next(true);
|
|
122
|
-
injectorNotifier$.complete();
|
|
123
|
-
}
|
|
124
|
-
return instance;
|
|
125
|
-
});
|
|
126
|
-
// If we've found any definition then it's enough to override the `def.factory` since Angular
|
|
127
|
-
// code uses the `def.factory` and then fallbacks to `ɵfac`.
|
|
128
|
-
if (def) {
|
|
129
|
-
def.factory = decoratedFactory;
|
|
130
|
-
}
|
|
131
|
-
// `@NgModule()` doesn't doesn't have definition factory, also providers have definitions but Angular
|
|
132
|
-
// still uses the `ɵfac`.
|
|
133
|
-
Object.defineProperty(constructor, NG_FACTORY_DEF, {
|
|
134
|
-
get: (/**
|
|
135
|
-
* @return {?}
|
|
136
|
-
*/
|
|
137
|
-
() => decoratedFactory)
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* @param {?} constructor
|
|
142
|
-
* @return {?}
|
|
143
|
-
*/
|
|
144
|
-
function decorateFactoryLater(constructor) {
|
|
145
|
-
// This function actually will be tree-shaken away when building for production since it's guarded with `ngDevMode`.
|
|
146
|
-
// We're having the `try-catch` here because of the `SyncTestZoneSpec`, which throws
|
|
147
|
-
// an error when micro or macrotask is used within a synchronous test. E.g. `Cannot call
|
|
148
|
-
// Promise.then from within a sync test`.
|
|
149
|
-
try {
|
|
150
|
-
Promise.resolve().then((/**
|
|
151
|
-
* @return {?}
|
|
152
|
-
*/
|
|
153
|
-
() => {
|
|
154
|
-
decorateFactory(constructor);
|
|
155
|
-
}));
|
|
156
|
-
}
|
|
157
|
-
catch (_a) {
|
|
158
|
-
// This is kind of a "hack", but we try to be backwards-compatible,
|
|
159
|
-
// tho this `catch` block will only be executed when tests are run with Jasmine or Jest.
|
|
160
|
-
ɵglobal.process &&
|
|
161
|
-
ɵglobal.process.nextTick &&
|
|
162
|
-
ɵglobal.process.nextTick((/**
|
|
163
|
-
* @return {?}
|
|
164
|
-
*/
|
|
165
|
-
() => {
|
|
166
|
-
decorateFactory(constructor);
|
|
167
|
-
}));
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* @record
|
|
172
|
-
*/
|
|
173
|
-
function Definition() { }
|
|
174
|
-
if (false) {
|
|
175
|
-
/** @type {?} */
|
|
176
|
-
Definition.prototype.factory;
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* @record
|
|
180
|
-
*/
|
|
181
|
-
function ConstructorWithDefinitionAndFactory() { }
|
|
182
|
-
if (false) {
|
|
183
|
-
/** @type {?|undefined} */
|
|
184
|
-
ConstructorWithDefinitionAndFactory.prototype.ɵprov;
|
|
185
|
-
/** @type {?|undefined} */
|
|
186
|
-
ConstructorWithDefinitionAndFactory.prototype.ɵpipe;
|
|
187
|
-
/** @type {?|undefined} */
|
|
188
|
-
ConstructorWithDefinitionAndFactory.prototype.ɵcmp;
|
|
189
|
-
/** @type {?|undefined} */
|
|
190
|
-
ConstructorWithDefinitionAndFactory.prototype.ɵdir;
|
|
191
|
-
/* Skipping unnamed member:
|
|
192
|
-
[NG_FACTORY_DEF]?: Factory;*/
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* @record
|
|
196
|
-
*/
|
|
197
|
-
function PrivateInstance() { }
|
|
198
|
-
if (false) {
|
|
199
|
-
/* Skipping unnamed member:
|
|
200
|
-
[InjectorInstance]?: Injector;*/
|
|
201
|
-
/* Skipping unnamed member:
|
|
202
|
-
[InjectorNotifier]?: ReplaySubject<boolean>;*/
|
|
203
|
-
}
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLWluamVjdG9yLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9pbnRlcm5hbHMvIiwic291cmNlcyI6WyJkZWNvcmF0b3ItaW5qZWN0b3ItYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUdMLFFBQVEsRUFFUixpQkFBaUIsRUFDakIsT0FBTyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7OztNQU8vQixjQUFjLEdBQUcsTUFBTTs7O01BR3ZCLGdCQUFnQixHQUFrQixNQUFNLENBQUMsa0JBQWtCLENBQUM7OztNQUc1RCx1QkFBdUIsR0FBa0IsTUFBTSxDQUFDLHlCQUF5QixDQUFDOzs7O01BSTFFLGdCQUFnQixHQUFrQixNQUFNLENBQUMsa0JBQWtCLENBQUM7Ozs7QUFFbEUsNENBRUM7Ozs7Ozs7OztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsTUFBdUQ7SUFFdkQsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUM1QixPQUFPLG1CQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLENBQUM7S0FDbEM7U0FBTTs7Y0FDQyxpQkFBaUIsR0FBRyxJQUFJLGFBQWEsQ0FBVSxDQUFDLENBQUM7UUFDdkQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUU7WUFDOUMsR0FBRzs7O1lBQUUsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUE7U0FDN0IsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxpQkFBaUIsQ0FBQztLQUMxQjtBQUNILENBQUM7Ozs7OztBQUdELE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxNQUFjO0lBQ3hELElBQUksdUJBQXVCLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUU7UUFDM0QsT0FBTztLQUNSOztVQUVLLFdBQVcsR0FBd0MsTUFBTSxDQUFD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VUM7OztJQVJDLG9EQUFtQjs7SUFFbkIsb0RBQW1COztJQUVuQixtREFBa0I7O0lBRWxCLG1EQUFrQjs7Ozs7OztBQUlwQiw4QkFHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgSW5qZWN0aW9uVG9rZW4sXHJcbiAgSW5qZWN0b3IsXHJcbiAgSU5KRUNUT1IsXHJcbiAgVHlwZSxcclxuICDJtcm1ZGlyZWN0aXZlSW5qZWN0LFxyXG4gIMm1Z2xvYmFsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbi8vIFdpbGwgYmUgcHJvdmlkZWQgdGhyb3VnaCBUZXJzZXIgZ2xvYmFsIGRlZmluaXRpb25zIGJ5IEFuZ3VsYXIgQ0xJXHJcbi8vIGR1cmluZyB0aGUgcHJvZHVjdGlvbiBidWlsZC4gVGhpcyBpcyBob3cgQW5ndWxhciBkb2VzIHRyZWUtc2hha2luZyBpbnRlcm5hbGx5LlxyXG5kZWNsYXJlIGNvbnN0IG5nRGV2TW9kZTogYm9vbGVhbjtcclxuXHJcbi8vIEFuZ3VsYXIgZG9lc24ndCBleHBvcnQgYE5HX0ZBQ1RPUllfREVGYC5cclxuY29uc3QgTkdfRkFDVE9SWV9ERUYgPSAnybVmYWMnO1xyXG5cclxuLy8gQSBgU3ltYm9sYCB3aGljaCBpcyB1c2VkIHRvIHNhdmUgdGhlIGBJbmplY3RvcmAgb250byB0aGUgY2xhc3MgaW5zdGFuY2UuXHJcbmNvbnN0IEluamVjdG9ySW5zdGFuY2U6IHVuaXF1ZSBzeW1ib2wgPSBTeW1ib2woJ0luamVjdG9ySW5zdGFuY2UnKTtcclxuXHJcbi8vIEEgYFN5bWJvbGAgd2hpY2ggaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYgZmFjdG9yeSBoYXMgYmVlbiBkZWNvcmF0ZWQgcHJldmlvdXNseSBvciBub3QuXHJcbmNvbnN0IEZhY3RvcnlIYXNCZWVuRGVjb3JhdGVkOiB1bmlxdWUgc3ltYm9sID0gU3ltYm9sKCdGYWN0b3J5SGFzQmVlbkRlY29yYXRlZCcpO1xyXG5cclxuLy8gQSBgU3ltYm9sYCB3aGljaCBpcyB1c2VkIHRvIHNhdmUgdGhlIG5vdGlmaWVyIG9uIHRoZSBjbGFzcyBpbnN0YW5jZS4gVGhlIGBJbmplY3Rvckluc3RhbmNlYCBjYW5ub3RcclxuLy8gYmUgcmV0cmlldmVkIHdpdGhpbiB0aGUgYGNvbnN0cnVjdG9yYCBzaW5jZSBpdCdzIHNldCBhZnRlciB0aGUgYGZhY3RvcnkoKWAgaXMgY2FsbGVkLlxyXG5jb25zdCBJbmplY3Rvck5vdGlmaWVyOiB1bmlxdWUgc3ltYm9sID0gU3ltYm9sKCdJbmplY3Rvck5vdGlmaWVyJyk7XHJcblxyXG5pbnRlcmZhY2UgUHJvdG90eXBlV2l0aEluamVjdG9yTm90aWZpZXIgZXh0ZW5kcyBPYmplY3Qge1xyXG4gIFtJbmplY3Rvck5vdGlmaWVyXT86IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj47XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVJbmplY3Rvck5vdGlmaWVySXNDYXB0dXJlZChcclxuICB0YXJnZXQ6IFByb3RvdHlwZVdpdGhJbmplY3Rvck5vdGlmaWVyIHwgUHJpdmF0ZUluc3RhbmNlXHJcbik6IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4ge1xyXG4gIGlmICh0YXJnZXRbSW5qZWN0b3JOb3RpZmllcl0pIHtcclxuICAgIHJldHVybiB0YXJnZXRbSW5qZWN0b3JOb3RpZmllcl0hO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBjb25zdCBpbmplY3Rvck5vdGlmaWVyJCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpO1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgSW5qZWN0b3JOb3RpZmllciwge1xyXG4gICAgICBnZXQ6ICgpID0+IGluamVjdG9yTm90aWZpZXIkXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBpbmplY3Rvck5vdGlmaWVyJDtcclxuICB9XHJcbn1cclxuXHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXHJcbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVMb2NhbEluamVjdG9yQ2FwdHVyZWQodGFyZ2V0OiBPYmplY3QpOiB2b2lkIHtcclxuICBpZiAoRmFjdG9yeUhhc0JlZW5EZWNvcmF0ZWQgaW4gdGFyZ2V0LmNvbnN0cnVjdG9yLnByb3RvdHlwZSkge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgY29uc3RydWN0b3I6IENvbnN0cnVjdG9yV2l0aERlZmluaXRpb25BbmRGYWN0b3J5ID0gdGFyZ2V0LmNvbnN0cnVjdG9yO1xyXG4gIC8vIE1lYW5zIHdlJ3JlIGluIEFPVCBtb2RlLlxyXG4gIGlmICh0eXBlb2YgY29uc3RydWN0b3JbTkdfRkFDVE9SWV9ERUZdID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICBkZWNvcmF0ZUZhY3RvcnkoY29uc3RydWN0b3IpO1xyXG4gIH0gZWxzZSBpZiAobmdEZXZNb2RlKSB7XHJcbiAgICAvLyBXZSdyZSBydW5uaW5nIGluIEpJVCBtb2RlIGFuZCB0aGF0IG1lYW5zIHdlJ3JlIG5vdCBhYmxlIHRvIGdldCB0aGUgY29tcGlsZWQgZGVmaW5pdGlvblxyXG4gICAgLy8gb24gdGhlIGNsYXNzIGluc2lkZSB0aGUgcHJvcGVydHkgZGVjb3JhdG9yIGR1cmluZyB0aGUgY3VycmVudCBtZXNzYWdlIGxvb3AgdGljay4gV2UgaGF2ZVxyXG4gICAgLy8gdG8gd2FpdCBmb3IgdGhlIG5leHQgbWVzc2FnZSBsb29wIHRpY2suIE5vdGUgdGhhdCB0aGlzIGlzIHNhZmUgc2luY2UgdGhpcyBQcm9taXNlIHdpbGwgYmVcclxuICAgIC8vIHJlc29sdmVkIGV2ZW4gYmVmb3JlIHRoZSBgQVBQX0lOSVRJQUxJWkVSYCBpcyByZXNvbHZlZC5cclxuICAgIC8vIFRoZSBiZWxvdyBjb2RlIGFsc28gd2lsbCBiZSBleGVjdXRlZCBvbmx5IGluIGRldmVsb3BtZW50IG1vZGUsIHNpbmNlIGl0J3MgbmV2ZXIgcmVjb21tZW5kZWRcclxuICAgIC8vIHRvIHVzZSB0aGUgSklUIGNvbXBpbGVyIGluIHByb2R1Y3Rpb24gbW9kZSAoYnkgc2V0dGluZyBcImFvdDogZmFsc2VcIikuXHJcbiAgICBkZWNvcmF0ZUZhY3RvcnlMYXRlcihjb25zdHJ1Y3Rvcik7XHJcbiAgfVxyXG5cclxuICB0YXJnZXQuY29uc3RydWN0b3IucHJvdG90eXBlW0ZhY3RvcnlIYXNCZWVuRGVjb3JhdGVkXSA9IHRydWU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2NhbEluamVjdDxUPihcclxuICBpbnN0YW5jZTogUHJpdmF0ZUluc3RhbmNlLFxyXG4gIHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiB8IFR5cGU8VD5cclxuKTogVCB8IG51bGwge1xyXG4gIGNvbnN0IGluamVjdG9yOiBJbmplY3RvciB8IHVuZGVmaW5lZCA9IGluc3RhbmNlW0luamVjdG9ySW5zdGFuY2VdO1xyXG4gIHJldHVybiBpbmplY3RvciA/IGluamVjdG9yLmdldCh0b2tlbikgOiBudWxsO1xyXG59XHJcblxyXG5mdW5jdGlvbiBkZWNvcmF0ZUZhY3RvcnkoY29uc3RydWN0b3I6IENvbnN0cnVjdG9yV2l0aERlZmluaXRpb25BbmRGYWN0b3J5KTogdm9pZCB7XHJcbiAgY29uc3QgZmFjdG9yeSA9IGNvbnN0cnVjdG9yW05HX0ZBQ1RPUllfREVGXTtcclxuXHJcbiAgaWYgKHR5cGVvZiBmYWN0b3J5ICE9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICAvLyBMZXQncyB0cnkgdG8gZ2V0IGFueSBkZWZpbml0aW9uLlxyXG4gIC8vIENhcmV0YWtlciBub3RlOiB0aGlzIHdpbGwgYmUgY29tcGF0aWJsZSBvbmx5IHdpdGggQW5ndWxhciA5Kywgc2luY2UgQW5ndWxhciA5IGlzIHRoZSBmaXJzdFxyXG4gIC8vIEl2eS1zdGFibGUgdmVyc2lvbi4gUHJldmlvdXNseSBkZWZpbml0aW9uIHByb3BlcnRpZXMgd2VyZSBuYW1lZCBkaWZmZXJlbnRseSAoZS5nLiBgbmdDb21wb25lbnREZWZgKS5cclxuICBjb25zdCBkZWYgPSBjb25zdHJ1Y3Rvci7JtXByb3YgfHwgY29uc3RydWN0b3IuybVwaXBlIHx8IGNvbnN0cnVjdG9yLsm1Y21wIHx8IGNvbnN0cnVjdG9yLsm1ZGlyO1xyXG5cclxuICBjb25zdCBkZWNvcmF0ZWRGYWN0b3J5ID0gKCkgPT4ge1xyXG4gICAgY29uc3QgaW5zdGFuY2UgPSBmYWN0b3J5KCk7XHJcbiAgICAvLyBDYXJldGFrZXIgbm90ZTogYGluamVjdCgpYCB3b24ndCB3b3JrIGhlcmUuXHJcbiAgICAvLyBXZSBjYW4gdXNlIHRoZSBgZGlyZWN0aXZlSW5qZWN0YCBvbmx5IGR1cmluZyB0aGUgY29tcG9uZW50XHJcbiAgICAvLyBjb25zdHJ1Y3Rpb24sIHNpbmNlIEFuZ3VsYXIgY2FwdHVyZXMgdGhlIGN1cnJlbnRseSBhY3RpdmUgaW5qZWN0b3IuXHJcbiAgICAvLyBXZSdyZSBub3QgYWJsZSB0byB1c2UgdGhpcyBmdW5jdGlvbiBpbnNpZGUgdGhlIGdldHRlciAod2hlbiB0aGUgYHNlbGVjdG9ySWRgIHByb3BlcnR5IGlzXHJcbiAgICAvLyByZXF1ZXN0ZWQgZm9yIHRoZSBmaXJzdCB0aW1lKSwgc2luY2UgdGhlIGN1cnJlbnRseSBhY3RpdmUgaW5qZWN0b3Igd2lsbCBiZSBudWxsLlxyXG4gICAgaW5zdGFuY2VbSW5qZWN0b3JJbnN0YW5jZV0gPSDJtcm1ZGlyZWN0aXZlSW5qZWN0KFxyXG4gICAgICAvLyBXZSdyZSB1c2luZyBgSU5KRUNUT1JgIHRva2VuIGV4Y2VwdCBvZiB0aGUgYEluamVjdG9yYCBjbGFzcyBzaW5jZSB0aGUgY29tcGlsZXJcclxuICAgICAgLy8gdGhyb3dzOiBgQ2Fubm90IGFzc2lnbiBhbiBhYnN0cmFjdCBjb25zdHJ1Y3RvciB0eXBlIHRvIGEgbm9uLWFic3RyYWN0IGNvbnN0cnVjdG9yIHR5cGUuYC5cclxuICAgICAgLy8gQ2FyZXRha2VyIG5vdGU6IHRoYXQgdGhpcyBpcyB0aGUgc2FtZSB3YXkgb2YgZ2V0dGluZyB0aGUgaW5qZWN0b3IuXHJcbiAgICAgIElOSkVDVE9SXHJcbiAgICApO1xyXG5cclxuICAgIC8vIENhcmV0YWtlciBub3RlOiB0aGUgbm90aWZpZXIgd2lsbCBiZSBhdmFpbGFibGUgb25seSBpZiBjb25zdW1lcnMgY2FsbCB0aGUgYGVuc3VyZUluamVjdG9yTm90aWZpZXJJc0NhcHR1cmVkKClgLlxyXG4gICAgY29uc3QgaW5qZWN0b3JOb3RpZmllciQgPSBpbnN0YW5jZVtJbmplY3Rvck5vdGlmaWVyXTtcclxuICAgIGlmIChpbmplY3Rvck5vdGlmaWVyJCkge1xyXG4gICAgICBpbmplY3Rvck5vdGlmaWVyJC5uZXh0KHRydWUpO1xyXG4gICAgICBpbmplY3Rvck5vdGlmaWVyJC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpbnN0YW5jZTtcclxuICB9O1xyXG5cclxuICAvLyBJZiB3ZSd2ZSBmb3VuZCBhbnkgZGVmaW5pdGlvbiB0aGVuIGl0J3MgZW5vdWdoIHRvIG92ZXJyaWRlIHRoZSBgZGVmLmZhY3RvcnlgIHNpbmNlIEFuZ3VsYXJcclxuICAvLyBjb2RlIHVzZXMgdGhlIGBkZWYuZmFjdG9yeWAgYW5kIHRoZW4gZmFsbGJhY2tzIHRvIGDJtWZhY2AuXHJcbiAgaWYgKGRlZikge1xyXG4gICAgZGVmLmZhY3RvcnkgPSBkZWNvcmF0ZWRGYWN0b3J5O1xyXG4gIH1cclxuXHJcbiAgLy8gYEBOZ01vZHVsZSgpYCBkb2Vzbid0IGRvZXNuJ3QgaGF2ZSBkZWZpbml0aW9uIGZhY3RvcnksIGFsc28gcHJvdmlkZXJzIGhhdmUgZGVmaW5pdGlvbnMgYnV0IEFuZ3VsYXJcclxuICAvLyBzdGlsbCB1c2VzIHRoZSBgybVmYWNgLlxyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb25zdHJ1Y3RvciwgTkdfRkFDVE9SWV9ERUYsIHtcclxuICAgIGdldDogKCkgPT4gZGVjb3JhdGVkRmFjdG9yeVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBkZWNvcmF0ZUZhY3RvcnlMYXRlcihjb25zdHJ1Y3RvcjogQ29uc3RydWN0b3JXaXRoRGVmaW5pdGlvbkFuZEZhY3RvcnkpOiB2b2lkIHtcclxuICAvLyBUaGlzIGZ1bmN0aW9uIGFjdHVhbGx5IHdpbGwgYmUgdHJlZS1zaGFrZW4gYXdheSB3aGVuIGJ1aWxkaW5nIGZvciBwcm9kdWN0aW9uIHNpbmNlIGl0J3MgZ3VhcmRlZCB3aXRoIGBuZ0Rldk1vZGVgLlxyXG4gIC8vIFdlJ3JlIGhhdmluZyB0aGUgYHRyeS1jYXRjaGAgaGVyZSBiZWNhdXNlIG9mIHRoZSBgU3luY1Rlc3Rab25lU3BlY2AsIHdoaWNoIHRocm93c1xyXG4gIC8vIGFuIGVycm9yIHdoZW4gbWljcm8gb3IgbWFjcm90YXNrIGlzIHVzZWQgd2l0aGluIGEgc3luY2hyb25vdXMgdGVzdC4gRS5nLiBgQ2Fubm90IGNhbGxcclxuICAvLyBQcm9taXNlLnRoZW4gZnJvbSB3aXRoaW4gYSBzeW5jIHRlc3RgLlxyXG4gIHRyeSB7XHJcbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcclxuICAgICAgZGVjb3JhdGVGYWN0b3J5KGNvbnN0cnVjdG9yKTtcclxuICAgIH0pO1xyXG4gIH0gY2F0Y2gge1xyXG4gICAgLy8gVGhpcyBpcyBraW5kIG9mIGEgXCJoYWNrXCIsIGJ1dCB3ZSB0cnkgdG8gYmUgYmFja3dhcmRzLWNvbXBhdGlibGUsXHJcbiAgICAvLyB0aG8gdGhpcyBgY2F0Y2hgIGJsb2NrIHdpbGwgb25seSBiZSBleGVjdXRlZCB3aGVuIHRlc3RzIGFyZSBydW4gd2l0aCBKYXNtaW5lIG9yIEplc3QuXHJcbiAgICDJtWdsb2JhbC5wcm9jZXNzICYmXHJcbiAgICAgIMm1Z2xvYmFsLnByb2Nlc3MubmV4dFRpY2sgJiZcclxuICAgICAgybVnbG9iYWwucHJvY2Vzcy5uZXh0VGljaygoKSA9PiB7XHJcbiAgICAgICAgZGVjb3JhdGVGYWN0b3J5KGNvbnN0cnVjdG9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBXZSBjb3VsZCd2ZSB1c2VkIGDJtcm1RmFjdG9yeURlZmAgYnV0IHdlIHRyeSB0byBiZSBiYWNrd2FyZHMtY29tcGF0aWJsZSxcclxuLy8gc2luY2UgaXQncyBub3QgZXhwb3J0ZWQgaW4gb2xkZXIgQW5ndWxhciB2ZXJzaW9ucy5cclxudHlwZSBGYWN0b3J5ID0gKCkgPT4gUHJpdmF0ZUluc3RhbmNlO1xyXG5cclxuLy8gV2UgY291bGQndmUgdXNlZCBgybXJtUluamVjdGFibGVEZWZgLCBgybXJtVBpcGVEZWZgLCBldGMuIFdlIHRyeSB0byBiZSBiYWNrd2FyZHMtY29tcGF0aWJsZVxyXG4vLyBzaW5jZSB0aGV5J3JlIG5vdCBleHBvcnRlZCBpbiBvbGRlciBBbmd1bGFyIHZlcnNpb25zLlxyXG5pbnRlcmZhY2UgRGVmaW5pdGlvbiB7XHJcbiAgZmFjdG9yeTogRmFjdG9yeSB8IG51bGw7XHJcbn1cclxuXHJcbmludGVyZmFjZSBDb25zdHJ1Y3RvcldpdGhEZWZpbml0aW9uQW5kRmFjdG9yeSBleHRlbmRzIEZ1bmN0aW9uIHtcclxuICAvLyBQcm92aWRlciBkZWZpbml0aW9uIGZvciB0aGUgYEBJbmplY3RhYmxlKClgIGNsYXNzLlxyXG4gIMm1cHJvdj86IERlZmluaXRpb247XHJcbiAgLy8gUGlwZSBkZWZpbml0aW9uIGZvciB0aGUgYEBQaXBlKClgIGNsYXNzLlxyXG4gIMm1cGlwZT86IERlZmluaXRpb247XHJcbiAgLy8gQ29tcG9uZW50IGRlZmluaXRpb24gZm9yIHRoZSBgQENvbXBvbmVudCgpYCBjbGFzcy5cclxuICDJtWNtcD86IERlZmluaXRpb247XHJcbiAgLy8gRGlyZWN0aXZlIGRlZmluaXRpb24gZm9yIHRoZSBgQERpcmVjdGl2ZSgpYCBjbGFzcy5cclxuICDJtWRpcj86IERlZmluaXRpb247XHJcbiAgW05HX0ZBQ1RPUllfREVGXT86IEZhY3Rvcnk7XHJcbn1cclxuXHJcbmludGVyZmFjZSBQcml2YXRlSW5zdGFuY2Uge1xyXG4gIFtJbmplY3Rvckluc3RhbmNlXT86IEluamVjdG9yO1xyXG4gIFtJbmplY3Rvck5vdGlmaWVyXT86IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj47XHJcbn1cclxuIl19
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { INJECTOR, ɵɵdirectiveInject, ɵglobal } from '@angular/core';
|
|
6
|
-
import { ReplaySubject } from 'rxjs';
|
|
7
|
-
// Angular doesn't export `NG_FACTORY_DEF`.
|
|
8
|
-
/** @type {?} */
|
|
9
|
-
var NG_FACTORY_DEF = 'ɵfac';
|
|
10
|
-
// A `Symbol` which is used to save the `Injector` onto the class instance.
|
|
11
|
-
/** @type {?} */
|
|
12
|
-
var InjectorInstance = Symbol('InjectorInstance');
|
|
13
|
-
// A `Symbol` which is used to determine if factory has been decorated previously or not.
|
|
14
|
-
/** @type {?} */
|
|
15
|
-
var FactoryHasBeenDecorated = Symbol('FactoryHasBeenDecorated');
|
|
16
|
-
// A `Symbol` which is used to save the notifier on the class instance. The `InjectorInstance` cannot
|
|
17
|
-
// be retrieved within the `constructor` since it's set after the `factory()` is called.
|
|
18
|
-
/** @type {?} */
|
|
19
|
-
var InjectorNotifier = Symbol('InjectorNotifier');
|
|
20
|
-
/**
|
|
21
|
-
* @record
|
|
22
|
-
*/
|
|
23
|
-
function PrototypeWithInjectorNotifier() { }
|
|
24
|
-
if (false) {
|
|
25
|
-
/* Skipping unnamed member:
|
|
26
|
-
[InjectorNotifier]?: ReplaySubject<boolean>;*/
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* @param {?} target
|
|
30
|
-
* @return {?}
|
|
31
|
-
*/
|
|
32
|
-
export function ensureInjectorNotifierIsCaptured(target) {
|
|
33
|
-
if (target[InjectorNotifier]) {
|
|
34
|
-
return (/** @type {?} */ (target[InjectorNotifier]));
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
/** @type {?} */
|
|
38
|
-
var injectorNotifier$_1 = new ReplaySubject(1);
|
|
39
|
-
Object.defineProperty(target, InjectorNotifier, {
|
|
40
|
-
get: (/**
|
|
41
|
-
* @return {?}
|
|
42
|
-
*/
|
|
43
|
-
function () { return injectorNotifier$_1; })
|
|
44
|
-
});
|
|
45
|
-
return injectorNotifier$_1;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
49
|
-
/**
|
|
50
|
-
* @param {?} target
|
|
51
|
-
* @return {?}
|
|
52
|
-
*/
|
|
53
|
-
export function ensureLocalInjectorCaptured(target) {
|
|
54
|
-
if (FactoryHasBeenDecorated in target.constructor.prototype) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
/** @type {?} */
|
|
58
|
-
var constructor = target.constructor;
|
|
59
|
-
// Means we're in AOT mode.
|
|
60
|
-
if (typeof constructor[NG_FACTORY_DEF] === 'function') {
|
|
61
|
-
decorateFactory(constructor);
|
|
62
|
-
}
|
|
63
|
-
else if (ngDevMode) {
|
|
64
|
-
// We're running in JIT mode and that means we're not able to get the compiled definition
|
|
65
|
-
// on the class inside the property decorator during the current message loop tick. We have
|
|
66
|
-
// to wait for the next message loop tick. Note that this is safe since this Promise will be
|
|
67
|
-
// resolved even before the `APP_INITIALIZER` is resolved.
|
|
68
|
-
// The below code also will be executed only in development mode, since it's never recommended
|
|
69
|
-
// to use the JIT compiler in production mode (by setting "aot: false").
|
|
70
|
-
decorateFactoryLater(constructor);
|
|
71
|
-
}
|
|
72
|
-
target.constructor.prototype[FactoryHasBeenDecorated] = true;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* @template T
|
|
76
|
-
* @param {?} instance
|
|
77
|
-
* @param {?} token
|
|
78
|
-
* @return {?}
|
|
79
|
-
*/
|
|
80
|
-
export function localInject(instance, token) {
|
|
81
|
-
/** @type {?} */
|
|
82
|
-
var injector = instance[InjectorInstance];
|
|
83
|
-
return injector ? injector.get(token) : null;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* @param {?} constructor
|
|
87
|
-
* @return {?}
|
|
88
|
-
*/
|
|
89
|
-
function decorateFactory(constructor) {
|
|
90
|
-
/** @type {?} */
|
|
91
|
-
var factory = constructor[NG_FACTORY_DEF];
|
|
92
|
-
if (typeof factory !== 'function') {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
// Let's try to get any definition.
|
|
96
|
-
// Caretaker note: this will be compatible only with Angular 9+, since Angular 9 is the first
|
|
97
|
-
// Ivy-stable version. Previously definition properties were named differently (e.g. `ngComponentDef`).
|
|
98
|
-
/** @type {?} */
|
|
99
|
-
var def = constructor.ɵprov || constructor.ɵpipe || constructor.ɵcmp || constructor.ɵdir;
|
|
100
|
-
/** @type {?} */
|
|
101
|
-
var decoratedFactory = (/**
|
|
102
|
-
* @return {?}
|
|
103
|
-
*/
|
|
104
|
-
function () {
|
|
105
|
-
/** @type {?} */
|
|
106
|
-
var instance = factory();
|
|
107
|
-
// Caretaker note: `inject()` won't work here.
|
|
108
|
-
// We can use the `directiveInject` only during the component
|
|
109
|
-
// construction, since Angular captures the currently active injector.
|
|
110
|
-
// We're not able to use this function inside the getter (when the `selectorId` property is
|
|
111
|
-
// requested for the first time), since the currently active injector will be null.
|
|
112
|
-
instance[InjectorInstance] = ɵɵdirectiveInject(
|
|
113
|
-
// We're using `INJECTOR` token except of the `Injector` class since the compiler
|
|
114
|
-
// throws: `Cannot assign an abstract constructor type to a non-abstract constructor type.`.
|
|
115
|
-
// Caretaker note: that this is the same way of getting the injector.
|
|
116
|
-
INJECTOR);
|
|
117
|
-
// Caretaker note: the notifier will be available only if consumers call the `ensureInjectorNotifierIsCaptured()`.
|
|
118
|
-
/** @type {?} */
|
|
119
|
-
var injectorNotifier$ = instance[InjectorNotifier];
|
|
120
|
-
if (injectorNotifier$) {
|
|
121
|
-
injectorNotifier$.next(true);
|
|
122
|
-
injectorNotifier$.complete();
|
|
123
|
-
}
|
|
124
|
-
return instance;
|
|
125
|
-
});
|
|
126
|
-
// If we've found any definition then it's enough to override the `def.factory` since Angular
|
|
127
|
-
// code uses the `def.factory` and then fallbacks to `ɵfac`.
|
|
128
|
-
if (def) {
|
|
129
|
-
def.factory = decoratedFactory;
|
|
130
|
-
}
|
|
131
|
-
// `@NgModule()` doesn't doesn't have definition factory, also providers have definitions but Angular
|
|
132
|
-
// still uses the `ɵfac`.
|
|
133
|
-
Object.defineProperty(constructor, NG_FACTORY_DEF, {
|
|
134
|
-
get: (/**
|
|
135
|
-
* @return {?}
|
|
136
|
-
*/
|
|
137
|
-
function () { return decoratedFactory; })
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* @param {?} constructor
|
|
142
|
-
* @return {?}
|
|
143
|
-
*/
|
|
144
|
-
function decorateFactoryLater(constructor) {
|
|
145
|
-
// This function actually will be tree-shaken away when building for production since it's guarded with `ngDevMode`.
|
|
146
|
-
// We're having the `try-catch` here because of the `SyncTestZoneSpec`, which throws
|
|
147
|
-
// an error when micro or macrotask is used within a synchronous test. E.g. `Cannot call
|
|
148
|
-
// Promise.then from within a sync test`.
|
|
149
|
-
try {
|
|
150
|
-
Promise.resolve().then((/**
|
|
151
|
-
* @return {?}
|
|
152
|
-
*/
|
|
153
|
-
function () {
|
|
154
|
-
decorateFactory(constructor);
|
|
155
|
-
}));
|
|
156
|
-
}
|
|
157
|
-
catch (_a) {
|
|
158
|
-
// This is kind of a "hack", but we try to be backwards-compatible,
|
|
159
|
-
// tho this `catch` block will only be executed when tests are run with Jasmine or Jest.
|
|
160
|
-
ɵglobal.process &&
|
|
161
|
-
ɵglobal.process.nextTick &&
|
|
162
|
-
ɵglobal.process.nextTick((/**
|
|
163
|
-
* @return {?}
|
|
164
|
-
*/
|
|
165
|
-
function () {
|
|
166
|
-
decorateFactory(constructor);
|
|
167
|
-
}));
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* @record
|
|
172
|
-
*/
|
|
173
|
-
function Definition() { }
|
|
174
|
-
if (false) {
|
|
175
|
-
/** @type {?} */
|
|
176
|
-
Definition.prototype.factory;
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* @record
|
|
180
|
-
*/
|
|
181
|
-
function ConstructorWithDefinitionAndFactory() { }
|
|
182
|
-
if (false) {
|
|
183
|
-
/** @type {?|undefined} */
|
|
184
|
-
ConstructorWithDefinitionAndFactory.prototype.ɵprov;
|
|
185
|
-
/** @type {?|undefined} */
|
|
186
|
-
ConstructorWithDefinitionAndFactory.prototype.ɵpipe;
|
|
187
|
-
/** @type {?|undefined} */
|
|
188
|
-
ConstructorWithDefinitionAndFactory.prototype.ɵcmp;
|
|
189
|
-
/** @type {?|undefined} */
|
|
190
|
-
ConstructorWithDefinitionAndFactory.prototype.ɵdir;
|
|
191
|
-
/* Skipping unnamed member:
|
|
192
|
-
[NG_FACTORY_DEF]?: Factory;*/
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* @record
|
|
196
|
-
*/
|
|
197
|
-
function PrivateInstance() { }
|
|
198
|
-
if (false) {
|
|
199
|
-
/* Skipping unnamed member:
|
|
200
|
-
[InjectorInstance]?: Injector;*/
|
|
201
|
-
/* Skipping unnamed member:
|
|
202
|
-
[InjectorNotifier]?: ReplaySubject<boolean>;*/
|
|
203
|
-
}
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLWluamVjdG9yLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9pbnRlcm5hbHMvIiwic291cmNlcyI6WyJkZWNvcmF0b3ItaW5qZWN0b3ItYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUdMLFFBQVEsRUFFUixpQkFBaUIsRUFDakIsT0FBTyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7OztJQU8vQixjQUFjLEdBQUcsTUFBTTs7O0lBR3ZCLGdCQUFnQixHQUFrQixNQUFNLENBQUMsa0JBQWtCLENBQUM7OztJQUc1RCx1QkFBdUIsR0FBa0IsTUFBTSxDQUFDLHlCQUF5QixDQUFDOzs7O0lBSTFFLGdCQUFnQixHQUFrQixNQUFNLENBQUMsa0JBQWtCLENBQUM7Ozs7QUFFbEUsNENBRUM7Ozs7Ozs7OztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsTUFBdUQ7SUFFdkQsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUM1QixPQUFPLG1CQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLENBQUM7S0FDbEM7U0FBTTs7WUFDQyxtQkFBaUIsR0FBRyxJQUFJLGFBQWEsQ0FBVSxDQUFDLENBQUM7UUFDdkQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUU7WUFDOUMsR0FBRzs7O1lBQUUsY0FBTSxPQUFBLG1CQUFpQixFQUFqQixDQUFpQixDQUFBO1NBQzdCLENBQUMsQ0FBQztRQUNILE9BQU8sbUJBQWlCLENBQUM7S0FDMUI7QUFDSCxDQUFDOzs7Ozs7QUFHRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsTUFBYztJQUN4RCxJQUFJLHVCQUF1QixJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFO1FBQzNELE9BQU87S0FDUjs7UUFFSyxXQUFXLEdBQXdDLE1B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OztJQUVuQixvREFBbUI7O0lBRW5CLG1EQUFrQjs7SUFFbEIsbURBQWtCOzs7Ozs7O0FBSXBCLDhCQUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBJbmplY3Rpb25Ub2tlbixcclxuICBJbmplY3RvcixcclxuICBJTkpFQ1RPUixcclxuICBUeXBlLFxyXG4gIMm1ybVkaXJlY3RpdmVJbmplY3QsXHJcbiAgybVnbG9iYWxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuLy8gV2lsbCBiZSBwcm92aWRlZCB0aHJvdWdoIFRlcnNlciBnbG9iYWwgZGVmaW5pdGlvbnMgYnkgQW5ndWxhciBDTElcclxuLy8gZHVyaW5nIHRoZSBwcm9kdWN0aW9uIGJ1aWxkLiBUaGlzIGlzIGhvdyBBbmd1bGFyIGRvZXMgdHJlZS1zaGFraW5nIGludGVybmFsbHkuXHJcbmRlY2xhcmUgY29uc3QgbmdEZXZNb2RlOiBib29sZWFuO1xyXG5cclxuLy8gQW5ndWxhciBkb2Vzbid0IGV4cG9ydCBgTkdfRkFDVE9SWV9ERUZgLlxyXG5jb25zdCBOR19GQUNUT1JZX0RFRiA9ICfJtWZhYyc7XHJcblxyXG4vLyBBIGBTeW1ib2xgIHdoaWNoIGlzIHVzZWQgdG8gc2F2ZSB0aGUgYEluamVjdG9yYCBvbnRvIHRoZSBjbGFzcyBpbnN0YW5jZS5cclxuY29uc3QgSW5qZWN0b3JJbnN0YW5jZTogdW5pcXVlIHN5bWJvbCA9IFN5bWJvbCgnSW5qZWN0b3JJbnN0YW5jZScpO1xyXG5cclxuLy8gQSBgU3ltYm9sYCB3aGljaCBpcyB1c2VkIHRvIGRldGVybWluZSBpZiBmYWN0b3J5IGhhcyBiZWVuIGRlY29yYXRlZCBwcmV2aW91c2x5IG9yIG5vdC5cclxuY29uc3QgRmFjdG9yeUhhc0JlZW5EZWNvcmF0ZWQ6IHVuaXF1ZSBzeW1ib2wgPSBTeW1ib2woJ0ZhY3RvcnlIYXNCZWVuRGVjb3JhdGVkJyk7XHJcblxyXG4vLyBBIGBTeW1ib2xgIHdoaWNoIGlzIHVzZWQgdG8gc2F2ZSB0aGUgbm90aWZpZXIgb24gdGhlIGNsYXNzIGluc3RhbmNlLiBUaGUgYEluamVjdG9ySW5zdGFuY2VgIGNhbm5vdFxyXG4vLyBiZSByZXRyaWV2ZWQgd2l0aGluIHRoZSBgY29uc3RydWN0b3JgIHNpbmNlIGl0J3Mgc2V0IGFmdGVyIHRoZSBgZmFjdG9yeSgpYCBpcyBjYWxsZWQuXHJcbmNvbnN0IEluamVjdG9yTm90aWZpZXI6IHVuaXF1ZSBzeW1ib2wgPSBTeW1ib2woJ0luamVjdG9yTm90aWZpZXInKTtcclxuXHJcbmludGVyZmFjZSBQcm90b3R5cGVXaXRoSW5qZWN0b3JOb3RpZmllciBleHRlbmRzIE9iamVjdCB7XHJcbiAgW0luamVjdG9yTm90aWZpZXJdPzogUmVwbGF5U3ViamVjdDxib29sZWFuPjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZUluamVjdG9yTm90aWZpZXJJc0NhcHR1cmVkKFxyXG4gIHRhcmdldDogUHJvdG90eXBlV2l0aEluamVjdG9yTm90aWZpZXIgfCBQcml2YXRlSW5zdGFuY2VcclxuKTogUmVwbGF5U3ViamVjdDxib29sZWFuPiB7XHJcbiAgaWYgKHRhcmdldFtJbmplY3Rvck5vdGlmaWVyXSkge1xyXG4gICAgcmV0dXJuIHRhcmdldFtJbmplY3Rvck5vdGlmaWVyXSE7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnN0IGluamVjdG9yTm90aWZpZXIkID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBJbmplY3Rvck5vdGlmaWVyLCB7XHJcbiAgICAgIGdldDogKCkgPT4gaW5qZWN0b3JOb3RpZmllciRcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGluamVjdG9yTm90aWZpZXIkO1xyXG4gIH1cclxufVxyXG5cclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcclxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZUxvY2FsSW5qZWN0b3JDYXB0dXJlZCh0YXJnZXQ6IE9iamVjdCk6IHZvaWQge1xyXG4gIGlmIChGYWN0b3J5SGFzQmVlbkRlY29yYXRlZCBpbiB0YXJnZXQuY29uc3RydWN0b3IucHJvdG90eXBlKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBjb25zdCBjb25zdHJ1Y3RvcjogQ29uc3RydWN0b3JXaXRoRGVmaW5pdGlvbkFuZEZhY3RvcnkgPSB0YXJnZXQuY29uc3RydWN0b3I7XHJcbiAgLy8gTWVhbnMgd2UncmUgaW4gQU9UIG1vZGUuXHJcbiAgaWYgKHR5cGVvZiBjb25zdHJ1Y3RvcltOR19GQUNUT1JZX0RFRl0gPT09ICdmdW5jdGlvbicpIHtcclxuICAgIGRlY29yYXRlRmFjdG9yeShjb25zdHJ1Y3Rvcik7XHJcbiAgfSBlbHNlIGlmIChuZ0Rldk1vZGUpIHtcclxuICAgIC8vIFdlJ3JlIHJ1bm5pbmcgaW4gSklUIG1vZGUgYW5kIHRoYXQgbWVhbnMgd2UncmUgbm90IGFibGUgdG8gZ2V0IHRoZSBjb21waWxlZCBkZWZpbml0aW9uXHJcbiAgICAvLyBvbiB0aGUgY2xhc3MgaW5zaWRlIHRoZSBwcm9wZXJ0eSBkZWNvcmF0b3IgZHVyaW5nIHRoZSBjdXJyZW50IG1lc3NhZ2UgbG9vcCB0aWNrLiBXZSBoYXZlXHJcbiAgICAvLyB0byB3YWl0IGZvciB0aGUgbmV4dCBtZXNzYWdlIGxvb3AgdGljay4gTm90ZSB0aGF0IHRoaXMgaXMgc2FmZSBzaW5jZSB0aGlzIFByb21pc2Ugd2lsbCBiZVxyXG4gICAgLy8gcmVzb2x2ZWQgZXZlbiBiZWZvcmUgdGhlIGBBUFBfSU5JVElBTElaRVJgIGlzIHJlc29sdmVkLlxyXG4gICAgLy8gVGhlIGJlbG93IGNvZGUgYWxzbyB3aWxsIGJlIGV4ZWN1dGVkIG9ubHkgaW4gZGV2ZWxvcG1lbnQgbW9kZSwgc2luY2UgaXQncyBuZXZlciByZWNvbW1lbmRlZFxyXG4gICAgLy8gdG8gdXNlIHRoZSBKSVQgY29tcGlsZXIgaW4gcHJvZHVjdGlvbiBtb2RlIChieSBzZXR0aW5nIFwiYW90OiBmYWxzZVwiKS5cclxuICAgIGRlY29yYXRlRmFjdG9yeUxhdGVyKGNvbnN0cnVjdG9yKTtcclxuICB9XHJcblxyXG4gIHRhcmdldC5jb25zdHJ1Y3Rvci5wcm90b3R5cGVbRmFjdG9yeUhhc0JlZW5EZWNvcmF0ZWRdID0gdHJ1ZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvY2FsSW5qZWN0PFQ+KFxyXG4gIGluc3RhbmNlOiBQcml2YXRlSW5zdGFuY2UsXHJcbiAgdG9rZW46IEluamVjdGlvblRva2VuPFQ+IHwgVHlwZTxUPlxyXG4pOiBUIHwgbnVsbCB7XHJcbiAgY29uc3QgaW5qZWN0b3I6IEluamVjdG9yIHwgdW5kZWZpbmVkID0gaW5zdGFuY2VbSW5qZWN0b3JJbnN0YW5jZV07XHJcbiAgcmV0dXJuIGluamVjdG9yID8gaW5qZWN0b3IuZ2V0KHRva2VuKSA6IG51bGw7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRlY29yYXRlRmFjdG9yeShjb25zdHJ1Y3RvcjogQ29uc3RydWN0b3JXaXRoRGVmaW5pdGlvbkFuZEZhY3RvcnkpOiB2b2lkIHtcclxuICBjb25zdCBmYWN0b3J5ID0gY29uc3RydWN0b3JbTkdfRkFDVE9SWV9ERUZdO1xyXG5cclxuICBpZiAodHlwZW9mIGZhY3RvcnkgIT09ICdmdW5jdGlvbicpIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIC8vIExldCdzIHRyeSB0byBnZXQgYW55IGRlZmluaXRpb24uXHJcbiAgLy8gQ2FyZXRha2VyIG5vdGU6IHRoaXMgd2lsbCBiZSBjb21wYXRpYmxlIG9ubHkgd2l0aCBBbmd1bGFyIDkrLCBzaW5jZSBBbmd1bGFyIDkgaXMgdGhlIGZpcnN0XHJcbiAgLy8gSXZ5LXN0YWJsZSB2ZXJzaW9uLiBQcmV2aW91c2x5IGRlZmluaXRpb24gcHJvcGVydGllcyB3ZXJlIG5hbWVkIGRpZmZlcmVudGx5IChlLmcuIGBuZ0NvbXBvbmVudERlZmApLlxyXG4gIGNvbnN0IGRlZiA9IGNvbnN0cnVjdG9yLsm1cHJvdiB8fCBjb25zdHJ1Y3Rvci7JtXBpcGUgfHwgY29uc3RydWN0b3IuybVjbXAgfHwgY29uc3RydWN0b3IuybVkaXI7XHJcblxyXG4gIGNvbnN0IGRlY29yYXRlZEZhY3RvcnkgPSAoKSA9PiB7XHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IGZhY3RvcnkoKTtcclxuICAgIC8vIENhcmV0YWtlciBub3RlOiBgaW5qZWN0KClgIHdvbid0IHdvcmsgaGVyZS5cclxuICAgIC8vIFdlIGNhbiB1c2UgdGhlIGBkaXJlY3RpdmVJbmplY3RgIG9ubHkgZHVyaW5nIHRoZSBjb21wb25lbnRcclxuICAgIC8vIGNvbnN0cnVjdGlvbiwgc2luY2UgQW5ndWxhciBjYXB0dXJlcyB0aGUgY3VycmVudGx5IGFjdGl2ZSBpbmplY3Rvci5cclxuICAgIC8vIFdlJ3JlIG5vdCBhYmxlIHRvIHVzZSB0aGlzIGZ1bmN0aW9uIGluc2lkZSB0aGUgZ2V0dGVyICh3aGVuIHRoZSBgc2VsZWN0b3JJZGAgcHJvcGVydHkgaXNcclxuICAgIC8vIHJlcXVlc3RlZCBmb3IgdGhlIGZpcnN0IHRpbWUpLCBzaW5jZSB0aGUgY3VycmVudGx5IGFjdGl2ZSBpbmplY3RvciB3aWxsIGJlIG51bGwuXHJcbiAgICBpbnN0YW5jZVtJbmplY3Rvckluc3RhbmNlXSA9IMm1ybVkaXJlY3RpdmVJbmplY3QoXHJcbiAgICAgIC8vIFdlJ3JlIHVzaW5nIGBJTkpFQ1RPUmAgdG9rZW4gZXhjZXB0IG9mIHRoZSBgSW5qZWN0b3JgIGNsYXNzIHNpbmNlIHRoZSBjb21waWxlclxyXG4gICAgICAvLyB0aHJvd3M6IGBDYW5ub3QgYXNzaWduIGFuIGFic3RyYWN0IGNvbnN0cnVjdG9yIHR5cGUgdG8gYSBub24tYWJzdHJhY3QgY29uc3RydWN0b3IgdHlwZS5gLlxyXG4gICAgICAvLyBDYXJldGFrZXIgbm90ZTogdGhhdCB0aGlzIGlzIHRoZSBzYW1lIHdheSBvZiBnZXR0aW5nIHRoZSBpbmplY3Rvci5cclxuICAgICAgSU5KRUNUT1JcclxuICAgICk7XHJcblxyXG4gICAgLy8gQ2FyZXRha2VyIG5vdGU6IHRoZSBub3RpZmllciB3aWxsIGJlIGF2YWlsYWJsZSBvbmx5IGlmIGNvbnN1bWVycyBjYWxsIHRoZSBgZW5zdXJlSW5qZWN0b3JOb3RpZmllcklzQ2FwdHVyZWQoKWAuXHJcbiAgICBjb25zdCBpbmplY3Rvck5vdGlmaWVyJCA9IGluc3RhbmNlW0luamVjdG9yTm90aWZpZXJdO1xyXG4gICAgaWYgKGluamVjdG9yTm90aWZpZXIkKSB7XHJcbiAgICAgIGluamVjdG9yTm90aWZpZXIkLm5leHQodHJ1ZSk7XHJcbiAgICAgIGluamVjdG9yTm90aWZpZXIkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGluc3RhbmNlO1xyXG4gIH07XHJcblxyXG4gIC8vIElmIHdlJ3ZlIGZvdW5kIGFueSBkZWZpbml0aW9uIHRoZW4gaXQncyBlbm91Z2ggdG8gb3ZlcnJpZGUgdGhlIGBkZWYuZmFjdG9yeWAgc2luY2UgQW5ndWxhclxyXG4gIC8vIGNvZGUgdXNlcyB0aGUgYGRlZi5mYWN0b3J5YCBhbmQgdGhlbiBmYWxsYmFja3MgdG8gYMm1ZmFjYC5cclxuICBpZiAoZGVmKSB7XHJcbiAgICBkZWYuZmFjdG9yeSA9IGRlY29yYXRlZEZhY3Rvcnk7XHJcbiAgfVxyXG5cclxuICAvLyBgQE5nTW9kdWxlKClgIGRvZXNuJ3QgZG9lc24ndCBoYXZlIGRlZmluaXRpb24gZmFjdG9yeSwgYWxzbyBwcm92aWRlcnMgaGF2ZSBkZWZpbml0aW9ucyBidXQgQW5ndWxhclxyXG4gIC8vIHN0aWxsIHVzZXMgdGhlIGDJtWZhY2AuXHJcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnN0cnVjdG9yLCBOR19GQUNUT1JZX0RFRiwge1xyXG4gICAgZ2V0OiAoKSA9PiBkZWNvcmF0ZWRGYWN0b3J5XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRlY29yYXRlRmFjdG9yeUxhdGVyKGNvbnN0cnVjdG9yOiBDb25zdHJ1Y3RvcldpdGhEZWZpbml0aW9uQW5kRmFjdG9yeSk6IHZvaWQge1xyXG4gIC8vIFRoaXMgZnVuY3Rpb24gYWN0dWFsbHkgd2lsbCBiZSB0cmVlLXNoYWtlbiBhd2F5IHdoZW4gYnVpbGRpbmcgZm9yIHByb2R1Y3Rpb24gc2luY2UgaXQncyBndWFyZGVkIHdpdGggYG5nRGV2TW9kZWAuXHJcbiAgLy8gV2UncmUgaGF2aW5nIHRoZSBgdHJ5LWNhdGNoYCBoZXJlIGJlY2F1c2Ugb2YgdGhlIGBTeW5jVGVzdFpvbmVTcGVjYCwgd2hpY2ggdGhyb3dzXHJcbiAgLy8gYW4gZXJyb3Igd2hlbiBtaWNybyBvciBtYWNyb3Rhc2sgaXMgdXNlZCB3aXRoaW4gYSBzeW5jaHJvbm91cyB0ZXN0LiBFLmcuIGBDYW5ub3QgY2FsbFxyXG4gIC8vIFByb21pc2UudGhlbiBmcm9tIHdpdGhpbiBhIHN5bmMgdGVzdGAuXHJcbiAgdHJ5IHtcclxuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBkZWNvcmF0ZUZhY3RvcnkoY29uc3RydWN0b3IpO1xyXG4gICAgfSk7XHJcbiAgfSBjYXRjaCB7XHJcbiAgICAvLyBUaGlzIGlzIGtpbmQgb2YgYSBcImhhY2tcIiwgYnV0IHdlIHRyeSB0byBiZSBiYWNrd2FyZHMtY29tcGF0aWJsZSxcclxuICAgIC8vIHRobyB0aGlzIGBjYXRjaGAgYmxvY2sgd2lsbCBvbmx5IGJlIGV4ZWN1dGVkIHdoZW4gdGVzdHMgYXJlIHJ1biB3aXRoIEphc21pbmUgb3IgSmVzdC5cclxuICAgIMm1Z2xvYmFsLnByb2Nlc3MgJiZcclxuICAgICAgybVnbG9iYWwucHJvY2Vzcy5uZXh0VGljayAmJlxyXG4gICAgICDJtWdsb2JhbC5wcm9jZXNzLm5leHRUaWNrKCgpID0+IHtcclxuICAgICAgICBkZWNvcmF0ZUZhY3RvcnkoY29uc3RydWN0b3IpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFdlIGNvdWxkJ3ZlIHVzZWQgYMm1ybVGYWN0b3J5RGVmYCBidXQgd2UgdHJ5IHRvIGJlIGJhY2t3YXJkcy1jb21wYXRpYmxlLFxyXG4vLyBzaW5jZSBpdCdzIG5vdCBleHBvcnRlZCBpbiBvbGRlciBBbmd1bGFyIHZlcnNpb25zLlxyXG50eXBlIEZhY3RvcnkgPSAoKSA9PiBQcml2YXRlSW5zdGFuY2U7XHJcblxyXG4vLyBXZSBjb3VsZCd2ZSB1c2VkIGDJtcm1SW5qZWN0YWJsZURlZmAsIGDJtcm1UGlwZURlZmAsIGV0Yy4gV2UgdHJ5IHRvIGJlIGJhY2t3YXJkcy1jb21wYXRpYmxlXHJcbi8vIHNpbmNlIHRoZXkncmUgbm90IGV4cG9ydGVkIGluIG9sZGVyIEFuZ3VsYXIgdmVyc2lvbnMuXHJcbmludGVyZmFjZSBEZWZpbml0aW9uIHtcclxuICBmYWN0b3J5OiBGYWN0b3J5IHwgbnVsbDtcclxufVxyXG5cclxuaW50ZXJmYWNlIENvbnN0cnVjdG9yV2l0aERlZmluaXRpb25BbmRGYWN0b3J5IGV4dGVuZHMgRnVuY3Rpb24ge1xyXG4gIC8vIFByb3ZpZGVyIGRlZmluaXRpb24gZm9yIHRoZSBgQEluamVjdGFibGUoKWAgY2xhc3MuXHJcbiAgybVwcm92PzogRGVmaW5pdGlvbjtcclxuICAvLyBQaXBlIGRlZmluaXRpb24gZm9yIHRoZSBgQFBpcGUoKWAgY2xhc3MuXHJcbiAgybVwaXBlPzogRGVmaW5pdGlvbjtcclxuICAvLyBDb21wb25lbnQgZGVmaW5pdGlvbiBmb3IgdGhlIGBAQ29tcG9uZW50KClgIGNsYXNzLlxyXG4gIMm1Y21wPzogRGVmaW5pdGlvbjtcclxuICAvLyBEaXJlY3RpdmUgZGVmaW5pdGlvbiBmb3IgdGhlIGBARGlyZWN0aXZlKClgIGNsYXNzLlxyXG4gIMm1ZGlyPzogRGVmaW5pdGlvbjtcclxuICBbTkdfRkFDVE9SWV9ERUZdPzogRmFjdG9yeTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFByaXZhdGVJbnN0YW5jZSB7XHJcbiAgW0luamVjdG9ySW5zdGFuY2VdPzogSW5qZWN0b3I7XHJcbiAgW0luamVjdG9yTm90aWZpZXJdPzogUmVwbGF5U3ViamVjdDxib29sZWFuPjtcclxufVxyXG4iXX0=
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { InjectionToken, Injector, Type } from '@angular/core';
|
|
2
|
-
import { ReplaySubject } from 'rxjs';
|
|
3
|
-
declare const InjectorInstance: unique symbol;
|
|
4
|
-
declare const InjectorNotifier: unique symbol;
|
|
5
|
-
interface PrototypeWithInjectorNotifier extends Object {
|
|
6
|
-
[InjectorNotifier]?: ReplaySubject<boolean>;
|
|
7
|
-
}
|
|
8
|
-
export declare function ensureInjectorNotifierIsCaptured(target: PrototypeWithInjectorNotifier | PrivateInstance): ReplaySubject<boolean>;
|
|
9
|
-
export declare function ensureLocalInjectorCaptured(target: Object): void;
|
|
10
|
-
export declare function localInject<T>(instance: PrivateInstance, token: InjectionToken<T> | Type<T>): T | null;
|
|
11
|
-
interface PrivateInstance {
|
|
12
|
-
[InjectorInstance]?: Injector;
|
|
13
|
-
[InjectorNotifier]?: ReplaySubject<boolean>;
|
|
14
|
-
}
|
|
15
|
-
export {};
|