Implement Symbol.hasInstance for MockDate #616
+4
−0
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.
Hey 👋
so I'm enjoying use of both: ladle and date-fns. And this leads me to a situation where I'm using date-fns
isValid
andisDate
to check some data. In particular we've got a component that does date based calculations based on aMockDate
.My understanding is that date-fns depends on the global Date object in code like this:
So when calculating new dates we get instances of
RealDate
, and check whether aRealDate
isinstanceof
aMockDate
, becauseMockDate
rightly replaces the global date when mocking with ladle.For inheritance this is usually the wrong way: a parent is not an instance of the child class. My suggestions would be to treat it as that though in case of
MockDate
with the following snippet:I've tested it by test-wise appending (but not comitting) this code to
packages/ladle/lib/app/src/mock-date.ts
:It leads to output like this: