Avoid using readonly for public exposed reactive properties #243
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.
Changes
Using
readonly()
kinda changes the types in such a way that it marks all properties as readonly. Instead of actual IdToken (or User) types, it's actualy using an inline type based on the IdToken (but marking everything as readonly).This means that the Auth0VueClient interface defined properties such as IdTokenClaims as a
Ref<IdToken | undefined>
, the Auth0VuePlugin has them being inferred to asDeepReadonly<UnwrapNestedRefs<IdToken>>
, which doesn't always align.This can become complicated to type properly, while they don't really need to be marked as read-only.
Dropping the read-only shouldn't cause issues, as they share the same public API:
With our SDK, the above would be:
As you can see, this should not change anything in how users can interact with our public reactive API.
References
Closes #240
Checklist