diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_nested.js b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_nested.js
index ea08f5a1b088..92c52707aac3 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_nested.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_nested.js
@@ -11,7 +11,7 @@ function MyComponent_div_3_span_2_Template(rf, ctx) {
const $foo$ = $r3$.ɵɵreference(1);
const $baz$ = $r3$.ɵɵreference(5);
$r3$.ɵɵadvance();
- $r3$.ɵɵtextInterpolate3("", $foo$, "-", $bar$, "-", $baz$, "");
+ $r3$.ɵɵtextInterpolate3("", $foo$, "-", $bar$, "-", $baz$);
}
}
function MyComponent_div_3_Template(rf, ctx) {
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipe_invocation.js b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipe_invocation.js
index 5920cdebd275..5c4ce3fcbd83 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipe_invocation.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipe_invocation.js
@@ -20,8 +20,7 @@ MyApp.ɵcmp = /*@__PURE__*/ $r3$.ɵɵdefineComponent({
"1:", i0.ɵɵpipeBind2(2, 7, ctx.name, 1),
"2:", i0.ɵɵpipeBind3(3, 10, ctx.name, 1, 2),
"3:", i0.ɵɵpipeBind4(4, 14, ctx.name, 1, 2, 3),
- "4:", i0.ɵɵpipeBindV(5, 19, $r3$.ɵɵpureFunction1(25, $c0$, ctx.name)),
- ""
+ "4:", i0.ɵɵpipeBindV(5, 19, $r3$.ɵɵpureFunction1(25, $c0$, ctx.name))
);
}
},
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipes_my_app_def.js b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipes_my_app_def.js
index e639c6e3b496..8e3c43c595e9 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipes_my_app_def.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipes_my_app_def.js
@@ -20,7 +20,7 @@ MyApp.ɵcmp = /*@__PURE__*/ $r3$.ɵɵdefineComponent({
if (rf & 2) {
$r3$.ɵɵtextInterpolate($r3$.ɵɵpipeBind2(2, 6, $r3$.ɵɵpipeBind2(1, 3, ctx.name, ctx.size), ctx.size));
$r3$.ɵɵadvance(4);
- $r3$.ɵɵtextInterpolate2("", $r3$.ɵɵpipeBindV(5, 9, $r3$.ɵɵpureFunction1(18, $c0$, ctx.name)), " ", ctx.name ? 1 : $r3$.ɵɵpipeBind1(6, 16, 2), "");
+ $r3$.ɵɵtextInterpolate2("", $r3$.ɵɵpipeBindV(5, 9, $r3$.ɵɵpureFunction1(18, $c0$, ctx.name)), " ", ctx.name ? 1 : $r3$.ɵɵpipeBind1(6, 16, 2));
}
},
dependencies: [MyPipe, MyPurePipe],
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/number_separator.js b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/number_separator.js
index fa1194c71d5e..999f400bd7f2 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/number_separator.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/number_separator.js
@@ -2,8 +2,8 @@ template: function MyApp_Template(rf, ctx) {
// ...
if (rf & 2) {
$r3$.ɵɵadvance();
- $r3$.ɵɵtextInterpolate1("Total: $", 1000000 * ctx.multiplier, "");
+ $r3$.ɵɵtextInterpolate1("Total: $", 1000000 * ctx.multiplier);
$r3$.ɵɵadvance(2);
- $r3$.ɵɵtextInterpolate1("Remaining: $", 123456.789 / 2, "");
+ $r3$.ɵɵtextInterpolate1("Remaining: $", 123456.789 / 2);
}
}
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/structural_directives_my_component_def.js b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/structural_directives_my_component_def.js
index 85831689ed5c..24ce30cc0ce4 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/structural_directives_my_component_def.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/structural_directives_my_component_def.js
@@ -8,7 +8,7 @@ function MyComponent_li_2_Template(rf, ctx) {
const $myComp$ = $r3$.ɵɵnextContext();
const $foo$ = $r3$.ɵɵreference(1);
$r3$.ɵɵadvance();
- $r3$.ɵɵtextInterpolate2("", $myComp$.salutation, " ", $foo$, "");
+ $r3$.ɵɵtextInterpolate2("", $myComp$.salutation, " ", $foo$);
}
}
// ...
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/tagged_template_literals.js b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/tagged_template_literals.js
index 5b2766de7414..24b0b327e1eb 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/tagged_template_literals.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/tagged_template_literals.js
@@ -1,8 +1,8 @@
if (rf & 2) {
$r3$.ɵɵadvance();
- $r3$.ɵɵtextInterpolate1("No interpolations: ", ctx.tag `hello world `, "");
+ $r3$.ɵɵtextInterpolate1("No interpolations: ", ctx.tag `hello world `);
$r3$.ɵɵadvance(2);
- $r3$.ɵɵtextInterpolate1("With interpolations: ", ctx.tag `hello ${ctx.name}, it is currently ${ctx.timeOfDay}!`, "");
+ $r3$.ɵɵtextInterpolate1("With interpolations: ", ctx.tag `hello ${ctx.name}, it is currently ${ctx.timeOfDay}!`);
$r3$.ɵɵadvance(2);
- $r3$.ɵɵtextInterpolate1("With pipe: ", $r3$.ɵɵpipeBind1(6, 3, ctx.tag `hello ${ctx.name}`), "");
+ $r3$.ɵɵtextInterpolate1("With pipe: ", $r3$.ɵɵpipeBind1(6, 3, ctx.tag `hello ${ctx.name}`));
}
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/template_literals.js b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/template_literals.js
index 5e4c1454552f..3e0e315e44d0 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/template_literals.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/template_literals.js
@@ -1,8 +1,8 @@
if (rf & 2) {
$r3$.ɵɵadvance();
- $r3$.ɵɵtextInterpolate1("No interpolations: ", `hello world `, "");
+ $r3$.ɵɵtextInterpolate1("No interpolations: ", `hello world `);
$r3$.ɵɵadvance(2);
- $r3$.ɵɵtextInterpolate1("With interpolations: ", `hello ${ctx.name}, it is currently ${ctx.timeOfDay}!`, "");
+ $r3$.ɵɵtextInterpolate1("With interpolations: ", `hello ${ctx.name}, it is currently ${ctx.timeOfDay}!`);
$r3$.ɵɵadvance(2);
- $r3$.ɵɵtextInterpolate1("With pipe: ", $r3$.ɵɵpipeBind1(6, 3, `hello ${ctx.name}`), "");
+ $r3$.ɵɵtextInterpolate1("With pipe: ", $r3$.ɵɵpipeBind1(6, 3, `hello ${ctx.name}`));
}
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_interpolation_template.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_interpolation_template.js
index e306bc33f552..a98fcd2c2889 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_interpolation_template.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_interpolation_template.js
@@ -11,6 +11,6 @@ template: function MyApp_Template(rf, ctx) {
i0.ɵɵadvance();
i0.ɵɵtextInterpolate1("Hello, ", ctx.firstName ?? "Frodo", "!");
i0.ɵɵadvance(2);
- i0.ɵɵtextInterpolate1("Your last name is ", ctx.lastName ?? ctx.lastNameFallback ?? "unknown", "");
+ i0.ɵɵtextInterpolate1("Your last name is ", ctx.lastName ?? ctx.lastNameFallback ?? "unknown");
}
}
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_deep_template.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_deep_template.js
index 039f154f87d2..1f61f0729543 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_deep_template.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_deep_template.js
@@ -1,10 +1,10 @@
} if (rf & 2) {
i0.ɵɵadvance();
- i0.ɵɵtextInterpolate1("Safe Property: ", ctx.p == null ? null : ctx.p.a == null ? null : ctx.p.a.b == null ? null : ctx.p.a.b.c == null ? null : ctx.p.a.b.c.d, "");
+ i0.ɵɵtextInterpolate1("Safe Property: ", ctx.p == null ? null : ctx.p.a == null ? null : ctx.p.a.b == null ? null : ctx.p.a.b.c == null ? null : ctx.p.a.b.c.d);
i0.ɵɵadvance(2);
- i0.ɵɵtextInterpolate1("Safe Keyed: ", ctx.p == null ? null : ctx.p["a"] == null ? null : ctx.p["a"]["b"] == null ? null : ctx.p["a"]["b"]["c"] == null ? null : ctx.p["a"]["b"]["c"]["d"], "");
+ i0.ɵɵtextInterpolate1("Safe Keyed: ", ctx.p == null ? null : ctx.p["a"] == null ? null : ctx.p["a"]["b"] == null ? null : ctx.p["a"]["b"]["c"] == null ? null : ctx.p["a"]["b"]["c"]["d"]);
i0.ɵɵadvance(2);
- i0.ɵɵtextInterpolate1("Mixed Property: ", ctx.p == null ? null : ctx.p.a == null ? null : ctx.p.a.b.c.d == null ? null : ctx.p.a.b.c.d.e == null ? null : ctx.p.a.b.c.d.e.f == null ? null : ctx.p.a.b.c.d.e.f.g.h, "");
+ i0.ɵɵtextInterpolate1("Mixed Property: ", ctx.p == null ? null : ctx.p.a == null ? null : ctx.p.a.b.c.d == null ? null : ctx.p.a.b.c.d.e == null ? null : ctx.p.a.b.c.d.e.f == null ? null : ctx.p.a.b.c.d.e.f.g.h);
i0.ɵɵadvance(2);
- i0.ɵɵtextInterpolate1("Mixed Property and Keyed: ", ctx.p.a["b"].c.d == null ? null : ctx.p.a["b"].c.d["e"] == null ? null : ctx.p.a["b"].c.d["e"]["f"] == null ? null : ctx.p.a["b"].c.d["e"]["f"].g["h"]["i"] == null ? null : ctx.p.a["b"].c.d["e"]["f"].g["h"]["i"].j.k, "");
+ i0.ɵɵtextInterpolate1("Mixed Property and Keyed: ", ctx.p.a["b"].c.d == null ? null : ctx.p.a["b"].c.d["e"] == null ? null : ctx.p.a["b"].c.d["e"]["f"] == null ? null : ctx.p.a["b"].c.d["e"]["f"].g["h"]["i"] == null ? null : ctx.p.a["b"].c.d["e"]["f"].g["h"]["i"].j.k);
}
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_temporaries_template.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_temporaries_template.js
index 34adcd3e7c92..4160d1639f07 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_temporaries_template.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_temporaries_template.js
@@ -8,11 +8,11 @@
let $tmp_3_2$;
let $tmp_3_3$;
i0.ɵɵadvance();
- i0.ɵɵtextInterpolate1("Safe Property with Calls: ", ($tmp_0_0$ = ctx.p()) == null ? null : ($tmp_0_0$ = $tmp_0_0$.a()) == null ? null : ($tmp_0_0$ = $tmp_0_0$.b()) == null ? null : ($tmp_0_0$ = $tmp_0_0$.c()) == null ? null : $tmp_0_0$.d(), "");
+ i0.ɵɵtextInterpolate1("Safe Property with Calls: ", ($tmp_0_0$ = ctx.p()) == null ? null : ($tmp_0_0$ = $tmp_0_0$.a()) == null ? null : ($tmp_0_0$ = $tmp_0_0$.b()) == null ? null : ($tmp_0_0$ = $tmp_0_0$.c()) == null ? null : $tmp_0_0$.d());
i0.ɵɵadvance(2);
- i0.ɵɵtextInterpolate1("Safe and Unsafe Property with Calls: ", ctx.p == null ? null : ($tmp_1_0$ = ctx.p.a()) == null ? null : ($tmp_1_0$ = $tmp_1_0$.b().c().d()) == null ? null : ($tmp_1_0$ = $tmp_1_0$.e()) == null ? null : $tmp_1_0$.f == null ? null : $tmp_1_0$.f.g.h == null ? null : ($tmp_1_0$ = $tmp_1_0$.f.g.h.i()) == null ? null : ($tmp_1_0$ = $tmp_1_0$.j()) == null ? null : $tmp_1_0$.k().l, "");
+ i0.ɵɵtextInterpolate1("Safe and Unsafe Property with Calls: ", ctx.p == null ? null : ($tmp_1_0$ = ctx.p.a()) == null ? null : ($tmp_1_0$ = $tmp_1_0$.b().c().d()) == null ? null : ($tmp_1_0$ = $tmp_1_0$.e()) == null ? null : $tmp_1_0$.f == null ? null : $tmp_1_0$.f.g.h == null ? null : ($tmp_1_0$ = $tmp_1_0$.f.g.h.i()) == null ? null : ($tmp_1_0$ = $tmp_1_0$.j()) == null ? null : $tmp_1_0$.k().l);
i0.ɵɵadvance(2);
- i0.ɵɵtextInterpolate1("Nested Safe with Calls: ", ($tmp_2_0$ = ctx.f1()) == null ? null : $tmp_2_0$[($tmp_2_1$ = ctx.f2()) == null ? null : $tmp_2_1$.a] == null ? null : $tmp_2_0$[($tmp_2_1$ = $tmp_2_1$) == null ? null : $tmp_2_1$.a].b, "");
+ i0.ɵɵtextInterpolate1("Nested Safe with Calls: ", ($tmp_2_0$ = ctx.f1()) == null ? null : $tmp_2_0$[($tmp_2_1$ = ctx.f2()) == null ? null : $tmp_2_1$.a] == null ? null : $tmp_2_0$[($tmp_2_1$ = $tmp_2_1$) == null ? null : $tmp_2_1$.a].b);
i0.ɵɵadvance(2);
- i0.ɵɵtextInterpolate1("Deep Nested Safe with Calls: ", ($tmp_3_0$ = ctx.f1()) == null ? null : $tmp_3_0$[($tmp_3_1$ = ctx.f2()) == null ? null : ($tmp_3_2$ = $tmp_3_1$.f3()) == null ? null : $tmp_3_2$[($tmp_3_3$ = ctx.f4()) == null ? null : $tmp_3_3$.f5()]] == null ? null : $tmp_3_0$[($tmp_3_1$ = $tmp_3_1$) == null ? null : ($tmp_3_2$ = $tmp_3_2$) == null ? null : $tmp_3_2$[($tmp_3_3$ = $tmp_3_3$) == null ? null : $tmp_3_3$.f5()]].f6(), "");
+ i0.ɵɵtextInterpolate1("Deep Nested Safe with Calls: ", ($tmp_3_0$ = ctx.f1()) == null ? null : $tmp_3_0$[($tmp_3_1$ = ctx.f2()) == null ? null : ($tmp_3_2$ = $tmp_3_1$.f3()) == null ? null : $tmp_3_2$[($tmp_3_3$ = ctx.f4()) == null ? null : $tmp_3_3$.f5()]] == null ? null : $tmp_3_0$[($tmp_3_1$ = $tmp_3_1$) == null ? null : ($tmp_3_2$ = $tmp_3_2$) == null ? null : $tmp_3_2$[($tmp_3_3$ = $tmp_3_3$) == null ? null : $tmp_3_3$.f5()]].f6());
}
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_bindings_with_interpolations.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_bindings_with_interpolations.js
index dea91e1b3b37..953d8dd6ed2d 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_bindings_with_interpolations.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_bindings_with_interpolations.js
@@ -1,8 +1,8 @@
template: function MyComponent_Template(rf, ctx) {
…
if (rf & 2) {
- $r3$.ɵɵattributeInterpolate1("tabindex", "prefix-", 0 + 3, "");
- $r3$.ɵɵattributeInterpolate2("aria-label", "hello-", 1 + 3, "-", 2 + 3, "");
+ $r3$.ɵɵattributeInterpolate1("tabindex", "prefix-", 0 + 3);
+ $r3$.ɵɵattributeInterpolate2("aria-label", "hello-", 1 + 3, "-", 2 + 3);
$r3$.ɵɵattribute("title", 1)("id", 2);
}
}
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_mixed.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_mixed.js
index f0e37820319e..2af6130afe18 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_mixed.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_mixed.js
@@ -1,7 +1,7 @@
template: function MyComponent_Template(rf, ctx) {
…
if (rf & 2) {
- $r3$.ɵɵattributeInterpolate1("aria-label", "prefix-", 1 + 3, "");
+ $r3$.ɵɵattributeInterpolate1("aria-label", "prefix-", 1 + 3);
$r3$.ɵɵproperty("id", 2);
$r3$.ɵɵattribute("title", 1)("tabindex", 3);
}
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/order_bindings.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/order_bindings.js
index 25b0a537c218..8a977bdcb5d1 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/order_bindings.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/order_bindings.js
@@ -26,8 +26,8 @@ function MyCmp_Template(rf, ctx) {
} if (rf & 2) {
i0.ɵɵstyleProp("style1", ctx.foo);
i0.ɵɵclassProp("class1", ctx.foo);
- i0.ɵɵattributeInterpolate1("attrInterp1", "interp ", ctx.foo, "");
- i0.ɵɵpropertyInterpolate1("propInterp1", "interp ", ctx.foo, "");
+ i0.ɵɵattributeInterpolate1("attrInterp1", "interp ", ctx.foo);
+ i0.ɵɵpropertyInterpolate1("propInterp1", "interp ", ctx.foo);
i0.ɵɵproperty("prop1", ctx.foo);
i0.ɵɵattribute("attr1", ctx.foo);
}
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_bindings_with_interpolations.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_bindings_with_interpolations.js
index 4fd71f7dbfaf..46191b5f5b21 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_bindings_with_interpolations.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_bindings_with_interpolations.js
@@ -2,7 +2,7 @@ template: function MyComponent_Template(rf, ctx) {
…
if (rf & 2) {
$r3$.ɵɵpropertyInterpolate("tabindex", 0 + 3);
- $r3$.ɵɵpropertyInterpolate2("aria-label", "hello-", 1 + 3, "-", 2 + 3, "");
+ $r3$.ɵɵpropertyInterpolate2("aria-label", "hello-", 1 + 3, "-", 2 + 3);
$r3$.ɵɵproperty("title", 1)("id", 2);
}
}
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/interpolation.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/interpolation.js
index 72cc83ed7dd4..758ced2a8182 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/interpolation.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/interpolation.js
@@ -6,6 +6,6 @@ template:function MyComponent_Template(rf, $ctx$){
$i0$.ɵɵelement(0, "a", 0);
}
if (rf & 2) {
- $i0$.ɵɵpropertyInterpolate1("title", "Hello ", $ctx$.name, "");
+ $i0$.ɵɵpropertyInterpolate1("title", "Hello ", $ctx$.name);
}
}
\ No newline at end of file
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/text_bindings/interpolation.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/text_bindings/interpolation.js
index 6c9525869458..15a5a1028cae 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/text_bindings/interpolation.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/text_bindings/interpolation.js
@@ -7,6 +7,6 @@ template:function MyComponent_Template(rf, $ctx$){
}
if (rf & 2) {
$r3$.ɵɵadvance();
- $i0$.ɵɵtextInterpolate1("Hello ", $ctx$.name, "");
+ $i0$.ɵɵtextInterpolate1("Hello ", $ctx$.name);
}
}
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/attribute_interpolation.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/attribute_interpolation.js
index 276853f3398c..0798be982aec 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/attribute_interpolation.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/attribute_interpolation.js
@@ -67,7 +67,7 @@ template: function MyComponent_Template(rf, ctx) {
}
if (rf & 2) {
i0.ɵɵadvance(2);
- i0.ɵɵpropertyInterpolate2("title", "", ctx.foo, "-", ctx.foo, "");
+ i0.ɵɵpropertyInterpolate2("title", "", ctx.foo, "-", ctx.foo);
i0.ɵɵadvance(2);
i0.ɵɵi18nExp(ctx.foo)(ctx.foo)(ctx.foo)(ctx.foo)(ctx.foo);
i0.ɵɵi18nApply(1);
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/pipe_bindings_slots.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/pipe_bindings_slots.js
index 43a9aba18a3f..90f543e3ed24 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/pipe_bindings_slots.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/pipe_bindings_slots.js
@@ -14,6 +14,6 @@ template: function MyComponent_Template(rf, $ctx$) {
$r3$.ɵɵstyleProp("bar", $r3$.ɵɵpipeBind2(2, 14, $ctx$.barExp, 3000))("baz", $r3$.ɵɵpipeBind2(3, 17, $ctx$.bazExp, 4000));
$r3$.ɵɵclassProp("foo", $r3$.ɵɵpipeBind2(4, 20, $ctx$.fooExp, 2000));
$r3$.ɵɵadvance(5);
- $r3$.ɵɵtextInterpolate1(" ", $ctx$.item, "");
+ $r3$.ɵɵtextInterpolate1(" ", $ctx$.item);
}
}
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/binding_slots.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/binding_slots.js
index 60ae1681cf9a..92dae5b498df 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/binding_slots.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/binding_slots.js
@@ -6,7 +6,7 @@
$r3$.ɵɵelement(0, "div");
}
if (rf & 2) {
- $r3$.ɵɵclassMapInterpolate1("foo foo-", $ctx$.fooId, "");
+ $r3$.ɵɵclassMapInterpolate1("foo foo-", $ctx$.fooId);
}
}
// ...
@@ -17,7 +17,7 @@
$r3$.ɵɵelement(0, "div");
}
if (rf & 2) {
- $r3$.ɵɵclassMapInterpolate2("foo foo-", $ctx$.fooId, "-", $ctx$.fooUsername, "");
+ $r3$.ɵɵclassMapInterpolate2("foo foo-", $ctx$.fooId, "-", $ctx$.fooUsername);
}
}
// ...
diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_ternary_operation_template.js b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_ternary_operation_template.js
index 4d0c6da4ae4c..c8f40370207a 100644
--- a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_ternary_operation_template.js
+++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_ternary_operation_template.js
@@ -1,2 +1,2 @@
…
-i0.ɵɵtextInterpolate1(" ", (ctx.a == null ? null : ctx.a.b) ? 1 : 2, "")
+i0.ɵɵtextInterpolate1(" ", (ctx.a == null ? null : ctx.a.b) ? 1 : 2)
diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_basic.js b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_basic.js
index ec6dbaf6f8db..cb2e87d74189 100644
--- a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_basic.js
+++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_basic.js
@@ -2,4 +2,4 @@ i0.ɵɵelementStart(0, "h3") // SOURCE: "/interpolation_basic.ts" "
"
…
i0.ɵɵelementEnd() // SOURCE: "/interpolation_basic.ts" "
"
…
-i0.ɵɵtextInterpolate1("Hello ", ctx.name, "") // SOURCE: "/interpolation_basic.ts" "Hello {{ name }}"
+i0.ɵɵtextInterpolate1("Hello ", ctx.name) // SOURCE: "/interpolation_basic.ts" "Hello {{ name }}"
diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_basic_partial.js b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_basic_partial.js
index 1e531cf4b5cd..2ac06ceff5cd 100644
--- a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_basic_partial.js
+++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_basic_partial.js
@@ -3,4 +3,4 @@
// TODO: Work out how to fix the broken segment for the last item in a template
.ɵɵele // SOURCE: "/interpolation_basic.ts" "'"
…
-.ɵɵtextInterpolate1("Hello ", ctx.name, "") // SOURCE: "/interpolation_basic.ts" "Hello {{ name }}"
+.ɵɵtextInterpolate1("Hello ", ctx.name) // SOURCE: "/interpolation_basic.ts" "Hello {{ name }}"
diff --git a/packages/compiler-cli/test/ngtsc/template_mapping_spec.ts b/packages/compiler-cli/test/ngtsc/template_mapping_spec.ts
index 09ad5bb2a83b..d9965d20d05a 100644
--- a/packages/compiler-cli/test/ngtsc/template_mapping_spec.ts
+++ b/packages/compiler-cli/test/ngtsc/template_mapping_spec.ts
@@ -72,7 +72,7 @@ runInEachFileSystem((os) => {
});
expectMapping(mappings, {
source: 'Hello {{ name }}',
- generated: 'i0.ɵɵtextInterpolate1("Hello ", ctx.name, "")',
+ generated: 'i0.ɵɵtextInterpolate1("Hello ", ctx.name)',
sourceUrl: '../test.ts',
});
expectMapping(mappings, {
diff --git a/packages/compiler/src/template/pipeline/src/instruction.ts b/packages/compiler/src/template/pipeline/src/instruction.ts
index 3282cebcd690..9c30db2b6e6d 100644
--- a/packages/compiler/src/template/pipeline/src/instruction.ts
+++ b/packages/compiler/src/template/pipeline/src/instruction.ts
@@ -579,6 +579,7 @@ export function textInterpolate(
sourceSpan: ParseSourceSpan,
): ir.UpdateOp {
const interpolationArgs = collateInterpolationArgs(strings, expressions);
+
return callVariadicInstruction(TEXT_INTERPOLATE_CONFIG, [], interpolationArgs, [], sourceSpan);
}
@@ -598,6 +599,7 @@ export function propertyInterpolate(
sourceSpan: ParseSourceSpan,
): ir.UpdateOp {
const interpolationArgs = collateInterpolationArgs(strings, expressions);
+
const extraArgs = [];
if (sanitizer !== null) {
extraArgs.push(sanitizer);
@@ -620,6 +622,7 @@ export function attributeInterpolate(
sourceSpan: ParseSourceSpan,
): ir.UpdateOp {
const interpolationArgs = collateInterpolationArgs(strings, expressions);
+
const extraArgs = [];
if (sanitizer !== null) {
extraArgs.push(sanitizer);
@@ -642,6 +645,7 @@ export function stylePropInterpolate(
sourceSpan: ParseSourceSpan,
): ir.UpdateOp {
const interpolationArgs = collateInterpolationArgs(strings, expressions);
+
const extraArgs: o.Expression[] = [];
if (unit !== null) {
extraArgs.push(o.literal(unit));
@@ -748,6 +752,7 @@ function collateInterpolationArgs(strings: string[], expressions: o.Expression[]
for (idx = 0; idx < expressions.length; idx++) {
interpolationArgs.push(o.literal(strings[idx]), expressions[idx]);
}
+
// idx points at the last string.
interpolationArgs.push(o.literal(strings[idx]));
}
@@ -953,7 +958,21 @@ function callVariadicInstructionExpr(
extraArgs: o.Expression[],
sourceSpan: ParseSourceSpan | null,
): o.Expression {
+ // mapping need to be done before potentially dropping the last interpolation argument
const n = config.mapping(interpolationArgs.length);
+
+ // In the case the interpolation instruction ends with a empty string we drop it
+ // And the runtime will take care of it.
+ const lastInterpolationArg = interpolationArgs.at(-1);
+ if (
+ extraArgs.length === 0 &&
+ interpolationArgs.length > 1 &&
+ lastInterpolationArg instanceof o.LiteralExpr &&
+ lastInterpolationArg.value === ''
+ ) {
+ interpolationArgs.pop();
+ }
+
if (n < config.constant.length) {
// Constant calling pattern.
return o
diff --git a/packages/core/src/render3/instructions/attribute_interpolation.ts b/packages/core/src/render3/instructions/attribute_interpolation.ts
index 3604456fde85..6b463d26ed75 100644
--- a/packages/core/src/render3/instructions/attribute_interpolation.ts
+++ b/packages/core/src/render3/instructions/attribute_interpolation.ts
@@ -49,7 +49,7 @@ export function ɵɵattributeInterpolate1(
attrName: string,
prefix: string,
v0: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
namespace?: string,
): typeof ɵɵattributeInterpolate1 {
@@ -65,7 +65,7 @@ export function ɵɵattributeInterpolate1(
'attr.' + attrName,
getBindingIndex() - 1,
prefix,
- suffix,
+ suffix ?? '',
);
}
return ɵɵattributeInterpolate1;
@@ -103,7 +103,7 @@ export function ɵɵattributeInterpolate2(
v0: any,
i0: string,
v1: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
namespace?: string,
): typeof ɵɵattributeInterpolate2 {
@@ -120,7 +120,7 @@ export function ɵɵattributeInterpolate2(
getBindingIndex() - 2,
prefix,
i0,
- suffix,
+ suffix ?? '',
);
}
return ɵɵattributeInterpolate2;
@@ -163,7 +163,7 @@ export function ɵɵattributeInterpolate3(
v1: any,
i1: string,
v2: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
namespace?: string,
): typeof ɵɵattributeInterpolate3 {
@@ -181,7 +181,7 @@ export function ɵɵattributeInterpolate3(
prefix,
i0,
i1,
- suffix,
+ suffix ?? '',
);
}
return ɵɵattributeInterpolate3;
@@ -228,7 +228,7 @@ export function ɵɵattributeInterpolate4(
v2: any,
i2: string,
v3: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
namespace?: string,
): typeof ɵɵattributeInterpolate4 {
@@ -247,7 +247,7 @@ export function ɵɵattributeInterpolate4(
i0,
i1,
i2,
- suffix,
+ suffix ?? '',
);
}
return ɵɵattributeInterpolate4;
@@ -298,7 +298,7 @@ export function ɵɵattributeInterpolate5(
v3: any,
i3: string,
v4: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
namespace?: string,
): typeof ɵɵattributeInterpolate5 {
@@ -331,7 +331,7 @@ export function ɵɵattributeInterpolate5(
i1,
i2,
i3,
- suffix,
+ suffix ?? '',
);
}
return ɵɵattributeInterpolate5;
@@ -386,7 +386,7 @@ export function ɵɵattributeInterpolate6(
v4: any,
i4: string,
v5: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
namespace?: string,
): typeof ɵɵattributeInterpolate6 {
@@ -422,7 +422,7 @@ export function ɵɵattributeInterpolate6(
i2,
i3,
i4,
- suffix,
+ suffix ?? '',
);
}
return ɵɵattributeInterpolate6;
@@ -481,7 +481,7 @@ export function ɵɵattributeInterpolate7(
v5: any,
i5: string,
v6: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
namespace?: string,
): typeof ɵɵattributeInterpolate7 {
@@ -520,7 +520,7 @@ export function ɵɵattributeInterpolate7(
i3,
i4,
i5,
- suffix,
+ suffix ?? '',
);
}
return ɵɵattributeInterpolate7;
@@ -583,7 +583,7 @@ export function ɵɵattributeInterpolate8(
v6: any,
i6: string,
v7: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
namespace?: string,
): typeof ɵɵattributeInterpolate8 {
@@ -625,7 +625,7 @@ export function ɵɵattributeInterpolate8(
i4,
i5,
i6,
- suffix,
+ suffix ?? '',
);
}
return ɵɵattributeInterpolate8;
@@ -669,7 +669,7 @@ export function ɵɵattributeInterpolateV(
const tNode = getSelectedTNode();
elementAttributeInternal(tNode, lView, attrName, interpolated, sanitizer, namespace);
if (ngDevMode) {
- const interpolationInBetween = [values[0]]; // prefix
+ const interpolationInBetween = [values[0] as string]; // prefix
for (let i = 2; i < values.length; i += 2) {
interpolationInBetween.push(values[i]);
}
diff --git a/packages/core/src/render3/instructions/class_map_interpolation.ts b/packages/core/src/render3/instructions/class_map_interpolation.ts
index 1f3c755b2a3e..f5b8cfc19923 100644
--- a/packages/core/src/render3/instructions/class_map_interpolation.ts
+++ b/packages/core/src/render3/instructions/class_map_interpolation.ts
@@ -42,7 +42,7 @@ import {checkStylingMap, classStringParser} from './styling';
* @param suffix Static value used for concatenation only.
* @codeGenApi
*/
-export function ɵɵclassMapInterpolate1(prefix: string, v0: any, suffix: string): void {
+export function ɵɵclassMapInterpolate1(prefix: string, v0: any, suffix?: string): void {
const lView = getLView();
const interpolatedValue = interpolation1(lView, prefix, v0, suffix);
checkStylingMap(keyValueArraySet, classStringParser, interpolatedValue, true);
@@ -76,7 +76,7 @@ export function ɵɵclassMapInterpolate2(
v0: any,
i0: string,
v1: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation2(lView, prefix, v0, i0, v1, suffix);
@@ -116,7 +116,7 @@ export function ɵɵclassMapInterpolate3(
v1: any,
i1: string,
v2: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation3(lView, prefix, v0, i0, v1, i1, v2, suffix);
@@ -160,7 +160,7 @@ export function ɵɵclassMapInterpolate4(
v2: any,
i2: string,
v3: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation4(lView, prefix, v0, i0, v1, i1, v2, i2, v3, suffix);
@@ -208,7 +208,7 @@ export function ɵɵclassMapInterpolate5(
v3: any,
i3: string,
v4: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation5(
@@ -273,7 +273,7 @@ export function ɵɵclassMapInterpolate6(
v4: any,
i4: string,
v5: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation6(
@@ -344,7 +344,7 @@ export function ɵɵclassMapInterpolate7(
v5: any,
i5: string,
v6: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation7(
@@ -421,7 +421,7 @@ export function ɵɵclassMapInterpolate8(
v6: any,
i6: string,
v7: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation8(
diff --git a/packages/core/src/render3/instructions/interpolation.ts b/packages/core/src/render3/instructions/interpolation.ts
index acc0234afe53..48d32ecef01c 100644
--- a/packages/core/src/render3/instructions/interpolation.ts
+++ b/packages/core/src/render3/instructions/interpolation.ts
@@ -27,7 +27,6 @@ import {renderStringify} from '../util/stringify_utils';
*/
export function interpolationV(lView: LView, values: any[]): string | NO_CHANGE {
ngDevMode && assertLessThan(2, values.length, 'should have at least 3 values');
- ngDevMode && assertEqual(values.length % 2, 1, 'should have an odd number of values');
let isBindingUpdated = false;
let bindingIndex = getBindingIndex();
@@ -44,7 +43,8 @@ export function interpolationV(lView: LView, values: any[]): string | NO_CHANGE
// Build the updated content
let content = values[0];
for (let i = 1; i < values.length; i += 2) {
- content += renderStringify(values[i]) + values[i + 1];
+ // The condition is to prevent an out-of-bound read
+ content += renderStringify(values[i]) + (i + 1 !== values.length ? values[i + 1] : '');
}
return content;
@@ -61,7 +61,7 @@ export function interpolation1(
lView: LView,
prefix: string,
v0: any,
- suffix: string,
+ suffix = '',
): string | NO_CHANGE {
const different = bindingUpdated(lView, nextBindingIndex(), v0);
return different ? prefix + renderStringify(v0) + suffix : NO_CHANGE;
@@ -76,7 +76,7 @@ export function interpolation2(
v0: any,
i0: string,
v1: any,
- suffix: string,
+ suffix = '',
): string | NO_CHANGE {
const bindingIndex = getBindingIndex();
const different = bindingUpdated2(lView, bindingIndex, v0, v1);
@@ -96,7 +96,7 @@ export function interpolation3(
v1: any,
i1: string,
v2: any,
- suffix: string,
+ suffix = '',
): string | NO_CHANGE {
const bindingIndex = getBindingIndex();
const different = bindingUpdated3(lView, bindingIndex, v0, v1, v2);
@@ -120,7 +120,7 @@ export function interpolation4(
v2: any,
i2: string,
v3: any,
- suffix: string,
+ suffix = '',
): string | NO_CHANGE {
const bindingIndex = getBindingIndex();
const different = bindingUpdated4(lView, bindingIndex, v0, v1, v2, v3);
@@ -154,7 +154,7 @@ export function interpolation5(
v3: any,
i3: string,
v4: any,
- suffix: string,
+ suffix = '',
): string | NO_CHANGE {
const bindingIndex = getBindingIndex();
let different = bindingUpdated4(lView, bindingIndex, v0, v1, v2, v3);
@@ -193,7 +193,7 @@ export function interpolation6(
v4: any,
i4: string,
v5: any,
- suffix: string,
+ suffix = '',
): string | NO_CHANGE {
const bindingIndex = getBindingIndex();
let different = bindingUpdated4(lView, bindingIndex, v0, v1, v2, v3);
@@ -236,7 +236,7 @@ export function interpolation7(
v5: any,
i5: string,
v6: any,
- suffix: string,
+ suffix = '',
): string | NO_CHANGE {
const bindingIndex = getBindingIndex();
let different = bindingUpdated4(lView, bindingIndex, v0, v1, v2, v3);
@@ -283,7 +283,7 @@ export function interpolation8(
v6: any,
i6: string,
v7: any,
- suffix: string,
+ suffix = '',
): string | NO_CHANGE {
const bindingIndex = getBindingIndex();
let different = bindingUpdated4(lView, bindingIndex, v0, v1, v2, v3);
diff --git a/packages/core/src/render3/instructions/property_interpolation.ts b/packages/core/src/render3/instructions/property_interpolation.ts
index 701f34b17768..364e5843acd0 100644
--- a/packages/core/src/render3/instructions/property_interpolation.ts
+++ b/packages/core/src/render3/instructions/property_interpolation.ts
@@ -93,7 +93,7 @@ export function ɵɵpropertyInterpolate1(
propName: string,
prefix: string,
v0: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
): typeof ɵɵpropertyInterpolate1 {
const lView = getLView();
@@ -118,7 +118,7 @@ export function ɵɵpropertyInterpolate1(
propName,
getBindingIndex() - 1,
prefix,
- suffix,
+ suffix ?? '',
);
}
return ɵɵpropertyInterpolate1;
@@ -160,7 +160,7 @@ export function ɵɵpropertyInterpolate2(
v0: any,
i0: string,
v1: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
): typeof ɵɵpropertyInterpolate2 {
const lView = getLView();
@@ -186,7 +186,7 @@ export function ɵɵpropertyInterpolate2(
getBindingIndex() - 2,
prefix,
i0,
- suffix,
+ suffix ?? '',
);
}
return ɵɵpropertyInterpolate2;
@@ -233,7 +233,7 @@ export function ɵɵpropertyInterpolate3(
v1: any,
i1: string,
v2: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
): typeof ɵɵpropertyInterpolate3 {
const lView = getLView();
@@ -260,7 +260,7 @@ export function ɵɵpropertyInterpolate3(
prefix,
i0,
i1,
- suffix,
+ suffix ?? '',
);
}
return ɵɵpropertyInterpolate3;
@@ -311,7 +311,7 @@ export function ɵɵpropertyInterpolate4(
v2: any,
i2: string,
v3: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
): typeof ɵɵpropertyInterpolate4 {
const lView = getLView();
@@ -339,7 +339,7 @@ export function ɵɵpropertyInterpolate4(
i0,
i1,
i2,
- suffix,
+ suffix ?? '',
);
}
return ɵɵpropertyInterpolate4;
@@ -394,7 +394,7 @@ export function ɵɵpropertyInterpolate5(
v3: any,
i3: string,
v4: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
): typeof ɵɵpropertyInterpolate5 {
const lView = getLView();
@@ -436,7 +436,7 @@ export function ɵɵpropertyInterpolate5(
i1,
i2,
i3,
- suffix,
+ suffix ?? '',
);
}
return ɵɵpropertyInterpolate5;
@@ -495,7 +495,7 @@ export function ɵɵpropertyInterpolate6(
v4: any,
i4: string,
v5: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
): typeof ɵɵpropertyInterpolate6 {
const lView = getLView();
@@ -540,7 +540,7 @@ export function ɵɵpropertyInterpolate6(
i2,
i3,
i4,
- suffix,
+ suffix ?? '',
);
}
return ɵɵpropertyInterpolate6;
@@ -603,7 +603,7 @@ export function ɵɵpropertyInterpolate7(
v5: any,
i5: string,
v6: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
): typeof ɵɵpropertyInterpolate7 {
const lView = getLView();
@@ -651,7 +651,7 @@ export function ɵɵpropertyInterpolate7(
i3,
i4,
i5,
- suffix,
+ suffix ?? '',
);
}
return ɵɵpropertyInterpolate7;
@@ -718,7 +718,7 @@ export function ɵɵpropertyInterpolate8(
v6: any,
i6: string,
v7: any,
- suffix: string,
+ suffix?: string,
sanitizer?: SanitizerFn,
): typeof ɵɵpropertyInterpolate8 {
const lView = getLView();
@@ -769,7 +769,7 @@ export function ɵɵpropertyInterpolate8(
i4,
i5,
i6,
- suffix,
+ suffix ?? '',
);
}
return ɵɵpropertyInterpolate8;
diff --git a/packages/core/src/render3/instructions/style_map_interpolation.ts b/packages/core/src/render3/instructions/style_map_interpolation.ts
index 350ab7e5385b..1914cbff6a94 100644
--- a/packages/core/src/render3/instructions/style_map_interpolation.ts
+++ b/packages/core/src/render3/instructions/style_map_interpolation.ts
@@ -41,7 +41,7 @@ import {ɵɵstyleMap} from './styling';
* @param suffix Static value used for concatenation only.
* @codeGenApi
*/
-export function ɵɵstyleMapInterpolate1(prefix: string, v0: any, suffix: string): void {
+export function ɵɵstyleMapInterpolate1(prefix: string, v0: any, suffix?: string): void {
const lView = getLView();
const interpolatedValue = interpolation1(lView, prefix, v0, suffix);
ɵɵstyleMap(interpolatedValue);
@@ -75,7 +75,7 @@ export function ɵɵstyleMapInterpolate2(
v0: any,
i0: string,
v1: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation2(lView, prefix, v0, i0, v1, suffix);
@@ -115,7 +115,7 @@ export function ɵɵstyleMapInterpolate3(
v1: any,
i1: string,
v2: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation3(lView, prefix, v0, i0, v1, i1, v2, suffix);
@@ -159,7 +159,7 @@ export function ɵɵstyleMapInterpolate4(
v2: any,
i2: string,
v3: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation4(lView, prefix, v0, i0, v1, i1, v2, i2, v3, suffix);
@@ -207,7 +207,7 @@ export function ɵɵstyleMapInterpolate5(
v3: any,
i3: string,
v4: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation5(
@@ -274,7 +274,7 @@ export function ɵɵstyleMapInterpolate6(
v4: any,
i4: string,
v5: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation6(
@@ -347,7 +347,7 @@ export function ɵɵstyleMapInterpolate7(
v5: any,
i5: string,
v6: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation7(
@@ -426,7 +426,7 @@ export function ɵɵstyleMapInterpolate8(
v6: any,
i6: string,
v7: any,
- suffix: string,
+ suffix?: string,
): void {
const lView = getLView();
const interpolatedValue = interpolation8(
diff --git a/packages/core/src/render3/instructions/style_prop_interpolation.ts b/packages/core/src/render3/instructions/style_prop_interpolation.ts
index 44fcada58f93..8da8560e2298 100644
--- a/packages/core/src/render3/instructions/style_prop_interpolation.ts
+++ b/packages/core/src/render3/instructions/style_prop_interpolation.ts
@@ -50,7 +50,7 @@ export function ɵɵstylePropInterpolate1(
prop: string,
prefix: string,
v0: any,
- suffix: string,
+ suffix?: string,
valueSuffix?: string | null,
): typeof ɵɵstylePropInterpolate1 {
const lView = getLView();
@@ -93,7 +93,7 @@ export function ɵɵstylePropInterpolate2(
v0: any,
i0: string,
v1: any,
- suffix: string,
+ suffix?: string,
valueSuffix?: string | null,
): typeof ɵɵstylePropInterpolate2 {
const lView = getLView();
@@ -140,7 +140,7 @@ export function ɵɵstylePropInterpolate3(
v1: any,
i1: string,
v2: any,
- suffix: string,
+ suffix?: string,
valueSuffix?: string | null,
): typeof ɵɵstylePropInterpolate3 {
const lView = getLView();
@@ -191,7 +191,7 @@ export function ɵɵstylePropInterpolate4(
v2: any,
i2: string,
v3: any,
- suffix: string,
+ suffix?: string,
valueSuffix?: string | null,
): typeof ɵɵstylePropInterpolate4 {
const lView = getLView();
@@ -246,7 +246,7 @@ export function ɵɵstylePropInterpolate5(
v3: any,
i3: string,
v4: any,
- suffix: string,
+ suffix?: string,
valueSuffix?: string | null,
): typeof ɵɵstylePropInterpolate5 {
const lView = getLView();
@@ -318,7 +318,7 @@ export function ɵɵstylePropInterpolate6(
v4: any,
i4: string,
v5: any,
- suffix: string,
+ suffix?: string,
valueSuffix?: string | null,
): typeof ɵɵstylePropInterpolate6 {
const lView = getLView();
@@ -397,7 +397,7 @@ export function ɵɵstylePropInterpolate7(
v5: any,
i5: string,
v6: any,
- suffix: string,
+ suffix?: string,
valueSuffix?: string | null,
): typeof ɵɵstylePropInterpolate7 {
const lView = getLView();
@@ -482,7 +482,7 @@ export function ɵɵstylePropInterpolate8(
v6: any,
i6: string,
v7: any,
- suffix: string,
+ suffix?: string,
valueSuffix?: string | null,
): typeof ɵɵstylePropInterpolate8 {
const lView = getLView();
diff --git a/packages/core/src/render3/instructions/text_interpolation.ts b/packages/core/src/render3/instructions/text_interpolation.ts
index c8afff83d992..c2f18135f24c 100644
--- a/packages/core/src/render3/instructions/text_interpolation.ts
+++ b/packages/core/src/render3/instructions/text_interpolation.ts
@@ -46,7 +46,7 @@ import {
* @codeGenApi
*/
export function ɵɵtextInterpolate(v0: any): typeof ɵɵtextInterpolate {
- ɵɵtextInterpolate1('', v0, '');
+ ɵɵtextInterpolate1('', v0);
return ɵɵtextInterpolate;
}
@@ -72,7 +72,7 @@ export function ɵɵtextInterpolate(v0: any): typeof ɵɵtextInterpolate {
export function ɵɵtextInterpolate1(
prefix: string,
v0: any,
- suffix: string,
+ suffix?: string,
): typeof ɵɵtextInterpolate1 {
const lView = getLView();
const interpolated = interpolation1(lView, prefix, v0, suffix);
@@ -106,7 +106,7 @@ export function ɵɵtextInterpolate2(
v0: any,
i0: string,
v1: any,
- suffix: string,
+ suffix?: string,
): typeof ɵɵtextInterpolate2 {
const lView = getLView();
const interpolated = interpolation2(lView, prefix, v0, i0, v1, suffix);
@@ -143,7 +143,7 @@ export function ɵɵtextInterpolate3(
v1: any,
i1: string,
v2: any,
- suffix: string,
+ suffix?: string,
): typeof ɵɵtextInterpolate3 {
const lView = getLView();
const interpolated = interpolation3(lView, prefix, v0, i0, v1, i1, v2, suffix);
@@ -182,7 +182,7 @@ export function ɵɵtextInterpolate4(
v2: any,
i2: string,
v3: any,
- suffix: string,
+ suffix?: string,
): typeof ɵɵtextInterpolate4 {
const lView = getLView();
const interpolated = interpolation4(lView, prefix, v0, i0, v1, i1, v2, i2, v3, suffix);
@@ -223,7 +223,7 @@ export function ɵɵtextInterpolate5(
v3: any,
i3: string,
v4: any,
- suffix: string,
+ suffix?: string,
): typeof ɵɵtextInterpolate5 {
const lView = getLView();
const interpolated = interpolation5(lView, prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, suffix);
@@ -268,7 +268,7 @@ export function ɵɵtextInterpolate6(
v4: any,
i4: string,
v5: any,
- suffix: string,
+ suffix?: string,
): typeof ɵɵtextInterpolate6 {
const lView = getLView();
const interpolated = interpolation6(
@@ -328,7 +328,7 @@ export function ɵɵtextInterpolate7(
v5: any,
i5: string,
v6: any,
- suffix: string,
+ suffix?: string,
): typeof ɵɵtextInterpolate7 {
const lView = getLView();
const interpolated = interpolation7(
@@ -392,7 +392,7 @@ export function ɵɵtextInterpolate8(
v6: any,
i6: string,
v7: any,
- suffix: string,
+ suffix?: string,
): typeof ɵɵtextInterpolate8 {
const lView = getLView();
const interpolated = interpolation8(
diff --git a/packages/tsconfig-build.json b/packages/tsconfig-build.json
index 8fd4cf015bf5..3ce102aa4e57 100644
--- a/packages/tsconfig-build.json
+++ b/packages/tsconfig-build.json
@@ -19,7 +19,7 @@
"moduleResolution": "node",
"module": "esnext",
"target": "es2022",
- "lib": ["es2020", "dom", "dom.iterable"],
+ "lib": ["es2020", "es2022", "dom", "dom.iterable"],
"skipLibCheck": true,
// don't auto-discover @types/node, it results in a ///