angular/packages/common
Andrea Canciani 9c8bc4a239 fix(common): narrow NgIf context variables in template type checker (#36627)
When the `NgIf` directive is used in a template, its context variables
can be used to capture the bound value. This is sometimes used in
complex expressions, where the resulting value is captured in a
context variable. There's two syntax forms available:

1. Binding to `NgIfContext.ngIf` using the `as` syntax:
```html
<span *ngIf="enabled && user as u">{{u.name}}</span>
```

2. Binding to `NgIfContext.$implicit` using the `let` syntax:
```html
<span *ngIf="enabled && user; let u">{{u.name}}</span>
```

Because of the semantics of `ngIf`, it is known that the captured
context variable is truthy, however the template type checker
would not consider them as such and still report errors when
`strict` is enabled.

This commit updates `NgIf`'s context guard to make the types of the
context variables truthy, avoiding the issue.

Based on https://github.com/angular/angular/pull/35125

PR Close #36627
2020-07-29 10:30:44 -07:00
..
http fix(http): avoid abort a request when fetch operation is completed (#37367) 2020-06-25 12:09:39 -07:00
locales style(common): enforce format on newly included files (#36940) 2020-06-12 15:06:41 -07:00
src fix(common): narrow NgIf context variables in template type checker (#36627) 2020-07-29 10:30:44 -07:00
test fix(common): date pipe gives wrong week number (#37632) 2020-06-25 12:08:46 -07:00
testing fix(common): prevent duplicate URL change notifications (#37459) 2020-06-09 08:26:34 -07:00
upgrade build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
BUILD.bazel build: provide full paths to ts_api_guardian_test_npm_package and ts_api_guardian_test (#36034) 2020-03-12 09:49:00 -07:00
index.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
package.json Revert "build: remove wombot proxy registry from package.jsons for release (#37378)" (#37495) 2020-06-10 08:21:45 -07:00
PACKAGE.md docs: add api doc to sub-packages (#33801) 2019-11-20 14:48:50 -08:00
public_api.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00