time-titan
Version:
Time manipulation library: Control and modify time effortlessly for testing, animations, or creative projects.
23 lines (19 loc) • 570 B
JavaScript
export default function mockDate(instance, fakeDate) {
const fakeTimestamp = new Date(fakeDate).getTime();
// Override Date class
class MockedDate extends Date {
constructor(...args) {
if (args.length === 0) {
super(fakeTimestamp);
} else {
super(...args);
}
}
static now() {
return fakeTimestamp;
}
}
globalThis.Date = MockedDate;
// Store the fake date in the instance
instance.mockedDate = fakeDate;
}