Update getPos
type inside NodeViewRendererProps
to reflect actual functionality
#5623
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 Overview
The type for
getPos
inside ofNodeViewRendererProps
was incorrectly typed to indicate that it always returns a number, when this is not the actual case. It can also returnundefined
.As per the ProseMirror documentation:
Trusting this function to always return a number has lead to some stability issues in our application, so I believe it's best that the type reflects the actual functionality, even if this may cause some headaches to handle
undefined
cases.Implementation Approach
Update the type to point towards
Parameters<NodeViewConstructor>[2]
, which I believe inherits offpm/view
.Testing Done
Verification Steps
getPos
inside of aNodeView
.Additional Notes
I'd consider this a breaking change, as it could flare up people's type checks if they're not handling the possibility of the return value being
undefined
, so I have marked it as needing a major version bump in the changeset.Checklist
Related Issues
#3823