import { Assertion } from '../smartexpect.classes.assertion.js'; import type { TExecutionType } from '../types.js'; /** * Namespace for date-specific matchers */ export class DateMatchers { constructor(private assertion: Assertion) {} toBeDate() { return this.assertion.customAssertion( (v) => v instanceof Date, `Expected value to be a Date instance` ); } toBeBeforeDate(date: Date) { return this.assertion.customAssertion( (v) => v instanceof Date && (v as Date).getTime() < date.getTime(), `Expected date to be before ${date.toISOString()}` ); } toBeAfterDate(date: Date) { return this.assertion.customAssertion( (v) => v instanceof Date && (v as Date).getTime() > date.getTime(), `Expected date to be after ${date.toISOString()}` ); } }