@angular/core 11.1.0-next.4 → 11.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/core-testing.umd.js +2 -2
- package/bundles/core-testing.umd.js.map +1 -1
- package/bundles/core-testing.umd.min.js +2 -2
- package/bundles/core-testing.umd.min.js.map +1 -1
- package/bundles/core.umd.js +475 -342
- package/bundles/core.umd.js.map +1 -1
- package/bundles/core.umd.min.js +123 -124
- package/bundles/core.umd.min.js.map +1 -1
- package/core.d.ts +227 -144
- package/core.metadata.json +1 -1
- package/esm2015/core.js +33 -33
- package/esm2015/src/compiler/compiler_facade_interface.js +1 -1
- package/esm2015/src/core_render3_private_export.js +2 -2
- package/esm2015/src/di/injector_compatibility.js +39 -16
- package/esm2015/src/di/interface/injector.js +3 -2
- package/esm2015/src/di/metadata.js +22 -6
- package/esm2015/src/linker/compiler.js +2 -2
- package/esm2015/src/linker/element_ref.js +10 -1
- package/esm2015/src/linker/query_list.js +39 -11
- package/esm2015/src/linker/view_container_ref.js +2 -2
- package/esm2015/src/metadata/di.js +7 -3
- package/esm2015/src/metadata/view.js +2 -2
- package/esm2015/src/render3/component.js +2 -2
- package/esm2015/src/render3/di.js +17 -32
- package/esm2015/src/render3/error_code.js +27 -2
- package/esm2015/src/render3/index.js +2 -2
- package/esm2015/src/render3/instructions/lview_debug.js +24 -4
- package/esm2015/src/render3/interfaces/query.js +1 -1
- package/esm2015/src/render3/interfaces/view.js +1 -1
- package/esm2015/src/render3/jit/directive.js +3 -2
- package/esm2015/src/render3/jit/environment.js +1 -3
- package/esm2015/src/render3/query.js +28 -54
- package/esm2015/src/render3/view_ref.js +23 -12
- package/esm2015/src/util/array_utils.js +25 -1
- package/esm2015/src/util/dom.js +25 -12
- package/esm2015/src/version.js +1 -1
- package/esm2015/src/view/query.js +5 -5
- package/esm2015/src/view/types.js +1 -1
- package/esm2015/src/view/view.js +3 -2
- package/esm2015/testing/src/fake_async.js +2 -2
- package/fesm2015/core.js +422 -293
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/testing.js +2 -2
- package/fesm2015/testing.js.map +1 -1
- package/package.json +1 -1
- package/schematics/migrations/static-queries/index.js +3 -8
- package/src/r3_symbols.d.ts +1 -2
- package/testing/testing.d.ts +1 -1
- package/testing.d.ts +1 -1
package/fesm2015/core.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v11.1.
|
|
2
|
+
* @license Angular v11.1.1
|
|
3
3
|
* (c) 2010-2020 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -378,7 +378,8 @@ const NG_INJECTOR_DEF = getClosureSafeProperty({ ngInjectorDef: getClosureSafePr
|
|
|
378
378
|
*/
|
|
379
379
|
var InjectFlags;
|
|
380
380
|
(function (InjectFlags) {
|
|
381
|
-
// TODO(alxhub): make this 'const' when ngc no longer
|
|
381
|
+
// TODO(alxhub): make this 'const' (and remove `InternalInjectFlags` enum) when ngc no longer
|
|
382
|
+
// writes exports of it into ngfactory files.
|
|
382
383
|
/** Check self and check parent injector if needed */
|
|
383
384
|
InjectFlags[InjectFlags["Default"] = 0] = "Default";
|
|
384
385
|
/**
|
|
@@ -591,7 +592,7 @@ var ViewEncapsulation;
|
|
|
591
592
|
* Use Shadow DOM to encapsulate styles.
|
|
592
593
|
*
|
|
593
594
|
* For the DOM this means using modern [Shadow
|
|
594
|
-
* DOM](https://
|
|
595
|
+
* DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM) and
|
|
595
596
|
* creating a ShadowRoot for Component's Host Element.
|
|
596
597
|
*/
|
|
597
598
|
ViewEncapsulation[ViewEncapsulation["ShadowDom"] = 3] = "ShadowDom";
|
|
@@ -1298,16 +1299,41 @@ function getFactoryDef(type, throwNotFound) {
|
|
|
1298
1299
|
* Use of this source code is governed by an MIT-style license that can be
|
|
1299
1300
|
* found in the LICENSE file at https://angular.io/license
|
|
1300
1301
|
*/
|
|
1302
|
+
// Base URL for the error details page.
|
|
1303
|
+
// Keep this value in sync with a similar const in
|
|
1304
|
+
// `packages/compiler-cli/src/ngtsc/diagnostics/src/error_code.ts`.
|
|
1305
|
+
const ERROR_DETAILS_PAGE_BASE_URL = 'https://angular.io/errors';
|
|
1301
1306
|
class RuntimeError extends Error {
|
|
1302
1307
|
constructor(code, message) {
|
|
1303
1308
|
super(formatRuntimeError(code, message));
|
|
1304
1309
|
this.code = code;
|
|
1305
1310
|
}
|
|
1306
1311
|
}
|
|
1312
|
+
// Contains a set of error messages that have details guides at angular.io.
|
|
1313
|
+
// Full list of available error guides can be found at https://angular.io/errors
|
|
1314
|
+
/* tslint:disable:no-toplevel-property-access */
|
|
1315
|
+
const RUNTIME_ERRORS_WITH_GUIDES = new Set([
|
|
1316
|
+
"100" /* EXPRESSION_CHANGED_AFTER_CHECKED */,
|
|
1317
|
+
"200" /* CYCLIC_DI_DEPENDENCY */,
|
|
1318
|
+
"201" /* PROVIDER_NOT_FOUND */,
|
|
1319
|
+
"300" /* MULTIPLE_COMPONENTS_MATCH */,
|
|
1320
|
+
"301" /* EXPORT_NOT_FOUND */,
|
|
1321
|
+
]);
|
|
1322
|
+
/* tslint:enable:no-toplevel-property-access */
|
|
1307
1323
|
/** Called to format a runtime error */
|
|
1308
1324
|
function formatRuntimeError(code, message) {
|
|
1309
1325
|
const fullCode = code ? `NG0${code}: ` : '';
|
|
1310
|
-
|
|
1326
|
+
let errorMessage = `${fullCode}${message}`;
|
|
1327
|
+
// Some runtime errors are still thrown without `ngDevMode` (for example
|
|
1328
|
+
// `throwProviderNotFoundError`), so we add `ngDevMode` check here to avoid pulling
|
|
1329
|
+
// `RUNTIME_ERRORS_WITH_GUIDES` symbol into prod bundles.
|
|
1330
|
+
// TODO: revisit all instances where `RuntimeError` is thrown and see if `ngDevMode` can be added
|
|
1331
|
+
// there instead to tree-shake more devmode-only code (and eventually remove `ngDevMode` check
|
|
1332
|
+
// from this code).
|
|
1333
|
+
if (ngDevMode && RUNTIME_ERRORS_WITH_GUIDES.has(code)) {
|
|
1334
|
+
errorMessage = `${errorMessage}. Find more at ${ERROR_DETAILS_PAGE_BASE_URL}/NG0${code}`;
|
|
1335
|
+
}
|
|
1336
|
+
return errorMessage;
|
|
1311
1337
|
}
|
|
1312
1338
|
|
|
1313
1339
|
/**
|
|
@@ -3023,6 +3049,12 @@ function setIncludeViewProviders(v) {
|
|
|
3023
3049
|
*/
|
|
3024
3050
|
const BLOOM_SIZE = 256;
|
|
3025
3051
|
const BLOOM_MASK = BLOOM_SIZE - 1;
|
|
3052
|
+
/**
|
|
3053
|
+
* The number of bits that is represented by a single bloom bucket. JS bit operations are 32 bits,
|
|
3054
|
+
* so each bucket represents 32 distinct tokens which accounts for log2(32) = 5 bits of a bloom hash
|
|
3055
|
+
* number.
|
|
3056
|
+
*/
|
|
3057
|
+
const BLOOM_BUCKET_BITS = 5;
|
|
3026
3058
|
/** Counter used to generate unique IDs for directives. */
|
|
3027
3059
|
let nextNgElementId = 0;
|
|
3028
3060
|
/**
|
|
@@ -3049,25 +3081,15 @@ function bloomAdd(injectorIndex, tView, type) {
|
|
|
3049
3081
|
}
|
|
3050
3082
|
// We only have BLOOM_SIZE (256) slots in our bloom filter (8 buckets * 32 bits each),
|
|
3051
3083
|
// so all unique IDs must be modulo-ed into a number from 0 - 255 to fit into the filter.
|
|
3052
|
-
const
|
|
3084
|
+
const bloomHash = id & BLOOM_MASK;
|
|
3053
3085
|
// Create a mask that targets the specific bit associated with the directive.
|
|
3054
3086
|
// JS bit operations are 32 bits, so this will be a number between 2^0 and 2^31, corresponding
|
|
3055
3087
|
// to bit positions 0 - 31 in a 32 bit integer.
|
|
3056
|
-
const mask = 1 <<
|
|
3057
|
-
//
|
|
3058
|
-
//
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
const b5 = bloomBit & 0x20;
|
|
3062
|
-
const tData = tView.data;
|
|
3063
|
-
if (b7) {
|
|
3064
|
-
b6 ? (b5 ? (tData[injectorIndex + 7] |= mask) : (tData[injectorIndex + 6] |= mask)) :
|
|
3065
|
-
(b5 ? (tData[injectorIndex + 5] |= mask) : (tData[injectorIndex + 4] |= mask));
|
|
3066
|
-
}
|
|
3067
|
-
else {
|
|
3068
|
-
b6 ? (b5 ? (tData[injectorIndex + 3] |= mask) : (tData[injectorIndex + 2] |= mask)) :
|
|
3069
|
-
(b5 ? (tData[injectorIndex + 1] |= mask) : (tData[injectorIndex] |= mask));
|
|
3070
|
-
}
|
|
3088
|
+
const mask = 1 << bloomHash;
|
|
3089
|
+
// Each bloom bucket in `tData` represents `BLOOM_BUCKET_BITS` number of bits of `bloomHash`.
|
|
3090
|
+
// Any bits in `bloomHash` beyond `BLOOM_BUCKET_BITS` indicate the bucket offset that the mask
|
|
3091
|
+
// should be written to.
|
|
3092
|
+
tView.data[injectorIndex + (bloomHash >> BLOOM_BUCKET_BITS)] |= mask;
|
|
3071
3093
|
}
|
|
3072
3094
|
/**
|
|
3073
3095
|
* Creates (or gets an existing) injector for a given element or container.
|
|
@@ -3562,21 +3584,10 @@ function bloomHasToken(bloomHash, injectorIndex, injectorView) {
|
|
|
3562
3584
|
// JS bit operations are 32 bits, so this will be a number between 2^0 and 2^31, corresponding
|
|
3563
3585
|
// to bit positions 0 - 31 in a 32 bit integer.
|
|
3564
3586
|
const mask = 1 << bloomHash;
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
// bf0 = [0 - 31], bf1 = [32 - 63], bf2 = [64 - 95], bf3 = [96 - 127], etc.
|
|
3570
|
-
// Get the bloom filter value from the appropriate bucket based on the directive's bloomBit.
|
|
3571
|
-
let value;
|
|
3572
|
-
if (b7) {
|
|
3573
|
-
value = b6 ? (b5 ? injectorView[injectorIndex + 7] : injectorView[injectorIndex + 6]) :
|
|
3574
|
-
(b5 ? injectorView[injectorIndex + 5] : injectorView[injectorIndex + 4]);
|
|
3575
|
-
}
|
|
3576
|
-
else {
|
|
3577
|
-
value = b6 ? (b5 ? injectorView[injectorIndex + 3] : injectorView[injectorIndex + 2]) :
|
|
3578
|
-
(b5 ? injectorView[injectorIndex + 1] : injectorView[injectorIndex]);
|
|
3579
|
-
}
|
|
3587
|
+
// Each bloom bucket in `injectorView` represents `BLOOM_BUCKET_BITS` number of bits of
|
|
3588
|
+
// `bloomHash`. Any bits in `bloomHash` beyond `BLOOM_BUCKET_BITS` indicate the bucket offset
|
|
3589
|
+
// that should be used.
|
|
3590
|
+
const value = injectorView[injectorIndex + (bloomHash >> BLOOM_BUCKET_BITS)];
|
|
3580
3591
|
// If the bloom filter value has the bit corresponding to the directive's bloomBit flipped on,
|
|
3581
3592
|
// this injector is a potential match.
|
|
3582
3593
|
return !!(value & mask);
|
|
@@ -3918,6 +3929,10 @@ class InjectionToken {
|
|
|
3918
3929
|
* @deprecated Since 9.0.0. With Ivy, this property is no longer necessary.
|
|
3919
3930
|
*/
|
|
3920
3931
|
const ANALYZE_FOR_ENTRY_COMPONENTS = new InjectionToken('AnalyzeForEntryComponents');
|
|
3932
|
+
// Stores the default value of `emitDistinctChangesOnly` when the `emitDistinctChangesOnly` is not
|
|
3933
|
+
// explicitly set. This value will be changed to `true` in v12.
|
|
3934
|
+
// TODO(misko): switch the default in v12 to `true`. See: packages/compiler/src/core.ts
|
|
3935
|
+
const emitDistinctChangesOnlyDefaultValue = false;
|
|
3921
3936
|
/**
|
|
3922
3937
|
* Base class for query metadata.
|
|
3923
3938
|
*
|
|
@@ -3930,7 +3945,7 @@ const ANALYZE_FOR_ENTRY_COMPONENTS = new InjectionToken('AnalyzeForEntryComponen
|
|
|
3930
3945
|
*/
|
|
3931
3946
|
class Query {
|
|
3932
3947
|
}
|
|
3933
|
-
const ɵ0$1 = (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false }, data));
|
|
3948
|
+
const ɵ0$1 = (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false, emitDistinctChangesOnly: emitDistinctChangesOnlyDefaultValue }, data));
|
|
3934
3949
|
/**
|
|
3935
3950
|
* ContentChildren decorator and metadata.
|
|
3936
3951
|
*
|
|
@@ -3949,7 +3964,7 @@ const ɵ1 = (selector, data = {}) => (Object.assign({ selector, first: true, isV
|
|
|
3949
3964
|
* @publicApi
|
|
3950
3965
|
*/
|
|
3951
3966
|
const ContentChild = makePropDecorator('ContentChild', ɵ1, Query);
|
|
3952
|
-
const ɵ2 = (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true }, data));
|
|
3967
|
+
const ɵ2 = (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true, emitDistinctChangesOnly: emitDistinctChangesOnlyDefaultValue }, data));
|
|
3953
3968
|
/**
|
|
3954
3969
|
* ViewChildren decorator and metadata.
|
|
3955
3970
|
*
|
|
@@ -4054,6 +4069,30 @@ function addAllToArray(items, arr) {
|
|
|
4054
4069
|
arr.push(items[i]);
|
|
4055
4070
|
}
|
|
4056
4071
|
}
|
|
4072
|
+
/**
|
|
4073
|
+
* Determines if the contents of two arrays is identical
|
|
4074
|
+
*
|
|
4075
|
+
* @param a first array
|
|
4076
|
+
* @param b second array
|
|
4077
|
+
* @param identityAccessor Optional function for extracting stable object identity from a value in
|
|
4078
|
+
* the array.
|
|
4079
|
+
*/
|
|
4080
|
+
function arrayEquals(a, b, identityAccessor) {
|
|
4081
|
+
if (a.length !== b.length)
|
|
4082
|
+
return false;
|
|
4083
|
+
for (let i = 0; i < a.length; i++) {
|
|
4084
|
+
let valueA = a[i];
|
|
4085
|
+
let valueB = b[i];
|
|
4086
|
+
if (identityAccessor) {
|
|
4087
|
+
valueA = identityAccessor(valueA);
|
|
4088
|
+
valueB = identityAccessor(valueB);
|
|
4089
|
+
}
|
|
4090
|
+
if (valueB !== valueA) {
|
|
4091
|
+
return false;
|
|
4092
|
+
}
|
|
4093
|
+
}
|
|
4094
|
+
return true;
|
|
4095
|
+
}
|
|
4057
4096
|
/**
|
|
4058
4097
|
* Flattens an array.
|
|
4059
4098
|
*/
|
|
@@ -4637,42 +4676,237 @@ function getParentCtor(ctor) {
|
|
|
4637
4676
|
* Use of this source code is governed by an MIT-style license that can be
|
|
4638
4677
|
* found in the LICENSE file at https://angular.io/license
|
|
4639
4678
|
*/
|
|
4640
|
-
const
|
|
4679
|
+
const _THROW_IF_NOT_FOUND = {};
|
|
4680
|
+
const THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;
|
|
4681
|
+
/*
|
|
4682
|
+
* Name of a property (that we patch onto DI decorator), which is used as an annotation of which
|
|
4683
|
+
* InjectFlag this decorator represents. This allows to avoid direct references to the DI decorators
|
|
4684
|
+
* in the code, thus making them tree-shakable.
|
|
4685
|
+
*/
|
|
4686
|
+
const DI_DECORATOR_FLAG = '__NG_DI_FLAG__';
|
|
4687
|
+
const NG_TEMP_TOKEN_PATH = 'ngTempTokenPath';
|
|
4688
|
+
const NG_TOKEN_PATH = 'ngTokenPath';
|
|
4689
|
+
const NEW_LINE = /\n/gm;
|
|
4690
|
+
const NO_NEW_LINE = 'ɵ';
|
|
4691
|
+
const SOURCE = '__source';
|
|
4692
|
+
const ɵ0$2 = getClosureSafeProperty;
|
|
4693
|
+
const USE_VALUE = getClosureSafeProperty({ provide: String, useValue: ɵ0$2 });
|
|
4694
|
+
/**
|
|
4695
|
+
* Current injector value used by `inject`.
|
|
4696
|
+
* - `undefined`: it is an error to call `inject`
|
|
4697
|
+
* - `null`: `inject` can be called but there is no injector (limp-mode).
|
|
4698
|
+
* - Injector instance: Use the injector for resolution.
|
|
4699
|
+
*/
|
|
4700
|
+
let _currentInjector = undefined;
|
|
4701
|
+
function setCurrentInjector(injector) {
|
|
4702
|
+
const former = _currentInjector;
|
|
4703
|
+
_currentInjector = injector;
|
|
4704
|
+
return former;
|
|
4705
|
+
}
|
|
4706
|
+
function injectInjectorOnly(token, flags = InjectFlags.Default) {
|
|
4707
|
+
if (_currentInjector === undefined) {
|
|
4708
|
+
throw new Error(`inject() must be called from an injection context`);
|
|
4709
|
+
}
|
|
4710
|
+
else if (_currentInjector === null) {
|
|
4711
|
+
return injectRootLimpMode(token, undefined, flags);
|
|
4712
|
+
}
|
|
4713
|
+
else {
|
|
4714
|
+
return _currentInjector.get(token, flags & InjectFlags.Optional ? null : undefined, flags);
|
|
4715
|
+
}
|
|
4716
|
+
}
|
|
4717
|
+
function ɵɵinject(token, flags = InjectFlags.Default) {
|
|
4718
|
+
return (getInjectImplementation() || injectInjectorOnly)(resolveForwardRef(token), flags);
|
|
4719
|
+
}
|
|
4720
|
+
/**
|
|
4721
|
+
* Throws an error indicating that a factory function could not be generated by the compiler for a
|
|
4722
|
+
* particular class.
|
|
4723
|
+
*
|
|
4724
|
+
* This instruction allows the actual error message to be optimized away when ngDevMode is turned
|
|
4725
|
+
* off, saving bytes of generated code while still providing a good experience in dev mode.
|
|
4726
|
+
*
|
|
4727
|
+
* The name of the class is not mentioned here, but will be in the generated factory function name
|
|
4728
|
+
* and thus in the stack trace.
|
|
4729
|
+
*
|
|
4730
|
+
* @codeGenApi
|
|
4731
|
+
*/
|
|
4732
|
+
function ɵɵinvalidFactoryDep(index) {
|
|
4733
|
+
const msg = ngDevMode ?
|
|
4734
|
+
`This constructor is not compatible with Angular Dependency Injection because its dependency at index ${index} of the parameter list is invalid.
|
|
4735
|
+
This can happen if the dependency type is a primitive like a string or if an ancestor of this class is missing an Angular decorator.
|
|
4736
|
+
|
|
4737
|
+
Please check that 1) the type for the parameter at index ${index} is correct and 2) the correct Angular decorators are defined for this class and its ancestors.` :
|
|
4738
|
+
'invalid';
|
|
4739
|
+
throw new Error(msg);
|
|
4740
|
+
}
|
|
4741
|
+
/**
|
|
4742
|
+
* Injects a token from the currently active injector.
|
|
4743
|
+
*
|
|
4744
|
+
* Must be used in the context of a factory function such as one defined for an
|
|
4745
|
+
* `InjectionToken`. Throws an error if not called from such a context.
|
|
4746
|
+
*
|
|
4747
|
+
* Within such a factory function, using this function to request injection of a dependency
|
|
4748
|
+
* is faster and more type-safe than providing an additional array of dependencies
|
|
4749
|
+
* (as has been common with `useFactory` providers).
|
|
4750
|
+
*
|
|
4751
|
+
* @param token The injection token for the dependency to be injected.
|
|
4752
|
+
* @param flags Optional flags that control how injection is executed.
|
|
4753
|
+
* The flags correspond to injection strategies that can be specified with
|
|
4754
|
+
* parameter decorators `@Host`, `@Self`, `@SkipSef`, and `@Optional`.
|
|
4755
|
+
* @returns True if injection is successful, null otherwise.
|
|
4756
|
+
*
|
|
4757
|
+
* @usageNotes
|
|
4758
|
+
*
|
|
4759
|
+
* ### Example
|
|
4760
|
+
*
|
|
4761
|
+
* {@example core/di/ts/injector_spec.ts region='ShakableInjectionToken'}
|
|
4762
|
+
*
|
|
4763
|
+
* @publicApi
|
|
4764
|
+
*/
|
|
4765
|
+
const inject = ɵɵinject;
|
|
4766
|
+
function injectArgs(types) {
|
|
4767
|
+
const args = [];
|
|
4768
|
+
for (let i = 0; i < types.length; i++) {
|
|
4769
|
+
const arg = resolveForwardRef(types[i]);
|
|
4770
|
+
if (Array.isArray(arg)) {
|
|
4771
|
+
if (arg.length === 0) {
|
|
4772
|
+
throw new Error('Arguments array must have arguments.');
|
|
4773
|
+
}
|
|
4774
|
+
let type = undefined;
|
|
4775
|
+
let flags = InjectFlags.Default;
|
|
4776
|
+
for (let j = 0; j < arg.length; j++) {
|
|
4777
|
+
const meta = arg[j];
|
|
4778
|
+
const flag = getInjectFlag(meta);
|
|
4779
|
+
if (typeof flag === 'number') {
|
|
4780
|
+
// Special case when we handle @Inject decorator.
|
|
4781
|
+
if (flag === -1 /* Inject */) {
|
|
4782
|
+
type = meta.token;
|
|
4783
|
+
}
|
|
4784
|
+
else {
|
|
4785
|
+
flags |= flag;
|
|
4786
|
+
}
|
|
4787
|
+
}
|
|
4788
|
+
else {
|
|
4789
|
+
type = meta;
|
|
4790
|
+
}
|
|
4791
|
+
}
|
|
4792
|
+
args.push(ɵɵinject(type, flags));
|
|
4793
|
+
}
|
|
4794
|
+
else {
|
|
4795
|
+
args.push(ɵɵinject(arg));
|
|
4796
|
+
}
|
|
4797
|
+
}
|
|
4798
|
+
return args;
|
|
4799
|
+
}
|
|
4800
|
+
/**
|
|
4801
|
+
* Attaches a given InjectFlag to a given decorator using monkey-patching.
|
|
4802
|
+
* Since DI decorators can be used in providers `deps` array (when provider is configured using
|
|
4803
|
+
* `useFactory`) without initialization (e.g. `Host`) and as an instance (e.g. `new Host()`), we
|
|
4804
|
+
* attach the flag to make it available both as a static property and as a field on decorator
|
|
4805
|
+
* instance.
|
|
4806
|
+
*
|
|
4807
|
+
* @param decorator Provided DI decorator.
|
|
4808
|
+
* @param flag InjectFlag that should be applied.
|
|
4809
|
+
*/
|
|
4810
|
+
function attachInjectFlag(decorator, flag) {
|
|
4811
|
+
decorator[DI_DECORATOR_FLAG] = flag;
|
|
4812
|
+
decorator.prototype[DI_DECORATOR_FLAG] = flag;
|
|
4813
|
+
return decorator;
|
|
4814
|
+
}
|
|
4815
|
+
/**
|
|
4816
|
+
* Reads monkey-patched property that contains InjectFlag attached to a decorator.
|
|
4817
|
+
*
|
|
4818
|
+
* @param token Token that may contain monkey-patched DI flags property.
|
|
4819
|
+
*/
|
|
4820
|
+
function getInjectFlag(token) {
|
|
4821
|
+
return token[DI_DECORATOR_FLAG];
|
|
4822
|
+
}
|
|
4823
|
+
function catchInjectorError(e, token, injectorErrorName, source) {
|
|
4824
|
+
const tokenPath = e[NG_TEMP_TOKEN_PATH];
|
|
4825
|
+
if (token[SOURCE]) {
|
|
4826
|
+
tokenPath.unshift(token[SOURCE]);
|
|
4827
|
+
}
|
|
4828
|
+
e.message = formatError('\n' + e.message, tokenPath, injectorErrorName, source);
|
|
4829
|
+
e[NG_TOKEN_PATH] = tokenPath;
|
|
4830
|
+
e[NG_TEMP_TOKEN_PATH] = null;
|
|
4831
|
+
throw e;
|
|
4832
|
+
}
|
|
4833
|
+
function formatError(text, obj, injectorErrorName, source = null) {
|
|
4834
|
+
text = text && text.charAt(0) === '\n' && text.charAt(1) == NO_NEW_LINE ? text.substr(2) : text;
|
|
4835
|
+
let context = stringify(obj);
|
|
4836
|
+
if (Array.isArray(obj)) {
|
|
4837
|
+
context = obj.map(stringify).join(' -> ');
|
|
4838
|
+
}
|
|
4839
|
+
else if (typeof obj === 'object') {
|
|
4840
|
+
let parts = [];
|
|
4841
|
+
for (let key in obj) {
|
|
4842
|
+
if (obj.hasOwnProperty(key)) {
|
|
4843
|
+
let value = obj[key];
|
|
4844
|
+
parts.push(key + ':' + (typeof value === 'string' ? JSON.stringify(value) : stringify(value)));
|
|
4845
|
+
}
|
|
4846
|
+
}
|
|
4847
|
+
context = `{${parts.join(', ')}}`;
|
|
4848
|
+
}
|
|
4849
|
+
return `${injectorErrorName}${source ? '(' + source + ')' : ''}[${context}]: ${text.replace(NEW_LINE, '\n ')}`;
|
|
4850
|
+
}
|
|
4851
|
+
|
|
4852
|
+
/**
|
|
4853
|
+
* @license
|
|
4854
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4855
|
+
*
|
|
4856
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
4857
|
+
* found in the LICENSE file at https://angular.io/license
|
|
4858
|
+
*/
|
|
4859
|
+
const ɵ0$3 = (token) => ({ token });
|
|
4641
4860
|
/**
|
|
4642
4861
|
* Inject decorator and metadata.
|
|
4643
4862
|
*
|
|
4644
4863
|
* @Annotation
|
|
4645
4864
|
* @publicApi
|
|
4646
4865
|
*/
|
|
4647
|
-
const Inject =
|
|
4866
|
+
const Inject = attachInjectFlag(
|
|
4867
|
+
// Disable tslint because `DecoratorFlags` is a const enum which gets inlined.
|
|
4868
|
+
// tslint:disable-next-line: no-toplevel-property-access
|
|
4869
|
+
makeParamDecorator('Inject', ɵ0$3), -1 /* Inject */);
|
|
4648
4870
|
/**
|
|
4649
4871
|
* Optional decorator and metadata.
|
|
4650
4872
|
*
|
|
4651
4873
|
* @Annotation
|
|
4652
4874
|
* @publicApi
|
|
4653
4875
|
*/
|
|
4654
|
-
const Optional =
|
|
4876
|
+
const Optional =
|
|
4877
|
+
// Disable tslint because `InternalInjectFlags` is a const enum which gets inlined.
|
|
4878
|
+
// tslint:disable-next-line: no-toplevel-property-access
|
|
4879
|
+
attachInjectFlag(makeParamDecorator('Optional'), 8 /* Optional */);
|
|
4655
4880
|
/**
|
|
4656
4881
|
* Self decorator and metadata.
|
|
4657
4882
|
*
|
|
4658
4883
|
* @Annotation
|
|
4659
4884
|
* @publicApi
|
|
4660
4885
|
*/
|
|
4661
|
-
const Self =
|
|
4886
|
+
const Self =
|
|
4887
|
+
// Disable tslint because `InternalInjectFlags` is a const enum which gets inlined.
|
|
4888
|
+
// tslint:disable-next-line: no-toplevel-property-access
|
|
4889
|
+
attachInjectFlag(makeParamDecorator('Self'), 2 /* Self */);
|
|
4662
4890
|
/**
|
|
4663
4891
|
* `SkipSelf` decorator and metadata.
|
|
4664
4892
|
*
|
|
4665
4893
|
* @Annotation
|
|
4666
4894
|
* @publicApi
|
|
4667
4895
|
*/
|
|
4668
|
-
const SkipSelf =
|
|
4896
|
+
const SkipSelf =
|
|
4897
|
+
// Disable tslint because `InternalInjectFlags` is a const enum which gets inlined.
|
|
4898
|
+
// tslint:disable-next-line: no-toplevel-property-access
|
|
4899
|
+
attachInjectFlag(makeParamDecorator('SkipSelf'), 4 /* SkipSelf */);
|
|
4669
4900
|
/**
|
|
4670
4901
|
* Host decorator and metadata.
|
|
4671
4902
|
*
|
|
4672
4903
|
* @Annotation
|
|
4673
4904
|
* @publicApi
|
|
4674
4905
|
*/
|
|
4675
|
-
const Host =
|
|
4906
|
+
const Host =
|
|
4907
|
+
// Disable tslint because `InternalInjectFlags` is a const enum which gets inlined.
|
|
4908
|
+
// tslint:disable-next-line: no-toplevel-property-access
|
|
4909
|
+
attachInjectFlag(makeParamDecorator('Host'), 1 /* Host */);
|
|
4676
4910
|
|
|
4677
4911
|
/**
|
|
4678
4912
|
* @license
|
|
@@ -4868,162 +5102,6 @@ function componentDefResolved(type) {
|
|
|
4868
5102
|
componentDefPendingResolution.delete(type);
|
|
4869
5103
|
}
|
|
4870
5104
|
|
|
4871
|
-
/**
|
|
4872
|
-
* @license
|
|
4873
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4874
|
-
*
|
|
4875
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
4876
|
-
* found in the LICENSE file at https://angular.io/license
|
|
4877
|
-
*/
|
|
4878
|
-
const _THROW_IF_NOT_FOUND = {};
|
|
4879
|
-
const THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;
|
|
4880
|
-
const NG_TEMP_TOKEN_PATH = 'ngTempTokenPath';
|
|
4881
|
-
const NG_TOKEN_PATH = 'ngTokenPath';
|
|
4882
|
-
const NEW_LINE = /\n/gm;
|
|
4883
|
-
const NO_NEW_LINE = 'ɵ';
|
|
4884
|
-
const SOURCE = '__source';
|
|
4885
|
-
const ɵ0$3 = getClosureSafeProperty;
|
|
4886
|
-
const USE_VALUE = getClosureSafeProperty({ provide: String, useValue: ɵ0$3 });
|
|
4887
|
-
/**
|
|
4888
|
-
* Current injector value used by `inject`.
|
|
4889
|
-
* - `undefined`: it is an error to call `inject`
|
|
4890
|
-
* - `null`: `inject` can be called but there is no injector (limp-mode).
|
|
4891
|
-
* - Injector instance: Use the injector for resolution.
|
|
4892
|
-
*/
|
|
4893
|
-
let _currentInjector = undefined;
|
|
4894
|
-
function setCurrentInjector(injector) {
|
|
4895
|
-
const former = _currentInjector;
|
|
4896
|
-
_currentInjector = injector;
|
|
4897
|
-
return former;
|
|
4898
|
-
}
|
|
4899
|
-
function injectInjectorOnly(token, flags = InjectFlags.Default) {
|
|
4900
|
-
if (_currentInjector === undefined) {
|
|
4901
|
-
throw new Error(`inject() must be called from an injection context`);
|
|
4902
|
-
}
|
|
4903
|
-
else if (_currentInjector === null) {
|
|
4904
|
-
return injectRootLimpMode(token, undefined, flags);
|
|
4905
|
-
}
|
|
4906
|
-
else {
|
|
4907
|
-
return _currentInjector.get(token, flags & InjectFlags.Optional ? null : undefined, flags);
|
|
4908
|
-
}
|
|
4909
|
-
}
|
|
4910
|
-
function ɵɵinject(token, flags = InjectFlags.Default) {
|
|
4911
|
-
return (getInjectImplementation() || injectInjectorOnly)(resolveForwardRef(token), flags);
|
|
4912
|
-
}
|
|
4913
|
-
/**
|
|
4914
|
-
* Throws an error indicating that a factory function could not be generated by the compiler for a
|
|
4915
|
-
* particular class.
|
|
4916
|
-
*
|
|
4917
|
-
* This instruction allows the actual error message to be optimized away when ngDevMode is turned
|
|
4918
|
-
* off, saving bytes of generated code while still providing a good experience in dev mode.
|
|
4919
|
-
*
|
|
4920
|
-
* The name of the class is not mentioned here, but will be in the generated factory function name
|
|
4921
|
-
* and thus in the stack trace.
|
|
4922
|
-
*
|
|
4923
|
-
* @codeGenApi
|
|
4924
|
-
*/
|
|
4925
|
-
function ɵɵinvalidFactoryDep(index) {
|
|
4926
|
-
const msg = ngDevMode ?
|
|
4927
|
-
`This constructor is not compatible with Angular Dependency Injection because its dependency at index ${index} of the parameter list is invalid.
|
|
4928
|
-
This can happen if the dependency type is a primitive like a string or if an ancestor of this class is missing an Angular decorator.
|
|
4929
|
-
|
|
4930
|
-
Please check that 1) the type for the parameter at index ${index} is correct and 2) the correct Angular decorators are defined for this class and its ancestors.` :
|
|
4931
|
-
'invalid';
|
|
4932
|
-
throw new Error(msg);
|
|
4933
|
-
}
|
|
4934
|
-
/**
|
|
4935
|
-
* Injects a token from the currently active injector.
|
|
4936
|
-
*
|
|
4937
|
-
* Must be used in the context of a factory function such as one defined for an
|
|
4938
|
-
* `InjectionToken`. Throws an error if not called from such a context.
|
|
4939
|
-
*
|
|
4940
|
-
* Within such a factory function, using this function to request injection of a dependency
|
|
4941
|
-
* is faster and more type-safe than providing an additional array of dependencies
|
|
4942
|
-
* (as has been common with `useFactory` providers).
|
|
4943
|
-
*
|
|
4944
|
-
* @param token The injection token for the dependency to be injected.
|
|
4945
|
-
* @param flags Optional flags that control how injection is executed.
|
|
4946
|
-
* The flags correspond to injection strategies that can be specified with
|
|
4947
|
-
* parameter decorators `@Host`, `@Self`, `@SkipSef`, and `@Optional`.
|
|
4948
|
-
* @returns True if injection is successful, null otherwise.
|
|
4949
|
-
*
|
|
4950
|
-
* @usageNotes
|
|
4951
|
-
*
|
|
4952
|
-
* ### Example
|
|
4953
|
-
*
|
|
4954
|
-
* {@example core/di/ts/injector_spec.ts region='ShakableInjectionToken'}
|
|
4955
|
-
*
|
|
4956
|
-
* @publicApi
|
|
4957
|
-
*/
|
|
4958
|
-
const inject = ɵɵinject;
|
|
4959
|
-
function injectArgs(types) {
|
|
4960
|
-
const args = [];
|
|
4961
|
-
for (let i = 0; i < types.length; i++) {
|
|
4962
|
-
const arg = resolveForwardRef(types[i]);
|
|
4963
|
-
if (Array.isArray(arg)) {
|
|
4964
|
-
if (arg.length === 0) {
|
|
4965
|
-
throw new Error('Arguments array must have arguments.');
|
|
4966
|
-
}
|
|
4967
|
-
let type = undefined;
|
|
4968
|
-
let flags = InjectFlags.Default;
|
|
4969
|
-
for (let j = 0; j < arg.length; j++) {
|
|
4970
|
-
const meta = arg[j];
|
|
4971
|
-
if (meta instanceof Optional || meta.ngMetadataName === 'Optional' || meta === Optional) {
|
|
4972
|
-
flags |= InjectFlags.Optional;
|
|
4973
|
-
}
|
|
4974
|
-
else if (meta instanceof SkipSelf || meta.ngMetadataName === 'SkipSelf' || meta === SkipSelf) {
|
|
4975
|
-
flags |= InjectFlags.SkipSelf;
|
|
4976
|
-
}
|
|
4977
|
-
else if (meta instanceof Self || meta.ngMetadataName === 'Self' || meta === Self) {
|
|
4978
|
-
flags |= InjectFlags.Self;
|
|
4979
|
-
}
|
|
4980
|
-
else if (meta instanceof Host || meta.ngMetadataName === 'Host' || meta === Host) {
|
|
4981
|
-
flags |= InjectFlags.Host;
|
|
4982
|
-
}
|
|
4983
|
-
else if (meta instanceof Inject || meta === Inject) {
|
|
4984
|
-
type = meta.token;
|
|
4985
|
-
}
|
|
4986
|
-
else {
|
|
4987
|
-
type = meta;
|
|
4988
|
-
}
|
|
4989
|
-
}
|
|
4990
|
-
args.push(ɵɵinject(type, flags));
|
|
4991
|
-
}
|
|
4992
|
-
else {
|
|
4993
|
-
args.push(ɵɵinject(arg));
|
|
4994
|
-
}
|
|
4995
|
-
}
|
|
4996
|
-
return args;
|
|
4997
|
-
}
|
|
4998
|
-
function catchInjectorError(e, token, injectorErrorName, source) {
|
|
4999
|
-
const tokenPath = e[NG_TEMP_TOKEN_PATH];
|
|
5000
|
-
if (token[SOURCE]) {
|
|
5001
|
-
tokenPath.unshift(token[SOURCE]);
|
|
5002
|
-
}
|
|
5003
|
-
e.message = formatError('\n' + e.message, tokenPath, injectorErrorName, source);
|
|
5004
|
-
e[NG_TOKEN_PATH] = tokenPath;
|
|
5005
|
-
e[NG_TEMP_TOKEN_PATH] = null;
|
|
5006
|
-
throw e;
|
|
5007
|
-
}
|
|
5008
|
-
function formatError(text, obj, injectorErrorName, source = null) {
|
|
5009
|
-
text = text && text.charAt(0) === '\n' && text.charAt(1) == NO_NEW_LINE ? text.substr(2) : text;
|
|
5010
|
-
let context = stringify(obj);
|
|
5011
|
-
if (Array.isArray(obj)) {
|
|
5012
|
-
context = obj.map(stringify).join(' -> ');
|
|
5013
|
-
}
|
|
5014
|
-
else if (typeof obj === 'object') {
|
|
5015
|
-
let parts = [];
|
|
5016
|
-
for (let key in obj) {
|
|
5017
|
-
if (obj.hasOwnProperty(key)) {
|
|
5018
|
-
let value = obj[key];
|
|
5019
|
-
parts.push(key + ':' + (typeof value === 'string' ? JSON.stringify(value) : stringify(value)));
|
|
5020
|
-
}
|
|
5021
|
-
}
|
|
5022
|
-
context = `{${parts.join(', ')}}`;
|
|
5023
|
-
}
|
|
5024
|
-
return `${injectorErrorName}${source ? '(' + source + ')' : ''}[${context}]: ${text.replace(NEW_LINE, '\n ')}`;
|
|
5025
|
-
}
|
|
5026
|
-
|
|
5027
5105
|
/**
|
|
5028
5106
|
* @license
|
|
5029
5107
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -6168,14 +6246,26 @@ const NO_ERRORS_SCHEMA = {
|
|
|
6168
6246
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6169
6247
|
* found in the LICENSE file at https://angular.io/license
|
|
6170
6248
|
*/
|
|
6171
|
-
const END_COMMENT = /-->/g;
|
|
6172
|
-
const END_COMMENT_ESCAPED = '-\u200B-\u200B>';
|
|
6173
6249
|
/**
|
|
6174
|
-
*
|
|
6250
|
+
* Disallowed strings in the comment.
|
|
6251
|
+
*
|
|
6252
|
+
* see: https://html.spec.whatwg.org/multipage/syntax.html#comments
|
|
6253
|
+
*/
|
|
6254
|
+
const COMMENT_DISALLOWED = /^>|^->|<!--|-->|--!>|<!-$/g;
|
|
6255
|
+
/**
|
|
6256
|
+
* Delimiter in the disallowed strings which needs to be wrapped with zero with character.
|
|
6257
|
+
*/
|
|
6258
|
+
const COMMENT_DELIMITER = /(<|>)/;
|
|
6259
|
+
const COMMENT_DELIMITER_ESCAPED = '\u200B$1\u200B';
|
|
6260
|
+
/**
|
|
6261
|
+
* Escape the content of comment strings so that it can be safely inserted into a comment node.
|
|
6175
6262
|
*
|
|
6176
6263
|
* The issue is that HTML does not specify any way to escape comment end text inside the comment.
|
|
6177
|
-
* `<!-- The way you close a comment is with "
|
|
6178
|
-
*
|
|
6264
|
+
* Consider: `<!-- The way you close a comment is with ">", and "->" at the beginning or by "-->" or
|
|
6265
|
+
* "--!>" at the end. -->`. Above the `"-->"` is meant to be text not an end to the comment. This
|
|
6266
|
+
* can be created programmatically through DOM APIs. (`<!--` are also disallowed.)
|
|
6267
|
+
*
|
|
6268
|
+
* see: https://html.spec.whatwg.org/multipage/syntax.html#comments
|
|
6179
6269
|
*
|
|
6180
6270
|
* ```
|
|
6181
6271
|
* div.innerHTML = div.innerHTML
|
|
@@ -6186,15 +6276,16 @@ const END_COMMENT_ESCAPED = '-\u200B-\u200B>';
|
|
|
6186
6276
|
* opening up the application for XSS attack. (In SSR we programmatically create comment nodes which
|
|
6187
6277
|
* may contain such text and expect them to be safe.)
|
|
6188
6278
|
*
|
|
6189
|
-
* This function escapes the comment text by looking for
|
|
6190
|
-
*
|
|
6191
|
-
* contains
|
|
6192
|
-
* comment.
|
|
6279
|
+
* This function escapes the comment text by looking for comment delimiters (`<` and `>`) and
|
|
6280
|
+
* surrounding them with `_>_` where the `_` is a zero width space `\u200B`. The result is that if a
|
|
6281
|
+
* comment contains any of the comment start/end delimiters (such as `<!--`, `-->` or `--!>`) the
|
|
6282
|
+
* text it will render normally but it will not cause the HTML parser to close/open the comment.
|
|
6193
6283
|
*
|
|
6194
|
-
* @param value text to make safe for comment node by escaping the comment close character
|
|
6284
|
+
* @param value text to make safe for comment node by escaping the comment open/close character
|
|
6285
|
+
* sequence.
|
|
6195
6286
|
*/
|
|
6196
6287
|
function escapeCommentText(value) {
|
|
6197
|
-
return value.replace(
|
|
6288
|
+
return value.replace(COMMENT_DISALLOWED, (text) => text.replace(COMMENT_DELIMITER, COMMENT_DELIMITER_ESCAPED));
|
|
6198
6289
|
}
|
|
6199
6290
|
|
|
6200
6291
|
/**
|
|
@@ -8594,8 +8685,21 @@ class TNode {
|
|
|
8594
8685
|
debugNodeInjectorPath(lView) {
|
|
8595
8686
|
const path = [];
|
|
8596
8687
|
let injectorIndex = getInjectorIndex(this, lView);
|
|
8597
|
-
|
|
8688
|
+
if (injectorIndex === -1) {
|
|
8689
|
+
// Looks like the current `TNode` does not have `NodeInjector` associated with it => look for
|
|
8690
|
+
// parent NodeInjector.
|
|
8691
|
+
const parentLocation = getParentInjectorLocation(this, lView);
|
|
8692
|
+
if (parentLocation !== NO_PARENT_INJECTOR) {
|
|
8693
|
+
// We found a parent, so start searching from the parent location.
|
|
8694
|
+
injectorIndex = getParentInjectorIndex(parentLocation);
|
|
8695
|
+
lView = getParentInjectorView(parentLocation, lView);
|
|
8696
|
+
}
|
|
8697
|
+
else {
|
|
8698
|
+
// No parents have been found, so there are no `NodeInjector`s to consult.
|
|
8699
|
+
}
|
|
8700
|
+
}
|
|
8598
8701
|
while (injectorIndex !== -1) {
|
|
8702
|
+
ngDevMode && assertNodeInjector(lView, injectorIndex);
|
|
8599
8703
|
const tNode = lView[TVIEW].data[injectorIndex + 8 /* TNODE */];
|
|
8600
8704
|
path.push(buildDebugNode(tNode, lView));
|
|
8601
8705
|
const parentLocation = lView[injectorIndex + 8 /* PARENT */];
|
|
@@ -8929,11 +9033,15 @@ function buildDebugNode(tNode, lView) {
|
|
|
8929
9033
|
return {
|
|
8930
9034
|
html: toHtml(native),
|
|
8931
9035
|
type: toTNodeTypeAsString(tNode.type),
|
|
9036
|
+
tNode,
|
|
8932
9037
|
native: native,
|
|
8933
9038
|
children: toDebugNodes(tNode.child, lView),
|
|
8934
9039
|
factories,
|
|
8935
9040
|
instances,
|
|
8936
|
-
injector: buildNodeInjectorDebug(tNode, tView, lView)
|
|
9041
|
+
injector: buildNodeInjectorDebug(tNode, tView, lView),
|
|
9042
|
+
get injectorResolutionPath() {
|
|
9043
|
+
return tNode.debugNodeInjectorPath(lView);
|
|
9044
|
+
},
|
|
8937
9045
|
};
|
|
8938
9046
|
}
|
|
8939
9047
|
function buildNodeInjectorDebug(tNode, tView, lView) {
|
|
@@ -8977,6 +9085,9 @@ function binary(array, idx) {
|
|
|
8977
9085
|
* @param idx
|
|
8978
9086
|
*/
|
|
8979
9087
|
function toBloom(array, idx) {
|
|
9088
|
+
if (idx < 0) {
|
|
9089
|
+
return 'NO_NODE_INJECTOR';
|
|
9090
|
+
}
|
|
8980
9091
|
return `${binary(array, idx + 7)}_${binary(array, idx + 6)}_${binary(array, idx + 5)}_${binary(array, idx + 4)}_${binary(array, idx + 3)}_${binary(array, idx + 2)}_${binary(array, idx + 1)}_${binary(array, idx + 0)}`;
|
|
8981
9092
|
}
|
|
8982
9093
|
class LContainerDebug {
|
|
@@ -12220,7 +12331,7 @@ function createRootComponentView(rNode, def, rootView, rendererFactory, hostRend
|
|
|
12220
12331
|
ngDevMode && assertIndexInRange(rootView, index);
|
|
12221
12332
|
rootView[index] = rNode;
|
|
12222
12333
|
// '#host' is added here as we don't know the real host DOM name (we don't want to read it) and at
|
|
12223
|
-
// the same time we want to communicate the
|
|
12334
|
+
// the same time we want to communicate the debug `TNode` that this is a special `TNode`
|
|
12224
12335
|
// representing a host element.
|
|
12225
12336
|
const tNode = getOrCreateTNode(tView, index, 2 /* Element */, '#host', null);
|
|
12226
12337
|
const mergedAttrs = tNode.mergedAttrs = def.hostAttrs;
|
|
@@ -21145,6 +21256,15 @@ class ElementRef {
|
|
|
21145
21256
|
* @nocollapse
|
|
21146
21257
|
*/
|
|
21147
21258
|
ElementRef.__NG_ELEMENT_ID__ = SWITCH_ELEMENT_REF_FACTORY;
|
|
21259
|
+
/**
|
|
21260
|
+
* Unwraps `ElementRef` and return the `nativeElement`.
|
|
21261
|
+
*
|
|
21262
|
+
* @param value value to unwrap
|
|
21263
|
+
* @returns `nativeElement` if `ElementRef` otherwise returns value as is.
|
|
21264
|
+
*/
|
|
21265
|
+
function unwrapElementRef(value) {
|
|
21266
|
+
return value instanceof ElementRef ? value.nativeElement : value;
|
|
21267
|
+
}
|
|
21148
21268
|
|
|
21149
21269
|
/**
|
|
21150
21270
|
* @license
|
|
@@ -21248,7 +21368,7 @@ class Version {
|
|
|
21248
21368
|
/**
|
|
21249
21369
|
* @publicApi
|
|
21250
21370
|
*/
|
|
21251
|
-
const VERSION = new Version('11.1.
|
|
21371
|
+
const VERSION = new Version('11.1.1');
|
|
21252
21372
|
|
|
21253
21373
|
/**
|
|
21254
21374
|
* @license
|
|
@@ -22401,7 +22521,7 @@ class ViewRef {
|
|
|
22401
22521
|
this._lView = _lView;
|
|
22402
22522
|
this._cdRefInjectingView = _cdRefInjectingView;
|
|
22403
22523
|
this._appRef = null;
|
|
22404
|
-
this.
|
|
22524
|
+
this._attachedToViewContainer = false;
|
|
22405
22525
|
}
|
|
22406
22526
|
get rootNodes() {
|
|
22407
22527
|
const lView = this._lView;
|
|
@@ -22418,12 +22538,19 @@ class ViewRef {
|
|
|
22418
22538
|
if (this._appRef) {
|
|
22419
22539
|
this._appRef.detachView(this);
|
|
22420
22540
|
}
|
|
22421
|
-
else if (this.
|
|
22422
|
-
const
|
|
22423
|
-
if (
|
|
22424
|
-
|
|
22541
|
+
else if (this._attachedToViewContainer) {
|
|
22542
|
+
const parent = this._lView[PARENT];
|
|
22543
|
+
if (isLContainer(parent)) {
|
|
22544
|
+
const viewRefs = parent[VIEW_REFS];
|
|
22545
|
+
const index = viewRefs ? viewRefs.indexOf(this) : -1;
|
|
22546
|
+
if (index > -1) {
|
|
22547
|
+
ngDevMode &&
|
|
22548
|
+
assertEqual(index, parent.indexOf(this._lView) - CONTAINER_HEADER_OFFSET, 'An attached view should be in the same position within its container as its ViewRef in the VIEW_REFS array.');
|
|
22549
|
+
detachView(parent, index);
|
|
22550
|
+
removeFromArray(viewRefs, index);
|
|
22551
|
+
}
|
|
22425
22552
|
}
|
|
22426
|
-
this.
|
|
22553
|
+
this._attachedToViewContainer = false;
|
|
22427
22554
|
}
|
|
22428
22555
|
destroyLView(this._lView[TVIEW], this._lView);
|
|
22429
22556
|
}
|
|
@@ -22615,18 +22742,18 @@ class ViewRef {
|
|
|
22615
22742
|
checkNoChanges() {
|
|
22616
22743
|
checkNoChangesInternal(this._lView[TVIEW], this._lView, this.context);
|
|
22617
22744
|
}
|
|
22618
|
-
attachToViewContainerRef(
|
|
22745
|
+
attachToViewContainerRef() {
|
|
22619
22746
|
if (this._appRef) {
|
|
22620
22747
|
throw new Error('This view is already attached directly to the ApplicationRef!');
|
|
22621
22748
|
}
|
|
22622
|
-
this.
|
|
22749
|
+
this._attachedToViewContainer = true;
|
|
22623
22750
|
}
|
|
22624
22751
|
detachFromAppRef() {
|
|
22625
22752
|
this._appRef = null;
|
|
22626
22753
|
renderDetachView(this._lView[TVIEW], this._lView);
|
|
22627
22754
|
}
|
|
22628
22755
|
attachToAppRef(appRef) {
|
|
22629
|
-
if (this.
|
|
22756
|
+
if (this._attachedToViewContainer) {
|
|
22630
22757
|
throw new Error('This view is already attached to a ViewContainer!');
|
|
22631
22758
|
}
|
|
22632
22759
|
this._appRef = appRef;
|
|
@@ -23007,7 +23134,7 @@ const R3ViewContainerRef = class ViewContainerRef extends VE_ViewContainerRef {
|
|
|
23007
23134
|
if (parentRNode !== null) {
|
|
23008
23135
|
addViewToContainer(tView, lContainer[T_HOST], renderer, lView, parentRNode, beforeNode);
|
|
23009
23136
|
}
|
|
23010
|
-
viewRef.attachToViewContainerRef(
|
|
23137
|
+
viewRef.attachToViewContainerRef();
|
|
23011
23138
|
addToArray(getOrCreateViewRefs(lContainer), adjustedIdx, viewRef);
|
|
23012
23139
|
return viewRef;
|
|
23013
23140
|
}
|
|
@@ -25823,11 +25950,21 @@ function symbolIterator() {
|
|
|
25823
25950
|
* @publicApi
|
|
25824
25951
|
*/
|
|
25825
25952
|
class QueryList {
|
|
25826
|
-
|
|
25953
|
+
/**
|
|
25954
|
+
* @param emitDistinctChangesOnly Whether `QueryList.changes` should fire only when actual change
|
|
25955
|
+
* has occurred. Or if it should fire when query is recomputed. (recomputing could resolve in
|
|
25956
|
+
* the same result) This is set to `false` for backwards compatibility but will be changed to
|
|
25957
|
+
* true in v12.
|
|
25958
|
+
*/
|
|
25959
|
+
constructor(_emitDistinctChangesOnly = false) {
|
|
25960
|
+
this._emitDistinctChangesOnly = _emitDistinctChangesOnly;
|
|
25827
25961
|
this.dirty = true;
|
|
25828
25962
|
this._results = [];
|
|
25829
|
-
this.
|
|
25963
|
+
this._changesDetected = false;
|
|
25964
|
+
this._changes = null;
|
|
25830
25965
|
this.length = 0;
|
|
25966
|
+
this.first = undefined;
|
|
25967
|
+
this.last = undefined;
|
|
25831
25968
|
// This function should be declared on the prototype, but doing so there will cause the class
|
|
25832
25969
|
// declaration to have side-effects and become not tree-shakable. For this reason we do it in
|
|
25833
25970
|
// the constructor.
|
|
@@ -25837,6 +25974,12 @@ class QueryList {
|
|
|
25837
25974
|
if (!proto[symbol])
|
|
25838
25975
|
proto[symbol] = symbolIterator;
|
|
25839
25976
|
}
|
|
25977
|
+
/**
|
|
25978
|
+
* Returns `Observable` of `QueryList` notifying the subscriber of changes.
|
|
25979
|
+
*/
|
|
25980
|
+
get changes() {
|
|
25981
|
+
return this._changes || (this._changes = new EventEmitter());
|
|
25982
|
+
}
|
|
25840
25983
|
/**
|
|
25841
25984
|
* Returns the QueryList entry at `index`.
|
|
25842
25985
|
*/
|
|
@@ -25900,19 +26043,31 @@ class QueryList {
|
|
|
25900
26043
|
* occurs.
|
|
25901
26044
|
*
|
|
25902
26045
|
* @param resultsTree The query results to store
|
|
26046
|
+
* @param identityAccessor Optional function for extracting stable object identity from a value
|
|
26047
|
+
* in the array. This function is executed for each element of the query result list while
|
|
26048
|
+
* comparing current query list with the new one (provided as a first argument of the `reset`
|
|
26049
|
+
* function) to detect if the lists are different. If the function is not provided, elements
|
|
26050
|
+
* are compared as is (without any pre-processing).
|
|
25903
26051
|
*/
|
|
25904
|
-
reset(resultsTree) {
|
|
25905
|
-
|
|
25906
|
-
|
|
25907
|
-
|
|
25908
|
-
|
|
25909
|
-
|
|
26052
|
+
reset(resultsTree, identityAccessor) {
|
|
26053
|
+
// Cast to `QueryListInternal` so that we can mutate fields which are readonly for the usage of
|
|
26054
|
+
// QueryList (but not for QueryList itself.)
|
|
26055
|
+
const self = this;
|
|
26056
|
+
self.dirty = false;
|
|
26057
|
+
const newResultFlat = flatten(resultsTree);
|
|
26058
|
+
if (this._changesDetected = !arrayEquals(self._results, newResultFlat, identityAccessor)) {
|
|
26059
|
+
self._results = newResultFlat;
|
|
26060
|
+
self.length = newResultFlat.length;
|
|
26061
|
+
self.last = newResultFlat[this.length - 1];
|
|
26062
|
+
self.first = newResultFlat[0];
|
|
26063
|
+
}
|
|
25910
26064
|
}
|
|
25911
26065
|
/**
|
|
25912
26066
|
* Triggers a change event by emitting on the `changes` {@link EventEmitter}.
|
|
25913
26067
|
*/
|
|
25914
26068
|
notifyOnChanges() {
|
|
25915
|
-
this.
|
|
26069
|
+
if (this._changes && (this._changesDetected || !this._emitDistinctChangesOnly))
|
|
26070
|
+
this._changes.emit(this);
|
|
25916
26071
|
}
|
|
25917
26072
|
/** internal */
|
|
25918
26073
|
setDirty() {
|
|
@@ -26004,10 +26159,9 @@ class LQueries_ {
|
|
|
26004
26159
|
}
|
|
26005
26160
|
}
|
|
26006
26161
|
class TQueryMetadata_ {
|
|
26007
|
-
constructor(predicate,
|
|
26162
|
+
constructor(predicate, flags, read = null) {
|
|
26008
26163
|
this.predicate = predicate;
|
|
26009
|
-
this.
|
|
26010
|
-
this.isStatic = isStatic;
|
|
26164
|
+
this.flags = flags;
|
|
26011
26165
|
this.read = read;
|
|
26012
26166
|
}
|
|
26013
26167
|
}
|
|
@@ -26100,7 +26254,8 @@ class TQuery_ {
|
|
|
26100
26254
|
return null;
|
|
26101
26255
|
}
|
|
26102
26256
|
isApplyingToNode(tNode) {
|
|
26103
|
-
if (this._appliesToNextNode &&
|
|
26257
|
+
if (this._appliesToNextNode &&
|
|
26258
|
+
(this.metadata.flags & 1 /* descendants */) !== 1 /* descendants */) {
|
|
26104
26259
|
const declarationNodeIdx = this._declarationNodeIndex;
|
|
26105
26260
|
let parent = tNode.parent;
|
|
26106
26261
|
// Determine if a given TNode is a "direct" child of a node on which a content query was
|
|
@@ -26312,7 +26467,9 @@ function ɵɵqueryRefresh(queryList) {
|
|
|
26312
26467
|
const queryIndex = getCurrentQueryIndex();
|
|
26313
26468
|
setCurrentQueryIndex(queryIndex + 1);
|
|
26314
26469
|
const tQuery = getTQuery(tView, queryIndex);
|
|
26315
|
-
if (queryList.dirty &&
|
|
26470
|
+
if (queryList.dirty &&
|
|
26471
|
+
(isCreationMode(lView) ===
|
|
26472
|
+
((tQuery.metadata.flags & 2 /* isStatic */) === 2 /* isStatic */))) {
|
|
26316
26473
|
if (tQuery.matches === null) {
|
|
26317
26474
|
queryList.reset([]);
|
|
26318
26475
|
}
|
|
@@ -26320,45 +26477,32 @@ function ɵɵqueryRefresh(queryList) {
|
|
|
26320
26477
|
const result = tQuery.crossesNgTemplate ?
|
|
26321
26478
|
collectQueryResults(tView, lView, queryIndex, []) :
|
|
26322
26479
|
materializeViewResults(tView, lView, tQuery, queryIndex);
|
|
26323
|
-
queryList.reset(result);
|
|
26480
|
+
queryList.reset(result, unwrapElementRef);
|
|
26324
26481
|
queryList.notifyOnChanges();
|
|
26325
26482
|
}
|
|
26326
26483
|
return true;
|
|
26327
26484
|
}
|
|
26328
26485
|
return false;
|
|
26329
26486
|
}
|
|
26330
|
-
/**
|
|
26331
|
-
* Creates new QueryList for a static view query.
|
|
26332
|
-
*
|
|
26333
|
-
* @param predicate The type for which the query will search
|
|
26334
|
-
* @param descend Whether or not to descend into children
|
|
26335
|
-
* @param read What to save in the query
|
|
26336
|
-
*
|
|
26337
|
-
* @codeGenApi
|
|
26338
|
-
*/
|
|
26339
|
-
function ɵɵstaticViewQuery(predicate, descend, read) {
|
|
26340
|
-
viewQueryInternal(getTView(), getLView(), predicate, descend, read, true);
|
|
26341
|
-
}
|
|
26342
26487
|
/**
|
|
26343
26488
|
* Creates new QueryList, stores the reference in LView and returns QueryList.
|
|
26344
26489
|
*
|
|
26345
26490
|
* @param predicate The type for which the query will search
|
|
26346
|
-
* @param
|
|
26491
|
+
* @param flags Flags associated with the query
|
|
26347
26492
|
* @param read What to save in the query
|
|
26348
26493
|
*
|
|
26349
26494
|
* @codeGenApi
|
|
26350
26495
|
*/
|
|
26351
|
-
function ɵɵviewQuery(predicate,
|
|
26352
|
-
|
|
26353
|
-
|
|
26354
|
-
function viewQueryInternal(tView, lView, predicate, descend, read, isStatic) {
|
|
26496
|
+
function ɵɵviewQuery(predicate, flags, read) {
|
|
26497
|
+
ngDevMode && assertNumber(flags, 'Expecting flags');
|
|
26498
|
+
const tView = getTView();
|
|
26355
26499
|
if (tView.firstCreatePass) {
|
|
26356
|
-
createTQuery(tView, new TQueryMetadata_(predicate,
|
|
26357
|
-
if (isStatic) {
|
|
26500
|
+
createTQuery(tView, new TQueryMetadata_(predicate, flags, read), -1);
|
|
26501
|
+
if ((flags & 2 /* isStatic */) === 2 /* isStatic */) {
|
|
26358
26502
|
tView.staticViewQueries = true;
|
|
26359
26503
|
}
|
|
26360
26504
|
}
|
|
26361
|
-
createLQuery(tView,
|
|
26505
|
+
createLQuery(tView, getLView(), flags);
|
|
26362
26506
|
}
|
|
26363
26507
|
/**
|
|
26364
26508
|
* Registers a QueryList, associated with a content query, for later refresh (part of a view
|
|
@@ -26366,39 +26510,24 @@ function viewQueryInternal(tView, lView, predicate, descend, read, isStatic) {
|
|
|
26366
26510
|
*
|
|
26367
26511
|
* @param directiveIndex Current directive index
|
|
26368
26512
|
* @param predicate The type for which the query will search
|
|
26369
|
-
* @param
|
|
26513
|
+
* @param flags Flags associated with the query
|
|
26370
26514
|
* @param read What to save in the query
|
|
26371
26515
|
* @returns QueryList<T>
|
|
26372
26516
|
*
|
|
26373
26517
|
* @codeGenApi
|
|
26374
26518
|
*/
|
|
26375
|
-
function ɵɵcontentQuery(directiveIndex, predicate,
|
|
26376
|
-
|
|
26377
|
-
|
|
26378
|
-
/**
|
|
26379
|
-
* Registers a QueryList, associated with a static content query, for later refresh
|
|
26380
|
-
* (part of a view refresh).
|
|
26381
|
-
*
|
|
26382
|
-
* @param directiveIndex Current directive index
|
|
26383
|
-
* @param predicate The type for which the query will search
|
|
26384
|
-
* @param descend Whether or not to descend into children
|
|
26385
|
-
* @param read What to save in the query
|
|
26386
|
-
* @returns QueryList<T>
|
|
26387
|
-
*
|
|
26388
|
-
* @codeGenApi
|
|
26389
|
-
*/
|
|
26390
|
-
function ɵɵstaticContentQuery(directiveIndex, predicate, descend, read) {
|
|
26391
|
-
contentQueryInternal(getTView(), getLView(), predicate, descend, read, true, getCurrentTNode(), directiveIndex);
|
|
26392
|
-
}
|
|
26393
|
-
function contentQueryInternal(tView, lView, predicate, descend, read, isStatic, tNode, directiveIndex) {
|
|
26519
|
+
function ɵɵcontentQuery(directiveIndex, predicate, flags, read) {
|
|
26520
|
+
ngDevMode && assertNumber(flags, 'Expecting flags');
|
|
26521
|
+
const tView = getTView();
|
|
26394
26522
|
if (tView.firstCreatePass) {
|
|
26395
|
-
|
|
26523
|
+
const tNode = getCurrentTNode();
|
|
26524
|
+
createTQuery(tView, new TQueryMetadata_(predicate, flags, read), tNode.index);
|
|
26396
26525
|
saveContentQueryAndDirectiveIndex(tView, directiveIndex);
|
|
26397
|
-
if (isStatic) {
|
|
26526
|
+
if ((flags & 2 /* isStatic */) === 2 /* isStatic */) {
|
|
26398
26527
|
tView.staticContentQueries = true;
|
|
26399
26528
|
}
|
|
26400
26529
|
}
|
|
26401
|
-
createLQuery(tView,
|
|
26530
|
+
createLQuery(tView, getLView(), flags);
|
|
26402
26531
|
}
|
|
26403
26532
|
/**
|
|
26404
26533
|
* Loads a QueryList corresponding to the current view or content query.
|
|
@@ -26414,8 +26543,8 @@ function loadQueryInternal(lView, queryIndex) {
|
|
|
26414
26543
|
ngDevMode && assertIndexInRange(lView[QUERIES].queries, queryIndex);
|
|
26415
26544
|
return lView[QUERIES].queries[queryIndex].queryList;
|
|
26416
26545
|
}
|
|
26417
|
-
function createLQuery(tView, lView) {
|
|
26418
|
-
const queryList = new QueryList();
|
|
26546
|
+
function createLQuery(tView, lView, flags) {
|
|
26547
|
+
const queryList = new QueryList((flags & 4 /* emitDistinctChangesOnly */) === 4 /* emitDistinctChangesOnly */);
|
|
26419
26548
|
storeCleanupWithContext(tView, lView, queryList, queryList.destroy);
|
|
26420
26549
|
if (lView[QUERIES] === null)
|
|
26421
26550
|
lView[QUERIES] = new LQueries_();
|
|
@@ -26563,8 +26692,6 @@ const ɵ0$c = () => ({
|
|
|
26563
26692
|
'ɵɵpipe': ɵɵpipe,
|
|
26564
26693
|
'ɵɵqueryRefresh': ɵɵqueryRefresh,
|
|
26565
26694
|
'ɵɵviewQuery': ɵɵviewQuery,
|
|
26566
|
-
'ɵɵstaticViewQuery': ɵɵstaticViewQuery,
|
|
26567
|
-
'ɵɵstaticContentQuery': ɵɵstaticContentQuery,
|
|
26568
26695
|
'ɵɵloadQuery': ɵɵloadQuery,
|
|
26569
26696
|
'ɵɵcontentQuery': ɵɵcontentQuery,
|
|
26570
26697
|
'ɵɵreference': ɵɵreference,
|
|
@@ -27338,7 +27465,8 @@ function convertToR3QueryMetadata(propertyName, ann) {
|
|
|
27338
27465
|
descendants: ann.descendants,
|
|
27339
27466
|
first: ann.first,
|
|
27340
27467
|
read: ann.read ? ann.read : null,
|
|
27341
|
-
static: !!ann.static
|
|
27468
|
+
static: !!ann.static,
|
|
27469
|
+
emitDistinctChangesOnly: !!ann.emitDistinctChangesOnly,
|
|
27342
27470
|
};
|
|
27343
27471
|
}
|
|
27344
27472
|
function extractQueriesMetadata(type, propMetadata, isQueryAnn) {
|
|
@@ -27948,7 +28076,7 @@ const ivyEnabled = SWITCH_IVY_ENABLED__PRE_R3__;
|
|
|
27948
28076
|
* found in the LICENSE file at https://angular.io/license
|
|
27949
28077
|
*/
|
|
27950
28078
|
/**
|
|
27951
|
-
* Combination of NgModuleFactory and
|
|
28079
|
+
* Combination of NgModuleFactory and ComponentFactories.
|
|
27952
28080
|
*
|
|
27953
28081
|
* @publicApi
|
|
27954
28082
|
*/
|
|
@@ -30741,8 +30869,8 @@ function queryDef(flags, id, bindings) {
|
|
|
30741
30869
|
ngContent: null
|
|
30742
30870
|
};
|
|
30743
30871
|
}
|
|
30744
|
-
function createQuery() {
|
|
30745
|
-
return new QueryList();
|
|
30872
|
+
function createQuery(emitDistinctChangesOnly) {
|
|
30873
|
+
return new QueryList(emitDistinctChangesOnly);
|
|
30746
30874
|
}
|
|
30747
30875
|
function dirtyParentQueries(view) {
|
|
30748
30876
|
const queryIds = view.def.nodeMatchedQueries;
|
|
@@ -30794,7 +30922,7 @@ function checkAndUpdateQuery(view, nodeDef) {
|
|
|
30794
30922
|
newValues = calcQueryValues(view, 0, view.def.nodes.length - 1, nodeDef.query, []);
|
|
30795
30923
|
directiveInstance = view.component;
|
|
30796
30924
|
}
|
|
30797
|
-
queryList.reset(newValues);
|
|
30925
|
+
queryList.reset(newValues, unwrapElementRef);
|
|
30798
30926
|
const bindings = nodeDef.query.bindings;
|
|
30799
30927
|
let notify = false;
|
|
30800
30928
|
for (let i = 0; i < bindings.length; i++) {
|
|
@@ -31555,7 +31683,8 @@ function createViewNodes(view) {
|
|
|
31555
31683
|
break;
|
|
31556
31684
|
case 67108864 /* TypeContentQuery */:
|
|
31557
31685
|
case 134217728 /* TypeViewQuery */:
|
|
31558
|
-
nodeData = createQuery()
|
|
31686
|
+
nodeData = createQuery((nodeDef.flags & -2147483648 /* EmitDistinctChangesOnly */) ===
|
|
31687
|
+
-2147483648 /* EmitDistinctChangesOnly */);
|
|
31559
31688
|
break;
|
|
31560
31689
|
case 8 /* TypeNgContent */:
|
|
31561
31690
|
appendNgContent(view, renderHost, nodeDef);
|
|
@@ -32780,5 +32909,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
|
32780
32909
|
* Generated bundle index. Do not edit.
|
|
32781
32910
|
*/
|
|
32782
32911
|
|
|
32783
|
-
export { ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, Directive, ElementRef, EmbeddedViewRef, ErrorHandler, EventEmitter, Host, HostBinding, HostListener, INJECTOR$1 as INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID$1 as LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory, NgModuleFactoryLoader, NgModuleRef, NgProbeToken, NgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, ReflectiveInjector, ReflectiveKey, Renderer2, RendererFactory2, RendererStyleFlags2, ResolvedReflectiveFactory, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation, ViewRef$1 as ViewRef, WrappedValue, asNativeElements, assertPlatform, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, enableProdMode, forwardRef, getDebugNode$1 as getDebugNode, getModuleFactory, getPlatform, inject, isDevMode, platformCore, resolveForwardRef, setTestabilityGetter, ɵ0$2 as ɵ0, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, APP_ID_RANDOM_PROVIDER as ɵAPP_ID_RANDOM_PROVIDER, CREATE_ATTRIBUTE_DECORATOR__POST_R3__ as ɵCREATE_ATTRIBUTE_DECORATOR__POST_R3__, ChangeDetectorStatus as ɵChangeDetectorStatus, CodegenComponentFactoryResolver as ɵCodegenComponentFactoryResolver, Compiler_compileModuleAndAllComponentsAsync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__, Compiler_compileModuleAndAllComponentsSync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__, Compiler_compileModuleAsync__POST_R3__ as ɵCompiler_compileModuleAsync__POST_R3__, Compiler_compileModuleSync__POST_R3__ as ɵCompiler_compileModuleSync__POST_R3__, ComponentFactory as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, EMPTY_ARRAY$4 as ɵEMPTY_ARRAY, EMPTY_MAP as ɵEMPTY_MAP, INJECTOR_IMPL__POST_R3__ as ɵINJECTOR_IMPL__POST_R3__, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory$1 as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory$1 as ɵRender3ComponentFactory, ComponentRef$1 as ɵRender3ComponentRef, NgModuleRef$1 as ɵRender3NgModuleRef, SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__ as ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__, SWITCH_COMPILE_COMPONENT__POST_R3__ as ɵSWITCH_COMPILE_COMPONENT__POST_R3__, SWITCH_COMPILE_DIRECTIVE__POST_R3__ as ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__, SWITCH_COMPILE_INJECTABLE__POST_R3__ as ɵSWITCH_COMPILE_INJECTABLE__POST_R3__, SWITCH_COMPILE_NGMODULE__POST_R3__ as ɵSWITCH_COMPILE_NGMODULE__POST_R3__, SWITCH_COMPILE_PIPE__POST_R3__ as ɵSWITCH_COMPILE_PIPE__POST_R3__, SWITCH_ELEMENT_REF_FACTORY__POST_R3__ as ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__, SWITCH_IVY_ENABLED__POST_R3__ as ɵSWITCH_IVY_ENABLED__POST_R3__, SWITCH_RENDERER2_FACTORY__POST_R3__ as ɵSWITCH_RENDERER2_FACTORY__POST_R3__, SWITCH_TEMPLATE_REF_FACTORY__POST_R3__ as ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__, SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__ as ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, anchorDef as ɵand, isForwardRef as ɵangular_packages_core_core_a, injectInjectorOnly as ɵangular_packages_core_core_b, USD_CURRENCY_CODE as ɵangular_packages_core_core_ba, _def as ɵangular_packages_core_core_bb, DebugContext as ɵangular_packages_core_core_bc, NgOnChangesFeatureImpl as ɵangular_packages_core_core_bd, SCHEDULER as ɵangular_packages_core_core_be, injectAttributeImpl as ɵangular_packages_core_core_bf, getLView as ɵangular_packages_core_core_bg, getBindingRoot as ɵangular_packages_core_core_bh, nextContextImpl as ɵangular_packages_core_core_bi, pureFunction1Internal as ɵangular_packages_core_core_bk, pureFunction2Internal as ɵangular_packages_core_core_bl, pureFunction3Internal as ɵangular_packages_core_core_bm, pureFunction4Internal as ɵangular_packages_core_core_bn, pureFunctionVInternal as ɵangular_packages_core_core_bo, getUrlSanitizer as ɵangular_packages_core_core_bp, makePropDecorator as ɵangular_packages_core_core_bq, makeParamDecorator as ɵangular_packages_core_core_br, getClosureSafeProperty as ɵangular_packages_core_core_bs, NullInjector as ɵangular_packages_core_core_bt, getInjectImplementation as ɵangular_packages_core_core_bu, getNativeByTNode as ɵangular_packages_core_core_bw, getRootContext as ɵangular_packages_core_core_by, i18nPostprocess as ɵangular_packages_core_core_bz, ReflectiveInjector_ as ɵangular_packages_core_core_c, ReflectiveDependency as ɵangular_packages_core_core_d, resolveReflectiveProviders as ɵangular_packages_core_core_e, _appIdRandomProviderFactory as ɵangular_packages_core_core_f, injectRenderer2 as ɵangular_packages_core_core_g, injectElementRef as ɵangular_packages_core_core_h, createElementRef as ɵangular_packages_core_core_i, getModuleFactory__PRE_R3__ as ɵangular_packages_core_core_j, injectTemplateRef as ɵangular_packages_core_core_k, createTemplateRef as ɵangular_packages_core_core_l, injectViewContainerRef as ɵangular_packages_core_core_m, DebugNode__PRE_R3__ as ɵangular_packages_core_core_n, DebugElement__PRE_R3__ as ɵangular_packages_core_core_o, getDebugNodeR2__PRE_R3__ as ɵangular_packages_core_core_p, injectChangeDetectorRef as ɵangular_packages_core_core_q, DefaultIterableDifferFactory as ɵangular_packages_core_core_r, DefaultKeyValueDifferFactory as ɵangular_packages_core_core_s, defaultIterableDiffersFactory as ɵangular_packages_core_core_t, defaultKeyValueDiffersFactory as ɵangular_packages_core_core_u, _iterableDiffersFactory as ɵangular_packages_core_core_v, _keyValueDiffersFactory as ɵangular_packages_core_core_w, _localeFactory as ɵangular_packages_core_core_x, APPLICATION_MODULE_PROVIDERS as ɵangular_packages_core_core_y, zoneSchedulerFactory as ɵangular_packages_core_core_z, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, createComponentFactory as ɵccf, clearOverrides as ɵclearOverrides, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, createNgModuleFactory as ɵcmf, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory__POST_R3__ as ɵcompileNgModuleFactory__POST_R3__, compilePipe as ɵcompilePipe, createInjector as ɵcreateInjector, createRendererType2 as ɵcrt, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, detectChanges as ɵdetectChanges, devModeEqual as ɵdevModeEqual, directiveDef as ɵdid, elementDef as ɵeld, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, getComponentViewDefinitionFactory as ɵgetComponentViewDefinitionFactory, getDebugNodeR2 as ɵgetDebugNodeR2, getDebugNode__POST_R3__ as ɵgetDebugNode__POST_R3__, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getModuleFactory__POST_R3__ as ɵgetModuleFactory__POST_R3__, getSanitizationBypassType as ɵgetSanitizationBypassType, _global as ɵglobal, initServicesIfNeeded as ɵinitServicesIfNeeded, inlineInterpolate as ɵinlineInterpolate, interpolate as ɵinterpolate, isBoundToModule__POST_R3__ as ɵisBoundToModule__POST_R3__, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, isListLikeIterable as ɵisListLikeIterable, isObservable as ɵisObservable, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, ivyEnabled as ɵivyEnabled, makeDecorator as ɵmakeDecorator, markDirty as ɵmarkDirty, moduleDef as ɵmod, moduleProvideDef as ɵmpd, ngContentDef as ɵncd, noSideEffects as ɵnoSideEffects, nodeValue as ɵnov, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider, pureArrayDef as ɵpad, patchComponentDefWithScope as ɵpatchComponentDefWithScope, pipeDef as ɵpid, pureObjectDef as ɵpod, purePipeDef as ɵppd, providerDef as ɵprd, publishDefaultGlobalUtils as ɵpublishDefaultGlobalUtils, publishGlobalUtil as ɵpublishGlobalUtil, queryDef as ɵqud, registerLocaleData as ɵregisterLocaleData, registerModuleFactory as ɵregisterModuleFactory, registerNgModuleType as ɵregisterNgModuleType, renderComponent$1 as ɵrenderComponent, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, setClassMetadata as ɵsetClassMetadata, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setLocaleId as ɵsetLocaleId, store as ɵstore, stringify as ɵstringify, textDef as ɵted, transitiveScopesFor as ɵtransitiveScopesFor, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapValue as ɵunv, unwrapSafeValue as ɵunwrapSafeValue, viewDef as ɵvid, whenRendered as ɵwhenRendered, ɵɵCopyDefinitionFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcontentQuery, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetCurrentView, ɵɵgetFactoryOf, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinjectPipeChangeDetectorRef, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryRefresh, ɵɵreference, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstaticContentQuery, ɵɵstaticViewQuery, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵviewQuery };
|
|
32912
|
+
export { ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, Directive, ElementRef, EmbeddedViewRef, ErrorHandler, EventEmitter, Host, HostBinding, HostListener, INJECTOR$1 as INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID$1 as LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory, NgModuleFactoryLoader, NgModuleRef, NgProbeToken, NgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, ReflectiveInjector, ReflectiveKey, Renderer2, RendererFactory2, RendererStyleFlags2, ResolvedReflectiveFactory, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation, ViewRef$1 as ViewRef, WrappedValue, asNativeElements, assertPlatform, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, enableProdMode, forwardRef, getDebugNode$1 as getDebugNode, getModuleFactory, getPlatform, inject, isDevMode, platformCore, resolveForwardRef, setTestabilityGetter, ɵ0$3 as ɵ0, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, APP_ID_RANDOM_PROVIDER as ɵAPP_ID_RANDOM_PROVIDER, CREATE_ATTRIBUTE_DECORATOR__POST_R3__ as ɵCREATE_ATTRIBUTE_DECORATOR__POST_R3__, ChangeDetectorStatus as ɵChangeDetectorStatus, CodegenComponentFactoryResolver as ɵCodegenComponentFactoryResolver, Compiler_compileModuleAndAllComponentsAsync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__, Compiler_compileModuleAndAllComponentsSync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__, Compiler_compileModuleAsync__POST_R3__ as ɵCompiler_compileModuleAsync__POST_R3__, Compiler_compileModuleSync__POST_R3__ as ɵCompiler_compileModuleSync__POST_R3__, ComponentFactory as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, EMPTY_ARRAY$4 as ɵEMPTY_ARRAY, EMPTY_MAP as ɵEMPTY_MAP, INJECTOR_IMPL__POST_R3__ as ɵINJECTOR_IMPL__POST_R3__, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory$1 as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory$1 as ɵRender3ComponentFactory, ComponentRef$1 as ɵRender3ComponentRef, NgModuleRef$1 as ɵRender3NgModuleRef, SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__ as ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__, SWITCH_COMPILE_COMPONENT__POST_R3__ as ɵSWITCH_COMPILE_COMPONENT__POST_R3__, SWITCH_COMPILE_DIRECTIVE__POST_R3__ as ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__, SWITCH_COMPILE_INJECTABLE__POST_R3__ as ɵSWITCH_COMPILE_INJECTABLE__POST_R3__, SWITCH_COMPILE_NGMODULE__POST_R3__ as ɵSWITCH_COMPILE_NGMODULE__POST_R3__, SWITCH_COMPILE_PIPE__POST_R3__ as ɵSWITCH_COMPILE_PIPE__POST_R3__, SWITCH_ELEMENT_REF_FACTORY__POST_R3__ as ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__, SWITCH_IVY_ENABLED__POST_R3__ as ɵSWITCH_IVY_ENABLED__POST_R3__, SWITCH_RENDERER2_FACTORY__POST_R3__ as ɵSWITCH_RENDERER2_FACTORY__POST_R3__, SWITCH_TEMPLATE_REF_FACTORY__POST_R3__ as ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__, SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__ as ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, anchorDef as ɵand, isForwardRef as ɵangular_packages_core_core_a, injectInjectorOnly as ɵangular_packages_core_core_b, zoneSchedulerFactory as ɵangular_packages_core_core_ba, USD_CURRENCY_CODE as ɵangular_packages_core_core_bb, _def as ɵangular_packages_core_core_bc, DebugContext as ɵangular_packages_core_core_bd, NgOnChangesFeatureImpl as ɵangular_packages_core_core_be, SCHEDULER as ɵangular_packages_core_core_bf, injectAttributeImpl as ɵangular_packages_core_core_bg, getLView as ɵangular_packages_core_core_bh, getBindingRoot as ɵangular_packages_core_core_bi, nextContextImpl as ɵangular_packages_core_core_bj, pureFunction1Internal as ɵangular_packages_core_core_bl, pureFunction2Internal as ɵangular_packages_core_core_bm, pureFunction3Internal as ɵangular_packages_core_core_bn, pureFunction4Internal as ɵangular_packages_core_core_bo, pureFunctionVInternal as ɵangular_packages_core_core_bp, getUrlSanitizer as ɵangular_packages_core_core_bq, makePropDecorator as ɵangular_packages_core_core_br, makeParamDecorator as ɵangular_packages_core_core_bs, getClosureSafeProperty as ɵangular_packages_core_core_bv, NullInjector as ɵangular_packages_core_core_bw, getInjectImplementation as ɵangular_packages_core_core_bx, getNativeByTNode as ɵangular_packages_core_core_bz, attachInjectFlag as ɵangular_packages_core_core_c, getRootContext as ɵangular_packages_core_core_cb, i18nPostprocess as ɵangular_packages_core_core_cc, ReflectiveInjector_ as ɵangular_packages_core_core_d, ReflectiveDependency as ɵangular_packages_core_core_e, resolveReflectiveProviders as ɵangular_packages_core_core_f, _appIdRandomProviderFactory as ɵangular_packages_core_core_g, injectRenderer2 as ɵangular_packages_core_core_h, injectElementRef as ɵangular_packages_core_core_i, createElementRef as ɵangular_packages_core_core_j, getModuleFactory__PRE_R3__ as ɵangular_packages_core_core_k, injectTemplateRef as ɵangular_packages_core_core_l, createTemplateRef as ɵangular_packages_core_core_m, injectViewContainerRef as ɵangular_packages_core_core_n, DebugNode__PRE_R3__ as ɵangular_packages_core_core_o, DebugElement__PRE_R3__ as ɵangular_packages_core_core_p, getDebugNodeR2__PRE_R3__ as ɵangular_packages_core_core_q, injectChangeDetectorRef as ɵangular_packages_core_core_r, DefaultIterableDifferFactory as ɵangular_packages_core_core_s, DefaultKeyValueDifferFactory as ɵangular_packages_core_core_t, defaultIterableDiffersFactory as ɵangular_packages_core_core_u, defaultKeyValueDiffersFactory as ɵangular_packages_core_core_v, _iterableDiffersFactory as ɵangular_packages_core_core_w, _keyValueDiffersFactory as ɵangular_packages_core_core_x, _localeFactory as ɵangular_packages_core_core_y, APPLICATION_MODULE_PROVIDERS as ɵangular_packages_core_core_z, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, createComponentFactory as ɵccf, clearOverrides as ɵclearOverrides, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, createNgModuleFactory as ɵcmf, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory__POST_R3__ as ɵcompileNgModuleFactory__POST_R3__, compilePipe as ɵcompilePipe, createInjector as ɵcreateInjector, createRendererType2 as ɵcrt, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, detectChanges as ɵdetectChanges, devModeEqual as ɵdevModeEqual, directiveDef as ɵdid, elementDef as ɵeld, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, getComponentViewDefinitionFactory as ɵgetComponentViewDefinitionFactory, getDebugNodeR2 as ɵgetDebugNodeR2, getDebugNode__POST_R3__ as ɵgetDebugNode__POST_R3__, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getModuleFactory__POST_R3__ as ɵgetModuleFactory__POST_R3__, getSanitizationBypassType as ɵgetSanitizationBypassType, _global as ɵglobal, initServicesIfNeeded as ɵinitServicesIfNeeded, inlineInterpolate as ɵinlineInterpolate, interpolate as ɵinterpolate, isBoundToModule__POST_R3__ as ɵisBoundToModule__POST_R3__, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, isListLikeIterable as ɵisListLikeIterable, isObservable as ɵisObservable, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, ivyEnabled as ɵivyEnabled, makeDecorator as ɵmakeDecorator, markDirty as ɵmarkDirty, moduleDef as ɵmod, moduleProvideDef as ɵmpd, ngContentDef as ɵncd, noSideEffects as ɵnoSideEffects, nodeValue as ɵnov, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider, pureArrayDef as ɵpad, patchComponentDefWithScope as ɵpatchComponentDefWithScope, pipeDef as ɵpid, pureObjectDef as ɵpod, purePipeDef as ɵppd, providerDef as ɵprd, publishDefaultGlobalUtils as ɵpublishDefaultGlobalUtils, publishGlobalUtil as ɵpublishGlobalUtil, queryDef as ɵqud, registerLocaleData as ɵregisterLocaleData, registerModuleFactory as ɵregisterModuleFactory, registerNgModuleType as ɵregisterNgModuleType, renderComponent$1 as ɵrenderComponent, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, setClassMetadata as ɵsetClassMetadata, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setLocaleId as ɵsetLocaleId, store as ɵstore, stringify as ɵstringify, textDef as ɵted, transitiveScopesFor as ɵtransitiveScopesFor, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapValue as ɵunv, unwrapSafeValue as ɵunwrapSafeValue, viewDef as ɵvid, whenRendered as ɵwhenRendered, ɵɵCopyDefinitionFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcontentQuery, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetCurrentView, ɵɵgetFactoryOf, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinjectPipeChangeDetectorRef, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryRefresh, ɵɵreference, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵviewQuery };
|
|
32784
32913
|
//# sourceMappingURL=core.js.map
|