@angular/compiler 17.3.0-rc.0 → 17.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,10 +29,19 @@ export function transformTwoWayBindingSet(job) {
29
29
  }
30
30
  }
31
31
  function wrapSetOperation(target, value) {
32
+ // ASSUMPTION: here we're assuming that `ReadVariableExpr` will be a reference
33
+ // to a local template variable. This appears to be the case at the time of writing.
34
+ // If the expression is targeting a variable read, we only emit the `twoWayBindingSet` since
35
+ // the fallback would be attempting to write into a constant. Invalid usages will be flagged
36
+ // during template type checking.
37
+ if (target instanceof ir.ReadVariableExpr) {
38
+ return ng.twoWayBindingSet(target, value);
39
+ }
32
40
  return ng.twoWayBindingSet(target, value).or(target.set(value));
33
41
  }
34
42
  function isReadExpression(value) {
35
- return value instanceof o.ReadPropExpr || value instanceof o.ReadKeyExpr;
43
+ return value instanceof o.ReadPropExpr || value instanceof o.ReadKeyExpr ||
44
+ value instanceof ir.ReadVariableExpr;
36
45
  }
37
46
  function wrapAction(target, value) {
38
47
  // The only officially supported expressions inside of a two-way binding are read expressions.
@@ -76,4 +85,4 @@ function wrapAction(target, value) {
76
85
  }
77
86
  throw new Error(`Unsupported expression in two-way action binding.`);
78
87
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtX3R3b193YXlfYmluZGluZ19zZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvdGVtcGxhdGUvcGlwZWxpbmUvc3JjL3BoYXNlcy90cmFuc2Zvcm1fdHdvX3dheV9iaW5kaW5nX3NldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEtBQUssQ0FBQyxNQUFNLCtCQUErQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckM7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsR0FBbUI7SUFDM0QsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3pDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDdkMsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLENBQUM7d0JBQzVDLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM3QyxDQUFDO29CQUNELE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUMsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM3QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxNQUFvQyxFQUFFLEtBQW1CO0lBQ2pGLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEtBQWM7SUFDdEMsT0FBTyxLQUFLLFlBQVksQ0FBQyxDQUFDLFlBQVksSUFBSSxLQUFLLFlBQVksQ0FBQyxDQUFDLFdBQVcsQ0FBQztBQUMzRSxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsTUFBb0IsRUFBRSxLQUFtQjtJQUMzRCw4RkFBOEY7SUFDOUYsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxpR0FBaUc7SUFDakcsNEZBQTRGO0lBQzVGLDRGQUE0RjtJQUM1Riw0RkFBNEY7SUFDNUYsNkZBQTZGO0lBQzdGLDBGQUEwRjtJQUMxRiwyRkFBMkY7SUFDM0YsNkJBQTZCO0lBQzdCLElBQUksTUFBTSxZQUFZLENBQUMsQ0FBQyxrQkFBa0IsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMzRSw2RUFBNkU7UUFDN0UsT0FBTyxJQUFJLENBQUMsQ0FBQyxrQkFBa0IsQ0FDM0IsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsZ0VBQWdFO0lBQ2hFLGtFQUFrRTtJQUNsRSxJQUFJLE1BQU0sWUFBWSxDQUFDLENBQUMsZUFBZSxJQUFJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzlFLHVGQUF1RjtRQUN2RixPQUFPLElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FDeEIsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsaUVBQWlFO0lBQ2pFLGdGQUFnRjtJQUNoRixvRUFBb0U7SUFDcEUsSUFBSSxNQUFNLFlBQVksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFFNUIsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNaLElBQUksSUFBSSxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDeEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZDLENBQUM7Z0JBQ0QsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAqIGFzIG8gZnJvbSAnLi4vLi4vLi4vLi4vb3V0cHV0L291dHB1dF9hc3QnO1xuaW1wb3J0ICogYXMgaXIgZnJvbSAnLi4vLi4vaXInO1xuaW1wb3J0ICogYXMgbmcgZnJvbSAnLi4vaW5zdHJ1Y3Rpb24nO1xuaW1wb3J0IHR5cGUge0NvbXBpbGF0aW9uSm9ifSBmcm9tICcuLi9jb21waWxhdGlvbic7XG5cbi8qKlxuICogVHJhbnNmb3JtcyBhIGBUd29XYXlCaW5kaW5nU2V0YCBleHByZXNzaW9uIGludG8gYW4gZXhwcmVzc2lvbiB0aGF0IGVpdGhlclxuICogc2V0cyBhIHZhbHVlIHRocm91Z2ggdGhlIGB0d29XYXlCaW5kaW5nU2V0YCBpbnN0cnVjdGlvbiBvciBmYWxscyBiYWNrIHRvIHNldHRpbmdcbiAqIHRoZSB2YWx1ZSBkaXJlY3RseS4gRS5nLiB0aGUgZXhwcmVzc2lvbiBgVHdvV2F5QmluZGluZ1NldCh0YXJnZXQsIHZhbHVlKWAgYmVjb21lczpcbiAqIGBuZy50d29XYXlCaW5kaW5nU2V0KHRhcmdldCwgdmFsdWUpIHx8ICh0YXJnZXQgPSB2YWx1ZSlgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtVHdvV2F5QmluZGluZ1NldChqb2I6IENvbXBpbGF0aW9uSm9iKTogdm9pZCB7XG4gIGZvciAoY29uc3QgdW5pdCBvZiBqb2IudW5pdHMpIHtcbiAgICBmb3IgKGNvbnN0IG9wIG9mIHVuaXQuY3JlYXRlKSB7XG4gICAgICBpZiAob3Aua2luZCA9PT0gaXIuT3BLaW5kLlR3b1dheUxpc3RlbmVyKSB7XG4gICAgICAgIGlyLnRyYW5zZm9ybUV4cHJlc3Npb25zSW5PcChvcCwgKGV4cHIpID0+IHtcbiAgICAgICAgICBpZiAoZXhwciBpbnN0YW5jZW9mIGlyLlR3b1dheUJpbmRpbmdTZXRFeHByKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcEFjdGlvbihleHByLnRhcmdldCwgZXhwci52YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBleHByO1xuICAgICAgICB9LCBpci5WaXNpdG9yQ29udGV4dEZsYWcuSW5DaGlsZE9wZXJhdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdyYXBTZXRPcGVyYXRpb24odGFyZ2V0OiBvLlJlYWRQcm9wRXhwcnxvLlJlYWRLZXlFeHByLCB2YWx1ZTogby5FeHByZXNzaW9uKTogby5FeHByZXNzaW9uIHtcbiAgcmV0dXJuIG5nLnR3b1dheUJpbmRpbmdTZXQodGFyZ2V0LCB2YWx1ZSkub3IodGFyZ2V0LnNldCh2YWx1ZSkpO1xufVxuXG5mdW5jdGlvbiBpc1JlYWRFeHByZXNzaW9uKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgby5SZWFkUHJvcEV4cHJ8by5SZWFkS2V5RXhwciB7XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIG8uUmVhZFByb3BFeHByIHx8IHZhbHVlIGluc3RhbmNlb2Ygby5SZWFkS2V5RXhwcjtcbn1cblxuZnVuY3Rpb24gd3JhcEFjdGlvbih0YXJnZXQ6IG8uRXhwcmVzc2lvbiwgdmFsdWU6IG8uRXhwcmVzc2lvbik6IG8uRXhwcmVzc2lvbiB7XG4gIC8vIFRoZSBvbmx5IG9mZmljaWFsbHkgc3VwcG9ydGVkIGV4cHJlc3Npb25zIGluc2lkZSBvZiBhIHR3by13YXkgYmluZGluZyBhcmUgcmVhZCBleHByZXNzaW9ucy5cbiAgaWYgKGlzUmVhZEV4cHJlc3Npb24odGFyZ2V0KSkge1xuICAgIHJldHVybiB3cmFwU2V0T3BlcmF0aW9uKHRhcmdldCwgdmFsdWUpO1xuICB9XG5cbiAgLy8gSG93ZXZlciwgaGlzdG9yaWNhbGx5IHRoZSBleHByZXNzaW9uIHBhcnNlciB3YXMgaGFuZGxpbmcgdHdvLXdheSBldmVudHMgYnkgYXBwZW5kaW5nIGA9JGV2ZW50YFxuICAvLyB0byB0aGUgcmF3IHN0cmluZyBiZWZvcmUgYXR0ZW1wdGluZyB0byBwYXJzZSBpdC4gVGhpcyBoYXMgbGVkIHRvIGJ1Z3Mgb3ZlciB0aGUgeWVhcnMgKHNlZVxuICAvLyAjMzc4MDkpIGFuZCB0byB1bmludGVudGlvbmFsbHkgc3VwcG9ydGluZyB1bmFzc2lnbmFibGUgZXZlbnRzIGluIHRoZSB0d28td2F5IGJpbmRpbmcuIFRoZVxuICAvLyBsb2dpYyBiZWxvdyBhaW1zIHRvIGVtdWxhdGUgdGhlIG9sZCBiZWhhdmlvciB3aGlsZSBzdGlsbCBzdXBwb3J0aW5nIHRoZSBuZXcgb3V0cHV0IGZvcm1hdFxuICAvLyB3aGljaCB1c2VzIGB0d29XYXlCaW5kaW5nU2V0YC4gTm90ZSB0aGF0IHRoZSBnZW5lcmF0ZWQgY29kZSBkb2Vzbid0IG5lY2Vzc2FyaWx5IG1ha2Ugc2Vuc2VcbiAgLy8gYmFzZWQgb24gd2hhdCB0aGUgdXNlciB3cm90ZSwgZm9yIGV4YW1wbGUgdGhlIGV2ZW50IGJpbmRpbmcgZm9yIGBbKHZhbHVlKV09XCJhID8gYiA6IGNcImBcbiAgLy8gd291bGQgcHJvZHVjZSBgY3R4LmEgPyBjdHguYiA6IGN0eC5jID0gJGV2ZW50YC4gV2UgYWltIHRvIHJlcHJvZHVjZSB3aGF0IHRoZSBwYXJzZXIgdXNlZFxuICAvLyB0byBnZW5lcmF0ZSBiZWZvcmUgIzU0MTU0LlxuICBpZiAodGFyZ2V0IGluc3RhbmNlb2Ygby5CaW5hcnlPcGVyYXRvckV4cHIgJiYgaXNSZWFkRXhwcmVzc2lvbih0YXJnZXQucmhzKSkge1xuICAgIC8vIGBhICYmIGJgIC0+IGBjdHguYSAmJiB0d29XYXlCaW5kaW5nU2V0KGN0eC5iLCAkZXZlbnQpIHx8IChjdHguYiA9ICRldmVudClgXG4gICAgcmV0dXJuIG5ldyBvLkJpbmFyeU9wZXJhdG9yRXhwcihcbiAgICAgICAgdGFyZ2V0Lm9wZXJhdG9yLCB0YXJnZXQubGhzLCB3cmFwU2V0T3BlcmF0aW9uKHRhcmdldC5yaHMsIHZhbHVlKSk7XG4gIH1cblxuICAvLyBOb3RlOiB0aGlzIGFsc28gc3VwcG9ydHMgbnVsbGlzaCBjb2FsZXNjaW5nIGV4cHJlc3Npb25zIHdoaWNoXG4gIC8vIHdvdWxkJ3ZlIGJlZW4gZG93bmxldmVsZWQgdG8gdGVybmFyeSBleHByZXNzaW9ucyBieSB0aGlzIHBvaW50LlxuICBpZiAodGFyZ2V0IGluc3RhbmNlb2Ygby5Db25kaXRpb25hbEV4cHIgJiYgaXNSZWFkRXhwcmVzc2lvbih0YXJnZXQuZmFsc2VDYXNlKSkge1xuICAgIC8vIGBhID8gYiA6IGNgIC0+IGBjdHguYSA/IGN0eC5iIDogdHdvV2F5QmluZGluZ1NldChjdHguYywgJGV2ZW50KSB8fCAoY3R4LmMgPSAkZXZlbnQpYFxuICAgIHJldHVybiBuZXcgby5Db25kaXRpb25hbEV4cHIoXG4gICAgICAgIHRhcmdldC5jb25kaXRpb24sIHRhcmdldC50cnVlQ2FzZSwgd3JhcFNldE9wZXJhdGlvbih0YXJnZXQuZmFsc2VDYXNlLCB2YWx1ZSkpO1xuICB9XG5cbiAgLy8gYCEhYWAgLT4gYHR3b1dheUJpbmRpbmdTZXQoY3R4LmEsICRldmVudCkgfHwgKGN0eC5hID0gJGV2ZW50KWBcbiAgLy8gTm90ZTogcHJldmlvdXNseSB3ZSdkIGFjdHVhbGx5IHByb2R1Y2UgYCEhKGN0eC5hID0gJGV2ZW50KWAsIGJ1dCB0aGUgd3JhcHBpbmdcbiAgLy8gbm9kZSBkb2Vzbid0IGFmZmVjdCB0aGUgcmVzdWx0IHNvIHdlIGRvbid0IG5lZWQgdG8gY2FycnkgaXQgb3Zlci5cbiAgaWYgKHRhcmdldCBpbnN0YW5jZW9mIG8uTm90RXhwcikge1xuICAgIGxldCBleHByID0gdGFyZ2V0LmNvbmRpdGlvbjtcblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAoZXhwciBpbnN0YW5jZW9mIG8uTm90RXhwcikge1xuICAgICAgICBleHByID0gZXhwci5jb25kaXRpb247XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoaXNSZWFkRXhwcmVzc2lvbihleHByKSkge1xuICAgICAgICAgIHJldHVybiB3cmFwU2V0T3BlcmF0aW9uKGV4cHIsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGV4cHJlc3Npb24gaW4gdHdvLXdheSBhY3Rpb24gYmluZGluZy5gKTtcbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtX3R3b193YXlfYmluZGluZ19zZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvdGVtcGxhdGUvcGlwZWxpbmUvc3JjL3BoYXNlcy90cmFuc2Zvcm1fdHdvX3dheV9iaW5kaW5nX3NldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEtBQUssQ0FBQyxNQUFNLCtCQUErQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckM7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsR0FBbUI7SUFDM0QsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3pDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDdkMsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLENBQUM7d0JBQzVDLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM3QyxDQUFDO29CQUNELE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUMsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM3QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FDckIsTUFBd0QsRUFBRSxLQUFtQjtJQUMvRSw4RUFBOEU7SUFDOUUsb0ZBQW9GO0lBQ3BGLDRGQUE0RjtJQUM1Riw0RkFBNEY7SUFDNUYsaUNBQWlDO0lBQ2pDLElBQUksTUFBTSxZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFDLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsS0FBYztJQUV0QyxPQUFPLEtBQUssWUFBWSxDQUFDLENBQUMsWUFBWSxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUMsV0FBVztRQUNwRSxLQUFLLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO0FBQzNDLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxNQUFvQixFQUFFLEtBQW1CO0lBQzNELDhGQUE4RjtJQUM5RixJQUFJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDN0IsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGlHQUFpRztJQUNqRyw0RkFBNEY7SUFDNUYsNEZBQTRGO0lBQzVGLDRGQUE0RjtJQUM1Riw2RkFBNkY7SUFDN0YsMEZBQTBGO0lBQzFGLDJGQUEyRjtJQUMzRiw2QkFBNkI7SUFDN0IsSUFBSSxNQUFNLFlBQVksQ0FBQyxDQUFDLGtCQUFrQixJQUFJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNFLDZFQUE2RTtRQUM3RSxPQUFPLElBQUksQ0FBQyxDQUFDLGtCQUFrQixDQUMzQixNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsa0VBQWtFO0lBQ2xFLElBQUksTUFBTSxZQUFZLENBQUMsQ0FBQyxlQUFlLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDOUUsdUZBQXVGO1FBQ3ZGLE9BQU8sSUFBSSxDQUFDLENBQUMsZUFBZSxDQUN4QixNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxpRUFBaUU7SUFDakUsZ0ZBQWdGO0lBQ2hGLG9FQUFvRTtJQUNwRSxJQUFJLE1BQU0sWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEMsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUU1QixPQUFPLElBQUksRUFBRSxDQUFDO1lBQ1osSUFBSSxJQUFJLFlBQVksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM5QixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUN4QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUMzQixPQUFPLGdCQUFnQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDdkMsQ0FBQztnQkFDRCxNQUFNO1lBQ1IsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0FBQ3ZFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgbyBmcm9tICcuLi8uLi8uLi8uLi9vdXRwdXQvb3V0cHV0X2FzdCc7XG5pbXBvcnQgKiBhcyBpciBmcm9tICcuLi8uLi9pcic7XG5pbXBvcnQgKiBhcyBuZyBmcm9tICcuLi9pbnN0cnVjdGlvbic7XG5pbXBvcnQgdHlwZSB7Q29tcGlsYXRpb25Kb2J9IGZyb20gJy4uL2NvbXBpbGF0aW9uJztcblxuLyoqXG4gKiBUcmFuc2Zvcm1zIGEgYFR3b1dheUJpbmRpbmdTZXRgIGV4cHJlc3Npb24gaW50byBhbiBleHByZXNzaW9uIHRoYXQgZWl0aGVyXG4gKiBzZXRzIGEgdmFsdWUgdGhyb3VnaCB0aGUgYHR3b1dheUJpbmRpbmdTZXRgIGluc3RydWN0aW9uIG9yIGZhbGxzIGJhY2sgdG8gc2V0dGluZ1xuICogdGhlIHZhbHVlIGRpcmVjdGx5LiBFLmcuIHRoZSBleHByZXNzaW9uIGBUd29XYXlCaW5kaW5nU2V0KHRhcmdldCwgdmFsdWUpYCBiZWNvbWVzOlxuICogYG5nLnR3b1dheUJpbmRpbmdTZXQodGFyZ2V0LCB2YWx1ZSkgfHwgKHRhcmdldCA9IHZhbHVlKWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1Ud29XYXlCaW5kaW5nU2V0KGpvYjogQ29tcGlsYXRpb25Kb2IpOiB2b2lkIHtcbiAgZm9yIChjb25zdCB1bml0IG9mIGpvYi51bml0cykge1xuICAgIGZvciAoY29uc3Qgb3Agb2YgdW5pdC5jcmVhdGUpIHtcbiAgICAgIGlmIChvcC5raW5kID09PSBpci5PcEtpbmQuVHdvV2F5TGlzdGVuZXIpIHtcbiAgICAgICAgaXIudHJhbnNmb3JtRXhwcmVzc2lvbnNJbk9wKG9wLCAoZXhwcikgPT4ge1xuICAgICAgICAgIGlmIChleHByIGluc3RhbmNlb2YgaXIuVHdvV2F5QmluZGluZ1NldEV4cHIpIHtcbiAgICAgICAgICAgIHJldHVybiB3cmFwQWN0aW9uKGV4cHIudGFyZ2V0LCBleHByLnZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGV4cHI7XG4gICAgICAgIH0sIGlyLlZpc2l0b3JDb250ZXh0RmxhZy5JbkNoaWxkT3BlcmF0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gd3JhcFNldE9wZXJhdGlvbihcbiAgICB0YXJnZXQ6IG8uUmVhZFByb3BFeHByfG8uUmVhZEtleUV4cHJ8aXIuUmVhZFZhcmlhYmxlRXhwciwgdmFsdWU6IG8uRXhwcmVzc2lvbik6IG8uRXhwcmVzc2lvbiB7XG4gIC8vIEFTU1VNUFRJT046IGhlcmUgd2UncmUgYXNzdW1pbmcgdGhhdCBgUmVhZFZhcmlhYmxlRXhwcmAgd2lsbCBiZSBhIHJlZmVyZW5jZVxuICAvLyB0byBhIGxvY2FsIHRlbXBsYXRlIHZhcmlhYmxlLiBUaGlzIGFwcGVhcnMgdG8gYmUgdGhlIGNhc2UgYXQgdGhlIHRpbWUgb2Ygd3JpdGluZy5cbiAgLy8gSWYgdGhlIGV4cHJlc3Npb24gaXMgdGFyZ2V0aW5nIGEgdmFyaWFibGUgcmVhZCwgd2Ugb25seSBlbWl0IHRoZSBgdHdvV2F5QmluZGluZ1NldGAgc2luY2VcbiAgLy8gdGhlIGZhbGxiYWNrIHdvdWxkIGJlIGF0dGVtcHRpbmcgdG8gd3JpdGUgaW50byBhIGNvbnN0YW50LiBJbnZhbGlkIHVzYWdlcyB3aWxsIGJlIGZsYWdnZWRcbiAgLy8gZHVyaW5nIHRlbXBsYXRlIHR5cGUgY2hlY2tpbmcuXG4gIGlmICh0YXJnZXQgaW5zdGFuY2VvZiBpci5SZWFkVmFyaWFibGVFeHByKSB7XG4gICAgcmV0dXJuIG5nLnR3b1dheUJpbmRpbmdTZXQodGFyZ2V0LCB2YWx1ZSk7XG4gIH1cblxuICByZXR1cm4gbmcudHdvV2F5QmluZGluZ1NldCh0YXJnZXQsIHZhbHVlKS5vcih0YXJnZXQuc2V0KHZhbHVlKSk7XG59XG5cbmZ1bmN0aW9uIGlzUmVhZEV4cHJlc3Npb24odmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBvLlJlYWRQcm9wRXhwcnxvLlJlYWRLZXlFeHByfFxuICAgIGlyLlJlYWRWYXJpYWJsZUV4cHIge1xuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBvLlJlYWRQcm9wRXhwciB8fCB2YWx1ZSBpbnN0YW5jZW9mIG8uUmVhZEtleUV4cHIgfHxcbiAgICAgIHZhbHVlIGluc3RhbmNlb2YgaXIuUmVhZFZhcmlhYmxlRXhwcjtcbn1cblxuZnVuY3Rpb24gd3JhcEFjdGlvbih0YXJnZXQ6IG8uRXhwcmVzc2lvbiwgdmFsdWU6IG8uRXhwcmVzc2lvbik6IG8uRXhwcmVzc2lvbiB7XG4gIC8vIFRoZSBvbmx5IG9mZmljaWFsbHkgc3VwcG9ydGVkIGV4cHJlc3Npb25zIGluc2lkZSBvZiBhIHR3by13YXkgYmluZGluZyBhcmUgcmVhZCBleHByZXNzaW9ucy5cbiAgaWYgKGlzUmVhZEV4cHJlc3Npb24odGFyZ2V0KSkge1xuICAgIHJldHVybiB3cmFwU2V0T3BlcmF0aW9uKHRhcmdldCwgdmFsdWUpO1xuICB9XG5cbiAgLy8gSG93ZXZlciwgaGlzdG9yaWNhbGx5IHRoZSBleHByZXNzaW9uIHBhcnNlciB3YXMgaGFuZGxpbmcgdHdvLXdheSBldmVudHMgYnkgYXBwZW5kaW5nIGA9JGV2ZW50YFxuICAvLyB0byB0aGUgcmF3IHN0cmluZyBiZWZvcmUgYXR0ZW1wdGluZyB0byBwYXJzZSBpdC4gVGhpcyBoYXMgbGVkIHRvIGJ1Z3Mgb3ZlciB0aGUgeWVhcnMgKHNlZVxuICAvLyAjMzc4MDkpIGFuZCB0byB1bmludGVudGlvbmFsbHkgc3VwcG9ydGluZyB1bmFzc2lnbmFibGUgZXZlbnRzIGluIHRoZSB0d28td2F5IGJpbmRpbmcuIFRoZVxuICAvLyBsb2dpYyBiZWxvdyBhaW1zIHRvIGVtdWxhdGUgdGhlIG9sZCBiZWhhdmlvciB3aGlsZSBzdGlsbCBzdXBwb3J0aW5nIHRoZSBuZXcgb3V0cHV0IGZvcm1hdFxuICAvLyB3aGljaCB1c2VzIGB0d29XYXlCaW5kaW5nU2V0YC4gTm90ZSB0aGF0IHRoZSBnZW5lcmF0ZWQgY29kZSBkb2Vzbid0IG5lY2Vzc2FyaWx5IG1ha2Ugc2Vuc2VcbiAgLy8gYmFzZWQgb24gd2hhdCB0aGUgdXNlciB3cm90ZSwgZm9yIGV4YW1wbGUgdGhlIGV2ZW50IGJpbmRpbmcgZm9yIGBbKHZhbHVlKV09XCJhID8gYiA6IGNcImBcbiAgLy8gd291bGQgcHJvZHVjZSBgY3R4LmEgPyBjdHguYiA6IGN0eC5jID0gJGV2ZW50YC4gV2UgYWltIHRvIHJlcHJvZHVjZSB3aGF0IHRoZSBwYXJzZXIgdXNlZFxuICAvLyB0byBnZW5lcmF0ZSBiZWZvcmUgIzU0MTU0LlxuICBpZiAodGFyZ2V0IGluc3RhbmNlb2Ygby5CaW5hcnlPcGVyYXRvckV4cHIgJiYgaXNSZWFkRXhwcmVzc2lvbih0YXJnZXQucmhzKSkge1xuICAgIC8vIGBhICYmIGJgIC0+IGBjdHguYSAmJiB0d29XYXlCaW5kaW5nU2V0KGN0eC5iLCAkZXZlbnQpIHx8IChjdHguYiA9ICRldmVudClgXG4gICAgcmV0dXJuIG5ldyBvLkJpbmFyeU9wZXJhdG9yRXhwcihcbiAgICAgICAgdGFyZ2V0Lm9wZXJhdG9yLCB0YXJnZXQubGhzLCB3cmFwU2V0T3BlcmF0aW9uKHRhcmdldC5yaHMsIHZhbHVlKSk7XG4gIH1cblxuICAvLyBOb3RlOiB0aGlzIGFsc28gc3VwcG9ydHMgbnVsbGlzaCBjb2FsZXNjaW5nIGV4cHJlc3Npb25zIHdoaWNoXG4gIC8vIHdvdWxkJ3ZlIGJlZW4gZG93bmxldmVsZWQgdG8gdGVybmFyeSBleHByZXNzaW9ucyBieSB0aGlzIHBvaW50LlxuICBpZiAodGFyZ2V0IGluc3RhbmNlb2Ygby5Db25kaXRpb25hbEV4cHIgJiYgaXNSZWFkRXhwcmVzc2lvbih0YXJnZXQuZmFsc2VDYXNlKSkge1xuICAgIC8vIGBhID8gYiA6IGNgIC0+IGBjdHguYSA/IGN0eC5iIDogdHdvV2F5QmluZGluZ1NldChjdHguYywgJGV2ZW50KSB8fCAoY3R4LmMgPSAkZXZlbnQpYFxuICAgIHJldHVybiBuZXcgby5Db25kaXRpb25hbEV4cHIoXG4gICAgICAgIHRhcmdldC5jb25kaXRpb24sIHRhcmdldC50cnVlQ2FzZSwgd3JhcFNldE9wZXJhdGlvbih0YXJnZXQuZmFsc2VDYXNlLCB2YWx1ZSkpO1xuICB9XG5cbiAgLy8gYCEhYWAgLT4gYHR3b1dheUJpbmRpbmdTZXQoY3R4LmEsICRldmVudCkgfHwgKGN0eC5hID0gJGV2ZW50KWBcbiAgLy8gTm90ZTogcHJldmlvdXNseSB3ZSdkIGFjdHVhbGx5IHByb2R1Y2UgYCEhKGN0eC5hID0gJGV2ZW50KWAsIGJ1dCB0aGUgd3JhcHBpbmdcbiAgLy8gbm9kZSBkb2Vzbid0IGFmZmVjdCB0aGUgcmVzdWx0IHNvIHdlIGRvbid0IG5lZWQgdG8gY2FycnkgaXQgb3Zlci5cbiAgaWYgKHRhcmdldCBpbnN0YW5jZW9mIG8uTm90RXhwcikge1xuICAgIGxldCBleHByID0gdGFyZ2V0LmNvbmRpdGlvbjtcblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAoZXhwciBpbnN0YW5jZW9mIG8uTm90RXhwcikge1xuICAgICAgICBleHByID0gZXhwci5jb25kaXRpb247XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoaXNSZWFkRXhwcmVzc2lvbihleHByKSkge1xuICAgICAgICAgIHJldHVybiB3cmFwU2V0T3BlcmF0aW9uKGV4cHIsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGV4cHJlc3Npb24gaW4gdHdvLXdheSBhY3Rpb24gYmluZGluZy5gKTtcbn1cbiJdfQ==
@@ -11,5 +11,5 @@
11
11
  * Entry point for all public APIs of the compiler package.
12
12
  */
13
13
  import { Version } from './util';
14
- export const VERSION = new Version('17.3.0-rc.0');
14
+ export const VERSION = new Version('17.3.1');
15
15
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogQG1vZHVsZVxuICogQGRlc2NyaXB0aW9uXG4gKiBFbnRyeSBwb2ludCBmb3IgYWxsIHB1YmxpYyBBUElzIG9mIHRoZSBjb21waWxlciBwYWNrYWdlLlxuICovXG5cbmltcG9ydCB7VmVyc2lvbn0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBuZXcgVmVyc2lvbignMC4wLjAtUExBQ0VIT0xERVInKTtcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.3.0-rc.0
2
+ * @license Angular v17.3.1
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -23169,10 +23169,19 @@ function transformTwoWayBindingSet(job) {
23169
23169
  }
23170
23170
  }
