fix(core): Updates ngForOf iterable error to use RuntimeError code#46526
fix(core): Updates ngForOf iterable error to use RuntimeError code#46526jessicajaniuk wants to merge 1 commit intoangular:mainfrom
Conversation
2b633b4 to
3d9f388
Compare
b419d0f to
24a5d1f
Compare
24a5d1f to
3a72e96
Compare
dylhunn
left a comment
There was a problem hiding this comment.
reviewed-for: public-api, fw-common
Looks great!
|
You can preview 2b633b4 at https://pr46526-2b633b4.ngbuilds.io/. |
AndrewKushnir
left a comment
There was a problem hiding this comment.
Looks great, just some minor comments 👍
There was a problem hiding this comment.
nit: we can split the long string into string concat to avoid unexpected formatting:
| `Cannot find a differ supporting object '${value}' of type '${ | |
| getTypeName( | |
| value)}'. NgFor only supports binding to Iterables, such as Arrays. Did you mean to use the keyvalue pipe?`); | |
| `Cannot find a differ supporting object '${value}' of type '${getTypeName(value)}'. ` + | |
| `NgFor only supports binding to Iterables, such as Arrays. Did you mean to use the keyvalue pipe?`); |
There was a problem hiding this comment.
We can also consider adding the Did you mean to use the keyvalue pipe? only when we come across an object (and add tests for various cases), otherwise it'd appear for other types as well, which might confuse users. WDYT?
There was a problem hiding this comment.
I definitely like that. I've added a check to append that to the error message after detecting if it's an object.
This updates the iterable differ error to use more up-to-date error codes.
3a72e96 to
3cbefd8
Compare
|
You can preview 3cbefd8 at https://pr46526-3cbefd8.ngbuilds.io/. |
AndrewKushnir
left a comment
There was a problem hiding this comment.
Reviewed-for: public-api
|
This PR was merged into the repository by commit f86e094. |
This updates the iterable differ error to use more up-to-date error codes. PR Close #46526
|
@jessicajaniuk I think you may actually want a negative error code here since you have a guide added, as per this instruction |
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@angular/animations](https://github.com/angular/angular) | dependencies | patch | [`14.0.3` -> `14.0.4`](https://renovatebot.com/diffs/npm/@angular%2fanimations/14.0.3/14.0.4) | | [@angular/common](https://github.com/angular/angular) | dependencies | patch | [`14.0.3` -> `14.0.4`](https://renovatebot.com/diffs/npm/@angular%2fcommon/14.0.3/14.0.4) | | [@angular/compiler](https://github.com/angular/angular) | dependencies | patch | [`14.0.3` -> `14.0.4`](https://renovatebot.com/diffs/npm/@angular%2fcompiler/14.0.3/14.0.4) | | [@angular/compiler-cli](https://github.com/angular/angular) | devDependencies | patch | [`14.0.3` -> `14.0.4`](https://renovatebot.com/diffs/npm/@angular%2fcompiler-cli/14.0.3/14.0.4) | | [@angular/core](https://github.com/angular/angular) | dependencies | patch | [`14.0.3` -> `14.0.4`](https://renovatebot.com/diffs/npm/@angular%2fcore/14.0.3/14.0.4) | | [@angular/forms](https://github.com/angular/angular) | dependencies | patch | [`14.0.3` -> `14.0.4`](https://renovatebot.com/diffs/npm/@angular%2fforms/14.0.3/14.0.4) | | [@angular/platform-browser](https://github.com/angular/angular) | dependencies | patch | [`14.0.3` -> `14.0.4`](https://renovatebot.com/diffs/npm/@angular%2fplatform-browser/14.0.3/14.0.4) | | [@angular/platform-browser-dynamic](https://github.com/angular/angular) | dependencies | patch | [`14.0.3` -> `14.0.4`](https://renovatebot.com/diffs/npm/@angular%2fplatform-browser-dynamic/14.0.3/14.0.4) | --- ### Release Notes <details> <summary>angular/angular</summary> ### [`v14.0.4`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#​1404-2022-06-29) [Compare Source](angular/angular@14.0.3...14.0.4) ##### animations | Commit | Type | Description | | -- | -- | -- | | [51be9bbe29](angular/angular@51be9bb) | fix | cleanup DOM elements when the root view is removed ([#​45143](angular/angular#45143)) | | [999aca86c8](angular/angular@999aca8) | fix | enable shadowElements to leave when their parent does ([#​46459](angular/angular#46459)) | ##### common | Commit | Type | Description | | -- | -- | -- | | [42aed6b13e](angular/angular@42aed6b) | fix | handle CSS custom properties in NgStyle ([#​46451](angular/angular#46451)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [1e7f22f00a](angular/angular@1e7f22f) | fix | trigger `ApplicationRef.destroy` when Platform is destroyed ([#​46497](angular/angular#46497)) | | [8bde2dbc71](angular/angular@8bde2db) | fix | Update ngfor error code to be negative ([#​46555](angular/angular#46555)) | | [57e8fc00eb](angular/angular@57e8fc0) | fix | Updates error to use RuntimeError code ([#​46526](angular/angular#46526)) | ##### forms | Commit | Type | Description | | -- | -- | -- | | [74a26d870e](angular/angular@74a26d8) | fix | Convert existing reactive errors to use RuntimeErrorCode. ([#​46560](angular/angular#46560)) | | [747872212d](angular/angular@7478722) | fix | Update a Forms validator error to use RuntimeError ([#​46537](angular/angular#46537)) | ##### router | Commit | Type | Description | | -- | -- | -- | | [d6fac9e914](angular/angular@d6fac9e) | fix | Ensure that new `RouterOutlet` instances work after old ones are destroyed ([#​46554](angular/angular#46554)) | #### Special Thanks Alan Agius, Alex Rickabaugh, Andrew Kushnir, Andrew Scott, Bezael, Chad Ramos, Chellappan, Cédric Exbrayat, Dylan Hunn, George Kalpakas, Jeremy Meiss, Jessica Janiuk, Joey Perrott, KMathy, Kristiyan Kostadinov, Paul Gschwendtner, Pawel Kozlowski, Ramesh Thiruchelvam, Vaibhav Kumar, arturovt, dario-piotrowicz and renovate\[bot] <!-- CHANGELOG SPLIT MARKER --> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). Co-authored-by: cabr2-bot <cabr2.help@gmail.com> Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1437 Reviewed-by: Epsilon_02 <epsilon_02@noreply.codeberg.org> Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org> Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
|
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
This updates the iterable differ error to use more up-to-date error
codes. It also adds a page to the documentation for the error.
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
The error thrown in ngForOf is a basic throw rather than using tree shakeable error codes with the runtime error class.
Issue Number: Fixes #28240
What is the new behavior?
The error thrown is tree shakable and has a documentation page.
Does this PR introduce a breaking change?
Other information