@angular/core 9.0.6 → 9.0.7
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 -1
- package/bundles/core-testing.umd.min.js +1 -1
- package/bundles/core-testing.umd.min.js.map +1 -1
- package/bundles/core.umd.js +414 -399
- package/bundles/core.umd.js.map +1 -1
- package/bundles/core.umd.min.js +133 -132
- package/bundles/core.umd.min.js.map +1 -1
- package/core.d.ts +1 -1
- package/core.metadata.json +1 -1
- package/esm2015/src/render3/assert.js +4 -1
- package/esm2015/src/render3/i18n.js +12 -6
- package/esm2015/src/render3/instructions/attribute.js +6 -6
- package/esm2015/src/render3/instructions/attribute_interpolation.js +29 -47
- package/esm2015/src/render3/instructions/host_property.js +13 -10
- package/esm2015/src/render3/instructions/property.js +7 -6
- package/esm2015/src/render3/instructions/property_interpolation.js +40 -39
- package/esm2015/src/render3/instructions/shared.js +17 -26
- package/esm2015/src/render3/node_assert.js +1 -1
- package/esm2015/src/render3/pure_function.js +23 -6
- package/esm2015/src/render3/state.js +11 -1
- package/esm2015/src/util/assert.js +1 -1
- package/esm2015/src/version.js +1 -1
- package/esm5/src/render3/assert.js +3 -1
- package/esm5/src/render3/i18n.js +11 -5
- package/esm5/src/render3/instructions/attribute.js +5 -5
- package/esm5/src/render3/instructions/attribute_interpolation.js +29 -38
- package/esm5/src/render3/instructions/host_property.js +10 -8
- package/esm5/src/render3/instructions/property.js +6 -5
- package/esm5/src/render3/instructions/property_interpolation.js +31 -30
- package/esm5/src/render3/instructions/shared.js +9 -13
- package/esm5/src/render3/node_assert.js +1 -1
- package/esm5/src/render3/pure_function.js +19 -6
- package/esm5/src/render3/state.js +9 -1
- package/esm5/src/util/assert.js +1 -1
- package/esm5/src/version.js +1 -1
- package/fesm2015/core.js +879 -870
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/testing.js +1 -1
- package/fesm5/core.js +414 -399
- package/fesm5/core.js.map +1 -1
- package/fesm5/testing.js +1 -1
- package/package.json +1 -1
- package/src/r3_symbols.d.ts +1 -1
- 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 v9.0.
|
|
2
|
+
* @license Angular v9.0.7
|
|
3
3
|
* (c) 2010-2020 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -2910,6 +2910,8 @@ function isRootView(target) {
|
|
|
2910
2910
|
* Generated from: packages/core/src/render3/assert.ts
|
|
2911
2911
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
2912
2912
|
*/
|
|
2913
|
+
// [Assert functions do not constraint type when they are guarded by a truthy
|
|
2914
|
+
// expression.](https://github.com/microsoft/TypeScript/issues/37295)
|
|
2913
2915
|
/**
|
|
2914
2916
|
* @param {?} tNode
|
|
2915
2917
|
* @param {?} lView
|
|
@@ -3013,6 +3015,7 @@ function assertFirstUpdatePass(tView, errMessage) {
|
|
|
3013
3015
|
/**
|
|
3014
3016
|
* This is a basic sanity check that an object is probably a directive def. DirectiveDef is
|
|
3015
3017
|
* an interface, so we can't do a direct instanceof check.
|
|
3018
|
+
* @template T
|
|
3016
3019
|
* @param {?} obj
|
|
3017
3020
|
* @return {?}
|
|
3018
3021
|
*/
|
|
@@ -3039,6 +3042,739 @@ const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
|
|
|
3039
3042
|
/** @type {?} */
|
|
3040
3043
|
const MATH_ML_NAMESPACE = 'http://www.w3.org/1998/MathML/';
|
|
3041
3044
|
|
|
3045
|
+
/**
|
|
3046
|
+
* @fileoverview added by tsickle
|
|
3047
|
+
* Generated from: packages/core/src/render3/interfaces/context.ts
|
|
3048
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
3049
|
+
*/
|
|
3050
|
+
/**
|
|
3051
|
+
* @license
|
|
3052
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
3053
|
+
*
|
|
3054
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
3055
|
+
* found in the LICENSE file at https://angular.io/license
|
|
3056
|
+
*/
|
|
3057
|
+
/**
|
|
3058
|
+
* This property will be monkey-patched on elements, components and directives
|
|
3059
|
+
* @type {?}
|
|
3060
|
+
*/
|
|
3061
|
+
const MONKEY_PATCH_KEY_NAME = '__ngContext__';
|
|
3062
|
+
/**
|
|
3063
|
+
* The internal view context which is specific to a given DOM element, directive or
|
|
3064
|
+
* component instance. Each value in here (besides the LView and element node details)
|
|
3065
|
+
* can be present, null or undefined. If undefined then it implies the value has not been
|
|
3066
|
+
* looked up yet, otherwise, if null, then a lookup was executed and nothing was found.
|
|
3067
|
+
*
|
|
3068
|
+
* Each value will get filled when the respective value is examined within the getContext
|
|
3069
|
+
* function. The component, element and each directive instance will share the same instance
|
|
3070
|
+
* of the context.
|
|
3071
|
+
* @record
|
|
3072
|
+
*/
|
|
3073
|
+
function LContext() { }
|
|
3074
|
+
if (false) {
|
|
3075
|
+
/**
|
|
3076
|
+
* The component's parent view data.
|
|
3077
|
+
* @type {?}
|
|
3078
|
+
*/
|
|
3079
|
+
LContext.prototype.lView;
|
|
3080
|
+
/**
|
|
3081
|
+
* The index instance of the node.
|
|
3082
|
+
* @type {?}
|
|
3083
|
+
*/
|
|
3084
|
+
LContext.prototype.nodeIndex;
|
|
3085
|
+
/**
|
|
3086
|
+
* The instance of the DOM node that is attached to the lNode.
|
|
3087
|
+
* @type {?}
|
|
3088
|
+
*/
|
|
3089
|
+
LContext.prototype.native;
|
|
3090
|
+
/**
|
|
3091
|
+
* The instance of the Component node.
|
|
3092
|
+
* @type {?}
|
|
3093
|
+
*/
|
|
3094
|
+
LContext.prototype.component;
|
|
3095
|
+
/**
|
|
3096
|
+
* The list of active directives that exist on this element.
|
|
3097
|
+
* @type {?}
|
|
3098
|
+
*/
|
|
3099
|
+
LContext.prototype.directives;
|
|
3100
|
+
/**
|
|
3101
|
+
* The map of local references (local reference name => element or directive instance) that exist
|
|
3102
|
+
* on this element.
|
|
3103
|
+
* @type {?}
|
|
3104
|
+
*/
|
|
3105
|
+
LContext.prototype.localRefs;
|
|
3106
|
+
}
|
|
3107
|
+
|
|
3108
|
+
/**
|
|
3109
|
+
* @fileoverview added by tsickle
|
|
3110
|
+
* Generated from: packages/core/src/render3/interfaces/document.ts
|
|
3111
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
3112
|
+
*/
|
|
3113
|
+
/**
|
|
3114
|
+
* @license
|
|
3115
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
3116
|
+
*
|
|
3117
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
3118
|
+
* found in the LICENSE file at https://angular.io/license
|
|
3119
|
+
*/
|
|
3120
|
+
/**
|
|
3121
|
+
* Most of the use of `document` in Angular is from within the DI system so it is possible to simply
|
|
3122
|
+
* inject the `DOCUMENT` token and are done.
|
|
3123
|
+
*
|
|
3124
|
+
* Ivy is special because it does not rely upon the DI and must get hold of the document some other
|
|
3125
|
+
* way.
|
|
3126
|
+
*
|
|
3127
|
+
* The solution is to define `getDocument()` and `setDocument()` top-level functions for ivy.
|
|
3128
|
+
* Wherever ivy needs the global document, it calls `getDocument()` instead.
|
|
3129
|
+
*
|
|
3130
|
+
* When running ivy outside of a browser environment, it is necessary to call `setDocument()` to
|
|
3131
|
+
* tell ivy what the global `document` is.
|
|
3132
|
+
*
|
|
3133
|
+
* Angular does this for us in each of the standard platforms (`Browser`, `Server`, and `WebWorker`)
|
|
3134
|
+
* by calling `setDocument()` when providing the `DOCUMENT` token.
|
|
3135
|
+
* @type {?}
|
|
3136
|
+
*/
|
|
3137
|
+
let DOCUMENT = undefined;
|
|
3138
|
+
/**
|
|
3139
|
+
* Tell ivy what the `document` is for this platform.
|
|
3140
|
+
*
|
|
3141
|
+
* It is only necessary to call this if the current platform is not a browser.
|
|
3142
|
+
*
|
|
3143
|
+
* @param {?} document The object representing the global `document` in this environment.
|
|
3144
|
+
* @return {?}
|
|
3145
|
+
*/
|
|
3146
|
+
function setDocument(document) {
|
|
3147
|
+
DOCUMENT = document;
|
|
3148
|
+
}
|
|
3149
|
+
/**
|
|
3150
|
+
* Access the object that represents the `document` for this platform.
|
|
3151
|
+
*
|
|
3152
|
+
* Ivy calls this whenever it needs to access the `document` object.
|
|
3153
|
+
* For example to create the renderer or to do sanitization.
|
|
3154
|
+
* @return {?}
|
|
3155
|
+
*/
|
|
3156
|
+
function getDocument() {
|
|
3157
|
+
if (DOCUMENT !== undefined) {
|
|
3158
|
+
return DOCUMENT;
|
|
3159
|
+
}
|
|
3160
|
+
else if (typeof document !== 'undefined') {
|
|
3161
|
+
return document;
|
|
3162
|
+
}
|
|
3163
|
+
// No "document" can be found. This should only happen if we are running ivy outside Angular and
|
|
3164
|
+
// the current platform is not a browser. Since this is not a supported scenario at the moment
|
|
3165
|
+
// this should not happen in Angular apps.
|
|
3166
|
+
// Once we support running ivy outside of Angular we will need to publish `setDocument()` as a
|
|
3167
|
+
// public API. Meanwhile we just return `undefined` and let the application fail.
|
|
3168
|
+
return (/** @type {?} */ (undefined));
|
|
3169
|
+
}
|
|
3170
|
+
|
|
3171
|
+
/**
|
|
3172
|
+
* @fileoverview added by tsickle
|
|
3173
|
+
* Generated from: packages/core/src/render3/interfaces/renderer.ts
|
|
3174
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
3175
|
+
*/
|
|
3176
|
+
/** @enum {number} */
|
|
3177
|
+
const RendererStyleFlags3 = {
|
|
3178
|
+
Important: 1,
|
|
3179
|
+
DashCase: 2,
|
|
3180
|
+
};
|
|
3181
|
+
RendererStyleFlags3[RendererStyleFlags3.Important] = 'Important';
|
|
3182
|
+
RendererStyleFlags3[RendererStyleFlags3.DashCase] = 'DashCase';
|
|
3183
|
+
/**
|
|
3184
|
+
* Object Oriented style of API needed to create elements and text nodes.
|
|
3185
|
+
*
|
|
3186
|
+
* This is the native browser API style, e.g. operations are methods on individual objects
|
|
3187
|
+
* like HTMLElement. With this style, no additional code is needed as a facade
|
|
3188
|
+
* (reducing payload size).
|
|
3189
|
+
*
|
|
3190
|
+
* @record
|
|
3191
|
+
*/
|
|
3192
|
+
function ObjectOrientedRenderer3() { }
|
|
3193
|
+
if (false) {
|
|
3194
|
+
/**
|
|
3195
|
+
* @param {?} data
|
|
3196
|
+
* @return {?}
|
|
3197
|
+
*/
|
|
3198
|
+
ObjectOrientedRenderer3.prototype.createComment = function (data) { };
|
|
3199
|
+
/**
|
|
3200
|
+
* @param {?} tagName
|
|
3201
|
+
* @return {?}
|
|
3202
|
+
*/
|
|
3203
|
+
ObjectOrientedRenderer3.prototype.createElement = function (tagName) { };
|
|
3204
|
+
/**
|
|
3205
|
+
* @param {?} namespace
|
|
3206
|
+
* @param {?} tagName
|
|
3207
|
+
* @return {?}
|
|
3208
|
+
*/
|
|
3209
|
+
ObjectOrientedRenderer3.prototype.createElementNS = function (namespace, tagName) { };
|
|
3210
|
+
/**
|
|
3211
|
+
* @param {?} data
|
|
3212
|
+
* @return {?}
|
|
3213
|
+
*/
|
|
3214
|
+
ObjectOrientedRenderer3.prototype.createTextNode = function (data) { };
|
|
3215
|
+
/**
|
|
3216
|
+
* @param {?} selectors
|
|
3217
|
+
* @return {?}
|
|
3218
|
+
*/
|
|
3219
|
+
ObjectOrientedRenderer3.prototype.querySelector = function (selectors) { };
|
|
3220
|
+
}
|
|
3221
|
+
/**
|
|
3222
|
+
* Returns whether the `renderer` is a `ProceduralRenderer3`
|
|
3223
|
+
* @param {?} renderer
|
|
3224
|
+
* @return {?}
|
|
3225
|
+
*/
|
|
3226
|
+
function isProceduralRenderer(renderer) {
|
|
3227
|
+
return !!(((/** @type {?} */ (renderer))).listen);
|
|
3228
|
+
}
|
|
3229
|
+
/**
|
|
3230
|
+
* Procedural style of API needed to create elements and text nodes.
|
|
3231
|
+
*
|
|
3232
|
+
* In non-native browser environments (e.g. platforms such as web-workers), this is the
|
|
3233
|
+
* facade that enables element manipulation. This also facilitates backwards compatibility
|
|
3234
|
+
* with Renderer2.
|
|
3235
|
+
* @record
|
|
3236
|
+
*/
|
|
3237
|
+
function ProceduralRenderer3() { }
|
|
3238
|
+
if (false) {
|
|
3239
|
+
/**
|
|
3240
|
+
* This property is allowed to be null / undefined,
|
|
3241
|
+
* in which case the view engine won't call it.
|
|
3242
|
+
* This is used as a performance optimization for production mode.
|
|
3243
|
+
* @type {?|undefined}
|
|
3244
|
+
*/
|
|
3245
|
+
ProceduralRenderer3.prototype.destroyNode;
|
|
3246
|
+
/**
|
|
3247
|
+
* @return {?}
|
|
3248
|
+
*/
|
|
3249
|
+
ProceduralRenderer3.prototype.destroy = function () { };
|
|
3250
|
+
/**
|
|
3251
|
+
* @param {?} value
|
|
3252
|
+
* @return {?}
|
|
3253
|
+
*/
|
|
3254
|
+
ProceduralRenderer3.prototype.createComment = function (value) { };
|
|
3255
|
+
/**
|
|
3256
|
+
* @param {?} name
|
|
3257
|
+
* @param {?=} namespace
|
|
3258
|
+
* @return {?}
|
|
3259
|
+
*/
|
|
3260
|
+
ProceduralRenderer3.prototype.createElement = function (name, namespace) { };
|
|
3261
|
+
/**
|
|
3262
|
+
* @param {?} value
|
|
3263
|
+
* @return {?}
|
|
3264
|
+
*/
|
|
3265
|
+
ProceduralRenderer3.prototype.createText = function (value) { };
|
|
3266
|
+
/**
|
|
3267
|
+
* @param {?} parent
|
|
3268
|
+
* @param {?} newChild
|
|
3269
|
+
* @return {?}
|
|
3270
|
+
*/
|
|
3271
|
+
ProceduralRenderer3.prototype.appendChild = function (parent, newChild) { };
|
|
3272
|
+
/**
|
|
3273
|
+
* @param {?} parent
|
|
3274
|
+
* @param {?} newChild
|
|
3275
|
+
* @param {?} refChild
|
|
3276
|
+
* @return {?}
|
|
3277
|
+
*/
|
|
3278
|
+
ProceduralRenderer3.prototype.insertBefore = function (parent, newChild, refChild) { };
|
|
3279
|
+
/**
|
|
3280
|
+
* @param {?} parent
|
|
3281
|
+
* @param {?} oldChild
|
|
3282
|
+
* @param {?=} isHostElement
|
|
3283
|
+
* @return {?}
|
|
3284
|
+
*/
|
|
3285
|
+
ProceduralRenderer3.prototype.removeChild = function (parent, oldChild, isHostElement) { };
|
|
3286
|
+
/**
|
|
3287
|
+
* @param {?} selectorOrNode
|
|
3288
|
+
* @param {?=} preserveContent
|
|
3289
|
+
* @return {?}
|
|
3290
|
+
*/
|
|
3291
|
+
ProceduralRenderer3.prototype.selectRootElement = function (selectorOrNode, preserveContent) { };
|
|
3292
|
+
/**
|
|
3293
|
+
* @param {?} node
|
|
3294
|
+
* @return {?}
|
|
3295
|
+
*/
|
|
3296
|
+
ProceduralRenderer3.prototype.parentNode = function (node) { };
|
|
3297
|
+
/**
|
|
3298
|
+
* @param {?} node
|
|
3299
|
+
* @return {?}
|
|
3300
|
+
*/
|
|
3301
|
+
ProceduralRenderer3.prototype.nextSibling = function (node) { };
|
|
3302
|
+
/**
|
|
3303
|
+
* @param {?} el
|
|
3304
|
+
* @param {?} name
|
|
3305
|
+
* @param {?} value
|
|
3306
|
+
* @param {?=} namespace
|
|
3307
|
+
* @return {?}
|
|
3308
|
+
*/
|
|
3309
|
+
ProceduralRenderer3.prototype.setAttribute = function (el, name, value, namespace) { };
|
|
3310
|
+
/**
|
|
3311
|
+
* @param {?} el
|
|
3312
|
+
* @param {?} name
|
|
3313
|
+
* @param {?=} namespace
|
|
3314
|
+
* @return {?}
|
|
3315
|
+
*/
|
|
3316
|
+
ProceduralRenderer3.prototype.removeAttribute = function (el, name, namespace) { };
|
|
3317
|
+
/**
|
|
3318
|
+
* @param {?} el
|
|
3319
|
+
* @param {?} name
|
|
3320
|
+
* @return {?}
|
|
3321
|
+
*/
|
|
3322
|
+
ProceduralRenderer3.prototype.addClass = function (el, name) { };
|
|
3323
|
+
/**
|
|
3324
|
+
* @param {?} el
|
|
3325
|
+
* @param {?} name
|
|
3326
|
+
* @return {?}
|
|
3327
|
+
*/
|
|
3328
|
+
ProceduralRenderer3.prototype.removeClass = function (el, name) { };
|
|
3329
|
+
/**
|
|
3330
|
+
* @param {?} el
|
|
3331
|
+
* @param {?} style
|
|
3332
|
+
* @param {?} value
|
|
3333
|
+
* @param {?=} flags
|
|
3334
|
+
* @return {?}
|
|
3335
|
+
*/
|
|
3336
|
+
ProceduralRenderer3.prototype.setStyle = function (el, style, value, flags) { };
|
|
3337
|
+
/**
|
|
3338
|
+
* @param {?} el
|
|
3339
|
+
* @param {?} style
|
|
3340
|
+
* @param {?=} flags
|
|
3341
|
+
* @return {?}
|
|
3342
|
+
*/
|
|
3343
|
+
ProceduralRenderer3.prototype.removeStyle = function (el, style, flags) { };
|
|
3344
|
+
/**
|
|
3345
|
+
* @param {?} el
|
|
3346
|
+
* @param {?} name
|
|
3347
|
+
* @param {?} value
|
|
3348
|
+
* @return {?}
|
|
3349
|
+
*/
|
|
3350
|
+
ProceduralRenderer3.prototype.setProperty = function (el, name, value) { };
|
|
3351
|
+
/**
|
|
3352
|
+
* @param {?} node
|
|
3353
|
+
* @param {?} value
|
|
3354
|
+
* @return {?}
|
|
3355
|
+
*/
|
|
3356
|
+
ProceduralRenderer3.prototype.setValue = function (node, value) { };
|
|
3357
|
+
/**
|
|
3358
|
+
* @param {?} target
|
|
3359
|
+
* @param {?} eventName
|
|
3360
|
+
* @param {?} callback
|
|
3361
|
+
* @return {?}
|
|
3362
|
+
*/
|
|
3363
|
+
ProceduralRenderer3.prototype.listen = function (target, eventName, callback) { };
|
|
3364
|
+
}
|
|
3365
|
+
/**
|
|
3366
|
+
* @record
|
|
3367
|
+
*/
|
|
3368
|
+
function RendererFactory3() { }
|
|
3369
|
+
if (false) {
|
|
3370
|
+
/**
|
|
3371
|
+
* @param {?} hostElement
|
|
3372
|
+
* @param {?} rendererType
|
|
3373
|
+
* @return {?}
|
|
3374
|
+
*/
|
|
3375
|
+
RendererFactory3.prototype.createRenderer = function (hostElement, rendererType) { };
|
|
3376
|
+
/**
|
|
3377
|
+
* @return {?}
|
|
3378
|
+
*/
|
|
3379
|
+
RendererFactory3.prototype.begin = function () { };
|
|
3380
|
+
/**
|
|
3381
|
+
* @return {?}
|
|
3382
|
+
*/
|
|
3383
|
+
RendererFactory3.prototype.end = function () { };
|
|
3384
|
+
}
|
|
3385
|
+
const ɵ0$2 = /**
|
|
3386
|
+
* @param {?} hostElement
|
|
3387
|
+
* @param {?} rendererType
|
|
3388
|
+
* @return {?}
|
|
3389
|
+
*/
|
|
3390
|
+
(hostElement, rendererType) => { return getDocument(); };
|
|
3391
|
+
/** @type {?} */
|
|
3392
|
+
const domRendererFactory3 = {
|
|
3393
|
+
createRenderer: (ɵ0$2)
|
|
3394
|
+
};
|
|
3395
|
+
/**
|
|
3396
|
+
* Subset of API needed for appending elements and text nodes.
|
|
3397
|
+
* @record
|
|
3398
|
+
*/
|
|
3399
|
+
function RNode() { }
|
|
3400
|
+
if (false) {
|
|
3401
|
+
/**
|
|
3402
|
+
* Returns the parent Element, Document, or DocumentFragment
|
|
3403
|
+
* @type {?}
|
|
3404
|
+
*/
|
|
3405
|
+
RNode.prototype.parentNode;
|
|
3406
|
+
/**
|
|
3407
|
+
* Returns the parent Element if there is one
|
|
3408
|
+
* @type {?}
|
|
3409
|
+
*/
|
|
3410
|
+
RNode.prototype.parentElement;
|
|
3411
|
+
/**
|
|
3412
|
+
* Gets the Node immediately following this one in the parent's childNodes
|
|
3413
|
+
* @type {?}
|
|
3414
|
+
*/
|
|
3415
|
+
RNode.prototype.nextSibling;
|
|
3416
|
+
/**
|
|
3417
|
+
* Removes a child from the current node and returns the removed node
|
|
3418
|
+
* @param {?} oldChild the child node to remove
|
|
3419
|
+
* @return {?}
|
|
3420
|
+
*/
|
|
3421
|
+
RNode.prototype.removeChild = function (oldChild) { };
|
|
3422
|
+
/**
|
|
3423
|
+
* Insert a child node.
|
|
3424
|
+
*
|
|
3425
|
+
* Used exclusively for adding View root nodes into ViewAnchor location.
|
|
3426
|
+
* @param {?} newChild
|
|
3427
|
+
* @param {?} refChild
|
|
3428
|
+
* @param {?} isViewRoot
|
|
3429
|
+
* @return {?}
|
|
3430
|
+
*/
|
|
3431
|
+
RNode.prototype.insertBefore = function (newChild, refChild, isViewRoot) { };
|
|
3432
|
+
/**
|
|
3433
|
+
* Append a child node.
|
|
3434
|
+
*
|
|
3435
|
+
* Used exclusively for building up DOM which are static (ie not View roots)
|
|
3436
|
+
* @param {?} newChild
|
|
3437
|
+
* @return {?}
|
|
3438
|
+
*/
|
|
3439
|
+
RNode.prototype.appendChild = function (newChild) { };
|
|
3440
|
+
}
|
|
3441
|
+
/**
|
|
3442
|
+
* Subset of API needed for writing attributes, properties, and setting up
|
|
3443
|
+
* listeners on Element.
|
|
3444
|
+
* @record
|
|
3445
|
+
*/
|
|
3446
|
+
function RElement() { }
|
|
3447
|
+
if (false) {
|
|
3448
|
+
/** @type {?} */
|
|
3449
|
+
RElement.prototype.style;
|
|
3450
|
+
/** @type {?} */
|
|
3451
|
+
RElement.prototype.classList;
|
|
3452
|
+
/** @type {?} */
|
|
3453
|
+
RElement.prototype.className;
|
|
3454
|
+
/** @type {?} */
|
|
3455
|
+
RElement.prototype.textContent;
|
|
3456
|
+
/**
|
|
3457
|
+
* @param {?} name
|
|
3458
|
+
* @param {?} value
|
|
3459
|
+
* @return {?}
|
|
3460
|
+
*/
|
|
3461
|
+
RElement.prototype.setAttribute = function (name, value) { };
|
|
3462
|
+
/**
|
|
3463
|
+
* @param {?} name
|
|
3464
|
+
* @return {?}
|
|
3465
|
+
*/
|
|
3466
|
+
RElement.prototype.removeAttribute = function (name) { };
|
|
3467
|
+
/**
|
|
3468
|
+
* @param {?} namespaceURI
|
|
3469
|
+
* @param {?} qualifiedName
|
|
3470
|
+
* @param {?} value
|
|
3471
|
+
* @return {?}
|
|
3472
|
+
*/
|
|
3473
|
+
RElement.prototype.setAttributeNS = function (namespaceURI, qualifiedName, value) { };
|
|
3474
|
+
/**
|
|
3475
|
+
* @param {?} type
|
|
3476
|
+
* @param {?} listener
|
|
3477
|
+
* @param {?=} useCapture
|
|
3478
|
+
* @return {?}
|
|
3479
|
+
*/
|
|
3480
|
+
RElement.prototype.addEventListener = function (type, listener, useCapture) { };
|
|
3481
|
+
/**
|
|
3482
|
+
* @param {?} type
|
|
3483
|
+
* @param {?=} listener
|
|
3484
|
+
* @param {?=} options
|
|
3485
|
+
* @return {?}
|
|
3486
|
+
*/
|
|
3487
|
+
RElement.prototype.removeEventListener = function (type, listener, options) { };
|
|
3488
|
+
/**
|
|
3489
|
+
* @param {?} name
|
|
3490
|
+
* @param {?} value
|
|
3491
|
+
* @return {?}
|
|
3492
|
+
*/
|
|
3493
|
+
RElement.prototype.setProperty = function (name, value) { };
|
|
3494
|
+
}
|
|
3495
|
+
/**
|
|
3496
|
+
* @record
|
|
3497
|
+
*/
|
|
3498
|
+
function RCssStyleDeclaration() { }
|
|
3499
|
+
if (false) {
|
|
3500
|
+
/**
|
|
3501
|
+
* @param {?} propertyName
|
|
3502
|
+
* @return {?}
|
|
3503
|
+
*/
|
|
3504
|
+
RCssStyleDeclaration.prototype.removeProperty = function (propertyName) { };
|
|
3505
|
+
/**
|
|
3506
|
+
* @param {?} propertyName
|
|
3507
|
+
* @param {?} value
|
|
3508
|
+
* @param {?=} priority
|
|
3509
|
+
* @return {?}
|
|
3510
|
+
*/
|
|
3511
|
+
RCssStyleDeclaration.prototype.setProperty = function (propertyName, value, priority) { };
|
|
3512
|
+
}
|
|
3513
|
+
/**
|
|
3514
|
+
* @record
|
|
3515
|
+
*/
|
|
3516
|
+
function RDomTokenList() { }
|
|
3517
|
+
if (false) {
|
|
3518
|
+
/**
|
|
3519
|
+
* @param {?} token
|
|
3520
|
+
* @return {?}
|
|
3521
|
+
*/
|
|
3522
|
+
RDomTokenList.prototype.add = function (token) { };
|
|
3523
|
+
/**
|
|
3524
|
+
* @param {?} token
|
|
3525
|
+
* @return {?}
|
|
3526
|
+
*/
|
|
3527
|
+
RDomTokenList.prototype.remove = function (token) { };
|
|
3528
|
+
}
|
|
3529
|
+
/**
|
|
3530
|
+
* @record
|
|
3531
|
+
*/
|
|
3532
|
+
function RText() { }
|
|
3533
|
+
if (false) {
|
|
3534
|
+
/** @type {?} */
|
|
3535
|
+
RText.prototype.textContent;
|
|
3536
|
+
}
|
|
3537
|
+
/**
|
|
3538
|
+
* @record
|
|
3539
|
+
*/
|
|
3540
|
+
function RComment() { }
|
|
3541
|
+
if (false) {
|
|
3542
|
+
/** @type {?} */
|
|
3543
|
+
RComment.prototype.textContent;
|
|
3544
|
+
}
|
|
3545
|
+
// Note: This hack is necessary so we don't erroneously get a circular dependency
|
|
3546
|
+
// failure based on types.
|
|
3547
|
+
/** @type {?} */
|
|
3548
|
+
const unusedValueExportToPlacateAjd$2 = 1;
|
|
3549
|
+
|
|
3550
|
+
/**
|
|
3551
|
+
* @fileoverview added by tsickle
|
|
3552
|
+
* Generated from: packages/core/src/render3/util/view_utils.ts
|
|
3553
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
3554
|
+
*/
|
|
3555
|
+
/**
|
|
3556
|
+
* For efficiency reasons we often put several different data types (`RNode`, `LView`, `LContainer`)
|
|
3557
|
+
* in same location in `LView`. This is because we don't want to pre-allocate space for it
|
|
3558
|
+
* because the storage is sparse. This file contains utilities for dealing with such data types.
|
|
3559
|
+
*
|
|
3560
|
+
* How do we know what is stored at a given location in `LView`.
|
|
3561
|
+
* - `Array.isArray(value) === false` => `RNode` (The normal storage value)
|
|
3562
|
+
* - `Array.isArray(value) === true` => then the `value[0]` represents the wrapped value.
|
|
3563
|
+
* - `typeof value[TYPE] === 'object'` => `LView`
|
|
3564
|
+
* - This happens when we have a component at a given location
|
|
3565
|
+
* - `typeof value[TYPE] === true` => `LContainer`
|
|
3566
|
+
* - This happens when we have `LContainer` binding at a given location.
|
|
3567
|
+
*
|
|
3568
|
+
*
|
|
3569
|
+
* NOTE: it is assumed that `Array.isArray` and `typeof` operations are very efficient.
|
|
3570
|
+
*/
|
|
3571
|
+
/**
|
|
3572
|
+
* Returns `RNode`.
|
|
3573
|
+
* @param {?} value wrapped value of `RNode`, `LView`, `LContainer`
|
|
3574
|
+
* @return {?}
|
|
3575
|
+
*/
|
|
3576
|
+
function unwrapRNode(value) {
|
|
3577
|
+
while (Array.isArray(value)) {
|
|
3578
|
+
value = (/** @type {?} */ (value[HOST]));
|
|
3579
|
+
}
|
|
3580
|
+
return (/** @type {?} */ (value));
|
|
3581
|
+
}
|
|
3582
|
+
/**
|
|
3583
|
+
* Returns `LView` or `null` if not found.
|
|
3584
|
+
* @param {?} value wrapped value of `RNode`, `LView`, `LContainer`
|
|
3585
|
+
* @return {?}
|
|
3586
|
+
*/
|
|
3587
|
+
function unwrapLView(value) {
|
|
3588
|
+
while (Array.isArray(value)) {
|
|
3589
|
+
// This check is same as `isLView()` but we don't call at as we don't want to call
|
|
3590
|
+
// `Array.isArray()` twice and give JITer more work for inlining.
|
|
3591
|
+
if (typeof value[TYPE] === 'object')
|
|
3592
|
+
return (/** @type {?} */ (value));
|
|
3593
|
+
value = (/** @type {?} */ (value[HOST]));
|
|
3594
|
+
}
|
|
3595
|
+
return null;
|
|
3596
|
+
}
|
|
3597
|
+
/**
|
|
3598
|
+
* Returns `LContainer` or `null` if not found.
|
|
3599
|
+
* @param {?} value wrapped value of `RNode`, `LView`, `LContainer`
|
|
3600
|
+
* @return {?}
|
|
3601
|
+
*/
|
|
3602
|
+
function unwrapLContainer(value) {
|
|
3603
|
+
while (Array.isArray(value)) {
|
|
3604
|
+
// This check is same as `isLContainer()` but we don't call at as we don't want to call
|
|
3605
|
+
// `Array.isArray()` twice and give JITer more work for inlining.
|
|
3606
|
+
if (value[TYPE] === true)
|
|
3607
|
+
return (/** @type {?} */ (value));
|
|
3608
|
+
value = (/** @type {?} */ (value[HOST]));
|
|
3609
|
+
}
|
|
3610
|
+
return null;
|
|
3611
|
+
}
|
|
3612
|
+
/**
|
|
3613
|
+
* Retrieves an element value from the provided `viewData`, by unwrapping
|
|
3614
|
+
* from any containers, component views, or style contexts.
|
|
3615
|
+
* @param {?} index
|
|
3616
|
+
* @param {?} lView
|
|
3617
|
+
* @return {?}
|
|
3618
|
+
*/
|
|
3619
|
+
function getNativeByIndex(index, lView) {
|
|
3620
|
+
return unwrapRNode(lView[index + HEADER_OFFSET]);
|
|
3621
|
+
}
|
|
3622
|
+
/**
|
|
3623
|
+
* Retrieve an `RNode` for a given `TNode` and `LView`.
|
|
3624
|
+
*
|
|
3625
|
+
* This function guarantees in dev mode to retrieve a non-null `RNode`.
|
|
3626
|
+
*
|
|
3627
|
+
* @param {?} tNode
|
|
3628
|
+
* @param {?} lView
|
|
3629
|
+
* @return {?}
|
|
3630
|
+
*/
|
|
3631
|
+
function getNativeByTNode(tNode, lView) {
|
|
3632
|
+
ngDevMode && assertTNodeForLView(tNode, lView);
|
|
3633
|
+
ngDevMode && assertDataInRange(lView, tNode.index);
|
|
3634
|
+
/** @type {?} */
|
|
3635
|
+
const node = unwrapRNode(lView[tNode.index]);
|
|
3636
|
+
ngDevMode && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);
|
|
3637
|
+
return node;
|
|
3638
|
+
}
|
|
3639
|
+
/**
|
|
3640
|
+
* Retrieve an `RNode` or `null` for a given `TNode` and `LView`.
|
|
3641
|
+
*
|
|
3642
|
+
* Some `TNode`s don't have associated `RNode`s. For example `Projection`
|
|
3643
|
+
*
|
|
3644
|
+
* @param {?} tNode
|
|
3645
|
+
* @param {?} lView
|
|
3646
|
+
* @return {?}
|
|
3647
|
+
*/
|
|
3648
|
+
function getNativeByTNodeOrNull(tNode, lView) {
|
|
3649
|
+
/** @type {?} */
|
|
3650
|
+
const index = tNode.index;
|
|
3651
|
+
if (index !== -1) {
|
|
3652
|
+
ngDevMode && assertTNodeForLView(tNode, lView);
|
|
3653
|
+
/** @type {?} */
|
|
3654
|
+
const node = unwrapRNode(lView[index]);
|
|
3655
|
+
ngDevMode && node !== null && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);
|
|
3656
|
+
return node;
|
|
3657
|
+
}
|
|
3658
|
+
return null;
|
|
3659
|
+
}
|
|
3660
|
+
/**
|
|
3661
|
+
* @param {?} tView
|
|
3662
|
+
* @param {?} index
|
|
3663
|
+
* @return {?}
|
|
3664
|
+
*/
|
|
3665
|
+
function getTNode(tView, index) {
|
|
3666
|
+
ngDevMode && assertGreaterThan(index, -1, 'wrong index for TNode');
|
|
3667
|
+
ngDevMode && assertLessThan(index, tView.data.length, 'wrong index for TNode');
|
|
3668
|
+
return (/** @type {?} */ (tView.data[index + HEADER_OFFSET]));
|
|
3669
|
+
}
|
|
3670
|
+
/**
|
|
3671
|
+
* Retrieves a value from any `LView` or `TData`.
|
|
3672
|
+
* @template T
|
|
3673
|
+
* @param {?} view
|
|
3674
|
+
* @param {?} index
|
|
3675
|
+
* @return {?}
|
|
3676
|
+
*/
|
|
3677
|
+
function load(view, index) {
|
|
3678
|
+
ngDevMode && assertDataInRange(view, index + HEADER_OFFSET);
|
|
3679
|
+
return view[index + HEADER_OFFSET];
|
|
3680
|
+
}
|
|
3681
|
+
/**
|
|
3682
|
+
* @param {?} nodeIndex
|
|
3683
|
+
* @param {?} hostView
|
|
3684
|
+
* @return {?}
|
|
3685
|
+
*/
|
|
3686
|
+
function getComponentLViewByIndex(nodeIndex, hostView) {
|
|
3687
|
+
// Could be an LView or an LContainer. If LContainer, unwrap to find LView.
|
|
3688
|
+
ngDevMode && assertDataInRange(hostView, nodeIndex);
|
|
3689
|
+
/** @type {?} */
|
|
3690
|
+
const slotValue = hostView[nodeIndex];
|
|
3691
|
+
/** @type {?} */
|
|
3692
|
+
const lView = isLView(slotValue) ? slotValue : slotValue[HOST];
|
|
3693
|
+
return lView;
|
|
3694
|
+
}
|
|
3695
|
+
/**
|
|
3696
|
+
* Returns the monkey-patch value data present on the target (which could be
|
|
3697
|
+
* a component, directive or a DOM node).
|
|
3698
|
+
* @param {?} target
|
|
3699
|
+
* @return {?}
|
|
3700
|
+
*/
|
|
3701
|
+
function readPatchedData(target) {
|
|
3702
|
+
ngDevMode && assertDefined(target, 'Target expected');
|
|
3703
|
+
return target[MONKEY_PATCH_KEY_NAME] || null;
|
|
3704
|
+
}
|
|
3705
|
+
/**
|
|
3706
|
+
* @param {?} target
|
|
3707
|
+
* @return {?}
|
|
3708
|
+
*/
|
|
3709
|
+
function readPatchedLView(target) {
|
|
3710
|
+
/** @type {?} */
|
|
3711
|
+
const value = readPatchedData(target);
|
|
3712
|
+
if (value) {
|
|
3713
|
+
return Array.isArray(value) ? value : ((/** @type {?} */ (value))).lView;
|
|
3714
|
+
}
|
|
3715
|
+
return null;
|
|
3716
|
+
}
|
|
3717
|
+
/**
|
|
3718
|
+
* Checks whether a given view is in creation mode
|
|
3719
|
+
* @param {?} view
|
|
3720
|
+
* @return {?}
|
|
3721
|
+
*/
|
|
3722
|
+
function isCreationMode(view) {
|
|
3723
|
+
return (view[FLAGS] & 4 /* CreationMode */) === 4 /* CreationMode */;
|
|
3724
|
+
}
|
|
3725
|
+
/**
|
|
3726
|
+
* Returns a boolean for whether the view is attached to the change detection tree.
|
|
3727
|
+
*
|
|
3728
|
+
* Note: This determines whether a view should be checked, not whether it's inserted
|
|
3729
|
+
* into a container. For that, you'll want `viewAttachedToContainer` below.
|
|
3730
|
+
* @param {?} view
|
|
3731
|
+
* @return {?}
|
|
3732
|
+
*/
|
|
3733
|
+
function viewAttachedToChangeDetector(view) {
|
|
3734
|
+
return (view[FLAGS] & 128 /* Attached */) === 128 /* Attached */;
|
|
3735
|
+
}
|
|
3736
|
+
/**
|
|
3737
|
+
* Returns a boolean for whether the view is attached to a container.
|
|
3738
|
+
* @param {?} view
|
|
3739
|
+
* @return {?}
|
|
3740
|
+
*/
|
|
3741
|
+
function viewAttachedToContainer(view) {
|
|
3742
|
+
return isLContainer(view[PARENT]);
|
|
3743
|
+
}
|
|
3744
|
+
/**
|
|
3745
|
+
* Returns a constant from `TConstants` instance.
|
|
3746
|
+
* @template T
|
|
3747
|
+
* @param {?} consts
|
|
3748
|
+
* @param {?} index
|
|
3749
|
+
* @return {?}
|
|
3750
|
+
*/
|
|
3751
|
+
function getConstant(consts, index) {
|
|
3752
|
+
return consts === null || index == null ? null : (/** @type {?} */ ((/** @type {?} */ (consts[index]))));
|
|
3753
|
+
}
|
|
3754
|
+
/**
|
|
3755
|
+
* Resets the pre-order hook flags of the view.
|
|
3756
|
+
* @param {?} lView the LView on which the flags are reset
|
|
3757
|
+
* @return {?}
|
|
3758
|
+
*/
|
|
3759
|
+
function resetPreOrderHookFlags(lView) {
|
|
3760
|
+
lView[PREORDER_HOOK_FLAGS] = 0;
|
|
3761
|
+
}
|
|
3762
|
+
/**
|
|
3763
|
+
* @param {?} lContainer
|
|
3764
|
+
* @return {?}
|
|
3765
|
+
*/
|
|
3766
|
+
function getLContainerActiveIndex(lContainer) {
|
|
3767
|
+
return lContainer[ACTIVE_INDEX] >> 1 /* SHIFT */;
|
|
3768
|
+
}
|
|
3769
|
+
/**
|
|
3770
|
+
* @param {?} lContainer
|
|
3771
|
+
* @param {?} index
|
|
3772
|
+
* @return {?}
|
|
3773
|
+
*/
|
|
3774
|
+
function setLContainerActiveIndex(lContainer, index) {
|
|
3775
|
+
lContainer[ACTIVE_INDEX] = index << 1 /* SHIFT */;
|
|
3776
|
+
}
|
|
3777
|
+
|
|
3042
3778
|
/**
|
|
3043
3779
|
* @fileoverview added by tsickle
|
|
3044
3780
|
* Generated from: packages/core/src/render3/state.ts
|
|
@@ -3645,6 +4381,15 @@ function getSelectedIndex() {
|
|
|
3645
4381
|
function setSelectedIndex(index) {
|
|
3646
4382
|
instructionState.lFrame.selectedIndex = index;
|
|
3647
4383
|
}
|
|
4384
|
+
/**
|
|
4385
|
+
* Gets the `tNode` that represents currently selected element.
|
|
4386
|
+
* @return {?}
|
|
4387
|
+
*/
|
|
4388
|
+
function getSelectedTNode() {
|
|
4389
|
+
/** @type {?} */
|
|
4390
|
+
const lFrame = instructionState.lFrame;
|
|
4391
|
+
return getTNode(lFrame.tView, lFrame.selectedIndex);
|
|
4392
|
+
}
|
|
3648
4393
|
/**
|
|
3649
4394
|
* Sets the namespace used to create elements to `'http://www.w3.org/2000/svg'` in global state.
|
|
3650
4395
|
*
|
|
@@ -4197,7 +4942,7 @@ function isFactory(obj) {
|
|
|
4197
4942
|
// Note: This hack is necessary so we don't erroneously get a circular dependency
|
|
4198
4943
|
// failure based on types.
|
|
4199
4944
|
/** @type {?} */
|
|
4200
|
-
const unusedValueExportToPlacateAjd$
|
|
4945
|
+
const unusedValueExportToPlacateAjd$3 = 1;
|
|
4201
4946
|
|
|
4202
4947
|
/**
|
|
4203
4948
|
* @fileoverview added by tsickle
|
|
@@ -4248,448 +4993,6 @@ function typeName(type) {
|
|
|
4248
4993
|
return '<unknown>';
|
|
4249
4994
|
}
|
|
4250
4995
|
|
|
4251
|
-
/**
|
|
4252
|
-
* @fileoverview added by tsickle
|
|
4253
|
-
* Generated from: packages/core/src/render3/interfaces/document.ts
|
|
4254
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4255
|
-
*/
|
|
4256
|
-
/**
|
|
4257
|
-
* @license
|
|
4258
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
4259
|
-
*
|
|
4260
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
4261
|
-
* found in the LICENSE file at https://angular.io/license
|
|
4262
|
-
*/
|
|
4263
|
-
/**
|
|
4264
|
-
* Most of the use of `document` in Angular is from within the DI system so it is possible to simply
|
|
4265
|
-
* inject the `DOCUMENT` token and are done.
|
|
4266
|
-
*
|
|
4267
|
-
* Ivy is special because it does not rely upon the DI and must get hold of the document some other
|
|
4268
|
-
* way.
|
|
4269
|
-
*
|
|
4270
|
-
* The solution is to define `getDocument()` and `setDocument()` top-level functions for ivy.
|
|
4271
|
-
* Wherever ivy needs the global document, it calls `getDocument()` instead.
|
|
4272
|
-
*
|
|
4273
|
-
* When running ivy outside of a browser environment, it is necessary to call `setDocument()` to
|
|
4274
|
-
* tell ivy what the global `document` is.
|
|
4275
|
-
*
|
|
4276
|
-
* Angular does this for us in each of the standard platforms (`Browser`, `Server`, and `WebWorker`)
|
|
4277
|
-
* by calling `setDocument()` when providing the `DOCUMENT` token.
|
|
4278
|
-
* @type {?}
|
|
4279
|
-
*/
|
|
4280
|
-
let DOCUMENT = undefined;
|
|
4281
|
-
/**
|
|
4282
|
-
* Tell ivy what the `document` is for this platform.
|
|
4283
|
-
*
|
|
4284
|
-
* It is only necessary to call this if the current platform is not a browser.
|
|
4285
|
-
*
|
|
4286
|
-
* @param {?} document The object representing the global `document` in this environment.
|
|
4287
|
-
* @return {?}
|
|
4288
|
-
*/
|
|
4289
|
-
function setDocument(document) {
|
|
4290
|
-
DOCUMENT = document;
|
|
4291
|
-
}
|
|
4292
|
-
/**
|
|
4293
|
-
* Access the object that represents the `document` for this platform.
|
|
4294
|
-
*
|
|
4295
|
-
* Ivy calls this whenever it needs to access the `document` object.
|
|
4296
|
-
* For example to create the renderer or to do sanitization.
|
|
4297
|
-
* @return {?}
|
|
4298
|
-
*/
|
|
4299
|
-
function getDocument() {
|
|
4300
|
-
if (DOCUMENT !== undefined) {
|
|
4301
|
-
return DOCUMENT;
|
|
4302
|
-
}
|
|
4303
|
-
else if (typeof document !== 'undefined') {
|
|
4304
|
-
return document;
|
|
4305
|
-
}
|
|
4306
|
-
// No "document" can be found. This should only happen if we are running ivy outside Angular and
|
|
4307
|
-
// the current platform is not a browser. Since this is not a supported scenario at the moment
|
|
4308
|
-
// this should not happen in Angular apps.
|
|
4309
|
-
// Once we support running ivy outside of Angular we will need to publish `setDocument()` as a
|
|
4310
|
-
// public API. Meanwhile we just return `undefined` and let the application fail.
|
|
4311
|
-
return (/** @type {?} */ (undefined));
|
|
4312
|
-
}
|
|
4313
|
-
|
|
4314
|
-
/**
|
|
4315
|
-
* @fileoverview added by tsickle
|
|
4316
|
-
* Generated from: packages/core/src/render3/interfaces/renderer.ts
|
|
4317
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4318
|
-
*/
|
|
4319
|
-
/** @enum {number} */
|
|
4320
|
-
const RendererStyleFlags3 = {
|
|
4321
|
-
Important: 1,
|
|
4322
|
-
DashCase: 2,
|
|
4323
|
-
};
|
|
4324
|
-
RendererStyleFlags3[RendererStyleFlags3.Important] = 'Important';
|
|
4325
|
-
RendererStyleFlags3[RendererStyleFlags3.DashCase] = 'DashCase';
|
|
4326
|
-
/**
|
|
4327
|
-
* Object Oriented style of API needed to create elements and text nodes.
|
|
4328
|
-
*
|
|
4329
|
-
* This is the native browser API style, e.g. operations are methods on individual objects
|
|
4330
|
-
* like HTMLElement. With this style, no additional code is needed as a facade
|
|
4331
|
-
* (reducing payload size).
|
|
4332
|
-
*
|
|
4333
|
-
* @record
|
|
4334
|
-
*/
|
|
4335
|
-
function ObjectOrientedRenderer3() { }
|
|
4336
|
-
if (false) {
|
|
4337
|
-
/**
|
|
4338
|
-
* @param {?} data
|
|
4339
|
-
* @return {?}
|
|
4340
|
-
*/
|
|
4341
|
-
ObjectOrientedRenderer3.prototype.createComment = function (data) { };
|
|
4342
|
-
/**
|
|
4343
|
-
* @param {?} tagName
|
|
4344
|
-
* @return {?}
|
|
4345
|
-
*/
|
|
4346
|
-
ObjectOrientedRenderer3.prototype.createElement = function (tagName) { };
|
|
4347
|
-
/**
|
|
4348
|
-
* @param {?} namespace
|
|
4349
|
-
* @param {?} tagName
|
|
4350
|
-
* @return {?}
|
|
4351
|
-
*/
|
|
4352
|
-
ObjectOrientedRenderer3.prototype.createElementNS = function (namespace, tagName) { };
|
|
4353
|
-
/**
|
|
4354
|
-
* @param {?} data
|
|
4355
|
-
* @return {?}
|
|
4356
|
-
*/
|
|
4357
|
-
ObjectOrientedRenderer3.prototype.createTextNode = function (data) { };
|
|
4358
|
-
/**
|
|
4359
|
-
* @param {?} selectors
|
|
4360
|
-
* @return {?}
|
|
4361
|
-
*/
|
|
4362
|
-
ObjectOrientedRenderer3.prototype.querySelector = function (selectors) { };
|
|
4363
|
-
}
|
|
4364
|
-
/**
|
|
4365
|
-
* Returns whether the `renderer` is a `ProceduralRenderer3`
|
|
4366
|
-
* @param {?} renderer
|
|
4367
|
-
* @return {?}
|
|
4368
|
-
*/
|
|
4369
|
-
function isProceduralRenderer(renderer) {
|
|
4370
|
-
return !!(((/** @type {?} */ (renderer))).listen);
|
|
4371
|
-
}
|
|
4372
|
-
/**
|
|
4373
|
-
* Procedural style of API needed to create elements and text nodes.
|
|
4374
|
-
*
|
|
4375
|
-
* In non-native browser environments (e.g. platforms such as web-workers), this is the
|
|
4376
|
-
* facade that enables element manipulation. This also facilitates backwards compatibility
|
|
4377
|
-
* with Renderer2.
|
|
4378
|
-
* @record
|
|
4379
|
-
*/
|
|
4380
|
-
function ProceduralRenderer3() { }
|
|
4381
|
-
if (false) {
|
|
4382
|
-
/**
|
|
4383
|
-
* This property is allowed to be null / undefined,
|
|
4384
|
-
* in which case the view engine won't call it.
|
|
4385
|
-
* This is used as a performance optimization for production mode.
|
|
4386
|
-
* @type {?|undefined}
|
|
4387
|
-
*/
|
|
4388
|
-
ProceduralRenderer3.prototype.destroyNode;
|
|
4389
|
-
/**
|
|
4390
|
-
* @return {?}
|
|
4391
|
-
*/
|
|
4392
|
-
ProceduralRenderer3.prototype.destroy = function () { };
|
|
4393
|
-
/**
|
|
4394
|
-
* @param {?} value
|
|
4395
|
-
* @return {?}
|
|
4396
|
-
*/
|
|
4397
|
-
ProceduralRenderer3.prototype.createComment = function (value) { };
|
|
4398
|
-
/**
|
|
4399
|
-
* @param {?} name
|
|
4400
|
-
* @param {?=} namespace
|
|
4401
|
-
* @return {?}
|
|
4402
|
-
*/
|
|
4403
|
-
ProceduralRenderer3.prototype.createElement = function (name, namespace) { };
|
|
4404
|
-
/**
|
|
4405
|
-
* @param {?} value
|
|
4406
|
-
* @return {?}
|
|
4407
|
-
*/
|
|
4408
|
-
ProceduralRenderer3.prototype.createText = function (value) { };
|
|
4409
|
-
/**
|
|
4410
|
-
* @param {?} parent
|
|
4411
|
-
* @param {?} newChild
|
|
4412
|
-
* @return {?}
|
|
4413
|
-
*/
|
|
4414
|
-
ProceduralRenderer3.prototype.appendChild = function (parent, newChild) { };
|
|
4415
|
-
/**
|
|
4416
|
-
* @param {?} parent
|
|
4417
|
-
* @param {?} newChild
|
|
4418
|
-
* @param {?} refChild
|
|
4419
|
-
* @return {?}
|
|
4420
|
-
*/
|
|
4421
|
-
ProceduralRenderer3.prototype.insertBefore = function (parent, newChild, refChild) { };
|
|
4422
|
-
/**
|
|
4423
|
-
* @param {?} parent
|
|
4424
|
-
* @param {?} oldChild
|
|
4425
|
-
* @param {?=} isHostElement
|
|
4426
|
-
* @return {?}
|
|
4427
|
-
*/
|
|
4428
|
-
ProceduralRenderer3.prototype.removeChild = function (parent, oldChild, isHostElement) { };
|
|
4429
|
-
/**
|
|
4430
|
-
* @param {?} selectorOrNode
|
|
4431
|
-
* @param {?=} preserveContent
|
|
4432
|
-
* @return {?}
|
|
4433
|
-
*/
|
|
4434
|
-
ProceduralRenderer3.prototype.selectRootElement = function (selectorOrNode, preserveContent) { };
|
|
4435
|
-
/**
|
|
4436
|
-
* @param {?} node
|
|
4437
|
-
* @return {?}
|
|
4438
|
-
*/
|
|
4439
|
-
ProceduralRenderer3.prototype.parentNode = function (node) { };
|
|
4440
|
-
/**
|
|
4441
|
-
* @param {?} node
|
|
4442
|
-
* @return {?}
|
|
4443
|
-
*/
|
|
4444
|
-
ProceduralRenderer3.prototype.nextSibling = function (node) { };
|
|
4445
|
-
/**
|
|
4446
|
-
* @param {?} el
|
|
4447
|
-
* @param {?} name
|
|
4448
|
-
* @param {?} value
|
|
4449
|
-
* @param {?=} namespace
|
|
4450
|
-
* @return {?}
|
|
4451
|
-
*/
|
|
4452
|
-
ProceduralRenderer3.prototype.setAttribute = function (el, name, value, namespace) { };
|
|
4453
|
-
/**
|
|
4454
|
-
* @param {?} el
|
|
4455
|
-
* @param {?} name
|
|
4456
|
-
* @param {?=} namespace
|
|
4457
|
-
* @return {?}
|
|
4458
|
-
*/
|
|
4459
|
-
ProceduralRenderer3.prototype.removeAttribute = function (el, name, namespace) { };
|
|
4460
|
-
/**
|
|
4461
|
-
* @param {?} el
|
|
4462
|
-
* @param {?} name
|
|
4463
|
-
* @return {?}
|
|
4464
|
-
*/
|
|
4465
|
-
ProceduralRenderer3.prototype.addClass = function (el, name) { };
|
|
4466
|
-
/**
|
|
4467
|
-
* @param {?} el
|
|
4468
|
-
* @param {?} name
|
|
4469
|
-
* @return {?}
|
|
4470
|
-
*/
|
|
4471
|
-
ProceduralRenderer3.prototype.removeClass = function (el, name) { };
|
|
4472
|
-
/**
|
|
4473
|
-
* @param {?} el
|
|
4474
|
-
* @param {?} style
|
|
4475
|
-
* @param {?} value
|
|
4476
|
-
* @param {?=} flags
|
|
4477
|
-
* @return {?}
|
|
4478
|
-
*/
|
|
4479
|
-
ProceduralRenderer3.prototype.setStyle = function (el, style, value, flags) { };
|
|
4480
|
-
/**
|
|
4481
|
-
* @param {?} el
|
|
4482
|
-
* @param {?} style
|
|
4483
|
-
* @param {?=} flags
|
|
4484
|
-
* @return {?}
|
|
4485
|
-
*/
|
|
4486
|
-
ProceduralRenderer3.prototype.removeStyle = function (el, style, flags) { };
|
|
4487
|
-
/**
|
|
4488
|
-
* @param {?} el
|
|
4489
|
-
* @param {?} name
|
|
4490
|
-
* @param {?} value
|
|
4491
|
-
* @return {?}
|
|
4492
|
-
*/
|
|
4493
|
-
ProceduralRenderer3.prototype.setProperty = function (el, name, value) { };
|
|
4494
|
-
/**
|
|
4495
|
-
* @param {?} node
|
|
4496
|
-
* @param {?} value
|
|
4497
|
-
* @return {?}
|
|
4498
|
-
*/
|
|
4499
|
-
ProceduralRenderer3.prototype.setValue = function (node, value) { };
|
|
4500
|
-
/**
|
|
4501
|
-
* @param {?} target
|
|
4502
|
-
* @param {?} eventName
|
|
4503
|
-
* @param {?} callback
|
|
4504
|
-
* @return {?}
|
|
4505
|
-
*/
|
|
4506
|
-
ProceduralRenderer3.prototype.listen = function (target, eventName, callback) { };
|
|
4507
|
-
}
|
|
4508
|
-
/**
|
|
4509
|
-
* @record
|
|
4510
|
-
*/
|
|
4511
|
-
function RendererFactory3() { }
|
|
4512
|
-
if (false) {
|
|
4513
|
-
/**
|
|
4514
|
-
* @param {?} hostElement
|
|
4515
|
-
* @param {?} rendererType
|
|
4516
|
-
* @return {?}
|
|
4517
|
-
*/
|
|
4518
|
-
RendererFactory3.prototype.createRenderer = function (hostElement, rendererType) { };
|
|
4519
|
-
/**
|
|
4520
|
-
* @return {?}
|
|
4521
|
-
*/
|
|
4522
|
-
RendererFactory3.prototype.begin = function () { };
|
|
4523
|
-
/**
|
|
4524
|
-
* @return {?}
|
|
4525
|
-
*/
|
|
4526
|
-
RendererFactory3.prototype.end = function () { };
|
|
4527
|
-
}
|
|
4528
|
-
const ɵ0$2 = /**
|
|
4529
|
-
* @param {?} hostElement
|
|
4530
|
-
* @param {?} rendererType
|
|
4531
|
-
* @return {?}
|
|
4532
|
-
*/
|
|
4533
|
-
(hostElement, rendererType) => { return getDocument(); };
|
|
4534
|
-
/** @type {?} */
|
|
4535
|
-
const domRendererFactory3 = {
|
|
4536
|
-
createRenderer: (ɵ0$2)
|
|
4537
|
-
};
|
|
4538
|
-
/**
|
|
4539
|
-
* Subset of API needed for appending elements and text nodes.
|
|
4540
|
-
* @record
|
|
4541
|
-
*/
|
|
4542
|
-
function RNode() { }
|
|
4543
|
-
if (false) {
|
|
4544
|
-
/**
|
|
4545
|
-
* Returns the parent Element, Document, or DocumentFragment
|
|
4546
|
-
* @type {?}
|
|
4547
|
-
*/
|
|
4548
|
-
RNode.prototype.parentNode;
|
|
4549
|
-
/**
|
|
4550
|
-
* Returns the parent Element if there is one
|
|
4551
|
-
* @type {?}
|
|
4552
|
-
*/
|
|
4553
|
-
RNode.prototype.parentElement;
|
|
4554
|
-
/**
|
|
4555
|
-
* Gets the Node immediately following this one in the parent's childNodes
|
|
4556
|
-
* @type {?}
|
|
4557
|
-
*/
|
|
4558
|
-
RNode.prototype.nextSibling;
|
|
4559
|
-
/**
|
|
4560
|
-
* Removes a child from the current node and returns the removed node
|
|
4561
|
-
* @param {?} oldChild the child node to remove
|
|
4562
|
-
* @return {?}
|
|
4563
|
-
*/
|
|
4564
|
-
RNode.prototype.removeChild = function (oldChild) { };
|
|
4565
|
-
/**
|
|
4566
|
-
* Insert a child node.
|
|
4567
|
-
*
|
|
4568
|
-
* Used exclusively for adding View root nodes into ViewAnchor location.
|
|
4569
|
-
* @param {?} newChild
|
|
4570
|
-
* @param {?} refChild
|
|
4571
|
-
* @param {?} isViewRoot
|
|
4572
|
-
* @return {?}
|
|
4573
|
-
*/
|
|
4574
|
-
RNode.prototype.insertBefore = function (newChild, refChild, isViewRoot) { };
|
|
4575
|
-
/**
|
|
4576
|
-
* Append a child node.
|
|
4577
|
-
*
|
|
4578
|
-
* Used exclusively for building up DOM which are static (ie not View roots)
|
|
4579
|
-
* @param {?} newChild
|
|
4580
|
-
* @return {?}
|
|
4581
|
-
*/
|
|
4582
|
-
RNode.prototype.appendChild = function (newChild) { };
|
|
4583
|
-
}
|
|
4584
|
-
/**
|
|
4585
|
-
* Subset of API needed for writing attributes, properties, and setting up
|
|
4586
|
-
* listeners on Element.
|
|
4587
|
-
* @record
|
|
4588
|
-
*/
|
|
4589
|
-
function RElement() { }
|
|
4590
|
-
if (false) {
|
|
4591
|
-
/** @type {?} */
|
|
4592
|
-
RElement.prototype.style;
|
|
4593
|
-
/** @type {?} */
|
|
4594
|
-
RElement.prototype.classList;
|
|
4595
|
-
/** @type {?} */
|
|
4596
|
-
RElement.prototype.className;
|
|
4597
|
-
/** @type {?} */
|
|
4598
|
-
RElement.prototype.textContent;
|
|
4599
|
-
/**
|
|
4600
|
-
* @param {?} name
|
|
4601
|
-
* @param {?} value
|
|
4602
|
-
* @return {?}
|
|
4603
|
-
*/
|
|
4604
|
-
RElement.prototype.setAttribute = function (name, value) { };
|
|
4605
|
-
/**
|
|
4606
|
-
* @param {?} name
|
|
4607
|
-
* @return {?}
|
|
4608
|
-
*/
|
|
4609
|
-
RElement.prototype.removeAttribute = function (name) { };
|
|
4610
|
-
/**
|
|
4611
|
-
* @param {?} namespaceURI
|
|
4612
|
-
* @param {?} qualifiedName
|
|
4613
|
-
* @param {?} value
|
|
4614
|
-
* @return {?}
|
|
4615
|
-
*/
|
|
4616
|
-
RElement.prototype.setAttributeNS = function (namespaceURI, qualifiedName, value) { };
|
|
4617
|
-
/**
|
|
4618
|
-
* @param {?} type
|
|
4619
|
-
* @param {?} listener
|
|
4620
|
-
* @param {?=} useCapture
|
|
4621
|
-
* @return {?}
|
|
4622
|
-
*/
|
|
4623
|
-
RElement.prototype.addEventListener = function (type, listener, useCapture) { };
|
|
4624
|
-
/**
|
|
4625
|
-
* @param {?} type
|
|
4626
|
-
* @param {?=} listener
|
|
4627
|
-
* @param {?=} options
|
|
4628
|
-
* @return {?}
|
|
4629
|
-
*/
|
|
4630
|
-
RElement.prototype.removeEventListener = function (type, listener, options) { };
|
|
4631
|
-
/**
|
|
4632
|
-
* @param {?} name
|
|
4633
|
-
* @param {?} value
|
|
4634
|
-
* @return {?}
|
|
4635
|
-
*/
|
|
4636
|
-
RElement.prototype.setProperty = function (name, value) { };
|
|
4637
|
-
}
|
|
4638
|
-
/**
|
|
4639
|
-
* @record
|
|
4640
|
-
*/
|
|
4641
|
-
function RCssStyleDeclaration() { }
|
|
4642
|
-
if (false) {
|
|
4643
|
-
/**
|
|
4644
|
-
* @param {?} propertyName
|
|
4645
|
-
* @return {?}
|
|
4646
|
-
*/
|
|
4647
|
-
RCssStyleDeclaration.prototype.removeProperty = function (propertyName) { };
|
|
4648
|
-
/**
|
|
4649
|
-
* @param {?} propertyName
|
|
4650
|
-
* @param {?} value
|
|
4651
|
-
* @param {?=} priority
|
|
4652
|
-
* @return {?}
|
|
4653
|
-
*/
|
|
4654
|
-
RCssStyleDeclaration.prototype.setProperty = function (propertyName, value, priority) { };
|
|
4655
|
-
}
|
|
4656
|
-
/**
|
|
4657
|
-
* @record
|
|
4658
|
-
*/
|
|
4659
|
-
function RDomTokenList() { }
|
|
4660
|
-
if (false) {
|
|
4661
|
-
/**
|
|
4662
|
-
* @param {?} token
|
|
4663
|
-
* @return {?}
|
|
4664
|
-
*/
|
|
4665
|
-
RDomTokenList.prototype.add = function (token) { };
|
|
4666
|
-
/**
|
|
4667
|
-
* @param {?} token
|
|
4668
|
-
* @return {?}
|
|
4669
|
-
*/
|
|
4670
|
-
RDomTokenList.prototype.remove = function (token) { };
|
|
4671
|
-
}
|
|
4672
|
-
/**
|
|
4673
|
-
* @record
|
|
4674
|
-
*/
|
|
4675
|
-
function RText() { }
|
|
4676
|
-
if (false) {
|
|
4677
|
-
/** @type {?} */
|
|
4678
|
-
RText.prototype.textContent;
|
|
4679
|
-
}
|
|
4680
|
-
/**
|
|
4681
|
-
* @record
|
|
4682
|
-
*/
|
|
4683
|
-
function RComment() { }
|
|
4684
|
-
if (false) {
|
|
4685
|
-
/** @type {?} */
|
|
4686
|
-
RComment.prototype.textContent;
|
|
4687
|
-
}
|
|
4688
|
-
// Note: This hack is necessary so we don't erroneously get a circular dependency
|
|
4689
|
-
// failure based on types.
|
|
4690
|
-
/** @type {?} */
|
|
4691
|
-
const unusedValueExportToPlacateAjd$3 = 1;
|
|
4692
|
-
|
|
4693
4996
|
/**
|
|
4694
4997
|
* @fileoverview added by tsickle
|
|
4695
4998
|
* Generated from: packages/core/src/render3/util/attrs_utils.ts
|
|
@@ -7359,297 +7662,6 @@ function normalizeDebugBindingValue(value) {
|
|
|
7359
7662
|
}
|
|
7360
7663
|
}
|
|
7361
7664
|
|
|
7362
|
-
/**
|
|
7363
|
-
* @fileoverview added by tsickle
|
|
7364
|
-
* Generated from: packages/core/src/render3/interfaces/context.ts
|
|
7365
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7366
|
-
*/
|
|
7367
|
-
/**
|
|
7368
|
-
* @license
|
|
7369
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
7370
|
-
*
|
|
7371
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
7372
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7373
|
-
*/
|
|
7374
|
-
/**
|
|
7375
|
-
* This property will be monkey-patched on elements, components and directives
|
|
7376
|
-
* @type {?}
|
|
7377
|
-
*/
|
|
7378
|
-
const MONKEY_PATCH_KEY_NAME = '__ngContext__';
|
|
7379
|
-
/**
|
|
7380
|
-
* The internal view context which is specific to a given DOM element, directive or
|
|
7381
|
-
* component instance. Each value in here (besides the LView and element node details)
|
|
7382
|
-
* can be present, null or undefined. If undefined then it implies the value has not been
|
|
7383
|
-
* looked up yet, otherwise, if null, then a lookup was executed and nothing was found.
|
|
7384
|
-
*
|
|
7385
|
-
* Each value will get filled when the respective value is examined within the getContext
|
|
7386
|
-
* function. The component, element and each directive instance will share the same instance
|
|
7387
|
-
* of the context.
|
|
7388
|
-
* @record
|
|
7389
|
-
*/
|
|
7390
|
-
function LContext() { }
|
|
7391
|
-
if (false) {
|
|
7392
|
-
/**
|
|
7393
|
-
* The component's parent view data.
|
|
7394
|
-
* @type {?}
|
|
7395
|
-
*/
|
|
7396
|
-
LContext.prototype.lView;
|
|
7397
|
-
/**
|
|
7398
|
-
* The index instance of the node.
|
|
7399
|
-
* @type {?}
|
|
7400
|
-
*/
|
|
7401
|
-
LContext.prototype.nodeIndex;
|
|
7402
|
-
/**
|
|
7403
|
-
* The instance of the DOM node that is attached to the lNode.
|
|
7404
|
-
* @type {?}
|
|
7405
|
-
*/
|
|
7406
|
-
LContext.prototype.native;
|
|
7407
|
-
/**
|
|
7408
|
-
* The instance of the Component node.
|
|
7409
|
-
* @type {?}
|
|
7410
|
-
*/
|
|
7411
|
-
LContext.prototype.component;
|
|
7412
|
-
/**
|
|
7413
|
-
* The list of active directives that exist on this element.
|
|
7414
|
-
* @type {?}
|
|
7415
|
-
*/
|
|
7416
|
-
LContext.prototype.directives;
|
|
7417
|
-
/**
|
|
7418
|
-
* The map of local references (local reference name => element or directive instance) that exist
|
|
7419
|
-
* on this element.
|
|
7420
|
-
* @type {?}
|
|
7421
|
-
*/
|
|
7422
|
-
LContext.prototype.localRefs;
|
|
7423
|
-
}
|
|
7424
|
-
|
|
7425
|
-
/**
|
|
7426
|
-
* @fileoverview added by tsickle
|
|
7427
|
-
* Generated from: packages/core/src/render3/util/view_utils.ts
|
|
7428
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
7429
|
-
*/
|
|
7430
|
-
/**
|
|
7431
|
-
* For efficiency reasons we often put several different data types (`RNode`, `LView`, `LContainer`)
|
|
7432
|
-
* in same location in `LView`. This is because we don't want to pre-allocate space for it
|
|
7433
|
-
* because the storage is sparse. This file contains utilities for dealing with such data types.
|
|
7434
|
-
*
|
|
7435
|
-
* How do we know what is stored at a given location in `LView`.
|
|
7436
|
-
* - `Array.isArray(value) === false` => `RNode` (The normal storage value)
|
|
7437
|
-
* - `Array.isArray(value) === true` => then the `value[0]` represents the wrapped value.
|
|
7438
|
-
* - `typeof value[TYPE] === 'object'` => `LView`
|
|
7439
|
-
* - This happens when we have a component at a given location
|
|
7440
|
-
* - `typeof value[TYPE] === true` => `LContainer`
|
|
7441
|
-
* - This happens when we have `LContainer` binding at a given location.
|
|
7442
|
-
*
|
|
7443
|
-
*
|
|
7444
|
-
* NOTE: it is assumed that `Array.isArray` and `typeof` operations are very efficient.
|
|
7445
|
-
*/
|
|
7446
|
-
/**
|
|
7447
|
-
* Returns `RNode`.
|
|
7448
|
-
* @param {?} value wrapped value of `RNode`, `LView`, `LContainer`
|
|
7449
|
-
* @return {?}
|
|
7450
|
-
*/
|
|
7451
|
-
function unwrapRNode(value) {
|
|
7452
|
-
while (Array.isArray(value)) {
|
|
7453
|
-
value = (/** @type {?} */ (value[HOST]));
|
|
7454
|
-
}
|
|
7455
|
-
return (/** @type {?} */ (value));
|
|
7456
|
-
}
|
|
7457
|
-
/**
|
|
7458
|
-
* Returns `LView` or `null` if not found.
|
|
7459
|
-
* @param {?} value wrapped value of `RNode`, `LView`, `LContainer`
|
|
7460
|
-
* @return {?}
|
|
7461
|
-
*/
|
|
7462
|
-
function unwrapLView(value) {
|
|
7463
|
-
while (Array.isArray(value)) {
|
|
7464
|
-
// This check is same as `isLView()` but we don't call at as we don't want to call
|
|
7465
|
-
// `Array.isArray()` twice and give JITer more work for inlining.
|
|
7466
|
-
if (typeof value[TYPE] === 'object')
|
|
7467
|
-
return (/** @type {?} */ (value));
|
|
7468
|
-
value = (/** @type {?} */ (value[HOST]));
|
|
7469
|
-
}
|
|
7470
|
-
return null;
|
|
7471
|
-
}
|
|
7472
|
-
/**
|
|
7473
|
-
* Returns `LContainer` or `null` if not found.
|
|
7474
|
-
* @param {?} value wrapped value of `RNode`, `LView`, `LContainer`
|
|
7475
|
-
* @return {?}
|
|
7476
|
-
*/
|
|
7477
|
-
function unwrapLContainer(value) {
|
|
7478
|
-
while (Array.isArray(value)) {
|
|
7479
|
-
// This check is same as `isLContainer()` but we don't call at as we don't want to call
|
|
7480
|
-
// `Array.isArray()` twice and give JITer more work for inlining.
|
|
7481
|
-
if (value[TYPE] === true)
|
|
7482
|
-
return (/** @type {?} */ (value));
|
|
7483
|
-
value = (/** @type {?} */ (value[HOST]));
|
|
7484
|
-
}
|
|
7485
|
-
return null;
|
|
7486
|
-
}
|
|
7487
|
-
/**
|
|
7488
|
-
* Retrieves an element value from the provided `viewData`, by unwrapping
|
|
7489
|
-
* from any containers, component views, or style contexts.
|
|
7490
|
-
* @param {?} index
|
|
7491
|
-
* @param {?} lView
|
|
7492
|
-
* @return {?}
|
|
7493
|
-
*/
|
|
7494
|
-
function getNativeByIndex(index, lView) {
|
|
7495
|
-
return unwrapRNode(lView[index + HEADER_OFFSET]);
|
|
7496
|
-
}
|
|
7497
|
-
/**
|
|
7498
|
-
* Retrieve an `RNode` for a given `TNode` and `LView`.
|
|
7499
|
-
*
|
|
7500
|
-
* This function guarantees in dev mode to retrieve a non-null `RNode`.
|
|
7501
|
-
*
|
|
7502
|
-
* @param {?} tNode
|
|
7503
|
-
* @param {?} lView
|
|
7504
|
-
* @return {?}
|
|
7505
|
-
*/
|
|
7506
|
-
function getNativeByTNode(tNode, lView) {
|
|
7507
|
-
ngDevMode && assertTNodeForLView(tNode, lView);
|
|
7508
|
-
ngDevMode && assertDataInRange(lView, tNode.index);
|
|
7509
|
-
/** @type {?} */
|
|
7510
|
-
const node = unwrapRNode(lView[tNode.index]);
|
|
7511
|
-
ngDevMode && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);
|
|
7512
|
-
return node;
|
|
7513
|
-
}
|
|
7514
|
-
/**
|
|
7515
|
-
* Retrieve an `RNode` or `null` for a given `TNode` and `LView`.
|
|
7516
|
-
*
|
|
7517
|
-
* Some `TNode`s don't have associated `RNode`s. For example `Projection`
|
|
7518
|
-
*
|
|
7519
|
-
* @param {?} tNode
|
|
7520
|
-
* @param {?} lView
|
|
7521
|
-
* @return {?}
|
|
7522
|
-
*/
|
|
7523
|
-
function getNativeByTNodeOrNull(tNode, lView) {
|
|
7524
|
-
/** @type {?} */
|
|
7525
|
-
const index = tNode.index;
|
|
7526
|
-
if (index !== -1) {
|
|
7527
|
-
ngDevMode && assertTNodeForLView(tNode, lView);
|
|
7528
|
-
/** @type {?} */
|
|
7529
|
-
const node = unwrapRNode(lView[index]);
|
|
7530
|
-
ngDevMode && node !== null && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);
|
|
7531
|
-
return node;
|
|
7532
|
-
}
|
|
7533
|
-
return null;
|
|
7534
|
-
}
|
|
7535
|
-
/**
|
|
7536
|
-
* @param {?} tView
|
|
7537
|
-
* @param {?} index
|
|
7538
|
-
* @return {?}
|
|
7539
|
-
*/
|
|
7540
|
-
function getTNode(tView, index) {
|
|
7541
|
-
ngDevMode && assertGreaterThan(index, -1, 'wrong index for TNode');
|
|
7542
|
-
ngDevMode && assertLessThan(index, tView.data.length, 'wrong index for TNode');
|
|
7543
|
-
return (/** @type {?} */ (tView.data[index + HEADER_OFFSET]));
|
|
7544
|
-
}
|
|
7545
|
-
/**
|
|
7546
|
-
* Retrieves a value from any `LView` or `TData`.
|
|
7547
|
-
* @template T
|
|
7548
|
-
* @param {?} view
|
|
7549
|
-
* @param {?} index
|
|
7550
|
-
* @return {?}
|
|
7551
|
-
*/
|
|
7552
|
-
function load(view, index) {
|
|
7553
|
-
ngDevMode && assertDataInRange(view, index + HEADER_OFFSET);
|
|
7554
|
-
return view[index + HEADER_OFFSET];
|
|
7555
|
-
}
|
|
7556
|
-
/**
|
|
7557
|
-
* @param {?} nodeIndex
|
|
7558
|
-
* @param {?} hostView
|
|
7559
|
-
* @return {?}
|
|
7560
|
-
*/
|
|
7561
|
-
function getComponentLViewByIndex(nodeIndex, hostView) {
|
|
7562
|
-
// Could be an LView or an LContainer. If LContainer, unwrap to find LView.
|
|
7563
|
-
ngDevMode && assertDataInRange(hostView, nodeIndex);
|
|
7564
|
-
/** @type {?} */
|
|
7565
|
-
const slotValue = hostView[nodeIndex];
|
|
7566
|
-
/** @type {?} */
|
|
7567
|
-
const lView = isLView(slotValue) ? slotValue : slotValue[HOST];
|
|
7568
|
-
return lView;
|
|
7569
|
-
}
|
|
7570
|
-
/**
|
|
7571
|
-
* Returns the monkey-patch value data present on the target (which could be
|
|
7572
|
-
* a component, directive or a DOM node).
|
|
7573
|
-
* @param {?} target
|
|
7574
|
-
* @return {?}
|
|
7575
|
-
*/
|
|
7576
|
-
function readPatchedData(target) {
|
|
7577
|
-
ngDevMode && assertDefined(target, 'Target expected');
|
|
7578
|
-
return target[MONKEY_PATCH_KEY_NAME] || null;
|
|
7579
|
-
}
|
|
7580
|
-
/**
|
|
7581
|
-
* @param {?} target
|
|
7582
|
-
* @return {?}
|
|
7583
|
-
*/
|
|
7584
|
-
function readPatchedLView(target) {
|
|
7585
|
-
/** @type {?} */
|
|
7586
|
-
const value = readPatchedData(target);
|
|
7587
|
-
if (value) {
|
|
7588
|
-
return Array.isArray(value) ? value : ((/** @type {?} */ (value))).lView;
|
|
7589
|
-
}
|
|
7590
|
-
return null;
|
|
7591
|
-
}
|
|
7592
|
-
/**
|
|
7593
|
-
* Checks whether a given view is in creation mode
|
|
7594
|
-
* @param {?} view
|
|
7595
|
-
* @return {?}
|
|
7596
|
-
*/
|
|
7597
|
-
function isCreationMode(view) {
|
|
7598
|
-
return (view[FLAGS] & 4 /* CreationMode */) === 4 /* CreationMode */;
|
|
7599
|
-
}
|
|
7600
|
-
/**
|
|
7601
|
-
* Returns a boolean for whether the view is attached to the change detection tree.
|
|
7602
|
-
*
|
|
7603
|
-
* Note: This determines whether a view should be checked, not whether it's inserted
|
|
7604
|
-
* into a container. For that, you'll want `viewAttachedToContainer` below.
|
|
7605
|
-
* @param {?} view
|
|
7606
|
-
* @return {?}
|
|
7607
|
-
*/
|
|
7608
|
-
function viewAttachedToChangeDetector(view) {
|
|
7609
|
-
return (view[FLAGS] & 128 /* Attached */) === 128 /* Attached */;
|
|
7610
|
-
}
|
|
7611
|
-
/**
|
|
7612
|
-
* Returns a boolean for whether the view is attached to a container.
|
|
7613
|
-
* @param {?} view
|
|
7614
|
-
* @return {?}
|
|
7615
|
-
*/
|
|
7616
|
-
function viewAttachedToContainer(view) {
|
|
7617
|
-
return isLContainer(view[PARENT]);
|
|
7618
|
-
}
|
|
7619
|
-
/**
|
|
7620
|
-
* Returns a constant from `TConstants` instance.
|
|
7621
|
-
* @template T
|
|
7622
|
-
* @param {?} consts
|
|
7623
|
-
* @param {?} index
|
|
7624
|
-
* @return {?}
|
|
7625
|
-
*/
|
|
7626
|
-
function getConstant(consts, index) {
|
|
7627
|
-
return consts === null || index == null ? null : (/** @type {?} */ ((/** @type {?} */ (consts[index]))));
|
|
7628
|
-
}
|
|
7629
|
-
/**
|
|
7630
|
-
* Resets the pre-order hook flags of the view.
|
|
7631
|
-
* @param {?} lView the LView on which the flags are reset
|
|
7632
|
-
* @return {?}
|
|
7633
|
-
*/
|
|
7634
|
-
function resetPreOrderHookFlags(lView) {
|
|
7635
|
-
lView[PREORDER_HOOK_FLAGS] = 0;
|
|
7636
|
-
}
|
|
7637
|
-
/**
|
|
7638
|
-
* @param {?} lContainer
|
|
7639
|
-
* @return {?}
|
|
7640
|
-
*/
|
|
7641
|
-
function getLContainerActiveIndex(lContainer) {
|
|
7642
|
-
return lContainer[ACTIVE_INDEX] >> 1 /* SHIFT */;
|
|
7643
|
-
}
|
|
7644
|
-
/**
|
|
7645
|
-
* @param {?} lContainer
|
|
7646
|
-
* @param {?} index
|
|
7647
|
-
* @return {?}
|
|
7648
|
-
*/
|
|
7649
|
-
function setLContainerActiveIndex(lContainer, index) {
|
|
7650
|
-
lContainer[ACTIVE_INDEX] = index << 1 /* SHIFT */;
|
|
7651
|
-
}
|
|
7652
|
-
|
|
7653
7665
|
/**
|
|
7654
7666
|
* @fileoverview added by tsickle
|
|
7655
7667
|
* Generated from: packages/core/src/render3/context_discovery.ts
|
|
@@ -12375,21 +12387,19 @@ function mapPropName(name) {
|
|
|
12375
12387
|
/**
|
|
12376
12388
|
* @template T
|
|
12377
12389
|
* @param {?} tView
|
|
12390
|
+
* @param {?} tNode
|
|
12378
12391
|
* @param {?} lView
|
|
12379
|
-
* @param {?} index
|
|
12380
12392
|
* @param {?} propName
|
|
12381
12393
|
* @param {?} value
|
|
12382
|
-
* @param {
|
|
12383
|
-
* @param {
|
|
12384
|
-
* @param {
|
|
12394
|
+
* @param {?} renderer
|
|
12395
|
+
* @param {?} sanitizer
|
|
12396
|
+
* @param {?} nativeOnly
|
|
12385
12397
|
* @return {?}
|
|
12386
12398
|
*/
|
|
12387
|
-
function elementPropertyInternal(tView,
|
|
12399
|
+
function elementPropertyInternal(tView, tNode, lView, propName, value, renderer, sanitizer, nativeOnly) {
|
|
12388
12400
|
ngDevMode && assertNotSame(value, (/** @type {?} */ (NO_CHANGE)), 'Incoming value should never be NO_CHANGE.');
|
|
12389
12401
|
/** @type {?} */
|
|
12390
|
-
const element = (/** @type {?} */ (
|
|
12391
|
-
/** @type {?} */
|
|
12392
|
-
const tNode = getTNode(tView, index);
|
|
12402
|
+
const element = (/** @type {?} */ (getNativeByTNode(tNode, lView)));
|
|
12393
12403
|
/** @type {?} */
|
|
12394
12404
|
let inputData = tNode.inputs;
|
|
12395
12405
|
/** @type {?} */
|
|
@@ -12397,7 +12407,7 @@ function elementPropertyInternal(tView, lView, index, propName, value, sanitizer
|
|
|
12397
12407
|
if (!nativeOnly && inputData != null && (dataValue = inputData[propName])) {
|
|
12398
12408
|
setInputsForProperty(tView, lView, dataValue, propName, value);
|
|
12399
12409
|
if (isComponentHost(tNode))
|
|
12400
|
-
markDirtyIfOnPush(lView, index
|
|
12410
|
+
markDirtyIfOnPush(lView, tNode.index);
|
|
12401
12411
|
if (ngDevMode) {
|
|
12402
12412
|
setNgReflectProperties(lView, element, tNode.type, dataValue, value);
|
|
12403
12413
|
}
|
|
@@ -12413,8 +12423,6 @@ function elementPropertyInternal(tView, lView, index, propName, value, sanitizer
|
|
|
12413
12423
|
}
|
|
12414
12424
|
ngDevMode.rendererSetProperty++;
|
|
12415
12425
|
}
|
|
12416
|
-
/** @type {?} */
|
|
12417
|
-
const renderer = loadRendererFn ? loadRendererFn(tNode, lView) : lView[RENDERER];
|
|
12418
12426
|
// It is assumed that the sanitizer is only added when the compiler determines that the
|
|
12419
12427
|
// property is risky, so sanitization can be done without further checks.
|
|
12420
12428
|
value = sanitizer != null ? ((/** @type {?} */ (sanitizer(value, tNode.tagName || '', propName)))) : value;
|
|
@@ -12969,20 +12977,19 @@ function addComponentLogic(lView, hostTNode, def) {
|
|
|
12969
12977
|
lView[hostTNode.index] = componentView;
|
|
12970
12978
|
}
|
|
12971
12979
|
/**
|
|
12972
|
-
* @param {?}
|
|
12980
|
+
* @param {?} tNode
|
|
12981
|
+
* @param {?} lView
|
|
12973
12982
|
* @param {?} name
|
|
12974
12983
|
* @param {?} value
|
|
12975
|
-
* @param {?}
|
|
12976
|
-
* @param {?}
|
|
12977
|
-
* @param {?=} sanitizer
|
|
12978
|
-
* @param {?=} namespace
|
|
12984
|
+
* @param {?} sanitizer
|
|
12985
|
+
* @param {?} namespace
|
|
12979
12986
|
* @return {?}
|
|
12980
12987
|
*/
|
|
12981
|
-
function elementAttributeInternal(
|
|
12988
|
+
function elementAttributeInternal(tNode, lView, name, value, sanitizer, namespace) {
|
|
12982
12989
|
ngDevMode && assertNotSame(value, (/** @type {?} */ (NO_CHANGE)), 'Incoming value should never be NO_CHANGE.');
|
|
12983
12990
|
ngDevMode && validateAgainstEventAttributes(name);
|
|
12984
12991
|
/** @type {?} */
|
|
12985
|
-
const element = (/** @type {?} */ (
|
|
12992
|
+
const element = (/** @type {?} */ (getNativeByTNode(tNode, lView)));
|
|
12986
12993
|
/** @type {?} */
|
|
12987
12994
|
const renderer = lView[RENDERER];
|
|
12988
12995
|
if (value == null) {
|
|
@@ -12993,8 +13000,6 @@ function elementAttributeInternal(index, name, value, tView, lView, sanitizer, n
|
|
|
12993
13000
|
else {
|
|
12994
13001
|
ngDevMode && ngDevMode.rendererSetAttribute++;
|
|
12995
13002
|
/** @type {?} */
|
|
12996
|
-
const tNode = getTNode(tView, index);
|
|
12997
|
-
/** @type {?} */
|
|
12998
13003
|
const strValue = sanitizer == null ? renderStringify(value) : sanitizer(value, tNode.tagName || '', name);
|
|
12999
13004
|
if (isProceduralRenderer(renderer)) {
|
|
13000
13005
|
renderer.setAttribute(element, name, strValue, namespace);
|
|
@@ -13485,19 +13490,17 @@ function executeViewQueryFn(flags, viewQueryFn, component) {
|
|
|
13485
13490
|
* interpolated properties.
|
|
13486
13491
|
*
|
|
13487
13492
|
* @param {?} tData `TData` where meta-data will be saved;
|
|
13488
|
-
* @param {?}
|
|
13493
|
+
* @param {?} tNode `TNode` that is a target of the binding;
|
|
13489
13494
|
* @param {?} propertyName bound property name;
|
|
13490
13495
|
* @param {?} bindingIndex binding index in `LView`
|
|
13491
13496
|
* @param {...?} interpolationParts static interpolation parts (for property interpolations)
|
|
13492
13497
|
* @return {?}
|
|
13493
13498
|
*/
|
|
13494
|
-
function storePropertyBindingMetadata(tData,
|
|
13499
|
+
function storePropertyBindingMetadata(tData, tNode, propertyName, bindingIndex, ...interpolationParts) {
|
|
13495
13500
|
// Binding meta-data are stored only the first time a given property instruction is processed.
|
|
13496
13501
|
// Since we don't have a concept of the "first update pass" we need to check for presence of the
|
|
13497
13502
|
// binding meta-data to decide if one should be stored (or if was stored already).
|
|
13498
13503
|
if (tData[bindingIndex] === null) {
|
|
13499
|
-
/** @type {?} */
|
|
13500
|
-
const tNode = (/** @type {?} */ (tData[nodeIndex + HEADER_OFFSET]));
|
|
13501
13504
|
if (tNode.inputs == null || !tNode.inputs[propertyName]) {
|
|
13502
13505
|
/** @type {?} */
|
|
13503
13506
|
const propBindingIdxs = tNode.propertyBindings || (tNode.propertyBindings = []);
|
|
@@ -13609,7 +13612,7 @@ function textBindingInternal(lView, index, value) {
|
|
|
13609
13612
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
13610
13613
|
*/
|
|
13611
13614
|
/** @type {?} */
|
|
13612
|
-
const unusedValueToPlacateAjd$1 = unusedValueExportToPlacateAjd$1 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$5 + unusedValueExportToPlacateAjd$
|
|
13615
|
+
const unusedValueToPlacateAjd$1 = unusedValueExportToPlacateAjd$1 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$5 + unusedValueExportToPlacateAjd$2 + unusedValueExportToPlacateAjd;
|
|
13613
13616
|
/**
|
|
13614
13617
|
* @param {?} tNode
|
|
13615
13618
|
* @param {?} embeddedView
|
|
@@ -19847,12 +19850,12 @@ function ɵɵattribute(name, value, sanitizer, namespace) {
|
|
|
19847
19850
|
/** @type {?} */
|
|
19848
19851
|
const bindingIndex = nextBindingIndex();
|
|
19849
19852
|
if (bindingUpdated(lView, bindingIndex, value)) {
|
|
19850
|
-
/** @type {?} */
|
|
19851
|
-
const nodeIndex = getSelectedIndex();
|
|
19852
19853
|
/** @type {?} */
|
|
19853
19854
|
const tView = getTView();
|
|
19854
|
-
|
|
19855
|
-
|
|
19855
|
+
/** @type {?} */
|
|
19856
|
+
const tNode = getSelectedTNode();
|
|
19857
|
+
elementAttributeInternal(tNode, lView, name, value, sanitizer, namespace);
|
|
19858
|
+
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, 'attr.' + name, bindingIndex);
|
|
19856
19859
|
}
|
|
19857
19860
|
return ɵɵattribute;
|
|
19858
19861
|
}
|
|
@@ -20143,12 +20146,10 @@ function ɵɵattributeInterpolate1(attrName, prefix, v0, suffix, sanitizer, name
|
|
|
20143
20146
|
const interpolatedValue = interpolation1(lView, prefix, v0, suffix);
|
|
20144
20147
|
if (interpolatedValue !== NO_CHANGE) {
|
|
20145
20148
|
/** @type {?} */
|
|
20146
|
-
const
|
|
20147
|
-
|
|
20148
|
-
const tView = getTView();
|
|
20149
|
-
elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
|
|
20149
|
+
const tNode = getSelectedTNode();
|
|
20150
|
+
elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
|
|
20150
20151
|
ngDevMode &&
|
|
20151
|
-
storePropertyBindingMetadata(
|
|
20152
|
+
storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 1, prefix, suffix);
|
|
20152
20153
|
}
|
|
20153
20154
|
return ɵɵattributeInterpolate1;
|
|
20154
20155
|
}
|
|
@@ -20186,12 +20187,10 @@ function ɵɵattributeInterpolate2(attrName, prefix, v0, i0, v1, suffix, sanitiz
|
|
|
20186
20187
|
const interpolatedValue = interpolation2(lView, prefix, v0, i0, v1, suffix);
|
|
20187
20188
|
if (interpolatedValue !== NO_CHANGE) {
|
|
20188
20189
|
/** @type {?} */
|
|
20189
|
-
const
|
|
20190
|
-
|
|
20191
|
-
const tView = getTView();
|
|
20192
|
-
elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
|
|
20190
|
+
const tNode = getSelectedTNode();
|
|
20191
|
+
elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
|
|
20193
20192
|
ngDevMode &&
|
|
20194
|
-
storePropertyBindingMetadata(
|
|
20193
|
+
storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 2, prefix, i0, suffix);
|
|
20195
20194
|
}
|
|
20196
20195
|
return ɵɵattributeInterpolate2;
|
|
20197
20196
|
}
|
|
@@ -20232,11 +20231,9 @@ function ɵɵattributeInterpolate3(attrName, prefix, v0, i0, v1, i1, v2, suffix,
|
|
|
20232
20231
|
const interpolatedValue = interpolation3(lView, prefix, v0, i0, v1, i1, v2, suffix);
|
|
20233
20232
|
if (interpolatedValue !== NO_CHANGE) {
|
|
20234
20233
|
/** @type {?} */
|
|
20235
|
-
const
|
|
20236
|
-
|
|
20237
|
-
|
|
20238
|
-
elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
|
|
20239
|
-
ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 3, prefix, i0, i1, suffix);
|
|
20234
|
+
const tNode = getSelectedTNode();
|
|
20235
|
+
elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
|
|
20236
|
+
ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 3, prefix, i0, i1, suffix);
|
|
20240
20237
|
}
|
|
20241
20238
|
return ɵɵattributeInterpolate3;
|
|
20242
20239
|
}
|
|
@@ -20279,11 +20276,9 @@ function ɵɵattributeInterpolate4(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
|
|
|
20279
20276
|
const interpolatedValue = interpolation4(lView, prefix, v0, i0, v1, i1, v2, i2, v3, suffix);
|
|
20280
20277
|
if (interpolatedValue !== NO_CHANGE) {
|
|
20281
20278
|
/** @type {?} */
|
|
20282
|
-
const
|
|
20283
|
-
|
|
20284
|
-
|
|
20285
|
-
elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
|
|
20286
|
-
ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 4, prefix, i0, i1, i2, suffix);
|
|
20279
|
+
const tNode = getSelectedTNode();
|
|
20280
|
+
elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
|
|
20281
|
+
ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 4, prefix, i0, i1, i2, suffix);
|
|
20287
20282
|
}
|
|
20288
20283
|
return ɵɵattributeInterpolate4;
|
|
20289
20284
|
}
|
|
@@ -20328,11 +20323,9 @@ function ɵɵattributeInterpolate5(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
|
|
|
20328
20323
|
const interpolatedValue = interpolation5(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, suffix);
|
|
20329
20324
|
if (interpolatedValue !== NO_CHANGE) {
|
|
20330
20325
|
/** @type {?} */
|
|
20331
|
-
const
|
|
20332
|
-
|
|
20333
|
-
|
|
20334
|
-
elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
|
|
20335
|
-
ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 5, prefix, i0, i1, i2, i3, suffix);
|
|
20326
|
+
const tNode = getSelectedTNode();
|
|
20327
|
+
elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
|
|
20328
|
+
ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 5, prefix, i0, i1, i2, i3, suffix);
|
|
20336
20329
|
}
|
|
20337
20330
|
return ɵɵattributeInterpolate5;
|
|
20338
20331
|
}
|
|
@@ -20379,11 +20372,9 @@ function ɵɵattributeInterpolate6(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
|
|
|
20379
20372
|
const interpolatedValue = interpolation6(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, suffix);
|
|
20380
20373
|
if (interpolatedValue !== NO_CHANGE) {
|
|
20381
20374
|
/** @type {?} */
|
|
20382
|
-
const
|
|
20383
|
-
|
|
20384
|
-
|
|
20385
|
-
elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
|
|
20386
|
-
ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 6, prefix, i0, i1, i2, i3, i4, suffix);
|
|
20375
|
+
const tNode = getSelectedTNode();
|
|
20376
|
+
elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
|
|
20377
|
+
ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 6, prefix, i0, i1, i2, i3, i4, suffix);
|
|
20387
20378
|
}
|
|
20388
20379
|
return ɵɵattributeInterpolate6;
|
|
20389
20380
|
}
|
|
@@ -20432,11 +20423,9 @@ function ɵɵattributeInterpolate7(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
|
|
|
20432
20423
|
const interpolatedValue = interpolation7(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, suffix);
|
|
20433
20424
|
if (interpolatedValue !== NO_CHANGE) {
|
|
20434
20425
|
/** @type {?} */
|
|
20435
|
-
const
|
|
20436
|
-
|
|
20437
|
-
|
|
20438
|
-
elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
|
|
20439
|
-
ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 7, prefix, i0, i1, i2, i3, i4, i5, suffix);
|
|
20426
|
+
const tNode = getSelectedTNode();
|
|
20427
|
+
elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
|
|
20428
|
+
ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 7, prefix, i0, i1, i2, i3, i4, i5, suffix);
|
|
20440
20429
|
}
|
|
20441
20430
|
return ɵɵattributeInterpolate7;
|
|
20442
20431
|
}
|
|
@@ -20487,11 +20476,9 @@ function ɵɵattributeInterpolate8(attrName, prefix, v0, i0, v1, i1, v2, i2, v3,
|
|
|
20487
20476
|
const interpolatedValue = interpolation8(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, i6, v7, suffix);
|
|
20488
20477
|
if (interpolatedValue !== NO_CHANGE) {
|
|
20489
20478
|
/** @type {?} */
|
|
20490
|
-
const
|
|
20491
|
-
|
|
20492
|
-
|
|
20493
|
-
elementAttributeInternal(nodeIndex, attrName, interpolatedValue, tView, lView, sanitizer, namespace);
|
|
20494
|
-
ngDevMode && storePropertyBindingMetadata(tView.data, nodeIndex, 'attr.' + attrName, getBindingIndex() - 8, prefix, i0, i1, i2, i3, i4, i5, i6, suffix);
|
|
20479
|
+
const tNode = getSelectedTNode();
|
|
20480
|
+
elementAttributeInternal(tNode, lView, attrName, interpolatedValue, sanitizer, namespace);
|
|
20481
|
+
ngDevMode && storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - 8, prefix, i0, i1, i2, i3, i4, i5, i6, suffix);
|
|
20495
20482
|
}
|
|
20496
20483
|
return ɵɵattributeInterpolate8;
|
|
20497
20484
|
}
|
|
@@ -20529,17 +20516,15 @@ function ɵɵattributeInterpolateV(attrName, values, sanitizer, namespace) {
|
|
|
20529
20516
|
const interpolated = interpolationV(lView, values);
|
|
20530
20517
|
if (interpolated !== NO_CHANGE) {
|
|
20531
20518
|
/** @type {?} */
|
|
20532
|
-
const
|
|
20533
|
-
|
|
20534
|
-
const nodeIndex = getSelectedIndex();
|
|
20535
|
-
elementAttributeInternal(nodeIndex, attrName, interpolated, tView, lView, sanitizer, namespace);
|
|
20519
|
+
const tNode = getSelectedTNode();
|
|
20520
|
+
elementAttributeInternal(tNode, lView, attrName, interpolated, sanitizer, namespace);
|
|
20536
20521
|
if (ngDevMode) {
|
|
20537
20522
|
/** @type {?} */
|
|
20538
20523
|
const interpolationInBetween = [values[0]];
|
|
20539
20524
|
for (let i = 2; i < values.length; i += 2) {
|
|
20540
20525
|
interpolationInBetween.push(values[i]);
|
|
20541
20526
|
}
|
|
20542
|
-
storePropertyBindingMetadata(
|
|
20527
|
+
storePropertyBindingMetadata(getTView().data, tNode, 'attr.' + attrName, getBindingIndex() - interpolationInBetween.length + 1, ...interpolationInBetween);
|
|
20543
20528
|
}
|
|
20544
20529
|
}
|
|
20545
20530
|
return ɵɵattributeInterpolateV;
|
|
@@ -20934,12 +20919,12 @@ function ɵɵproperty(propName, value, sanitizer) {
|
|
|
20934
20919
|
/** @type {?} */
|
|
20935
20920
|
const bindingIndex = nextBindingIndex();
|
|
20936
20921
|
if (bindingUpdated(lView, bindingIndex, value)) {
|
|
20937
|
-
/** @type {?} */
|
|
20938
|
-
const nodeIndex = getSelectedIndex();
|
|
20939
20922
|
/** @type {?} */
|
|
20940
20923
|
const tView = getTView();
|
|
20941
|
-
|
|
20942
|
-
|
|
20924
|
+
/** @type {?} */
|
|
20925
|
+
const tNode = getSelectedTNode();
|
|
20926
|
+
elementPropertyInternal(tView, tNode, lView, propName, value, lView[RENDERER], sanitizer, false);
|
|
20927
|
+
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, bindingIndex);
|
|
20943
20928
|
}
|
|
20944
20929
|
return ɵɵproperty;
|
|
20945
20930
|
}
|
|
@@ -21995,12 +21980,12 @@ function ɵɵpropertyInterpolate1(propName, prefix, v0, suffix, sanitizer) {
|
|
|
21995
21980
|
/** @type {?} */
|
|
21996
21981
|
const interpolatedValue = interpolation1(lView, prefix, v0, suffix);
|
|
21997
21982
|
if (interpolatedValue !== NO_CHANGE) {
|
|
21998
|
-
/** @type {?} */
|
|
21999
|
-
const nodeIndex = getSelectedIndex();
|
|
22000
21983
|
/** @type {?} */
|
|
22001
21984
|
const tView = getTView();
|
|
22002
|
-
|
|
22003
|
-
|
|
21985
|
+
/** @type {?} */
|
|
21986
|
+
const tNode = getSelectedTNode();
|
|
21987
|
+
elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
|
|
21988
|
+
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 1, prefix, suffix);
|
|
22004
21989
|
}
|
|
22005
21990
|
return ɵɵpropertyInterpolate1;
|
|
22006
21991
|
}
|
|
@@ -22040,12 +22025,12 @@ function ɵɵpropertyInterpolate2(propName, prefix, v0, i0, v1, suffix, sanitize
|
|
|
22040
22025
|
/** @type {?} */
|
|
22041
22026
|
const interpolatedValue = interpolation2(lView, prefix, v0, i0, v1, suffix);
|
|
22042
22027
|
if (interpolatedValue !== NO_CHANGE) {
|
|
22043
|
-
/** @type {?} */
|
|
22044
|
-
const nodeIndex = getSelectedIndex();
|
|
22045
22028
|
/** @type {?} */
|
|
22046
22029
|
const tView = getTView();
|
|
22047
|
-
|
|
22048
|
-
|
|
22030
|
+
/** @type {?} */
|
|
22031
|
+
const tNode = getSelectedTNode();
|
|
22032
|
+
elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
|
|
22033
|
+
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 2, prefix, i0, suffix);
|
|
22049
22034
|
}
|
|
22050
22035
|
return ɵɵpropertyInterpolate2;
|
|
22051
22036
|
}
|
|
@@ -22088,13 +22073,12 @@ function ɵɵpropertyInterpolate3(propName, prefix, v0, i0, v1, i1, v2, suffix,
|
|
|
22088
22073
|
/** @type {?} */
|
|
22089
22074
|
const interpolatedValue = interpolation3(lView, prefix, v0, i0, v1, i1, v2, suffix);
|
|
22090
22075
|
if (interpolatedValue !== NO_CHANGE) {
|
|
22091
|
-
/** @type {?} */
|
|
22092
|
-
const nodeIndex = getSelectedIndex();
|
|
22093
22076
|
/** @type {?} */
|
|
22094
22077
|
const tView = getTView();
|
|
22095
|
-
|
|
22096
|
-
|
|
22097
|
-
|
|
22078
|
+
/** @type {?} */
|
|
22079
|
+
const tNode = getSelectedTNode();
|
|
22080
|
+
elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
|
|
22081
|
+
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 3, prefix, i0, i1, suffix);
|
|
22098
22082
|
}
|
|
22099
22083
|
return ɵɵpropertyInterpolate3;
|
|
22100
22084
|
}
|
|
@@ -22139,13 +22123,13 @@ function ɵɵpropertyInterpolate4(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
|
|
|
22139
22123
|
/** @type {?} */
|
|
22140
22124
|
const interpolatedValue = interpolation4(lView, prefix, v0, i0, v1, i1, v2, i2, v3, suffix);
|
|
22141
22125
|
if (interpolatedValue !== NO_CHANGE) {
|
|
22142
|
-
/** @type {?} */
|
|
22143
|
-
const nodeIndex = getSelectedIndex();
|
|
22144
22126
|
/** @type {?} */
|
|
22145
22127
|
const tView = getTView();
|
|
22146
|
-
|
|
22128
|
+
/** @type {?} */
|
|
22129
|
+
const tNode = getSelectedTNode();
|
|
22130
|
+
elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
|
|
22147
22131
|
ngDevMode &&
|
|
22148
|
-
storePropertyBindingMetadata(tView.data,
|
|
22132
|
+
storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 4, prefix, i0, i1, i2, suffix);
|
|
22149
22133
|
}
|
|
22150
22134
|
return ɵɵpropertyInterpolate4;
|
|
22151
22135
|
}
|
|
@@ -22192,13 +22176,13 @@ function ɵɵpropertyInterpolate5(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
|
|
|
22192
22176
|
/** @type {?} */
|
|
22193
22177
|
const interpolatedValue = interpolation5(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, suffix);
|
|
22194
22178
|
if (interpolatedValue !== NO_CHANGE) {
|
|
22195
|
-
/** @type {?} */
|
|
22196
|
-
const nodeIndex = getSelectedIndex();
|
|
22197
22179
|
/** @type {?} */
|
|
22198
22180
|
const tView = getTView();
|
|
22199
|
-
|
|
22181
|
+
/** @type {?} */
|
|
22182
|
+
const tNode = getSelectedTNode();
|
|
22183
|
+
elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
|
|
22200
22184
|
ngDevMode &&
|
|
22201
|
-
storePropertyBindingMetadata(tView.data,
|
|
22185
|
+
storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 5, prefix, i0, i1, i2, i3, suffix);
|
|
22202
22186
|
}
|
|
22203
22187
|
return ɵɵpropertyInterpolate5;
|
|
22204
22188
|
}
|
|
@@ -22247,12 +22231,13 @@ function ɵɵpropertyInterpolate6(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
|
|
|
22247
22231
|
/** @type {?} */
|
|
22248
22232
|
const interpolatedValue = interpolation6(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, suffix);
|
|
22249
22233
|
if (interpolatedValue !== NO_CHANGE) {
|
|
22250
|
-
/** @type {?} */
|
|
22251
|
-
const nodeIndex = getSelectedIndex();
|
|
22252
22234
|
/** @type {?} */
|
|
22253
22235
|
const tView = getTView();
|
|
22254
|
-
|
|
22255
|
-
|
|
22236
|
+
/** @type {?} */
|
|
22237
|
+
const tNode = getSelectedTNode();
|
|
22238
|
+
elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
|
|
22239
|
+
ngDevMode &&
|
|
22240
|
+
storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 6, prefix, i0, i1, i2, i3, i4, suffix);
|
|
22256
22241
|
}
|
|
22257
22242
|
return ɵɵpropertyInterpolate6;
|
|
22258
22243
|
}
|
|
@@ -22303,12 +22288,12 @@ function ɵɵpropertyInterpolate7(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
|
|
|
22303
22288
|
/** @type {?} */
|
|
22304
22289
|
const interpolatedValue = interpolation7(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, suffix);
|
|
22305
22290
|
if (interpolatedValue !== NO_CHANGE) {
|
|
22306
|
-
/** @type {?} */
|
|
22307
|
-
const nodeIndex = getSelectedIndex();
|
|
22308
22291
|
/** @type {?} */
|
|
22309
22292
|
const tView = getTView();
|
|
22310
|
-
|
|
22311
|
-
|
|
22293
|
+
/** @type {?} */
|
|
22294
|
+
const tNode = getSelectedTNode();
|
|
22295
|
+
elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
|
|
22296
|
+
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 7, prefix, i0, i1, i2, i3, i4, i5, suffix);
|
|
22312
22297
|
}
|
|
22313
22298
|
return ɵɵpropertyInterpolate7;
|
|
22314
22299
|
}
|
|
@@ -22361,12 +22346,12 @@ function ɵɵpropertyInterpolate8(propName, prefix, v0, i0, v1, i1, v2, i2, v3,
|
|
|
22361
22346
|
/** @type {?} */
|
|
22362
22347
|
const interpolatedValue = interpolation8(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, i6, v7, suffix);
|
|
22363
22348
|
if (interpolatedValue !== NO_CHANGE) {
|
|
22364
|
-
/** @type {?} */
|
|
22365
|
-
const nodeIndex = getSelectedIndex();
|
|
22366
22349
|
/** @type {?} */
|
|
22367
22350
|
const tView = getTView();
|
|
22368
|
-
|
|
22369
|
-
|
|
22351
|
+
/** @type {?} */
|
|
22352
|
+
const tNode = getSelectedTNode();
|
|
22353
|
+
elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
|
|
22354
|
+
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - 8, prefix, i0, i1, i2, i3, i4, i5, i6, suffix);
|
|
22370
22355
|
}
|
|
22371
22356
|
return ɵɵpropertyInterpolate8;
|
|
22372
22357
|
}
|
|
@@ -22406,18 +22391,18 @@ function ɵɵpropertyInterpolateV(propName, values, sanitizer) {
|
|
|
22406
22391
|
/** @type {?} */
|
|
22407
22392
|
const interpolatedValue = interpolationV(lView, values);
|
|
22408
22393
|
if (interpolatedValue !== NO_CHANGE) {
|
|
22409
|
-
/** @type {?} */
|
|
22410
|
-
const nodeIndex = getSelectedIndex();
|
|
22411
22394
|
/** @type {?} */
|
|
22412
22395
|
const tView = getTView();
|
|
22413
|
-
|
|
22396
|
+
/** @type {?} */
|
|
22397
|
+
const tNode = getSelectedTNode();
|
|
22398
|
+
elementPropertyInternal(tView, tNode, lView, propName, interpolatedValue, lView[RENDERER], sanitizer, false);
|
|
22414
22399
|
if (ngDevMode) {
|
|
22415
22400
|
/** @type {?} */
|
|
22416
22401
|
const interpolationInBetween = [values[0]];
|
|
22417
22402
|
for (let i = 2; i < values.length; i += 2) {
|
|
22418
22403
|
interpolationInBetween.push(values[i]);
|
|
22419
22404
|
}
|
|
22420
|
-
storePropertyBindingMetadata(tView.data,
|
|
22405
|
+
storePropertyBindingMetadata(tView.data, tNode, propName, getBindingIndex() - interpolationInBetween.length + 1, ...interpolationInBetween);
|
|
22421
22406
|
}
|
|
22422
22407
|
}
|
|
22423
22408
|
return ɵɵpropertyInterpolateV;
|
|
@@ -25573,12 +25558,12 @@ function ɵɵhostProperty(propName, value, sanitizer) {
|
|
|
25573
25558
|
/** @type {?} */
|
|
25574
25559
|
const bindingIndex = nextBindingIndex();
|
|
25575
25560
|
if (bindingUpdated(lView, bindingIndex, value)) {
|
|
25576
|
-
/** @type {?} */
|
|
25577
|
-
const nodeIndex = getSelectedIndex();
|
|
25578
25561
|
/** @type {?} */
|
|
25579
25562
|
const tView = getTView();
|
|
25580
|
-
|
|
25581
|
-
|
|
25563
|
+
/** @type {?} */
|
|
25564
|
+
const tNode = getSelectedTNode();
|
|
25565
|
+
elementPropertyInternal(tView, tNode, lView, propName, value, lView[RENDERER], sanitizer, true);
|
|
25566
|
+
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, bindingIndex);
|
|
25582
25567
|
}
|
|
25583
25568
|
return ɵɵhostProperty;
|
|
25584
25569
|
}
|
|
@@ -25610,12 +25595,14 @@ function ɵɵupdateSyntheticHostBinding(propName, value, sanitizer) {
|
|
|
25610
25595
|
/** @type {?} */
|
|
25611
25596
|
const bindingIndex = nextBindingIndex();
|
|
25612
25597
|
if (bindingUpdated(lView, bindingIndex, value)) {
|
|
25613
|
-
/** @type {?} */
|
|
25614
|
-
const nodeIndex = getSelectedIndex();
|
|
25615
25598
|
/** @type {?} */
|
|
25616
25599
|
const tView = getTView();
|
|
25617
|
-
|
|
25618
|
-
|
|
25600
|
+
/** @type {?} */
|
|
25601
|
+
const tNode = getSelectedTNode();
|
|
25602
|
+
/** @type {?} */
|
|
25603
|
+
const renderer = loadComponentRenderer(tNode, lView);
|
|
25604
|
+
elementPropertyInternal(tView, tNode, lView, propName, value, renderer, sanitizer, true);
|
|
25605
|
+
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, bindingIndex);
|
|
25619
25606
|
}
|
|
25620
25607
|
return ɵɵupdateSyntheticHostBinding;
|
|
25621
25608
|
}
|
|
@@ -28050,7 +28037,7 @@ if (false) {
|
|
|
28050
28037
|
* \@publicApi
|
|
28051
28038
|
* @type {?}
|
|
28052
28039
|
*/
|
|
28053
|
-
const VERSION = new Version('9.0.
|
|
28040
|
+
const VERSION = new Version('9.0.7');
|
|
28054
28041
|
|
|
28055
28042
|
/**
|
|
28056
28043
|
* @fileoverview added by tsickle
|
|
@@ -34820,14 +34807,20 @@ function i18nStartFirstPass(lView, tView, index, message, subTemplateIndex) {
|
|
|
34820
34807
|
for (let j = 0; j < parts.length; j++) {
|
|
34821
34808
|
if (j & 1) {
|
|
34822
34809
|
// Odd indexes are ICU expressions
|
|
34810
|
+
/** @type {?} */
|
|
34811
|
+
const icuExpression = (/** @type {?} */ (parts[j]));
|
|
34812
|
+
// Verify that ICU expression has the right shape. Translations might contain invalid
|
|
34813
|
+
// constructions (while original messages were correct), so ICU parsing at runtime may not
|
|
34814
|
+
// succeed (thus `icuExpression` remains a string).
|
|
34815
|
+
if (typeof icuExpression !== 'object') {
|
|
34816
|
+
throw new Error(`Unable to parse ICU expression in "${templateTranslation}" message.`);
|
|
34817
|
+
}
|
|
34823
34818
|
// Create the comment node that will anchor the ICU expression
|
|
34824
34819
|
/** @type {?} */
|
|
34825
34820
|
const icuNodeIndex = startIndex + i18nVarsCount++;
|
|
34826
34821
|
createOpCodes.push(COMMENT_MARKER, ngDevMode ? `ICU ${icuNodeIndex}` : '', icuNodeIndex, parentIndex << 17 /* SHIFT_PARENT */ | 1 /* AppendChild */);
|
|
34827
34822
|
// Update codes for the ICU expression
|
|
34828
34823
|
/** @type {?} */
|
|
34829
|
-
const icuExpression = (/** @type {?} */ (parts[j]));
|
|
34830
|
-
/** @type {?} */
|
|
34831
34824
|
const mask = getBindingMask(icuExpression);
|
|
34832
34825
|
icuStart(icuExpressions, icuExpression, icuNodeIndex, icuNodeIndex);
|
|
34833
34826
|
// Since this is recursive, the last TIcu that was pushed is the one we want
|
|
@@ -35231,7 +35224,7 @@ function readCreateOpCodes(index, createOpCodes, tView, lView) {
|
|
|
35231
35224
|
const attrValue = (/** @type {?} */ (createOpCodes[++i]));
|
|
35232
35225
|
// This code is used for ICU expressions only, since we don't support
|
|
35233
35226
|
// directives/components in ICUs, we don't need to worry about inputs here
|
|
35234
|
-
elementAttributeInternal(elementNodeIndex, attrName, attrValue,
|
|
35227
|
+
elementAttributeInternal(getTNode(tView, elementNodeIndex), lView, attrName, attrValue, null, null);
|
|
35235
35228
|
break;
|
|
35236
35229
|
default:
|
|
35237
35230
|
throw new Error(`Unable to determine the type of mutate operation for "${opCode}"`);
|
|
@@ -35327,7 +35320,7 @@ function readUpdateOpCodes(updateOpCodes, icus, bindingsStartIndex, changeMask,
|
|
|
35327
35320
|
const propName = (/** @type {?} */ (updateOpCodes[++j]));
|
|
35328
35321
|
/** @type {?} */
|
|
35329
35322
|
const sanitizeFn = (/** @type {?} */ (updateOpCodes[++j]));
|
|
35330
|
-
elementPropertyInternal(tView,
|
|
35323
|
+
elementPropertyInternal(tView, getTNode(tView, nodeIndex), lView, propName, value, lView[RENDERER], sanitizeFn, false);
|
|
35331
35324
|
break;
|
|
35332
35325
|
case 0 /* Text */:
|
|
35333
35326
|
textBindingInternal(lView, nodeIndex, value);
|
|
@@ -35519,7 +35512,7 @@ function i18nAttributesFirstPass(lView, tView, index, values) {
|
|
|
35519
35512
|
// Set attributes for Elements only, for other types (like ElementContainer),
|
|
35520
35513
|
// only set inputs below
|
|
35521
35514
|
if (tNode.type === 3 /* Element */) {
|
|
35522
|
-
elementAttributeInternal(
|
|
35515
|
+
elementAttributeInternal(tNode, lView, attrName, value, null, null);
|
|
35523
35516
|
}
|
|
35524
35517
|
// Check if that attribute is a directive input
|
|
35525
35518
|
/** @type {?} */
|
|
@@ -36450,6 +36443,22 @@ function ɵɵpureFunction8(slotOffset, pureFn, exp1, exp2, exp3, exp4, exp5, exp
|
|
|
36450
36443
|
function ɵɵpureFunctionV(slotOffset, pureFn, exps, thisArg) {
|
|
36451
36444
|
return pureFunctionVInternal(getLView(), getBindingRoot(), slotOffset, pureFn, exps, thisArg);
|
|
36452
36445
|
}
|
|
36446
|
+
/**
|
|
36447
|
+
* Results of a pure function invocation are stored in LView in a dedicated slot that is initialized
|
|
36448
|
+
* to NO_CHANGE. In rare situations a pure pipe might throw an exception on the very first
|
|
36449
|
+
* invocation and not produce any valid results. In this case LView would keep holding the NO_CHANGE
|
|
36450
|
+
* value. The NO_CHANGE is not something that we can use in expressions / bindings thus we convert
|
|
36451
|
+
* it to `undefined`.
|
|
36452
|
+
* @param {?} lView
|
|
36453
|
+
* @param {?} returnValueIndex
|
|
36454
|
+
* @return {?}
|
|
36455
|
+
*/
|
|
36456
|
+
function getPureFunctionReturnValue(lView, returnValueIndex) {
|
|
36457
|
+
ngDevMode && assertDataInRange(lView, returnValueIndex);
|
|
36458
|
+
/** @type {?} */
|
|
36459
|
+
const lastReturnValue = lView[returnValueIndex];
|
|
36460
|
+
return lastReturnValue === NO_CHANGE ? undefined : lastReturnValue;
|
|
36461
|
+
}
|
|
36453
36462
|
/**
|
|
36454
36463
|
* If the value of the provided exp has changed, calls the pure function to return
|
|
36455
36464
|
* an updated value. Or if the value has not changed, returns cached value.
|
|
@@ -36467,7 +36476,7 @@ function pureFunction1Internal(lView, bindingRoot, slotOffset, pureFn, exp, this
|
|
|
36467
36476
|
const bindingIndex = bindingRoot + slotOffset;
|
|
36468
36477
|
return bindingUpdated(lView, bindingIndex, exp) ?
|
|
36469
36478
|
updateBinding(lView, bindingIndex + 1, thisArg ? pureFn.call(thisArg, exp) : pureFn(exp)) :
|
|
36470
|
-
|
|
36479
|
+
getPureFunctionReturnValue(lView, bindingIndex + 1);
|
|
36471
36480
|
}
|
|
36472
36481
|
/**
|
|
36473
36482
|
* If the value of any provided exp has changed, calls the pure function to return
|
|
@@ -36487,7 +36496,7 @@ function pureFunction2Internal(lView, bindingRoot, slotOffset, pureFn, exp1, exp
|
|
|
36487
36496
|
const bindingIndex = bindingRoot + slotOffset;
|
|
36488
36497
|
return bindingUpdated2(lView, bindingIndex, exp1, exp2) ?
|
|
36489
36498
|
updateBinding(lView, bindingIndex + 2, thisArg ? pureFn.call(thisArg, exp1, exp2) : pureFn(exp1, exp2)) :
|
|
36490
|
-
|
|
36499
|
+
getPureFunctionReturnValue(lView, bindingIndex + 2);
|
|
36491
36500
|
}
|
|
36492
36501
|
/**
|
|
36493
36502
|
* If the value of any provided exp has changed, calls the pure function to return
|
|
@@ -36508,7 +36517,7 @@ function pureFunction3Internal(lView, bindingRoot, slotOffset, pureFn, exp1, exp
|
|
|
36508
36517
|
const bindingIndex = bindingRoot + slotOffset;
|
|
36509
36518
|
return bindingUpdated3(lView, bindingIndex, exp1, exp2, exp3) ?
|
|
36510
36519
|
updateBinding(lView, bindingIndex + 3, thisArg ? pureFn.call(thisArg, exp1, exp2, exp3) : pureFn(exp1, exp2, exp3)) :
|
|
36511
|
-
|
|
36520
|
+
getPureFunctionReturnValue(lView, bindingIndex + 3);
|
|
36512
36521
|
}
|
|
36513
36522
|
/**
|
|
36514
36523
|
* If the value of any provided exp has changed, calls the pure function to return
|
|
@@ -36531,7 +36540,7 @@ function pureFunction4Internal(lView, bindingRoot, slotOffset, pureFn, exp1, exp
|
|
|
36531
36540
|
const bindingIndex = bindingRoot + slotOffset;
|
|
36532
36541
|
return bindingUpdated4(lView, bindingIndex, exp1, exp2, exp3, exp4) ?
|
|
36533
36542
|
updateBinding(lView, bindingIndex + 4, thisArg ? pureFn.call(thisArg, exp1, exp2, exp3, exp4) : pureFn(exp1, exp2, exp3, exp4)) :
|
|
36534
|
-
|
|
36543
|
+
getPureFunctionReturnValue(lView, bindingIndex + 4);
|
|
36535
36544
|
}
|
|
36536
36545
|
/**
|
|
36537
36546
|
* pureFunction instruction that can support any number of bindings.
|
|
@@ -36557,7 +36566,7 @@ function pureFunctionVInternal(lView, bindingRoot, slotOffset, pureFn, exps, thi
|
|
|
36557
36566
|
bindingUpdated(lView, bindingIndex++, exps[i]) && (different = true);
|
|
36558
36567
|
}
|
|
36559
36568
|
return different ? updateBinding(lView, bindingIndex, pureFn.apply(thisArg, exps)) :
|
|
36560
|
-
|
|
36569
|
+
getPureFunctionReturnValue(lView, bindingIndex);
|
|
36561
36570
|
}
|
|
36562
36571
|
|
|
36563
36572
|
/**
|
|
@@ -37778,7 +37787,7 @@ const unusedValueExportToPlacateAjd$8 = 1;
|
|
|
37778
37787
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
37779
37788
|
*/
|
|
37780
37789
|
/** @type {?} */
|
|
37781
|
-
const unusedValueToPlacateAjd$2 = unusedValueExportToPlacateAjd$7 + unusedValueExportToPlacateAjd$
|
|
37790
|
+
const unusedValueToPlacateAjd$2 = unusedValueExportToPlacateAjd$7 + unusedValueExportToPlacateAjd$3 + unusedValueExportToPlacateAjd$4 + unusedValueExportToPlacateAjd$8;
|
|
37782
37791
|
/**
|
|
37783
37792
|
* @template T
|
|
37784
37793
|
*/
|