23171
23171
  function wrapSetOperation(target, value) {
23172
+ // ASSUMPTION: here we're assuming that `ReadVariableExpr` will be a reference
23173
+ // to a local template variable. This appears to be the case at the time of writing.
23174
+ // If the expression is targeting a variable read, we only emit the `twoWayBindingSet` since
23175
+ // the fallback would be attempting to write into a constant. Invalid usages will be flagged
23176
+ // during template type checking.
23177
+ if (target instanceof ReadVariableExpr) {
23178
+ return twoWayBindingSet(target, value);
23179
+ }
23172
23180
  return twoWayBindingSet(target, value).or(target.set(value));
23173
23181
  }
23174
23182
  function isReadExpression(value) {
23175
- return value instanceof ReadPropExpr || value instanceof ReadKeyExpr;
23183
+ return value instanceof ReadPropExpr || value instanceof ReadKeyExpr ||
23184
+ value instanceof ReadVariableExpr;
23176
23185
  }
23177
23186
  function wrapAction(target, value) {
23178
23187
  // The only officially supported expressions inside of a two-way binding are read expressions.
@@ -25328,15 +25337,23 @@ function ingestControlFlowInsertionPoint(unit, xref, node) {
25328
25337
  root = child;
25329
25338
  }
25330
25339
  }
