Provide an alternative mechanism for checking ZodType in parsers #32
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.
Hi! 👋
Firstly, thanks for your work on this project! 🙂
Issue
This original issue - #12
Testing Remix Loaders with Vitest sometimes produces the following error:
TypeError: keyValidator._parse is not a function
The issue appears to be a result of using
instanceof
to check an object is of aZodType
class. However, during a Vitest build this class is duplicated, meaninginstanceof
is performed against a unrelated class. (An explanation of this can be found in the comments for the original issue).Proposal
This PR implements the proposed solution from @taternz #12 (comment), providing an alternative way to check for an object is an instance of the ZodType class.
Obviously this is only a very superficial check to see that the object we receive contains a
parse
method. An alternative could be to do a shallow comparison of theObject.keys
to determine object equality?