import { Predicate } from '../types' import { instance } from '../generics/instance' const isDateObject: Predicate = instance(Date) const INVALID_DATE_STRING = String(new Date(NaN)) /** * Checks if a value is a valid Date object. */ export const isDate: Predicate = (value): value is Date => isDateObject(value) && String(value) !== INVALID_DATE_STRING