25331
- // If we've found a single root node, its tag name and *static* attributes can be copied
25332
- // to the surrounding template to be used for content projection. Note that it's important
25333
- // that we don't copy any bound attributes since they don't participate in content projection
25334
- // and they can be used in directive matching (in the case of `Template.templateAttrs`).
25340
+ // If we've found a single root node, its tag name and attributes can be
25341
+ // copied to the surrounding template to be used for content projection.
25335
25342
  if (root !== null) {
25343
+ // Collect the static attributes for content projection purposes.
25336
25344
  for (const attr of root.attributes) {
25337
25345
  const securityContext = domSchema.securityContext(NG_TEMPLATE_TAG_NAME$1, attr.name, true);
25338
25346
  unit.update.push(createBindingOp(xref, BindingKind.Attribute, attr.name, literal(attr.value), null, securityContext, true, false, null, asMessage(attr.i18n), attr.sourceSpan));
25339
25347
  }
25348
+ // Also collect the inputs since they participate in content projection as well.
25349
+ // Note that TDB used to collect the outputs as well, but it wasn't passing them into
25350
+ // the template instruction. Here we just don't collect them.
25351
+ for (const attr of root.inputs) {
25352
+ if (attr.type !== 4 /* e.BindingType.Animation */ && attr.type !== 1 /* e.BindingType.Attribute */) {
25353
+ const securityContext = domSchema.securityContext(NG_TEMPLATE_TAG_NAME$1, attr.name, true);
25354
+ unit.create.push(createExtractedAttributeOp(xref, BindingKind.Property, null, attr.name, null, null, null, securityContext));
25355
+ }
25356
+ }
25340
25357
  const tagName = root instanceof Element$1 ? root.name : root.tagName;
25341
25358
  // Don't pass along `ng-template` tag name since it enables directive matching.
25342
25359
  return tagName === NG_TEMPLATE_TAG_NAME$1 ? null : tagName;
@@ -26156,6 +26173,9 @@ function parseForLoopParameters(block, errors, bindingParser) {
26156
26173
  }
26157
26174
  else {
26158
26175
  const expression = parseBlockParameterToBinding(param, bindingParser, trackMatch[1]);
26176
+ if (expression.ast instanceof EmptyExpr$1) {
26177
+ errors.push(new ParseError(param.sourceSpan, '@for loop must have a "track" expression'));
26178
+ }
26159
26179
  const keywordSpan = new ParseSourceSpan(param.sourceSpan.start, param.sourceSpan.start.moveBy('track'.length));
26160
26180
  result.trackBy = { expression, keywordSpan };
26161
26181
  }
@@ -32806,7 +32826,7 @@ function publishFacade(global) {
32806
32826
  * @description
32807
32827
  * Entry point for all public APIs of the compiler package.
32808
32828
  */
32809
- const VERSION = new Version('17.3.0-rc.0');
32829
+ const VERSION = new Version('17.3.1');
32810
32830
 
32811
32831
  class CompilerConfig {
32812
32832
  constructor({ defaultEncapsulation = ViewEncapsulation.Emulated, preserveWhitespaces, strictInjectionParameters } = {}) {
@@ -34374,7 +34394,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$5 = '12.0.0';
34374
34394
  function compileDeclareClassMetadata(metadata) {
34375
34395
  const definitionMap = new DefinitionMap();
34376
34396
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
34377
- definitionMap.set('version', literal('17.3.0-rc.0'));
34397
+ definitionMap.set('version', literal('17.3.1'));
34378
34398
  definitionMap.set('ngImport', importExpr(Identifiers.core));
34379
34399
  definitionMap.set('type', metadata.type);
34380
34400
  definitionMap.set('decorators', metadata.decorators);
@@ -34470,7 +34490,7 @@ function createDirectiveDefinitionMap(meta) {
34470
34490
  const definitionMap = new DefinitionMap();
34471
34491
  const minVersion = getMinimumVersionForPartialOutput(meta);
34472
34492
  definitionMap.set('minVersion', literal(minVersion));
34473
- definitionMap.set('version', literal('17.3.0-rc.0'));
34493
+ definitionMap.set('version', literal('17.3.1'));
34474
34494
  // e.g. `type: MyDirective`
34475
34495
  definitionMap.set('type', meta.type.value);
34476
34496
  if (meta.isStandalone) {
@@ -34862,7 +34882,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
34862
34882
  function compileDeclareFactoryFunction(meta) {
34863
34883
  const definitionMap = new DefinitionMap();
34864
34884
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
34865
- definitionMap.set('version', literal('17.3.0-rc.0'));
34885
+ definitionMap.set('version', literal('17.3.1'));
34866
34886
  definitionMap.set('ngImport', importExpr(Identifiers.core));
34867
34887
  definitionMap.set('type', meta.type.value);
34868
34888
  definitionMap.set('deps', compileDependencies(meta.deps));
@@ -34897,7 +34917,7 @@ function compileDeclareInjectableFromMetadata(meta) {
34897
34917
  function createInjectableDefinitionMap(meta) {
34898
34918
  const definitionMap = new DefinitionMap();
34899
34919
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
34900
- definitionMap.set('version', literal('17.3.0-rc.0'));
34920
+ definitionMap.set('version', literal('17.3.1'));
34901
34921
  definitionMap.set('ngImport', importExpr(Identifiers.core));
34902
34922
  definitionMap.set('type', meta.type.value);
34903
34923
  // Only generate providedIn property if it has a non-null value
@@ -34948,7 +34968,7 @@ function compileDeclareInjectorFromMetadata(meta) {
34948
34968
  function createInjectorDefinitionMap(meta) {
34949
34969
  const definitionMap = new DefinitionMap();
34950
34970
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
34951
- definitionMap.set('version', literal('17.3.0-rc.0'));
34971
+ definitionMap.set('version', literal('17.3.1'));
34952
34972
  definitionMap.set('ngImport', importExpr(Identifiers.core));
34953
34973
  definitionMap.set('type', meta.type.value);
34954
34974
  definitionMap.set('providers', meta.providers);
@@ -34981,7 +35001,7 @@ function createNgModuleDefinitionMap(meta) {
34981
35001
  throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
34982
35002
  }
34983
35003
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
34984
- definitionMap.set('version', literal('17.3.0-rc.0'));
35004
+ definitionMap.set('version', literal('17.3.1'));
34985
35005
  definitionMap.set('ngImport', importExpr(Identifiers.core));
34986
35006
  definitionMap.set('type', meta.type.value);
34987
35007
  // We only generate the keys in the metadata if the arrays contain values.
@@ -35032,7 +35052,7 @@ function compileDeclarePipeFromMetadata(meta) {
35032
35052
  function createPipeDefinitionMap(meta) {
35033
35053
  const definitionMap = new DefinitionMap();
35034
35054
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION));
35035
- definitionMap.set('version', literal('17.3.0-rc.0'));
35055
+ definitionMap.set('version', literal('17.3.1'));
35036
35056
  definitionMap.set('ngImport', importExpr(Identifiers.core));
35037
35057
  // e.g. `type: MyPipe`
35038
35058
  definitionMap.set('type', meta.type.value);