@angular/core 8.0.0-rc.3 → 8.0.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 +1 -24
- package/bundles/core-testing.umd.js.map +1 -1
- package/bundles/core-testing.umd.min.js +13 -13
- package/bundles/core-testing.umd.min.js.map +1 -1
- package/bundles/core.umd.js +123 -93
- package/bundles/core.umd.js.map +1 -1
- package/bundles/core.umd.min.js +116 -131
- package/bundles/core.umd.min.js.map +1 -1
- package/core.d.ts +32 -15
- package/core.metadata.json +1 -1
- package/esm2015/src/core_private_export.js +1 -1
- package/esm2015/src/di/injectable.js +1 -1
- package/esm2015/src/di/injector.js +3 -5
- package/esm2015/src/di/interface/defs.js +2 -2
- package/esm2015/src/di/jit/injectable.js +2 -2
- package/esm2015/src/metadata/di.js +1 -1
- package/esm2015/src/profile/profile.js +5 -1
- package/esm2015/src/profile/wtf_impl.js +2 -1
- package/esm2015/src/render3/component_ref.js +2 -4
- package/esm2015/src/render3/empty.js +5 -1
- package/esm2015/src/render3/index.js +1 -1
- package/esm2015/src/render3/instructions/all.js +2 -2
- package/esm2015/src/render3/instructions/projection.js +52 -13
- package/esm2015/src/render3/instructions/shared.js +7 -2
- package/esm2015/src/render3/interfaces/injector.js +3 -4
- package/esm2015/src/render3/interfaces/projection.js +1 -1
- package/esm2015/src/render3/jit/directive.js +2 -2
- package/esm2015/src/render3/jit/environment.js +13 -8
- package/esm2015/src/render3/jit/module.js +12 -9
- package/esm2015/src/render3/jit/pipe.js +2 -2
- package/esm2015/src/render3/node_selector_matcher.js +2 -27
- package/esm2015/src/render3/styling/class_and_style_bindings.js +2 -2
- package/esm2015/src/render3/util/misc_utils.js +8 -3
- package/esm2015/src/util/array_utils.js +16 -17
- package/esm2015/src/util/empty.js +5 -1
- package/esm2015/src/util/microtask.js +2 -2
- package/esm2015/src/util/ng_i18n_closure_mode.js +5 -1
- package/esm2015/src/version.js +1 -1
- package/esm2015/testing/src/r3_test_bed.js +1 -27
- package/esm2015/testing/src/test_bed.js +1 -18
- package/esm2015/testing/src/test_bed_common.js +1 -22
- package/esm5/src/core_private_export.js +1 -1
- package/esm5/src/di/injectable.js +1 -1
- package/esm5/src/di/injector.js +3 -4
- package/esm5/src/di/interface/defs.js +2 -2
- package/esm5/src/di/jit/injectable.js +2 -2
- package/esm5/src/metadata/di.js +1 -1
- package/esm5/src/profile/profile.js +5 -1
- package/esm5/src/profile/wtf_impl.js +1 -1
- package/esm5/src/render3/component_ref.js +2 -4
- package/esm5/src/render3/empty.js +5 -1
- package/esm5/src/render3/index.js +1 -1
- package/esm5/src/render3/instructions/projection.js +49 -14
- package/esm5/src/render3/instructions/shared.js +4 -2
- package/esm5/src/render3/interfaces/injector.js +3 -3
- package/esm5/src/render3/interfaces/projection.js +1 -1
- package/esm5/src/render3/jit/directive.js +2 -2
- package/esm5/src/render3/jit/environment.js +10 -8
- package/esm5/src/render3/jit/module.js +12 -9
- package/esm5/src/render3/jit/pipe.js +2 -2
- package/esm5/src/render3/node_selector_matcher.js +2 -23
- package/esm5/src/render3/styling/class_and_style_bindings.js +2 -2
- package/esm5/src/render3/util/misc_utils.js +8 -4
- package/esm5/src/util/array_utils.js +15 -16
- package/esm5/src/util/empty.js +5 -1
- package/esm5/src/util/microtask.js +2 -2
- package/esm5/src/util/ng_i18n_closure_mode.js +5 -1
- package/esm5/src/version.js +1 -1
- package/esm5/testing/src/r3_test_bed.js +1 -17
- package/esm5/testing/src/test_bed.js +1 -8
- package/esm5/testing/src/test_bed_common.js +1 -1
- package/fesm2015/core.js +133 -98
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/testing.js +1 -44
- package/fesm2015/testing.js.map +1 -1
- package/fesm5/core.js +123 -93
- package/fesm5/core.js.map +1 -1
- package/fesm5/testing.js +1 -24
- package/fesm5/testing.js.map +1 -1
- package/package.json +2 -2
- package/schematics/migrations/injectable-pipe/index.js +7 -4
- package/schematics/migrations/move-document/index.js +7 -4
- package/schematics/migrations/static-queries/angular/directive_inputs.js +3 -2
- package/schematics/migrations/static-queries/angular/ng_query_visitor.d.ts +2 -0
- package/schematics/migrations/static-queries/angular/ng_query_visitor.js +21 -7
- package/schematics/migrations/static-queries/angular/query-definition.d.ts +9 -2
- package/schematics/migrations/static-queries/angular/query-definition.js +1 -1
- package/schematics/migrations/static-queries/index.d.ts +0 -5
- package/schematics/migrations/static-queries/index.js +105 -77
- package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.d.ts +2 -2
- package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.js +10 -19
- package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.d.ts +1 -1
- package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.js +2 -2
- package/schematics/migrations/static-queries/strategies/timing-strategy.d.ts +2 -2
- package/schematics/migrations/static-queries/strategies/timing-strategy.js +1 -1
- package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.d.ts +28 -5
- package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.js +107 -11
- package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.d.ts +6 -1
- package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.js +86 -66
- package/schematics/migrations/static-queries/transform.js +13 -10
- package/schematics/migrations/template-var-assignment/index.js +9 -7
- package/schematics/utils/ng_component_template.js +2 -1
- package/schematics/utils/project_tsconfig_paths.js +5 -3
- package/src/r3_symbols.d.ts +2 -2
- package/testing/testing.d.ts +5 -84
- package/testing/testing.metadata.json +1 -1
- package/testing.d.ts +1 -1
- package/schematics/utils/typescript/visit_nodes.d.ts +0 -13
- package/schematics/utils/typescript/visit_nodes.js +0 -26
package/bundles/core.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v8.0.
|
|
2
|
+
* @license Angular v8.0.1
|
|
3
3
|
* (c) 2010-2019 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -358,7 +358,7 @@
|
|
|
358
358
|
* * `factory` gives the zero argument function which will create an instance of the injectable.
|
|
359
359
|
* The factory can call `inject` to access the `Injector` and request injection of dependencies.
|
|
360
360
|
*
|
|
361
|
-
* @
|
|
361
|
+
* @codeGenApi
|
|
362
362
|
*/
|
|
363
363
|
function ɵɵdefineInjectable(opts) {
|
|
364
364
|
return {
|
|
@@ -1105,7 +1105,7 @@
|
|
|
1105
1105
|
// Can't happen - either hasAProvider will be false, or one of the providers will be set.
|
|
1106
1106
|
throw new Error("Unreachable state.");
|
|
1107
1107
|
}
|
|
1108
|
-
def = getCompilerFacade().compileInjectable(angularCoreDiEnv, "ng
|
|
1108
|
+
def = getCompilerFacade().compileInjectable(angularCoreDiEnv, "ng:///" + type.name + "/ngInjectableDef.js", compilerMeta);
|
|
1109
1109
|
}
|
|
1110
1110
|
return def;
|
|
1111
1111
|
},
|
|
@@ -1376,12 +1376,11 @@
|
|
|
1376
1376
|
var USE_VALUE$2 = getClosureSafeProperty({ provide: String, useValue: ɵ2 });
|
|
1377
1377
|
var NG_TOKEN_PATH = 'ngTokenPath';
|
|
1378
1378
|
var NG_TEMP_TOKEN_PATH = 'ngTempTokenPath';
|
|
1379
|
-
var NULL_INJECTOR = Injector.NULL;
|
|
1380
1379
|
var NEW_LINE = /\n/gm;
|
|
1381
1380
|
var NO_NEW_LINE = 'ɵ';
|
|
1382
1381
|
var StaticInjector = /** @class */ (function () {
|
|
1383
1382
|
function StaticInjector(providers, parent, source) {
|
|
1384
|
-
if (parent === void 0) { parent =
|
|
1383
|
+
if (parent === void 0) { parent = Injector.NULL; }
|
|
1385
1384
|
if (source === void 0) { source = null; }
|
|
1386
1385
|
this.parent = parent;
|
|
1387
1386
|
this.source = source;
|
|
@@ -1539,7 +1538,7 @@
|
|
|
1539
1538
|
records,
|
|
1540
1539
|
// If we don't know how to resolve dependency and we should not check parent for it,
|
|
1541
1540
|
// than pass in Null injector.
|
|
1542
|
-
!childRecord && !(options & 4 /* CheckParent */) ?
|
|
1541
|
+
!childRecord && !(options & 4 /* CheckParent */) ? Injector.NULL : parent, options & 1 /* Optional */ ? null : Injector.THROW_IF_NOT_FOUND, exports.InjectFlags.Default));
|
|
1543
1542
|
}
|
|
1544
1543
|
}
|
|
1545
1544
|
record.value = value = useNew ? new ((_a = fn).bind.apply(_a, __spread([void 0], deps)))() : fn.apply(obj, deps);
|
|
@@ -2925,7 +2924,11 @@
|
|
|
2925
2924
|
var EMPTY_ARRAY$1 = [];
|
|
2926
2925
|
// freezing the values prevents any code from accidentally inserting new values in
|
|
2927
2926
|
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
2927
|
+
// These property accesses can be ignored because ngDevMode will be set to false
|
|
2928
|
+
// when optimizing code and the whole if statement will be dropped.
|
|
2929
|
+
// tslint:disable-next-line:no-toplevel-property-access
|
|
2928
2930
|
Object.freeze(EMPTY_OBJ);
|
|
2931
|
+
// tslint:disable-next-line:no-toplevel-property-access
|
|
2929
2932
|
Object.freeze(EMPTY_ARRAY$1);
|
|
2930
2933
|
}
|
|
2931
2934
|
|
|
@@ -3305,9 +3308,12 @@
|
|
|
3305
3308
|
}
|
|
3306
3309
|
return renderStringify(value);
|
|
3307
3310
|
}
|
|
3308
|
-
var
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
+
var ɵ0$5 = function () {
|
|
3312
|
+
return (typeof requestAnimationFrame !== 'undefined' && requestAnimationFrame || // browser only
|
|
3313
|
+
setTimeout // everything else
|
|
3314
|
+
).bind(_global);
|
|
3315
|
+
};
|
|
3316
|
+
var defaultScheduler = (ɵ0$5)();
|
|
3311
3317
|
/**
|
|
3312
3318
|
*
|
|
3313
3319
|
* @codeGenApi
|
|
@@ -3785,10 +3791,10 @@
|
|
|
3785
3791
|
}
|
|
3786
3792
|
return NodeInjectorFactory;
|
|
3787
3793
|
}());
|
|
3788
|
-
var FactoryPrototype = NodeInjectorFactory.prototype;
|
|
3789
3794
|
function isFactory(obj) {
|
|
3790
3795
|
// See: https://jsperf.com/instanceof-vs-getprototypeof
|
|
3791
|
-
return obj !== null && typeof obj == 'object' &&
|
|
3796
|
+
return obj !== null && typeof obj == 'object' &&
|
|
3797
|
+
Object.getPrototypeOf(obj) == NodeInjectorFactory.prototype;
|
|
3792
3798
|
}
|
|
3793
3799
|
|
|
3794
3800
|
/**
|
|
@@ -4551,9 +4557,9 @@
|
|
|
4551
4557
|
function isProceduralRenderer(renderer) {
|
|
4552
4558
|
return !!(renderer.listen);
|
|
4553
4559
|
}
|
|
4554
|
-
var ɵ0$
|
|
4560
|
+
var ɵ0$6 = function (hostElement, rendererType) { return document; };
|
|
4555
4561
|
var domRendererFactory3 = {
|
|
4556
|
-
createRenderer: ɵ0$
|
|
4562
|
+
createRenderer: ɵ0$6
|
|
4557
4563
|
};
|
|
4558
4564
|
|
|
4559
4565
|
/**
|
|
@@ -8937,7 +8943,7 @@
|
|
|
8937
8943
|
return styleString;
|
|
8938
8944
|
}
|
|
8939
8945
|
/**
|
|
8940
|
-
* Returns the current cached
|
|
8946
|
+
* Returns the current cached multi-value for a given directiveIndex within the provided context.
|
|
8941
8947
|
*/
|
|
8942
8948
|
function readCachedMapValue(context, entryIsClassBased, directiveIndex) {
|
|
8943
8949
|
var values = context[entryIsClassBased ? 6 /* CachedMultiClasses */ : 7 /* CachedMultiStyles */];
|
|
@@ -9316,27 +9322,6 @@
|
|
|
9316
9322
|
}
|
|
9317
9323
|
return null;
|
|
9318
9324
|
}
|
|
9319
|
-
/**
|
|
9320
|
-
* Checks a given node against matching projection selectors and returns
|
|
9321
|
-
* selector index (or 0 if none matched).
|
|
9322
|
-
*
|
|
9323
|
-
* This function takes into account the parsed ngProjectAs selector from the node's attributes.
|
|
9324
|
-
* If present, it will check whether the ngProjectAs selector matches any of the projection
|
|
9325
|
-
* selectors.
|
|
9326
|
-
*/
|
|
9327
|
-
function matchingProjectionSelectorIndex(tNode, selectors) {
|
|
9328
|
-
var ngProjectAsAttrVal = getProjectAsAttrValue(tNode);
|
|
9329
|
-
for (var i = 0; i < selectors.length; i++) {
|
|
9330
|
-
// If we ran into an `ngProjectAs` attribute, we should match its parsed selector
|
|
9331
|
-
// to the list of selectors, otherwise we fall back to matching against the node.
|
|
9332
|
-
if (ngProjectAsAttrVal === null ?
|
|
9333
|
-
isNodeMatchingSelectorList(tNode, selectors[i], /* isProjectionMode */ true) :
|
|
9334
|
-
isSelectorInSelectorList(ngProjectAsAttrVal, selectors[i])) {
|
|
9335
|
-
return i + 1; // first matching selector "captures" a given node
|
|
9336
|
-
}
|
|
9337
|
-
}
|
|
9338
|
-
return 0;
|
|
9339
|
-
}
|
|
9340
9325
|
function getNameOnlyMarkerIndex(nodeAttrs) {
|
|
9341
9326
|
for (var i = 0; i < nodeAttrs.length; i++) {
|
|
9342
9327
|
var nodeAttr = nodeAttrs[i];
|
|
@@ -9379,11 +9364,12 @@
|
|
|
9379
9364
|
return false;
|
|
9380
9365
|
}
|
|
9381
9366
|
|
|
9367
|
+
var ɵ0$7 = function () { return Promise.resolve(null); };
|
|
9382
9368
|
/**
|
|
9383
9369
|
* A permanent marker promise which signifies that the current CD tree is
|
|
9384
9370
|
* clean.
|
|
9385
9371
|
*/
|
|
9386
|
-
var _CLEAN_PROMISE =
|
|
9372
|
+
var _CLEAN_PROMISE = (ɵ0$7)();
|
|
9387
9373
|
/**
|
|
9388
9374
|
* Refreshes the view, executing the following steps in that order:
|
|
9389
9375
|
* triggers init hooks, refreshes dynamic embedded views, triggers content hooks, sets host
|
|
@@ -13094,6 +13080,35 @@
|
|
|
13094
13080
|
return nextContextImpl(level);
|
|
13095
13081
|
}
|
|
13096
13082
|
|
|
13083
|
+
/**
|
|
13084
|
+
* Checks a given node against matching projection slots and returns the
|
|
13085
|
+
* determined slot index. Returns "null" if no slot matched the given node.
|
|
13086
|
+
*
|
|
13087
|
+
* This function takes into account the parsed ngProjectAs selector from the
|
|
13088
|
+
* node's attributes. If present, it will check whether the ngProjectAs selector
|
|
13089
|
+
* matches any of the projection slot selectors.
|
|
13090
|
+
*/
|
|
13091
|
+
function matchingProjectionSlotIndex(tNode, projectionSlots) {
|
|
13092
|
+
var wildcardNgContentIndex = null;
|
|
13093
|
+
var ngProjectAsAttrVal = getProjectAsAttrValue(tNode);
|
|
13094
|
+
for (var i = 0; i < projectionSlots.length; i++) {
|
|
13095
|
+
var slotValue = projectionSlots[i];
|
|
13096
|
+
// The last wildcard projection slot should match all nodes which aren't matching
|
|
13097
|
+
// any selector. This is necessary to be backwards compatible with view engine.
|
|
13098
|
+
if (slotValue === '*') {
|
|
13099
|
+
wildcardNgContentIndex = i;
|
|
13100
|
+
continue;
|
|
13101
|
+
}
|
|
13102
|
+
// If we ran into an `ngProjectAs` attribute, we should match its parsed selector
|
|
13103
|
+
// to the list of selectors, otherwise we fall back to matching against the node.
|
|
13104
|
+
if (ngProjectAsAttrVal === null ?
|
|
13105
|
+
isNodeMatchingSelectorList(tNode, slotValue, /* isProjectionMode */ true) :
|
|
13106
|
+
isSelectorInSelectorList(ngProjectAsAttrVal, slotValue)) {
|
|
13107
|
+
return i; // first matching selector "captures" a given node
|
|
13108
|
+
}
|
|
13109
|
+
}
|
|
13110
|
+
return wildcardNgContentIndex;
|
|
13111
|
+
}
|
|
13097
13112
|
/**
|
|
13098
13113
|
* Instruction to distribute projectable nodes among <ng-content> occurrences in a given template.
|
|
13099
13114
|
* It takes all the selectors from the entire component's template and decides where
|
|
@@ -13112,28 +13127,34 @@
|
|
|
13112
13127
|
* - we can't have only a parsed as we can't re-construct textual form from it (as entered by a
|
|
13113
13128
|
* template author).
|
|
13114
13129
|
*
|
|
13115
|
-
* @param
|
|
13116
|
-
*
|
|
13130
|
+
* @param projectionSlots? A collection of projection slots. A projection slot can be based
|
|
13131
|
+
* on a parsed CSS selectors or set to the wildcard selector ("*") in order to match
|
|
13132
|
+
* all nodes which do not match any selector. If not specified, a single wildcard
|
|
13133
|
+
* selector projection slot will be defined.
|
|
13117
13134
|
*
|
|
13118
13135
|
* @codeGenApi
|
|
13119
13136
|
*/
|
|
13120
|
-
function ɵɵprojectionDef(
|
|
13137
|
+
function ɵɵprojectionDef(projectionSlots) {
|
|
13121
13138
|
var componentNode = findComponentView(getLView())[T_HOST];
|
|
13122
13139
|
if (!componentNode.projection) {
|
|
13123
|
-
|
|
13140
|
+
// If no explicit projection slots are defined, fall back to a single
|
|
13141
|
+
// projection slot with the wildcard selector.
|
|
13142
|
+
var numProjectionSlots = projectionSlots ? projectionSlots.length : 1;
|
|
13124
13143
|
var projectionHeads = componentNode.projection =
|
|
13125
|
-
new Array(
|
|
13144
|
+
new Array(numProjectionSlots).fill(null);
|
|
13126
13145
|
var tails = projectionHeads.slice();
|
|
13127
13146
|
var componentChild = componentNode.child;
|
|
13128
13147
|
while (componentChild !== null) {
|
|
13129
|
-
var
|
|
13130
|
-
if (
|
|
13131
|
-
tails[
|
|
13132
|
-
|
|
13133
|
-
|
|
13134
|
-
|
|
13148
|
+
var slotIndex = projectionSlots ? matchingProjectionSlotIndex(componentChild, projectionSlots) : 0;
|
|
13149
|
+
if (slotIndex !== null) {
|
|
13150
|
+
if (tails[slotIndex]) {
|
|
13151
|
+
tails[slotIndex].projectionNext = componentChild;
|
|
13152
|
+
}
|
|
13153
|
+
else {
|
|
13154
|
+
projectionHeads[slotIndex] = componentChild;
|
|
13155
|
+
}
|
|
13156
|
+
tails[slotIndex] = componentChild;
|
|
13135
13157
|
}
|
|
13136
|
-
tails[bucketIndex] = componentChild;
|
|
13137
13158
|
componentChild = componentChild.next;
|
|
13138
13159
|
}
|
|
13139
13160
|
}
|
|
@@ -15073,12 +15094,12 @@
|
|
|
15073
15094
|
/**
|
|
15074
15095
|
* A lazily initialized NullInjector.
|
|
15075
15096
|
*/
|
|
15076
|
-
var NULL_INJECTOR
|
|
15097
|
+
var NULL_INJECTOR = undefined;
|
|
15077
15098
|
function getNullInjector() {
|
|
15078
|
-
if (NULL_INJECTOR
|
|
15079
|
-
NULL_INJECTOR
|
|
15099
|
+
if (NULL_INJECTOR === undefined) {
|
|
15100
|
+
NULL_INJECTOR = new NullInjector();
|
|
15080
15101
|
}
|
|
15081
|
-
return NULL_INJECTOR
|
|
15102
|
+
return NULL_INJECTOR;
|
|
15082
15103
|
}
|
|
15083
15104
|
/**
|
|
15084
15105
|
* Create a new `Injector` which is configured using a `defType` of `InjectorType<any>`s.
|
|
@@ -16621,7 +16642,7 @@
|
|
|
16621
16642
|
/**
|
|
16622
16643
|
* @publicApi
|
|
16623
16644
|
*/
|
|
16624
|
-
var VERSION = new Version('8.0.
|
|
16645
|
+
var VERSION = new Version('8.0.1');
|
|
16625
16646
|
|
|
16626
16647
|
/**
|
|
16627
16648
|
* @license
|
|
@@ -19767,10 +19788,8 @@
|
|
|
19767
19788
|
_this.ngModule = ngModule;
|
|
19768
19789
|
_this.componentType = componentDef.type;
|
|
19769
19790
|
_this.selector = componentDef.selectors[0][0];
|
|
19770
|
-
// The component definition does not include the wildcard ('*') selector in its list.
|
|
19771
|
-
// It is implicitly expected as the first item in the projectable nodes array.
|
|
19772
19791
|
_this.ngContentSelectors =
|
|
19773
|
-
componentDef.ngContentSelectors ?
|
|
19792
|
+
componentDef.ngContentSelectors ? componentDef.ngContentSelectors : [];
|
|
19774
19793
|
_this.isBoundToModule = !!ngModule;
|
|
19775
19794
|
return _this;
|
|
19776
19795
|
}
|
|
@@ -19902,9 +19921,13 @@
|
|
|
19902
19921
|
* NOTE: changes to the `ngI18nClosureMode` name must be synced with `compiler-cli/src/tooling.ts`.
|
|
19903
19922
|
*/
|
|
19904
19923
|
if (typeof ngI18nClosureMode === 'undefined') {
|
|
19924
|
+
// These property accesses can be ignored because ngI18nClosureMode will be set to false
|
|
19925
|
+
// when optimizing code and the whole if statement will be dropped.
|
|
19905
19926
|
// Make sure to refer to ngI18nClosureMode as ['ngI18nClosureMode'] for closure.
|
|
19927
|
+
// tslint:disable-next-line:no-toplevel-property-access
|
|
19906
19928
|
_global['ngI18nClosureMode'] =
|
|
19907
19929
|
// TODO(FW-1250): validate that this actually, you know, works.
|
|
19930
|
+
// tslint:disable-next-line:no-toplevel-property-access
|
|
19908
19931
|
typeof goog !== 'undefined' && typeof goog.getMsg === 'function';
|
|
19909
19932
|
}
|
|
19910
19933
|
|
|
@@ -19927,28 +19950,27 @@
|
|
|
19927
19950
|
}
|
|
19928
19951
|
}
|
|
19929
19952
|
/**
|
|
19930
|
-
* Flattens an array
|
|
19953
|
+
* Flattens an array.
|
|
19931
19954
|
*/
|
|
19932
|
-
function flatten(list,
|
|
19933
|
-
|
|
19934
|
-
|
|
19935
|
-
|
|
19955
|
+
function flatten(list, dst) {
|
|
19956
|
+
if (dst === undefined)
|
|
19957
|
+
dst = list;
|
|
19958
|
+
for (var i = 0; i < list.length; i++) {
|
|
19936
19959
|
var item = list[i];
|
|
19937
19960
|
if (Array.isArray(item)) {
|
|
19938
|
-
|
|
19939
|
-
|
|
19940
|
-
|
|
19941
|
-
|
|
19942
|
-
|
|
19943
|
-
i++;
|
|
19961
|
+
// we need to inline it.
|
|
19962
|
+
if (dst === list) {
|
|
19963
|
+
// Our assumption that the list was already flat was wrong and
|
|
19964
|
+
// we need to clone flat since we need to write to it.
|
|
19965
|
+
dst = list.slice(0, i);
|
|
19944
19966
|
}
|
|
19967
|
+
flatten(item, dst);
|
|
19945
19968
|
}
|
|
19946
|
-
else {
|
|
19947
|
-
|
|
19948
|
-
i++;
|
|
19969
|
+
else if (dst !== list) {
|
|
19970
|
+
dst.push(item);
|
|
19949
19971
|
}
|
|
19950
19972
|
}
|
|
19951
|
-
return
|
|
19973
|
+
return dst;
|
|
19952
19974
|
}
|
|
19953
19975
|
|
|
19954
19976
|
/**
|
|
@@ -22776,12 +22798,7 @@
|
|
|
22776
22798
|
* Use of this source code is governed by an MIT-style license that can be
|
|
22777
22799
|
* found in the LICENSE file at https://angular.io/license
|
|
22778
22800
|
*/
|
|
22779
|
-
|
|
22780
|
-
* A mapping of the @angular/core API surface used in generated expressions to the actual symbols.
|
|
22781
|
-
*
|
|
22782
|
-
* This should be kept up to date with the public exports of @angular/core.
|
|
22783
|
-
*/
|
|
22784
|
-
var angularCoreEnv = {
|
|
22801
|
+
var ɵ0$8 = function () { return ({
|
|
22785
22802
|
'ɵɵdefineBase': ɵɵdefineBase,
|
|
22786
22803
|
'ɵɵdefineComponent': ɵɵdefineComponent,
|
|
22787
22804
|
'ɵɵdefineDirective': ɵɵdefineDirective,
|
|
@@ -22906,7 +22923,13 @@
|
|
|
22906
22923
|
'ɵɵsanitizeUrl': ɵɵsanitizeUrl,
|
|
22907
22924
|
'ɵɵsanitizeUrlOrResourceUrl': ɵɵsanitizeUrlOrResourceUrl,
|
|
22908
22925
|
'ɵregisterNgModuleType': registerNgModuleType,
|
|
22909
|
-
};
|
|
22926
|
+
}); };
|
|
22927
|
+
/**
|
|
22928
|
+
* A mapping of the @angular/core API surface used in generated expressions to the actual symbols.
|
|
22929
|
+
*
|
|
22930
|
+
* This should be kept up to date with the public exports of @angular/core.
|
|
22931
|
+
*/
|
|
22932
|
+
var angularCoreEnv = (ɵ0$8)();
|
|
22910
22933
|
|
|
22911
22934
|
/**
|
|
22912
22935
|
* @license
|
|
@@ -22985,13 +23008,15 @@
|
|
|
22985
23008
|
configurable: true,
|
|
22986
23009
|
get: function () {
|
|
22987
23010
|
if (ngModuleDef === null) {
|
|
22988
|
-
ngModuleDef = getCompilerFacade().compileNgModule(angularCoreEnv, "ng
|
|
23011
|
+
ngModuleDef = getCompilerFacade().compileNgModule(angularCoreEnv, "ng:///" + moduleType.name + "/ngModuleDef.js", {
|
|
22989
23012
|
type: moduleType,
|
|
22990
|
-
bootstrap: flatten(ngModule.bootstrap || EMPTY_ARRAY$4
|
|
23013
|
+
bootstrap: flatten(ngModule.bootstrap || EMPTY_ARRAY$4).map(resolveForwardRef),
|
|
22991
23014
|
declarations: declarations.map(resolveForwardRef),
|
|
22992
|
-
imports: flatten(ngModule.imports || EMPTY_ARRAY$4
|
|
23015
|
+
imports: flatten(ngModule.imports || EMPTY_ARRAY$4)
|
|
23016
|
+
.map(resolveForwardRef)
|
|
22993
23017
|
.map(expandModuleWithProviders),
|
|
22994
|
-
exports: flatten(ngModule.exports || EMPTY_ARRAY$4
|
|
23018
|
+
exports: flatten(ngModule.exports || EMPTY_ARRAY$4)
|
|
23019
|
+
.map(resolveForwardRef)
|
|
22995
23020
|
.map(expandModuleWithProviders),
|
|
22996
23021
|
emitInline: true,
|
|
22997
23022
|
schemas: ngModule.schemas ? flatten(ngModule.schemas) : null,
|
|
@@ -23018,7 +23043,7 @@
|
|
|
23018
23043
|
(ngModule.exports || EMPTY_ARRAY$4).map(resolveForwardRef),
|
|
23019
23044
|
],
|
|
23020
23045
|
};
|
|
23021
|
-
ngInjectorDef = getCompilerFacade().compileInjector(angularCoreEnv, "ng
|
|
23046
|
+
ngInjectorDef = getCompilerFacade().compileInjector(angularCoreEnv, "ng:///" + moduleType.name + "/ngInjectorDef.js", meta);
|
|
23022
23047
|
}
|
|
23023
23048
|
return ngInjectorDef;
|
|
23024
23049
|
},
|
|
@@ -23035,17 +23060,18 @@
|
|
|
23035
23060
|
var errors = [];
|
|
23036
23061
|
var declarations = maybeUnwrapFn(ngModuleDef.declarations);
|
|
23037
23062
|
var imports = maybeUnwrapFn(ngModuleDef.imports);
|
|
23038
|
-
flatten(imports
|
|
23063
|
+
flatten(imports).map(unwrapModuleWithProvidersImports).forEach(verifySemanticsOfNgModuleDef);
|
|
23039
23064
|
var exports = maybeUnwrapFn(ngModuleDef.exports);
|
|
23040
23065
|
declarations.forEach(verifyDeclarationsHaveDefinitions);
|
|
23041
|
-
var combinedDeclarations = __spread(declarations.map(resolveForwardRef), flatten(imports.map(computeCombinedExports)
|
|
23066
|
+
var combinedDeclarations = __spread(declarations.map(resolveForwardRef), flatten(imports.map(computeCombinedExports)).map(resolveForwardRef));
|
|
23042
23067
|
exports.forEach(verifyExportsAreDeclaredOrReExported);
|
|
23043
23068
|
declarations.forEach(verifyDeclarationIsUnique);
|
|
23044
23069
|
declarations.forEach(verifyComponentEntryComponentsIsPartOfNgModule);
|
|
23045
23070
|
var ngModule = getAnnotation(moduleType, 'NgModule');
|
|
23046
23071
|
if (ngModule) {
|
|
23047
23072
|
ngModule.imports &&
|
|
23048
|
-
flatten(ngModule.imports
|
|
23073
|
+
flatten(ngModule.imports)
|
|
23074
|
+
.map(unwrapModuleWithProvidersImports)
|
|
23049
23075
|
.forEach(verifySemanticsOfNgModuleDef);
|
|
23050
23076
|
ngModule.bootstrap && ngModule.bootstrap.forEach(verifyCorrectBootstrapType);
|
|
23051
23077
|
ngModule.bootstrap && ngModule.bootstrap.forEach(verifyComponentIsPartOfNgModule);
|
|
@@ -23391,7 +23417,7 @@
|
|
|
23391
23417
|
get: function () {
|
|
23392
23418
|
if (ngDirectiveDef === null) {
|
|
23393
23419
|
var name_1 = type && type.name;
|
|
23394
|
-
var sourceMapUrl = "ng
|
|
23420
|
+
var sourceMapUrl = "ng:///" + name_1 + "/ngDirectiveDef.js";
|
|
23395
23421
|
var compiler = getCompilerFacade();
|
|
23396
23422
|
var facade = directiveMetadata(type, directive);
|
|
23397
23423
|
facade.typeSourceSpan = compiler.createParseSourceSpan('Directive', name_1, sourceMapUrl);
|
|
@@ -23573,7 +23599,7 @@
|
|
|
23573
23599
|
if (ngPipeDef === null) {
|
|
23574
23600
|
var typeName = type.name;
|
|
23575
23601
|
ngPipeDef =
|
|
23576
|
-
getCompilerFacade().compilePipe(angularCoreEnv, "ng
|
|
23602
|
+
getCompilerFacade().compilePipe(angularCoreEnv, "ng:///" + typeName + "/ngPipeDef.js", {
|
|
23577
23603
|
type: type,
|
|
23578
23604
|
typeArgumentCount: 0,
|
|
23579
23605
|
name: typeName,
|
|
@@ -23596,7 +23622,7 @@
|
|
|
23596
23622
|
* Use of this source code is governed by an MIT-style license that can be
|
|
23597
23623
|
* found in the LICENSE file at https://angular.io/license
|
|
23598
23624
|
*/
|
|
23599
|
-
var ɵ0$
|
|
23625
|
+
var ɵ0$9 = function (dir) {
|
|
23600
23626
|
if (dir === void 0) { dir = {}; }
|
|
23601
23627
|
return dir;
|
|
23602
23628
|
}, ɵ1$2 = function (type, meta) { return SWITCH_COMPILE_DIRECTIVE(type, meta); };
|
|
@@ -23605,7 +23631,7 @@
|
|
|
23605
23631
|
*
|
|
23606
23632
|
* @publicApi
|
|
23607
23633
|
*/
|
|
23608
|
-
var Directive = makeDecorator('Directive', ɵ0$
|
|
23634
|
+
var Directive = makeDecorator('Directive', ɵ0$9, undefined, undefined, ɵ1$2);
|
|
23609
23635
|
var ɵ2$2 = function (c) {
|
|
23610
23636
|
if (c === void 0) { c = {}; }
|
|
23611
23637
|
return (__assign({ changeDetection: exports.ChangeDetectionStrategy.Default }, c));
|
|
@@ -23692,7 +23718,7 @@
|
|
|
23692
23718
|
* Use of this source code is governed by an MIT-style license that can be
|
|
23693
23719
|
* found in the LICENSE file at https://angular.io/license
|
|
23694
23720
|
*/
|
|
23695
|
-
var ɵ0$
|
|
23721
|
+
var ɵ0$a = function (ngModule) { return ngModule; }, ɵ1$3 =
|
|
23696
23722
|
/**
|
|
23697
23723
|
* Decorator that marks the following class as an NgModule, and supplies
|
|
23698
23724
|
* configuration metadata for it.
|
|
@@ -23709,7 +23735,7 @@
|
|
|
23709
23735
|
* @Annotation
|
|
23710
23736
|
* @publicApi
|
|
23711
23737
|
*/
|
|
23712
|
-
var NgModule = makeDecorator('NgModule', ɵ0$
|
|
23738
|
+
var NgModule = makeDecorator('NgModule', ɵ0$a, undefined, undefined, ɵ1$3);
|
|
23713
23739
|
function preR3NgModuleCompile(moduleType, metadata) {
|
|
23714
23740
|
var imports = (metadata && metadata.imports) || [];
|
|
23715
23741
|
if (metadata && metadata.exports) {
|
|
@@ -24071,6 +24097,7 @@
|
|
|
24071
24097
|
* an exception is expected during normal execution while profiling.
|
|
24072
24098
|
*
|
|
24073
24099
|
* @publicApi
|
|
24100
|
+
* @deprecated the Web Tracing Framework is no longer supported in Angular
|
|
24074
24101
|
*/
|
|
24075
24102
|
var wtfCreateScope = wtfEnabled ? createScope : function (signature, flags) { return noopScope; };
|
|
24076
24103
|
/**
|
|
@@ -24081,6 +24108,7 @@
|
|
|
24081
24108
|
*
|
|
24082
24109
|
* Returns the `returnValue for easy chaining.
|
|
24083
24110
|
* @publicApi
|
|
24111
|
+
* @deprecated the Web Tracing Framework is no longer supported in Angular
|
|
24084
24112
|
*/
|
|
24085
24113
|
var wtfLeave = wtfEnabled ? leave : function (s, r) { return r; };
|
|
24086
24114
|
/**
|
|
@@ -24095,6 +24123,7 @@
|
|
|
24095
24123
|
* });
|
|
24096
24124
|
* }
|
|
24097
24125
|
* @publicApi
|
|
24126
|
+
* @deprecated the Web Tracing Framework is no longer supported in Angular
|
|
24098
24127
|
*/
|
|
24099
24128
|
var wtfStartTimeRange = wtfEnabled ? startTimeRange : function (rangeType, action) { return null; };
|
|
24100
24129
|
/**
|
|
@@ -24102,6 +24131,7 @@
|
|
|
24102
24131
|
* [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been
|
|
24103
24132
|
* enabled.
|
|
24104
24133
|
* @publicApi
|
|
24134
|
+
* @deprecated the Web Tracing Framework is no longer supported in Angular
|
|
24105
24135
|
*/
|
|
24106
24136
|
var wtfEndTimeRange = wtfEnabled ? endTimeRange : function (r) { return null; };
|
|
24107
24137
|
|
|
@@ -24112,7 +24142,7 @@
|
|
|
24112
24142
|
* Use of this source code is governed by an MIT-style license that can be
|
|
24113
24143
|
* found in the LICENSE file at https://angular.io/license
|
|
24114
24144
|
*/
|
|
24115
|
-
var promise = Promise.resolve(0);
|
|
24145
|
+
var promise = (function () { return Promise.resolve(0); })();
|
|
24116
24146
|
function scheduleMicroTask(fn) {
|
|
24117
24147
|
if (typeof Zone === 'undefined') {
|
|
24118
24148
|
// use promise to schedule microTask instead of use Zone
|