feat!: use const in generic for @wire #5073
Open
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.
Details
In the example above, the wire adapter only accepts a config with
key
set to"value"
, but we have provided it with"incorrect"
. Despite being a runtime error, this passes type validation because the config is inferred as{key: string}
. We don't know if it's the right string literal, the wrong string literal, or a reactive string ($prop
) that points to a right or wrong value.I recently learned about the
const
modifier in generics which solves this use case. So let's use it! Now the example above will correctly be a type error.Does this pull request introduce a breaking change?
This is a breaking change for TypeScript users only.
Does this pull request introduce an observable change?
GUS work item