@angular/core 15.2.4 → 15.2.6
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/esm2020/src/linker/component_factory.mjs +1 -1
- package/esm2020/src/linker/view_container_ref.mjs +2 -2
- package/esm2020/src/linker/view_ref.mjs +2 -2
- package/esm2020/src/render3/hooks.mjs +13 -14
- package/esm2020/src/render3/instructions/shared.mjs +4 -4
- package/esm2020/src/render3/instructions/styling.mjs +5 -2
- package/esm2020/src/render3/pipe.mjs +2 -2
- package/esm2020/src/sanitization/url_sanitizer.mjs +7 -6
- package/esm2020/src/version.mjs +1 -1
- package/esm2020/testing/src/fake_async.mjs +2 -2
- package/esm2020/testing/src/logger.mjs +3 -3
- package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
- package/fesm2015/core.mjs +35 -27
- package/fesm2015/core.mjs.map +1 -1
- package/fesm2015/testing.mjs +35 -27
- package/fesm2015/testing.mjs.map +1 -1
- package/fesm2020/core.mjs +30 -27
- package/fesm2020/core.mjs.map +1 -1
- package/fesm2020/testing.mjs +30 -27
- package/fesm2020/testing.mjs.map +1 -1
- package/index.d.ts +4 -4
- package/package.json +1 -1
- package/schematics/migrations/relative-link-resolution/bundle.js +7 -7
- package/schematics/migrations/router-link-with-href/bundle.js +10 -10
- package/schematics/ng-generate/standalone-migration/bundle.js +326 -341
- package/schematics/ng-generate/standalone-migration/bundle.js.map +2 -2
- package/testing/index.d.ts +2 -2
|
@@ -26,9 +26,9 @@ export class Log {
|
|
|
26
26
|
return this.logItems.join('; ');
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
Log.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
30
|
-
Log.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
29
|
+
Log.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: Log, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
Log.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: Log });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: Log, decorators: [{
|
|
32
32
|
type: Injectable
|
|
33
33
|
}], ctorParameters: function () { return []; } });
|
|
34
34
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90ZXN0aW5nL3NyYy9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFHekMsTUFBTSxPQUFPLEdBQUc7SUFHZDtRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBUTtRQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxFQUFFLENBQUMsS0FBUTtRQUNULE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7MkdBdkJVLEdBQUc7K0dBQUgsR0FBRztzR0FBSCxHQUFHO2tCQURmLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvZzxUID0gc3RyaW5nPiB7XG4gIGxvZ0l0ZW1zOiBUW107XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sb2dJdGVtcyA9IFtdO1xuICB9XG5cbiAgYWRkKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy5sb2dJdGVtcy5wdXNoKHZhbHVlKTtcbiAgfVxuXG4gIGZuKHZhbHVlOiBUKSB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRoaXMubG9nSXRlbXMucHVzaCh2YWx1ZSk7XG4gICAgfTtcbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMubG9nSXRlbXMgPSBbXTtcbiAgfVxuXG4gIHJlc3VsdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvZ0l0ZW1zLmpvaW4oJzsgJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -25,9 +25,9 @@ export class MockNgZone extends NgZone {
|
|
|
25
25
|
this.onStable.emit(null);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
MockNgZone.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
29
|
-
MockNgZone.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
28
|
+
MockNgZone.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MockNgZone, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
MockNgZone.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MockNgZone });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MockNgZone, decorators: [{
|
|
31
31
|
type: Injectable
|
|
32
32
|
}], ctorParameters: function () { return []; } });
|
|
33
33
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdfem9uZV9tb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90ZXN0aW5nL3NyYy9uZ196b25lX21vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUcvRDs7R0FFRztBQUVILE1BQU0sT0FBTyxVQUFXLFNBQVEsTUFBTTtJQUdwQztRQUNFLEtBQUssQ0FBQyxFQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxrQ0FBa0MsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBSHpFLGFBQVEsR0FBc0IsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFJL0QsQ0FBQztJQUVRLEdBQUcsQ0FBQyxFQUFZO1FBQ3ZCLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRVEsaUJBQWlCLENBQUMsRUFBWTtRQUNyQyxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7O2tIQWpCVSxVQUFVO3NIQUFWLFVBQVU7c0dBQVYsVUFBVTtrQkFEdEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0V2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgTmdab25lfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG4vKipcbiAqIEEgbW9jayBpbXBsZW1lbnRhdGlvbiBvZiB7QGxpbmsgTmdab25lfS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vY2tOZ1pvbmUgZXh0ZW5kcyBOZ1pvbmUge1xuICBvdmVycmlkZSBvblN0YWJsZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7ZW5hYmxlTG9uZ1N0YWNrVHJhY2U6IGZhbHNlLCBzaG91bGRDb2FsZXNjZUV2ZW50Q2hhbmdlRGV0ZWN0aW9uOiBmYWxzZX0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgcnVuKGZuOiBGdW5jdGlvbik6IGFueSB7XG4gICAgcmV0dXJuIGZuKCk7XG4gIH1cblxuICBvdmVycmlkZSBydW5PdXRzaWRlQW5ndWxhcihmbjogRnVuY3Rpb24pOiBhbnkge1xuICAgIHJldHVybiBmbigpO1xuICB9XG5cbiAgc2ltdWxhdGVab25lRXhpdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uU3RhYmxlLmVtaXQobnVsbCk7XG4gIH1cbn1cbiJdfQ==
|
package/fesm2015/core.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v15.2.
|
|
2
|
+
* @license Angular v15.2.6
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -2234,20 +2234,20 @@ function getNamespace$1() {
|
|
|
2234
2234
|
* @param tView The current TView
|
|
2235
2235
|
*/
|
|
2236
2236
|
function registerPreOrderHooks(directiveIndex, directiveDef, tView) {
|
|
2237
|
+
var _a, _b, _c, _d, _e;
|
|
2237
2238
|
ngDevMode && assertFirstCreatePass(tView);
|
|
2238
2239
|
const { ngOnChanges, ngOnInit, ngDoCheck } = directiveDef.type.prototype;
|
|
2239
2240
|
if (ngOnChanges) {
|
|
2240
2241
|
const wrappedOnChanges = NgOnChangesFeatureImpl(directiveDef);
|
|
2241
|
-
(tView.preOrderHooks
|
|
2242
|
-
(tView.preOrderCheckHooks
|
|
2243
|
-
.push(directiveIndex, wrappedOnChanges);
|
|
2242
|
+
((_a = tView.preOrderHooks) !== null && _a !== void 0 ? _a : (tView.preOrderHooks = [])).push(directiveIndex, wrappedOnChanges);
|
|
2243
|
+
((_b = tView.preOrderCheckHooks) !== null && _b !== void 0 ? _b : (tView.preOrderCheckHooks = [])).push(directiveIndex, wrappedOnChanges);
|
|
2244
2244
|
}
|
|
2245
2245
|
if (ngOnInit) {
|
|
2246
|
-
(tView.preOrderHooks
|
|
2246
|
+
((_c = tView.preOrderHooks) !== null && _c !== void 0 ? _c : (tView.preOrderHooks = [])).push(0 - directiveIndex, ngOnInit);
|
|
2247
2247
|
}
|
|
2248
2248
|
if (ngDoCheck) {
|
|
2249
|
-
(tView.preOrderHooks
|
|
2250
|
-
(tView.preOrderCheckHooks
|
|
2249
|
+
((_d = tView.preOrderHooks) !== null && _d !== void 0 ? _d : (tView.preOrderHooks = [])).push(directiveIndex, ngDoCheck);
|
|
2250
|
+
((_e = tView.preOrderCheckHooks) !== null && _e !== void 0 ? _e : (tView.preOrderCheckHooks = [])).push(directiveIndex, ngDoCheck);
|
|
2251
2251
|
}
|
|
2252
2252
|
}
|
|
2253
2253
|
/**
|
|
@@ -2269,6 +2269,7 @@ function registerPreOrderHooks(directiveIndex, directiveDef, tView) {
|
|
|
2269
2269
|
* @param tNode The TNode whose directives are to be searched for hooks to queue
|
|
2270
2270
|
*/
|
|
2271
2271
|
function registerPostOrderHooks(tView, tNode) {
|
|
2272
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
2272
2273
|
ngDevMode && assertFirstCreatePass(tView);
|
|
2273
2274
|
// It's necessary to loop through the directives at elementEnd() (rather than processing in
|
|
2274
2275
|
// directiveCreate) so we can preserve the current hook order. Content, view, and destroy
|
|
@@ -2279,21 +2280,21 @@ function registerPostOrderHooks(tView, tNode) {
|
|
|
2279
2280
|
const lifecycleHooks = directiveDef.type.prototype;
|
|
2280
2281
|
const { ngAfterContentInit, ngAfterContentChecked, ngAfterViewInit, ngAfterViewChecked, ngOnDestroy } = lifecycleHooks;
|
|
2281
2282
|
if (ngAfterContentInit) {
|
|
2282
|
-
(tView.contentHooks
|
|
2283
|
+
((_a = tView.contentHooks) !== null && _a !== void 0 ? _a : (tView.contentHooks = [])).push(-i, ngAfterContentInit);
|
|
2283
2284
|
}
|
|
2284
2285
|
if (ngAfterContentChecked) {
|
|
2285
|
-
(tView.contentHooks
|
|
2286
|
-
(tView.contentCheckHooks
|
|
2286
|
+
((_b = tView.contentHooks) !== null && _b !== void 0 ? _b : (tView.contentHooks = [])).push(i, ngAfterContentChecked);
|
|
2287
|
+
((_c = tView.contentCheckHooks) !== null && _c !== void 0 ? _c : (tView.contentCheckHooks = [])).push(i, ngAfterContentChecked);
|
|
2287
2288
|
}
|
|
2288
2289
|
if (ngAfterViewInit) {
|
|
2289
|
-
(tView.viewHooks
|
|
2290
|
+
((_d = tView.viewHooks) !== null && _d !== void 0 ? _d : (tView.viewHooks = [])).push(-i, ngAfterViewInit);
|
|
2290
2291
|
}
|
|
2291
2292
|
if (ngAfterViewChecked) {
|
|
2292
|
-
(tView.viewHooks
|
|
2293
|
-
(tView.viewCheckHooks
|
|
2293
|
+
((_e = tView.viewHooks) !== null && _e !== void 0 ? _e : (tView.viewHooks = [])).push(i, ngAfterViewChecked);
|
|
2294
|
+
((_f = tView.viewCheckHooks) !== null && _f !== void 0 ? _f : (tView.viewCheckHooks = [])).push(i, ngAfterViewChecked);
|
|
2294
2295
|
}
|
|
2295
2296
|
if (ngOnDestroy != null) {
|
|
2296
|
-
(tView.destroyHooks
|
|
2297
|
+
((_g = tView.destroyHooks) !== null && _g !== void 0 ? _g : (tView.destroyHooks = [])).push(i, ngOnDestroy);
|
|
2297
2298
|
}
|
|
2298
2299
|
}
|
|
2299
2300
|
}
|
|
@@ -6941,13 +6942,14 @@ function isDOMParserAvailable() {
|
|
|
6941
6942
|
}
|
|
6942
6943
|
|
|
6943
6944
|
/**
|
|
6944
|
-
* A pattern that recognizes
|
|
6945
|
+
* A pattern that recognizes URLs that are safe wrt. XSS in URL navigation
|
|
6946
|
+
* contexts.
|
|
6945
6947
|
*
|
|
6946
6948
|
* This regular expression matches a subset of URLs that will not cause script
|
|
6947
6949
|
* execution if used in URL context within a HTML document. Specifically, this
|
|
6948
|
-
* regular expression matches if
|
|
6949
|
-
*
|
|
6950
|
-
*
|
|
6950
|
+
* regular expression matches if:
|
|
6951
|
+
* (1) Either a protocol that is not javascript:, and that has valid characters
|
|
6952
|
+
* (alphanumeric or [+-.]).
|
|
6951
6953
|
* (2) or no protocol. A protocol must be followed by a colon. The below
|
|
6952
6954
|
* allows that by allowing colons only after one of the characters [/?#].
|
|
6953
6955
|
* A colon after a hash (#) must be in the fragment.
|
|
@@ -6966,7 +6968,7 @@ function isDOMParserAvailable() {
|
|
|
6966
6968
|
*
|
|
6967
6969
|
* This regular expression was taken from the Closure sanitization library.
|
|
6968
6970
|
*/
|
|
6969
|
-
const SAFE_URL_PATTERN = /^(
|
|
6971
|
+
const SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;
|
|
6970
6972
|
function _sanitizeUrl(url) {
|
|
6971
6973
|
url = String(url);
|
|
6972
6974
|
if (url.match(SAFE_URL_PATTERN))
|
|
@@ -8322,7 +8324,7 @@ class Version {
|
|
|
8322
8324
|
/**
|
|
8323
8325
|
* @publicApi
|
|
8324
8326
|
*/
|
|
8325
|
-
const VERSION = new Version('15.2.
|
|
8327
|
+
const VERSION = new Version('15.2.6');
|
|
8326
8328
|
|
|
8327
8329
|
// This default value is when checking the hierarchy for a token.
|
|
8328
8330
|
//
|
|
@@ -10869,6 +10871,7 @@ function resolveDirectives(tView, lView, tNode, localRefs) {
|
|
|
10869
10871
|
}
|
|
10870
10872
|
/** Initializes the data structures necessary for a list of directives to be instantiated. */
|
|
10871
10873
|
function initializeDirectives(tView, lView, tNode, directives, exportsMap, hostDirectiveDefs) {
|
|
10874
|
+
var _a, _b;
|
|
10872
10875
|
ngDevMode && assertFirstCreatePass(tView);
|
|
10873
10876
|
// Publishes the directive types to DI so they can be injected. Needs to
|
|
10874
10877
|
// happen in a separate pass before the TNode flags have been initialized.
|
|
@@ -10911,11 +10914,11 @@ function initializeDirectives(tView, lView, tNode, directives, exportsMap, hostD
|
|
|
10911
10914
|
// We will push the actual hook function into this array later during dir instantiation.
|
|
10912
10915
|
// We cannot do it now because we must ensure hooks are registered in the same
|
|
10913
10916
|
// order that directives are created (i.e. injection order).
|
|
10914
|
-
(tView.preOrderHooks
|
|
10917
|
+
((_a = tView.preOrderHooks) !== null && _a !== void 0 ? _a : (tView.preOrderHooks = [])).push(tNode.index);
|
|
10915
10918
|
preOrderHooksFound = true;
|
|
10916
10919
|
}
|
|
10917
10920
|
if (!preOrderCheckHooksFound && (lifeCycleHooks.ngOnChanges || lifeCycleHooks.ngDoCheck)) {
|
|
10918
|
-
(tView.preOrderCheckHooks
|
|
10921
|
+
((_b = tView.preOrderCheckHooks) !== null && _b !== void 0 ? _b : (tView.preOrderCheckHooks = [])).push(tNode.index);
|
|
10919
10922
|
preOrderCheckHooksFound = true;
|
|
10920
10923
|
}
|
|
10921
10924
|
directiveIdx++;
|
|
@@ -11099,10 +11102,11 @@ function findDirectiveDefMatches(tView, tNode) {
|
|
|
11099
11102
|
* - storing index of component's host element so it will be queued for view refresh during CD.
|
|
11100
11103
|
*/
|
|
11101
11104
|
function markAsComponentHost(tView, hostTNode, componentOffset) {
|
|
11105
|
+
var _a;
|
|
11102
11106
|
ngDevMode && assertFirstCreatePass(tView);
|
|
11103
11107
|
ngDevMode && assertGreaterThan(componentOffset, -1, 'componentOffset must be great than -1');
|
|
11104
11108
|
hostTNode.componentOffset = componentOffset;
|
|
11105
|
-
(tView.components
|
|
11109
|
+
((_a = tView.components) !== null && _a !== void 0 ? _a : (tView.components = [])).push(hostTNode.index);
|
|
11106
11110
|
}
|
|
11107
11111
|
/** Caches local names and their matching directive indices for query and template lookups. */
|
|
11108
11112
|
function cacheMatchingLocalNames(tNode, localRefs, exportsMap) {
|
|
@@ -16051,8 +16055,11 @@ function isStylingValuePresent(value) {
|
|
|
16051
16055
|
* @param suffix
|
|
16052
16056
|
*/
|
|
16053
16057
|
function normalizeSuffix(value, suffix) {
|
|
16054
|
-
if (value == null
|
|
16058
|
+
if (value == null || value === '') {
|
|
16055
16059
|
// do nothing
|
|
16060
|
+
// Do not add the suffix if the value is going to be empty.
|
|
16061
|
+
// As it produce invalid CSS, which the browsers will automatically omit but Domino will not.
|
|
16062
|
+
// Example: `"left": "px;"` instead of `"left": ""`.
|
|
16056
16063
|
}
|
|
16057
16064
|
else if (typeof suffix === 'string') {
|
|
16058
16065
|
value = value + suffix;
|
|
@@ -20680,6 +20687,7 @@ function pureFunctionVInternal(lView, bindingRoot, slotOffset, pureFn, exps, thi
|
|
|
20680
20687
|
* @codeGenApi
|
|
20681
20688
|
*/
|
|
20682
20689
|
function ɵɵpipe(index, pipeName) {
|
|
20690
|
+
var _a;
|
|
20683
20691
|
const tView = getTView();
|
|
20684
20692
|
let pipeDef;
|
|
20685
20693
|
const adjustedIndex = index + HEADER_OFFSET;
|
|
@@ -20689,7 +20697,7 @@ function ɵɵpipe(index, pipeName) {
|
|
|
20689
20697
|
pipeDef = getPipeDef(pipeName, tView.pipeRegistry);
|
|
20690
20698
|
tView.data[adjustedIndex] = pipeDef;
|
|
20691
20699
|
if (pipeDef.onDestroy) {
|
|
20692
|
-
(tView.destroyHooks
|
|
20700
|
+
((_a = tView.destroyHooks) !== null && _a !== void 0 ? _a : (tView.destroyHooks = [])).push(adjustedIndex, pipeDef.onDestroy);
|
|
20693
20701
|
}
|
|
20694
20702
|
}
|
|
20695
20703
|
else {
|
|
@@ -21145,7 +21153,7 @@ function createTemplateRef(hostTNode, hostLView) {
|
|
|
21145
21153
|
* (created by instantiating a `TemplateRef` with the `createEmbeddedView()` method).
|
|
21146
21154
|
*
|
|
21147
21155
|
* A view container instance can contain other view containers,
|
|
21148
|
-
* creating a [view hierarchy](guide/glossary#view-
|
|
21156
|
+
* creating a [view hierarchy](guide/glossary#view-hierarchy).
|
|
21149
21157
|
*
|
|
21150
21158
|
* @see `ComponentRef`
|
|
21151
21159
|
* @see `EmbeddedViewRef`
|
|
@@ -25586,7 +25594,7 @@ class ViewRef extends ChangeDetectorRef {
|
|
|
25586
25594
|
}
|
|
25587
25595
|
/**
|
|
25588
25596
|
* Represents an Angular [view](guide/glossary#view) in a view container.
|
|
25589
|
-
* An [embedded view](guide/glossary#view-
|
|
25597
|
+
* An [embedded view](guide/glossary#view-hierarchy) can be referenced from a component
|
|
25590
25598
|
* other than the hosting component whose template defines it, or it can be defined
|
|
25591
25599
|
* independently by a `TemplateRef`.
|
|
25592
25600
|
*
|