@angular/core 11.1.0-next.5 → 11.1.2
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 +473 -346
- package/bundles/core.umd.js.map +1 -1
- package/bundles/core.umd.min.js +116 -117
- package/bundles/core.umd.min.js.map +1 -1
- package/core.d.ts +237 -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/event_emitter.js +15 -15
- 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/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 +28 -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/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 +420 -297
- 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.2
|
|
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,42 @@ 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
|
+
"302" /* PIPE_NOT_FOUND */,
|
|
1322
|
+
]);
|
|
1323
|
+
/* tslint:enable:no-toplevel-property-access */
|
|
1307
1324
|
/** Called to format a runtime error */
|
|
1308
1325
|
function formatRuntimeError(code, message) {
|
|
1309
1326
|
const fullCode = code ? `NG0${code}: ` : '';
|
|
1310
|
-
|
|
1327
|
+
let errorMessage = `${fullCode}${message}`;
|
|
1328
|
+
// Some runtime errors are still thrown without `ngDevMode` (for example
|
|
1329
|
+
// `throwProviderNotFoundError`), so we add `ngDevMode` check here to avoid pulling
|
|
1330
|
+
// `RUNTIME_ERRORS_WITH_GUIDES` symbol into prod bundles.
|
|
1331
|
+
// TODO: revisit all instances where `RuntimeError` is thrown and see if `ngDevMode` can be added
|
|
1332
|
+
// there instead to tree-shake more devmode-only code (and eventually remove `ngDevMode` check
|
|
1333
|
+
// from this code).
|
|
1334
|
+
if (ngDevMode && RUNTIME_ERRORS_WITH_GUIDES.has(code)) {
|
|
1335
|
+
errorMessage = `${errorMessage}. Find more at ${ERROR_DETAILS_PAGE_BASE_URL}/NG0${code}`;
|
|
1336
|
+
}
|
|
1337
|
+
return errorMessage;
|
|
1311
1338
|
}
|
|
1312
1339
|
|
|
1313
1340
|
/**
|
|
@@ -3023,6 +3050,12 @@ function setIncludeViewProviders(v) {
|
|
|
3023
3050
|
*/
|
|
3024
3051
|
const BLOOM_SIZE = 256;
|
|
3025
3052
|
const BLOOM_MASK = BLOOM_SIZE - 1;
|
|
3053
|
+
/**
|
|
3054
|
+
* The number of bits that is represented by a single bloom bucket. JS bit operations are 32 bits,
|
|
3055
|
+
* so each bucket represents 32 distinct tokens which accounts for log2(32) = 5 bits of a bloom hash
|
|
3056
|
+
* number.
|
|
3057
|
+
*/
|
|
3058
|
+
const BLOOM_BUCKET_BITS = 5;
|
|
3026
3059
|
/** Counter used to generate unique IDs for directives. */
|
|
3027
3060
|
let nextNgElementId = 0;
|
|
3028
3061
|
/**
|
|
@@ -3049,25 +3082,15 @@ function bloomAdd(injectorIndex, tView, type) {
|
|
|
3049
3082
|
}
|
|
3050
3083
|
// We only have BLOOM_SIZE (256) slots in our bloom filter (8 buckets * 32 bits each),
|
|
3051
3084
|
// so all unique IDs must be modulo-ed into a number from 0 - 255 to fit into the filter.
|
|
3052
|
-
const
|
|
3085
|
+
const bloomHash = id & BLOOM_MASK;
|
|
3053
3086
|
// Create a mask that targets the specific bit associated with the directive.
|
|
3054
3087
|
// JS bit operations are 32 bits, so this will be a number between 2^0 and 2^31, corresponding
|
|
3055
3088
|
// 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
|
-
}
|
|
3089
|
+
const mask = 1 << bloomHash;
|
|
3090
|
+
// Each bloom bucket in `tData` represents `BLOOM_BUCKET_BITS` number of bits of `bloomHash`.
|
|
3091
|
+
// Any bits in `bloomHash` beyond `BLOOM_BUCKET_BITS` indicate the bucket offset that the mask
|
|
3092
|
+
// should be written to.
|
|
3093
|
+
tView.data[injectorIndex + (bloomHash >> BLOOM_BUCKET_BITS)] |= mask;
|
|
3071
3094
|
}
|
|
3072
3095
|
/**
|
|
3073
3096
|
* Creates (or gets an existing) injector for a given element or container.
|
|
@@ -3562,21 +3585,10 @@ function bloomHasToken(bloomHash, injectorIndex, injectorView) {
|
|
|
3562
3585
|
// JS bit operations are 32 bits, so this will be a number between 2^0 and 2^31, corresponding
|
|
3563
3586
|
// to bit positions 0 - 31 in a 32 bit integer.
|
|
3564
3587
|
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
|
-
}
|
|
3588
|
+
// Each bloom bucket in `injectorView` represents `BLOOM_BUCKET_BITS` number of bits of
|
|
3589
|
+
// `bloomHash`. Any bits in `bloomHash` beyond `BLOOM_BUCKET_BITS` indicate the bucket offset
|
|
3590
|
+
// that should be used.
|
|
3591
|
+
const value = injectorView[injectorIndex + (bloomHash >> BLOOM_BUCKET_BITS)];
|
|
3580
3592
|
// If the bloom filter value has the bit corresponding to the directive's bloomBit flipped on,
|
|
3581
3593
|
// this injector is a potential match.
|
|
3582
3594
|
return !!(value & mask);
|
|
@@ -3918,6 +3930,10 @@ class InjectionToken {
|
|
|
3918
3930
|
* @deprecated Since 9.0.0. With Ivy, this property is no longer necessary.
|
|
3919
3931
|
*/
|
|
3920
3932
|
const ANALYZE_FOR_ENTRY_COMPONENTS = new InjectionToken('AnalyzeForEntryComponents');
|
|
3933
|
+
// Stores the default value of `emitDistinctChangesOnly` when the `emitDistinctChangesOnly` is not
|
|
3934
|
+
// explicitly set. This value will be changed to `true` in v12.
|
|
3935
|
+
// TODO(misko): switch the default in v12 to `true`. See: packages/compiler/src/core.ts
|
|
3936
|
+
const emitDistinctChangesOnlyDefaultValue = false;
|
|
3921
3937
|
/**
|
|
3922
3938
|
* Base class for query metadata.
|
|
3923
3939
|
*
|
|
@@ -3930,7 +3946,7 @@ const ANALYZE_FOR_ENTRY_COMPONENTS = new InjectionToken('AnalyzeForEntryComponen
|
|
|
3930
3946
|
*/
|
|
3931
3947
|
class Query {
|
|
3932
3948
|
}
|
|
3933
|
-
const ɵ0$1 = (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false }, data));
|
|
3949
|
+
const ɵ0$1 = (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false, emitDistinctChangesOnly: emitDistinctChangesOnlyDefaultValue }, data));
|
|
3934
3950
|
/**
|
|
3935
3951
|
* ContentChildren decorator and metadata.
|
|
3936
3952
|
*
|
|
@@ -3949,7 +3965,7 @@ const ɵ1 = (selector, data = {}) => (Object.assign({ selector, first: true, isV
|
|
|
3949
3965
|
* @publicApi
|
|
3950
3966
|
*/
|
|
3951
3967
|
const ContentChild = makePropDecorator('ContentChild', ɵ1, Query);
|
|
3952
|
-
const ɵ2 = (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true }, data));
|
|
3968
|
+
const ɵ2 = (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true, emitDistinctChangesOnly: emitDistinctChangesOnlyDefaultValue }, data));
|
|
3953
3969
|
/**
|
|
3954
3970
|
* ViewChildren decorator and metadata.
|
|
3955
3971
|
*
|
|
@@ -4054,6 +4070,30 @@ function addAllToArray(items, arr) {
|
|
|
4054
4070
|
arr.push(items[i]);
|
|
4055
4071
|
}
|
|
4056
4072
|
}
|
|
4073
|
+
/**
|
|
4074
|
+
* Determines if the contents of two arrays is identical
|
|
4075
|
+
*
|
|
4076
|
+
* @param a first array
|
|
4077
|
+
* @param b second array
|
|
4078
|
+
* @param identityAccessor Optional function for extracting stable object identity from a value in
|
|
4079
|
+
* the array.
|
|
4080
|
+
*/
|
|
4081
|
+
function arrayEquals(a, b, identityAccessor) {
|
|
4082
|
+
if (a.length !== b.length)
|
|
4083
|
+
return false;
|
|
4084
|
+
for (let i = 0; i < a.length; i++) {
|
|
4085
|
+
let valueA = a[i];
|
|
4086
|
+
let valueB = b[i];
|
|
4087
|
+
if (identityAccessor) {
|
|
4088
|
+
valueA = identityAccessor(valueA);
|
|
4089
|
+
valueB = identityAccessor(valueB);
|
|
4090
|
+
}
|
|
4091
|
+
if (valueB !== valueA) {
|
|
4092
|
+
return false;
|
|
4093
|
+
}
|
|
4094
|
+
}
|
|
4095
|
+
return true;
|
|
4096
|
+
}
|
|
4057
4097
|
/**
|
|
4058
4098
|
* Flattens an array.
|
|
4059
4099
|
*/
|
|
@@ -4637,42 +4677,237 @@ function getParentCtor(ctor) {
|
|
|
4637
4677
|
* Use of this source code is governed by an MIT-style license that can be
|
|
4638
4678
|
* found in the LICENSE file at https://angular.io/license
|
|
4639
4679
|
*/
|
|
4640
|
-
const
|
|
4680
|
+
const _THROW_IF_NOT_FOUND = {};
|
|
4681
|
+
const THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;
|
|
4682
|
+
/*
|
|
4683
|
+
* Name of a property (that we patch onto DI decorator), which is used as an annotation of which
|
|
4684
|
+
* InjectFlag this decorator represents. This allows to avoid direct references to the DI decorators
|
|
4685
|
+
* in the code, thus making them tree-shakable.
|
|
4686
|
+
*/
|
|
4687
|
+
const DI_DECORATOR_FLAG = '__NG_DI_FLAG__';
|
|
4688
|
+
const NG_TEMP_TOKEN_PATH = 'ngTempTokenPath';
|
|
4689
|
+
const NG_TOKEN_PATH = 'ngTokenPath';
|
|
4690
|
+
const NEW_LINE = /\n/gm;
|
|
4691
|
+
const NO_NEW_LINE = 'ɵ';
|
|
4692
|
+
const SOURCE = '__source';
|
|
4693
|
+
const ɵ0$2 = getClosureSafeProperty;
|
|
4694
|
+
const USE_VALUE = getClosureSafeProperty({ provide: String, useValue: ɵ0$2 });
|
|
4695
|
+
/**
|
|
4696
|
+
* Current injector value used by `inject`.
|
|
4697
|
+
* - `undefined`: it is an error to call `inject`
|
|
4698
|
+
* - `null`: `inject` can be called but there is no injector (limp-mode).
|
|
4699
|
+
* - Injector instance: Use the injector for resolution.
|
|
4700
|
+
*/
|
|
4701
|
+
let _currentInjector = undefined;
|
|
4702
|
+
function setCurrentInjector(injector) {
|
|
4703
|
+
const former = _currentInjector;
|
|
4704
|
+
_currentInjector = injector;
|
|
4705
|
+
return former;
|
|
4706
|
+
}
|
|
4707
|
+
function injectInjectorOnly(token, flags = InjectFlags.Default) {
|
|
4708
|
+
if (_currentInjector === undefined) {
|
|
4709
|
+
throw new Error(`inject() must be called from an injection context`);
|
|
4710
|
+
}
|
|
4711
|
+
else if (_currentInjector === null) {
|
|
4712
|
+
return injectRootLimpMode(token, undefined, flags);
|
|
4713
|
+
}
|
|
4714
|
+
else {
|
|
4715
|
+
return _currentInjector.get(token, flags & InjectFlags.Optional ? null : undefined, flags);
|
|
4716
|
+
}
|
|
4717
|
+
}
|
|
4718
|
+
function ɵɵinject(token, flags = InjectFlags.Default) {
|
|
4719
|
+
return (getInjectImplementation() || injectInjectorOnly)(resolveForwardRef(token), flags);
|
|
4720
|
+
}
|
|
4721
|
+
/**
|
|
4722
|
+
* Throws an error indicating that a factory function could not be generated by the compiler for a
|
|
4723
|
+
* particular class.
|
|
4724
|
+
*
|
|
4725
|
+
* This instruction allows the actual error message to be optimized away when ngDevMode is turned
|
|
4726
|
+
* off, saving bytes of generated code while still providing a good experience in dev mode.
|
|
4727
|
+
*
|
|
4728
|
+
* The name of the class is not mentioned here, but will be in the generated factory function name
|
|
4729
|
+
* and thus in the stack trace.
|
|
4730
|
+
*
|
|
4731
|
+
* @codeGenApi
|
|
4732
|
+
*/
|
|
4733
|
+
function ɵɵinvalidFactoryDep(index) {
|
|
4734
|
+
const msg = ngDevMode ?
|
|
4735
|
+
`This constructor is not compatible with Angular Dependency Injection because its dependency at index ${index} of the parameter list is invalid.
|
|
4736
|
+
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.
|
|
4737
|
+
|
|
4738
|
+
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.` :
|
|
4739
|
+
'invalid';
|
|
4740
|
+
throw new Error(msg);
|
|
4741
|
+
}
|
|
4742
|
+
/**
|
|
4743
|
+
* Injects a token from the currently active injector.
|
|
4744
|
+
*
|
|
4745
|
+
* Must be used in the context of a factory function such as one defined for an
|
|
4746
|
+
* `InjectionToken`. Throws an error if not called from such a context.
|
|
4747
|
+
*
|
|
4748
|
+
* Within such a factory function, using this function to request injection of a dependency
|
|
4749
|
+
* is faster and more type-safe than providing an additional array of dependencies
|
|
4750
|
+
* (as has been common with `useFactory` providers).
|
|
4751
|
+
*
|
|
4752
|
+
* @param token The injection token for the dependency to be injected.
|
|
4753
|
+
* @param flags Optional flags that control how injection is executed.
|
|
4754
|
+
* The flags correspond to injection strategies that can be specified with
|
|
4755
|
+
* parameter decorators `@Host`, `@Self`, `@SkipSef`, and `@Optional`.
|
|
4756
|
+
* @returns True if injection is successful, null otherwise.
|
|
4757
|
+
*
|
|
4758
|
+
* @usageNotes
|
|
4759
|
+
*
|
|
4760
|
+
* ### Example
|
|
4761
|
+
*
|
|
4762
|
+
* {@example core/di/ts/injector_spec.ts region='ShakableInjectionToken'}
|
|
4763
|
+
*
|
|
4764
|
+
* @publicApi
|
|
4765
|
+
*/
|
|
4766
|
+
const inject = ɵɵinject;
|
|
4767
|
+
function injectArgs(types) {
|
|
4768
|
+
const args = [];
|
|
4769
|
+
for (let i = 0; i < types.length; i++) {
|
|
4770
|
+
const arg = resolveForwardRef(types[i]);
|
|
4771
|
+
if (Array.isArray(arg)) {
|
|
4772
|
+
if (arg.length === 0) {
|
|
4773
|
+
throw new Error('Arguments array must have arguments.');
|
|
4774
|
+
}
|
|
4775
|
+
let type = undefined;
|
|
4776
|
+
let flags = InjectFlags.Default;
|
|
4777
|
+
for (let j = 0; j < arg.length; j++) {
|
|
4778
|
+
const meta = arg[j];
|
|
4779
|
+
const flag = getInjectFlag(meta);
|
|
4780
|
+
if (typeof flag === 'number') {
|
|
4781
|
+
// Special case when we handle @Inject decorator.
|
|
4782
|
+
if (flag === -1 /* Inject */) {
|
|
4783
|
+
type = meta.token;
|
|
4784
|
+
}
|
|
4785
|
+
else {
|
|
4786
|
+
flags |= flag;
|
|
4787
|
+
}
|
|
4788
|
+
}
|
|
4789
|
+
else {
|
|
4790
|
+
type = meta;
|
|
4791
|
+
}
|
|
4792
|
+
}
|
|
4793
|
+
args.push(ɵɵinject(type, flags));
|
|
4794
|
+
}
|
|
4795
|
+
else {
|
|
4796
|
+
args.push(ɵɵinject(arg));
|
|
4797
|
+
}
|
|
4798
|
+
}
|
|
4799
|
+
return args;
|
|
4800
|
+
}
|
|
4801
|
+
/**
|
|
4802
|
+
* Attaches a given InjectFlag to a given decorator using monkey-patching.
|
|
4803
|
+
* Since DI decorators can be used in providers `deps` array (when provider is configured using
|
|
4804
|
+
* `useFactory`) without initialization (e.g. `Host`) and as an instance (e.g. `new Host()`), we
|
|
4805
|
+
* attach the flag to make it available both as a static property and as a field on decorator
|
|
4806
|
+
* instance.
|
|
4807
|
+
*
|
|
4808
|
+
* @param decorator Provided DI decorator.
|
|
4809
|
+
* @param flag InjectFlag that should be applied.
|
|
4810
|
+
*/
|
|
4811
|
+
function attachInjectFlag(decorator, flag) {
|
|
4812
|
+
decorator[DI_DECORATOR_FLAG] = flag;
|
|
4813
|
+
decorator.prototype[DI_DECORATOR_FLAG] = flag;
|
|
4814
|
+
return decorator;
|
|
4815
|
+
}
|
|
4816
|
+
/**
|
|
4817
|
+
* Reads monkey-patched property that contains InjectFlag attached to a decorator.
|
|
4818
|
+
*
|
|
4819
|
+
* @param token Token that may contain monkey-patched DI flags property.
|
|
4820
|
+
*/
|
|
4821
|
+
function getInjectFlag(token) {
|
|
4822
|
+
return token[DI_DECORATOR_FLAG];
|
|
4823
|
+
}
|
|
4824
|
+
function catchInjectorError(e, token, injectorErrorName, source) {
|
|
4825
|
+
const tokenPath = e[NG_TEMP_TOKEN_PATH];
|
|
4826
|
+
if (token[SOURCE]) {
|
|
4827
|
+
tokenPath.unshift(token[SOURCE]);
|
|
4828
|
+
}
|
|
4829
|
+
e.message = formatError('\n' + e.message, tokenPath, injectorErrorName, source);
|
|
4830
|
+
e[NG_TOKEN_PATH] = tokenPath;
|
|
4831
|
+
e[NG_TEMP_TOKEN_PATH] = null;
|
|
4832
|
+
throw e;
|
|
4833
|
+
}
|
|
4834
|
+
function formatError(text, obj, injectorErrorName, source = null) {
|
|
4835
|
+
text = text && text.charAt(0) === '\n' && text.charAt(1) == NO_NEW_LINE ? text.substr(2) : text;
|
|
4836
|
+
let context = stringify(obj);
|
|
4837
|
+
if (Array.isArray(obj)) {
|
|
4838
|
+
context = obj.map(stringify).join(' -> ');
|
|
4839
|
+
}
|
|
4840
|
+
else if (typeof obj === 'object') {
|
|
4841
|
+
let parts = [];
|
|
4842
|
+
for (let key in obj) {
|
|
4843
|
+
if (obj.hasOwnProperty(key)) {
|
|
4844
|
+
let value = obj[key];
|
|
4845
|
+
parts.push(key + ':' + (typeof value === 'string' ? JSON.stringify(value) : stringify(value)));
|
|
4846
|
+
}
|
|
4847
|
+
}
|
|
4848
|
+
context = `{${parts.join(', ')}}`;
|
|
4849
|
+
}
|
|
4850
|
+
return `${injectorErrorName}${source ? '(' + source + ')' : ''}[${context}]: ${text.replace(NEW_LINE, '\n ')}`;
|
|
4851
|
+
}
|
|
4852
|
+
|
|
4853
|
+
/**
|
|
4854
|
+
* @license
|
|
4855
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4856
|
+
*
|
|
4857
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
4858
|
+
* found in the LICENSE file at https://angular.io/license
|
|
4859
|
+
*/
|
|
4860
|
+
const ɵ0$3 = (token) => ({ token });
|
|
4641
4861
|
/**
|
|
4642
4862
|
* Inject decorator and metadata.
|
|
4643
4863
|
*
|
|
4644
4864
|
* @Annotation
|
|
4645
4865
|
* @publicApi
|
|
4646
4866
|
*/
|
|
4647
|
-
const Inject =
|
|
4867
|
+
const Inject = attachInjectFlag(
|
|
4868
|
+
// Disable tslint because `DecoratorFlags` is a const enum which gets inlined.
|
|
4869
|
+
// tslint:disable-next-line: no-toplevel-property-access
|
|
4870
|
+
makeParamDecorator('Inject', ɵ0$3), -1 /* Inject */);
|
|
4648
4871
|
/**
|
|
4649
4872
|
* Optional decorator and metadata.
|
|
4650
4873
|
*
|
|
4651
4874
|
* @Annotation
|
|
4652
4875
|
* @publicApi
|
|
4653
4876
|
*/
|
|
4654
|
-
const Optional =
|
|
4877
|
+
const Optional =
|
|
4878
|
+
// Disable tslint because `InternalInjectFlags` is a const enum which gets inlined.
|
|
4879
|
+
// tslint:disable-next-line: no-toplevel-property-access
|
|
4880
|
+
attachInjectFlag(makeParamDecorator('Optional'), 8 /* Optional */);
|
|
4655
4881
|
/**
|
|
4656
4882
|
* Self decorator and metadata.
|
|
4657
4883
|
*
|
|
4658
4884
|
* @Annotation
|
|
4659
4885
|
* @publicApi
|
|
4660
4886
|
*/
|
|
4661
|
-
const Self =
|
|
4887
|
+
const Self =
|
|
4888
|
+
// Disable tslint because `InternalInjectFlags` is a const enum which gets inlined.
|
|
4889
|
+
// tslint:disable-next-line: no-toplevel-property-access
|
|
4890
|
+
attachInjectFlag(makeParamDecorator('Self'), 2 /* Self */);
|
|
4662
4891
|
/**
|
|
4663
4892
|
* `SkipSelf` decorator and metadata.
|
|
4664
4893
|
*
|
|
4665
4894
|
* @Annotation
|
|
4666
4895
|
* @publicApi
|
|
4667
4896
|
*/
|
|
4668
|
-
const SkipSelf =
|
|
4897
|
+
const SkipSelf =
|
|
4898
|
+
// Disable tslint because `InternalInjectFlags` is a const enum which gets inlined.
|
|
4899
|
+
// tslint:disable-next-line: no-toplevel-property-access
|
|
4900
|
+
attachInjectFlag(makeParamDecorator('SkipSelf'), 4 /* SkipSelf */);
|
|
4669
4901
|
/**
|
|
4670
4902
|
* Host decorator and metadata.
|
|
4671
4903
|
*
|
|
4672
4904
|
* @Annotation
|
|
4673
4905
|
* @publicApi
|
|
4674
4906
|
*/
|
|
4675
|
-
const Host =
|
|
4907
|
+
const Host =
|
|
4908
|
+
// Disable tslint because `InternalInjectFlags` is a const enum which gets inlined.
|
|
4909
|
+
// tslint:disable-next-line: no-toplevel-property-access
|
|
4910
|
+
attachInjectFlag(makeParamDecorator('Host'), 1 /* Host */);
|
|
4676
4911
|
|
|
4677
4912
|
/**
|
|
4678
4913
|
* @license
|
|
@@ -4868,162 +5103,6 @@ function componentDefResolved(type) {
|
|
|
4868
5103
|
componentDefPendingResolution.delete(type);
|
|
4869
5104
|
}
|
|
4870
5105
|
|
|
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
5106
|
/**
|
|
5028
5107
|
* @license
|
|
5029
5108
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -6168,14 +6247,26 @@ const NO_ERRORS_SCHEMA = {
|
|
|
6168
6247
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6169
6248
|
* found in the LICENSE file at https://angular.io/license
|
|
6170
6249
|
*/
|
|
6171
|
-
const END_COMMENT = /-->/g;
|
|
6172
|
-
const END_COMMENT_ESCAPED = '-\u200B-\u200B>';
|
|
6173
6250
|
/**
|
|
6174
|
-
*
|
|
6251
|
+
* Disallowed strings in the comment.
|
|
6252
|
+
*
|
|
6253
|
+
* see: https://html.spec.whatwg.org/multipage/syntax.html#comments
|
|
6254
|
+
*/
|
|
6255
|
+
const COMMENT_DISALLOWED = /^>|^->|<!--|-->|--!>|<!-$/g;
|
|
6256
|
+
/**
|
|
6257
|
+
* Delimiter in the disallowed strings which needs to be wrapped with zero with character.
|
|
6258
|
+
*/
|
|
6259
|
+
const COMMENT_DELIMITER = /(<|>)/;
|
|
6260
|
+
const COMMENT_DELIMITER_ESCAPED = '\u200B$1\u200B';
|
|
6261
|
+
/**
|
|
6262
|
+
* Escape the content of comment strings so that it can be safely inserted into a comment node.
|
|
6175
6263
|
*
|
|
6176
6264
|
* 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
|
-
*
|
|
6265
|
+
* Consider: `<!-- The way you close a comment is with ">", and "->" at the beginning or by "-->" or
|
|
6266
|
+
* "--!>" at the end. -->`. Above the `"-->"` is meant to be text not an end to the comment. This
|
|
6267
|
+
* can be created programmatically through DOM APIs. (`<!--` are also disallowed.)
|
|
6268
|
+
*
|
|
6269
|
+
* see: https://html.spec.whatwg.org/multipage/syntax.html#comments
|
|
6179
6270
|
*
|
|
6180
6271
|
* ```
|
|
6181
6272
|
* div.innerHTML = div.innerHTML
|
|
@@ -6186,15 +6277,16 @@ const END_COMMENT_ESCAPED = '-\u200B-\u200B>';
|
|
|
6186
6277
|
* opening up the application for XSS attack. (In SSR we programmatically create comment nodes which
|
|
6187
6278
|
* may contain such text and expect them to be safe.)
|
|
6188
6279
|
*
|
|
6189
|
-
* This function escapes the comment text by looking for
|
|
6190
|
-
*
|
|
6191
|
-
* contains
|
|
6192
|
-
* comment.
|
|
6280
|
+
* This function escapes the comment text by looking for comment delimiters (`<` and `>`) and
|
|
6281
|
+
* surrounding them with `_>_` where the `_` is a zero width space `\u200B`. The result is that if a
|
|
6282
|
+
* comment contains any of the comment start/end delimiters (such as `<!--`, `-->` or `--!>`) the
|
|
6283
|
+
* text it will render normally but it will not cause the HTML parser to close/open the comment.
|
|
6193
6284
|
*
|
|
6194
|
-
* @param value text to make safe for comment node by escaping the comment close character
|
|
6285
|
+
* @param value text to make safe for comment node by escaping the comment open/close character
|
|
6286
|
+
* sequence.
|
|
6195
6287
|
*/
|
|
6196
6288
|
function escapeCommentText(value) {
|
|
6197
|
-
return value.replace(
|
|
6289
|
+
return value.replace(COMMENT_DISALLOWED, (text) => text.replace(COMMENT_DELIMITER, COMMENT_DELIMITER_ESCAPED));
|
|
6198
6290
|
}
|
|
6199
6291
|
|
|
6200
6292
|
/**
|
|
@@ -8594,8 +8686,21 @@ class TNode {
|
|
|
8594
8686
|
debugNodeInjectorPath(lView) {
|
|
8595
8687
|
const path = [];
|
|
8596
8688
|
let injectorIndex = getInjectorIndex(this, lView);
|
|
8597
|
-
|
|
8689
|
+
if (injectorIndex === -1) {
|
|
8690
|
+
// Looks like the current `TNode` does not have `NodeInjector` associated with it => look for
|
|
8691
|
+
// parent NodeInjector.
|
|
8692
|
+
const parentLocation = getParentInjectorLocation(this, lView);
|
|
8693
|
+
if (parentLocation !== NO_PARENT_INJECTOR) {
|
|
8694
|
+
// We found a parent, so start searching from the parent location.
|
|
8695
|
+
injectorIndex = getParentInjectorIndex(parentLocation);
|
|
8696
|
+
lView = getParentInjectorView(parentLocation, lView);
|
|
8697
|
+
}
|
|
8698
|
+
else {
|
|
8699
|
+
// No parents have been found, so there are no `NodeInjector`s to consult.
|
|
8700
|
+
}
|
|
8701
|
+
}
|
|
8598
8702
|
while (injectorIndex !== -1) {
|
|
8703
|
+
ngDevMode && assertNodeInjector(lView, injectorIndex);
|
|
8599
8704
|
const tNode = lView[TVIEW].data[injectorIndex + 8 /* TNODE */];
|
|
8600
8705
|
path.push(buildDebugNode(tNode, lView));
|
|
8601
8706
|
const parentLocation = lView[injectorIndex + 8 /* PARENT */];
|
|
@@ -8929,11 +9034,15 @@ function buildDebugNode(tNode, lView) {
|
|
|
8929
9034
|
return {
|
|
8930
9035
|
html: toHtml(native),
|
|
8931
9036
|
type: toTNodeTypeAsString(tNode.type),
|
|
9037
|
+
tNode,
|
|
8932
9038
|
native: native,
|
|
8933
9039
|
children: toDebugNodes(tNode.child, lView),
|
|
8934
9040
|
factories,
|
|
8935
9041
|
instances,
|
|
8936
|
-
injector: buildNodeInjectorDebug(tNode, tView, lView)
|
|
9042
|
+
injector: buildNodeInjectorDebug(tNode, tView, lView),
|
|
9043
|
+
get injectorResolutionPath() {
|
|
9044
|
+
return tNode.debugNodeInjectorPath(lView);
|
|
9045
|
+
},
|
|
8937
9046
|
};
|
|
8938
9047
|
}
|
|
8939
9048
|
function buildNodeInjectorDebug(tNode, tView, lView) {
|
|
@@ -8977,6 +9086,9 @@ function binary(array, idx) {
|
|
|
8977
9086
|
* @param idx
|
|
8978
9087
|
*/
|
|
8979
9088
|
function toBloom(array, idx) {
|
|
9089
|
+
if (idx < 0) {
|
|
9090
|
+
return 'NO_NODE_INJECTOR';
|
|
9091
|
+
}
|
|
8980
9092
|
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
9093
|
}
|
|
8982
9094
|
class LContainerDebug {
|
|
@@ -12220,7 +12332,7 @@ function createRootComponentView(rNode, def, rootView, rendererFactory, hostRend
|
|
|
12220
12332
|
ngDevMode && assertIndexInRange(rootView, index);
|
|
12221
12333
|
rootView[index] = rNode;
|
|
12222
12334
|
// '#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
|
|
12335
|
+
// the same time we want to communicate the debug `TNode` that this is a special `TNode`
|
|
12224
12336
|
// representing a host element.
|
|
12225
12337
|
const tNode = getOrCreateTNode(tView, index, 2 /* Element */, '#host', null);
|
|
12226
12338
|
const mergedAttrs = tNode.mergedAttrs = def.hostAttrs;
|
|
@@ -21145,6 +21257,15 @@ class ElementRef {
|
|
|
21145
21257
|
* @nocollapse
|
|
21146
21258
|
*/
|
|
21147
21259
|
ElementRef.__NG_ELEMENT_ID__ = SWITCH_ELEMENT_REF_FACTORY;
|
|
21260
|
+
/**
|
|
21261
|
+
* Unwraps `ElementRef` and return the `nativeElement`.
|
|
21262
|
+
*
|
|
21263
|
+
* @param value value to unwrap
|
|
21264
|
+
* @returns `nativeElement` if `ElementRef` otherwise returns value as is.
|
|
21265
|
+
*/
|
|
21266
|
+
function unwrapElementRef(value) {
|
|
21267
|
+
return value instanceof ElementRef ? value.nativeElement : value;
|
|
21268
|
+
}
|
|
21148
21269
|
|
|
21149
21270
|
/**
|
|
21150
21271
|
* @license
|
|
@@ -21248,7 +21369,7 @@ class Version {
|
|
|
21248
21369
|
/**
|
|
21249
21370
|
* @publicApi
|
|
21250
21371
|
*/
|
|
21251
|
-
const VERSION = new Version('11.1.
|
|
21372
|
+
const VERSION = new Version('11.1.2');
|
|
21252
21373
|
|
|
21253
21374
|
/**
|
|
21254
21375
|
* @license
|
|
@@ -25735,36 +25856,36 @@ class EventEmitter_ extends Subject {
|
|
|
25735
25856
|
emit(value) {
|
|
25736
25857
|
super.next(value);
|
|
25737
25858
|
}
|
|
25738
|
-
subscribe(
|
|
25859
|
+
subscribe(observerOrNext, error, complete) {
|
|
25739
25860
|
let schedulerFn;
|
|
25740
25861
|
let errorFn = (err) => null;
|
|
25741
25862
|
let completeFn = () => null;
|
|
25742
|
-
if (
|
|
25863
|
+
if (observerOrNext && typeof observerOrNext === 'object') {
|
|
25743
25864
|
schedulerFn = this.__isAsync ? (value) => {
|
|
25744
|
-
setTimeout(() =>
|
|
25865
|
+
setTimeout(() => observerOrNext.next(value));
|
|
25745
25866
|
} : (value) => {
|
|
25746
|
-
|
|
25867
|
+
observerOrNext.next(value);
|
|
25747
25868
|
};
|
|
25748
|
-
if (
|
|
25869
|
+
if (observerOrNext.error) {
|
|
25749
25870
|
errorFn = this.__isAsync ? (err) => {
|
|
25750
|
-
setTimeout(() =>
|
|
25871
|
+
setTimeout(() => observerOrNext.error(err));
|
|
25751
25872
|
} : (err) => {
|
|
25752
|
-
|
|
25873
|
+
observerOrNext.error(err);
|
|
25753
25874
|
};
|
|
25754
25875
|
}
|
|
25755
|
-
if (
|
|
25876
|
+
if (observerOrNext.complete) {
|
|
25756
25877
|
completeFn = this.__isAsync ? () => {
|
|
25757
|
-
setTimeout(() =>
|
|
25878
|
+
setTimeout(() => observerOrNext.complete());
|
|
25758
25879
|
} : () => {
|
|
25759
|
-
|
|
25880
|
+
observerOrNext.complete();
|
|
25760
25881
|
};
|
|
25761
25882
|
}
|
|
25762
25883
|
}
|
|
25763
25884
|
else {
|
|
25764
25885
|
schedulerFn = this.__isAsync ? (value) => {
|
|
25765
|
-
setTimeout(() =>
|
|
25886
|
+
setTimeout(() => observerOrNext(value));
|
|
25766
25887
|
} : (value) => {
|
|
25767
|
-
|
|
25888
|
+
observerOrNext(value);
|
|
25768
25889
|
};
|
|
25769
25890
|
if (error) {
|
|
25770
25891
|
errorFn = this.__isAsync ? (err) => {
|
|
@@ -25782,8 +25903,8 @@ class EventEmitter_ extends Subject {
|
|
|
25782
25903
|
}
|
|
25783
25904
|
}
|
|
25784
25905
|
const sink = super.subscribe(schedulerFn, errorFn, completeFn);
|
|
25785
|
-
if (
|
|
25786
|
-
|
|
25906
|
+
if (observerOrNext instanceof Subscription) {
|
|
25907
|
+
observerOrNext.add(sink);
|
|
25787
25908
|
}
|
|
25788
25909
|
return sink;
|
|
25789
25910
|
}
|
|
@@ -25830,11 +25951,21 @@ function symbolIterator() {
|
|
|
25830
25951
|
* @publicApi
|
|
25831
25952
|
*/
|
|
25832
25953
|
class QueryList {
|
|
25833
|
-
|
|
25954
|
+
/**
|
|
25955
|
+
* @param emitDistinctChangesOnly Whether `QueryList.changes` should fire only when actual change
|
|
25956
|
+
* has occurred. Or if it should fire when query is recomputed. (recomputing could resolve in
|
|
25957
|
+
* the same result) This is set to `false` for backwards compatibility but will be changed to
|
|
25958
|
+
* true in v12.
|
|
25959
|
+
*/
|
|
25960
|
+
constructor(_emitDistinctChangesOnly = false) {
|
|
25961
|
+
this._emitDistinctChangesOnly = _emitDistinctChangesOnly;
|
|
25834
25962
|
this.dirty = true;
|
|
25835
25963
|
this._results = [];
|
|
25836
|
-
this.
|
|
25964
|
+
this._changesDetected = false;
|
|
25965
|
+
this._changes = null;
|
|
25837
25966
|
this.length = 0;
|
|
25967
|
+
this.first = undefined;
|
|
25968
|
+
this.last = undefined;
|
|
25838
25969
|
// This function should be declared on the prototype, but doing so there will cause the class
|
|
25839
25970
|
// declaration to have side-effects and become not tree-shakable. For this reason we do it in
|
|
25840
25971
|
// the constructor.
|
|
@@ -25844,6 +25975,12 @@ class QueryList {
|
|
|
25844
25975
|
if (!proto[symbol])
|
|
25845
25976
|
proto[symbol] = symbolIterator;
|
|
25846
25977
|
}
|
|
25978
|
+
/**
|
|
25979
|
+
* Returns `Observable` of `QueryList` notifying the subscriber of changes.
|
|
25980
|
+
*/
|
|
25981
|
+
get changes() {
|
|
25982
|
+
return this._changes || (this._changes = new EventEmitter());
|
|
25983
|
+
}
|
|
25847
25984
|
/**
|
|
25848
25985
|
* Returns the QueryList entry at `index`.
|
|
25849
25986
|
*/
|
|
@@ -25907,19 +26044,31 @@ class QueryList {
|
|
|
25907
26044
|
* occurs.
|
|
25908
26045
|
*
|
|
25909
26046
|
* @param resultsTree The query results to store
|
|
26047
|
+
* @param identityAccessor Optional function for extracting stable object identity from a value
|
|
26048
|
+
* in the array. This function is executed for each element of the query result list while
|
|
26049
|
+
* comparing current query list with the new one (provided as a first argument of the `reset`
|
|
26050
|
+
* function) to detect if the lists are different. If the function is not provided, elements
|
|
26051
|
+
* are compared as is (without any pre-processing).
|
|
25910
26052
|
*/
|
|
25911
|
-
reset(resultsTree) {
|
|
25912
|
-
|
|
25913
|
-
|
|
25914
|
-
|
|
25915
|
-
|
|
25916
|
-
|
|
26053
|
+
reset(resultsTree, identityAccessor) {
|
|
26054
|
+
// Cast to `QueryListInternal` so that we can mutate fields which are readonly for the usage of
|
|
26055
|
+
// QueryList (but not for QueryList itself.)
|
|
26056
|
+
const self = this;
|
|
26057
|
+
self.dirty = false;
|
|
26058
|
+
const newResultFlat = flatten(resultsTree);
|
|
26059
|
+
if (this._changesDetected = !arrayEquals(self._results, newResultFlat, identityAccessor)) {
|
|
26060
|
+
self._results = newResultFlat;
|
|
26061
|
+
self.length = newResultFlat.length;
|
|
26062
|
+
self.last = newResultFlat[this.length - 1];
|
|
26063
|
+
self.first = newResultFlat[0];
|
|
26064
|
+
}
|
|
25917
26065
|
}
|
|
25918
26066
|
/**
|
|
25919
26067
|
* Triggers a change event by emitting on the `changes` {@link EventEmitter}.
|
|
25920
26068
|
*/
|
|
25921
26069
|
notifyOnChanges() {
|
|
25922
|
-
this.
|
|
26070
|
+
if (this._changes && (this._changesDetected || !this._emitDistinctChangesOnly))
|
|
26071
|
+
this._changes.emit(this);
|
|
25923
26072
|
}
|
|
25924
26073
|
/** internal */
|
|
25925
26074
|
setDirty() {
|
|
@@ -26011,10 +26160,9 @@ class LQueries_ {
|
|
|
26011
26160
|
}
|
|
26012
26161
|
}
|
|
26013
26162
|
class TQueryMetadata_ {
|
|
26014
|
-
constructor(predicate,
|
|
26163
|
+
constructor(predicate, flags, read = null) {
|
|
26015
26164
|
this.predicate = predicate;
|
|
26016
|
-
this.
|
|
26017
|
-
this.isStatic = isStatic;
|
|
26165
|
+
this.flags = flags;
|
|
26018
26166
|
this.read = read;
|
|
26019
26167
|
}
|
|
26020
26168
|
}
|
|
@@ -26107,7 +26255,8 @@ class TQuery_ {
|
|
|
26107
26255
|
return null;
|
|
26108
26256
|
}
|
|
26109
26257
|
isApplyingToNode(tNode) {
|
|
26110
|
-
if (this._appliesToNextNode &&
|
|
26258
|
+
if (this._appliesToNextNode &&
|
|
26259
|
+
(this.metadata.flags & 1 /* descendants */) !== 1 /* descendants */) {
|
|
26111
26260
|
const declarationNodeIdx = this._declarationNodeIndex;
|
|
26112
26261
|
let parent = tNode.parent;
|
|
26113
26262
|
// Determine if a given TNode is a "direct" child of a node on which a content query was
|
|
@@ -26319,7 +26468,9 @@ function ɵɵqueryRefresh(queryList) {
|
|
|
26319
26468
|
const queryIndex = getCurrentQueryIndex();
|
|
26320
26469
|
setCurrentQueryIndex(queryIndex + 1);
|
|
26321
26470
|
const tQuery = getTQuery(tView, queryIndex);
|
|
26322
|
-
if (queryList.dirty &&
|
|
26471
|
+
if (queryList.dirty &&
|
|
26472
|
+
(isCreationMode(lView) ===
|
|
26473
|
+
((tQuery.metadata.flags & 2 /* isStatic */) === 2 /* isStatic */))) {
|
|
26323
26474
|
if (tQuery.matches === null) {
|
|
26324
26475
|
queryList.reset([]);
|
|
26325
26476
|
}
|
|
@@ -26327,45 +26478,32 @@ function ɵɵqueryRefresh(queryList) {
|
|
|
26327
26478
|
const result = tQuery.crossesNgTemplate ?
|
|
26328
26479
|
collectQueryResults(tView, lView, queryIndex, []) :
|
|
26329
26480
|
materializeViewResults(tView, lView, tQuery, queryIndex);
|
|
26330
|
-
queryList.reset(result);
|
|
26481
|
+
queryList.reset(result, unwrapElementRef);
|
|
26331
26482
|
queryList.notifyOnChanges();
|
|
26332
26483
|
}
|
|
26333
26484
|
return true;
|
|
26334
26485
|
}
|
|
26335
26486
|
return false;
|
|
26336
26487
|
}
|
|
26337
|
-
/**
|
|
26338
|
-
* Creates new QueryList for a static view query.
|
|
26339
|
-
*
|
|
26340
|
-
* @param predicate The type for which the query will search
|
|
26341
|
-
* @param descend Whether or not to descend into children
|
|
26342
|
-
* @param read What to save in the query
|
|
26343
|
-
*
|
|
26344
|
-
* @codeGenApi
|
|
26345
|
-
*/
|
|
26346
|
-
function ɵɵstaticViewQuery(predicate, descend, read) {
|
|
26347
|
-
viewQueryInternal(getTView(), getLView(), predicate, descend, read, true);
|
|
26348
|
-
}
|
|
26349
26488
|
/**
|
|
26350
26489
|
* Creates new QueryList, stores the reference in LView and returns QueryList.
|
|
26351
26490
|
*
|
|
26352
26491
|
* @param predicate The type for which the query will search
|
|
26353
|
-
* @param
|
|
26492
|
+
* @param flags Flags associated with the query
|
|
26354
26493
|
* @param read What to save in the query
|
|
26355
26494
|
*
|
|
26356
26495
|
* @codeGenApi
|
|
26357
26496
|
*/
|
|
26358
|
-
function ɵɵviewQuery(predicate,
|
|
26359
|
-
|
|
26360
|
-
|
|
26361
|
-
function viewQueryInternal(tView, lView, predicate, descend, read, isStatic) {
|
|
26497
|
+
function ɵɵviewQuery(predicate, flags, read) {
|
|
26498
|
+
ngDevMode && assertNumber(flags, 'Expecting flags');
|
|
26499
|
+
const tView = getTView();
|
|
26362
26500
|
if (tView.firstCreatePass) {
|
|
26363
|
-
createTQuery(tView, new TQueryMetadata_(predicate,
|
|
26364
|
-
if (isStatic) {
|
|
26501
|
+
createTQuery(tView, new TQueryMetadata_(predicate, flags, read), -1);
|
|
26502
|
+
if ((flags & 2 /* isStatic */) === 2 /* isStatic */) {
|
|
26365
26503
|
tView.staticViewQueries = true;
|
|
26366
26504
|
}
|
|
26367
26505
|
}
|
|
26368
|
-
createLQuery(tView,
|
|
26506
|
+
createLQuery(tView, getLView(), flags);
|
|
26369
26507
|
}
|
|
26370
26508
|
/**
|
|
26371
26509
|
* Registers a QueryList, associated with a content query, for later refresh (part of a view
|
|
@@ -26373,39 +26511,24 @@ function viewQueryInternal(tView, lView, predicate, descend, read, isStatic) {
|
|
|
26373
26511
|
*
|
|
26374
26512
|
* @param directiveIndex Current directive index
|
|
26375
26513
|
* @param predicate The type for which the query will search
|
|
26376
|
-
* @param
|
|
26514
|
+
* @param flags Flags associated with the query
|
|
26377
26515
|
* @param read What to save in the query
|
|
26378
26516
|
* @returns QueryList<T>
|
|
26379
26517
|
*
|
|
26380
26518
|
* @codeGenApi
|
|
26381
26519
|
*/
|
|
26382
|
-
function ɵɵcontentQuery(directiveIndex, predicate,
|
|
26383
|
-
|
|
26384
|
-
|
|
26385
|
-
/**
|
|
26386
|
-
* Registers a QueryList, associated with a static content query, for later refresh
|
|
26387
|
-
* (part of a view refresh).
|
|
26388
|
-
*
|
|
26389
|
-
* @param directiveIndex Current directive index
|
|
26390
|
-
* @param predicate The type for which the query will search
|
|
26391
|
-
* @param descend Whether or not to descend into children
|
|
26392
|
-
* @param read What to save in the query
|
|
26393
|
-
* @returns QueryList<T>
|
|
26394
|
-
*
|
|
26395
|
-
* @codeGenApi
|
|
26396
|
-
*/
|
|
26397
|
-
function ɵɵstaticContentQuery(directiveIndex, predicate, descend, read) {
|
|
26398
|
-
contentQueryInternal(getTView(), getLView(), predicate, descend, read, true, getCurrentTNode(), directiveIndex);
|
|
26399
|
-
}
|
|
26400
|
-
function contentQueryInternal(tView, lView, predicate, descend, read, isStatic, tNode, directiveIndex) {
|
|
26520
|
+
function ɵɵcontentQuery(directiveIndex, predicate, flags, read) {
|
|
26521
|
+
ngDevMode && assertNumber(flags, 'Expecting flags');
|
|
26522
|
+
const tView = getTView();
|
|
26401
26523
|
if (tView.firstCreatePass) {
|
|
26402
|
-
|
|
26524
|
+
const tNode = getCurrentTNode();
|
|
26525
|
+
createTQuery(tView, new TQueryMetadata_(predicate, flags, read), tNode.index);
|
|
26403
26526
|
saveContentQueryAndDirectiveIndex(tView, directiveIndex);
|
|
26404
|
-
if (isStatic) {
|
|
26527
|
+
if ((flags & 2 /* isStatic */) === 2 /* isStatic */) {
|
|
26405
26528
|
tView.staticContentQueries = true;
|
|
26406
26529
|
}
|
|
26407
26530
|
}
|
|
26408
|
-
createLQuery(tView,
|
|
26531
|
+
createLQuery(tView, getLView(), flags);
|
|
26409
26532
|
}
|
|
26410
26533
|
/**
|
|
26411
26534
|
* Loads a QueryList corresponding to the current view or content query.
|
|
@@ -26421,8 +26544,8 @@ function loadQueryInternal(lView, queryIndex) {
|
|
|
26421
26544
|
ngDevMode && assertIndexInRange(lView[QUERIES].queries, queryIndex);
|
|
26422
26545
|
return lView[QUERIES].queries[queryIndex].queryList;
|
|
26423
26546
|
}
|
|
26424
|
-
function createLQuery(tView, lView) {
|
|
26425
|
-
const queryList = new QueryList();
|
|
26547
|
+
function createLQuery(tView, lView, flags) {
|
|
26548
|
+
const queryList = new QueryList((flags & 4 /* emitDistinctChangesOnly */) === 4 /* emitDistinctChangesOnly */);
|
|
26426
26549
|
storeCleanupWithContext(tView, lView, queryList, queryList.destroy);
|
|
26427
26550
|
if (lView[QUERIES] === null)
|
|
26428
26551
|
lView[QUERIES] = new LQueries_();
|
|
@@ -26570,8 +26693,6 @@ const ɵ0$c = () => ({
|
|
|
26570
26693
|
'ɵɵpipe': ɵɵpipe,
|
|
26571
26694
|
'ɵɵqueryRefresh': ɵɵqueryRefresh,
|
|
26572
26695
|
'ɵɵviewQuery': ɵɵviewQuery,
|
|
26573
|
-
'ɵɵstaticViewQuery': ɵɵstaticViewQuery,
|
|
26574
|
-
'ɵɵstaticContentQuery': ɵɵstaticContentQuery,
|
|
26575
26696
|
'ɵɵloadQuery': ɵɵloadQuery,
|
|
26576
26697
|
'ɵɵcontentQuery': ɵɵcontentQuery,
|
|
26577
26698
|
'ɵɵreference': ɵɵreference,
|
|
@@ -27345,7 +27466,8 @@ function convertToR3QueryMetadata(propertyName, ann) {
|
|
|
27345
27466
|
descendants: ann.descendants,
|
|
27346
27467
|
first: ann.first,
|
|
27347
27468
|
read: ann.read ? ann.read : null,
|
|
27348
|
-
static: !!ann.static
|
|
27469
|
+
static: !!ann.static,
|
|
27470
|
+
emitDistinctChangesOnly: !!ann.emitDistinctChangesOnly,
|
|
27349
27471
|
};
|
|
27350
27472
|
}
|
|
27351
27473
|
function extractQueriesMetadata(type, propMetadata, isQueryAnn) {
|
|
@@ -27955,7 +28077,7 @@ const ivyEnabled = SWITCH_IVY_ENABLED__PRE_R3__;
|
|
|
27955
28077
|
* found in the LICENSE file at https://angular.io/license
|
|
27956
28078
|
*/
|
|
27957
28079
|
/**
|
|
27958
|
-
* Combination of NgModuleFactory and
|
|
28080
|
+
* Combination of NgModuleFactory and ComponentFactories.
|
|
27959
28081
|
*
|
|
27960
28082
|
* @publicApi
|
|
27961
28083
|
*/
|
|
@@ -30748,8 +30870,8 @@ function queryDef(flags, id, bindings) {
|
|
|
30748
30870
|
ngContent: null
|
|
30749
30871
|
};
|
|
30750
30872
|
}
|
|
30751
|
-
function createQuery() {
|
|
30752
|
-
return new QueryList();
|
|
30873
|
+
function createQuery(emitDistinctChangesOnly) {
|
|
30874
|
+
return new QueryList(emitDistinctChangesOnly);
|
|
30753
30875
|
}
|
|
30754
30876
|
function dirtyParentQueries(view) {
|
|
30755
30877
|
const queryIds = view.def.nodeMatchedQueries;
|
|
@@ -30801,7 +30923,7 @@ function checkAndUpdateQuery(view, nodeDef) {
|
|
|
30801
30923
|
newValues = calcQueryValues(view, 0, view.def.nodes.length - 1, nodeDef.query, []);
|
|
30802
30924
|
directiveInstance = view.component;
|
|
30803
30925
|
}
|
|
30804
|
-
queryList.reset(newValues);
|
|
30926
|
+
queryList.reset(newValues, unwrapElementRef);
|
|
30805
30927
|
const bindings = nodeDef.query.bindings;
|
|
30806
30928
|
let notify = false;
|
|
30807
30929
|
for (let i = 0; i < bindings.length; i++) {
|
|
@@ -31562,7 +31684,8 @@ function createViewNodes(view) {
|
|
|
31562
31684
|
break;
|
|
31563
31685
|
case 67108864 /* TypeContentQuery */:
|
|
31564
31686
|
case 134217728 /* TypeViewQuery */:
|
|
31565
|
-
nodeData = createQuery()
|
|
31687
|
+
nodeData = createQuery((nodeDef.flags & -2147483648 /* EmitDistinctChangesOnly */) ===
|
|
31688
|
+
-2147483648 /* EmitDistinctChangesOnly */);
|
|
31566
31689
|
break;
|
|
31567
31690
|
case 8 /* TypeNgContent */:
|
|
31568
31691
|
appendNgContent(view, renderHost, nodeDef);
|
|
@@ -32787,5 +32910,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
|
32787
32910
|
* Generated bundle index. Do not edit.
|
|
32788
32911
|
*/
|
|
32789
32912
|
|
|
32790
|
-
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 };
|
|
32913
|
+
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 };
|
|
32791
32914
|
//# sourceMappingURL=core.js.map
|