New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(core): Updates ngForOf iterable error to use RuntimeError code #46526
Conversation
2b633b4
to
3d9f388
Compare
b419d0f
to
24a5d1f
Compare
24a5d1f
to
3a72e96
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
reviewed-for: public-api, fw-common
Looks great!
You can preview 2b633b4 at https://pr46526-2b633b4.ngbuilds.io/. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, just some minor comments 👍
`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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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/. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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