This repository has been archived by the owner on Mar 20, 2022. It is now read-only.
fix(typescript): entities undefined if none found #435
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
When there are no items found for a particular entity, normalizr returns nothing for that entity.
The problem is that the TypeScript definitions expect there to always be an object, so TypeScript fails to catch issues which later appear at runtime as
undefined
type errors.Solution
Normalizr's behavior in this area has been discussed here before: https://github.com/paularmstrong/normalizr/issues/290
This PR doesn't change that, it just updates the TypeScript definition to match what Normalizr already returns.
Only issue is TypeScript will warn existing users about this error. It highlights a real potential bug in their system that it wasn't able to spot before, but likely to need users to fix their use of the result.entities object (or set
{}
as a default for undefined entities).TODO