(
exclusiveMaximum: globalThis.Date,
annotations?: Annotations.Filter
): SchemaAST.Filter<globalThis.Date>Validates that a Date is less than the specified value (exclusive).
Details
Arbitrary:
When generating test data with fast-check, this applies a max constraint of
one millisecond before the specified value to ensure generated Date objects
are less than it.
export const const isLessThanDate: (
exclusiveMaximum: globalThis.Date,
annotations?: Annotations.Filter
) => SchemaAST.Filter<globalThis.Date>
Validates that a Date is less than the specified value (exclusive).
Details
Arbitrary:
When generating test data with fast-check, this applies a max constraint of
one millisecond before the specified value to ensure generated Date objects
are less than it.
isLessThanDate = function makeIsLessThan<T>(options: {
readonly order: Order.Order<T>
readonly annotate?:
| ((
exclusiveMaximum: T
) => Annotations.Filter)
| undefined
readonly formatter?: Formatter<T> | undefined
}): (
exclusiveMaximum: T,
annotations?: Annotations.Filter
) => SchemaAST.Filter<T>
Creates a less-than (<) check for any ordered type from an Order.Order
instance.
makeIsLessThan({
order: Order.Order<globalThis.Date>order: import OrderOrder.const Date: Order<Date>Order instance for Date objects that compares them chronologically by their timestamp.
When to use
Use when you need chronological ordering for JavaScript date values.
Details
Compares dates by their underlying timestamp in milliseconds since the epoch.
Earlier dates are less than later dates. Invalid dates are compared through
their getTime() result.
Example (Ordering Dates)
import { Order } from "effect"
const date1 = new Date("2023-01-01")
const date2 = new Date("2023-01-02")
console.log(Order.Date(date1, date2)) // -1
console.log(Order.Date(date2, date1)) // 1
console.log(Order.Date(date1, date1)) // 0
Date,
annotate?: | ((
exclusiveMaximum: globalThis.Date
) => Annotations.Filter)
| undefined
annotate: (exclusiveMaximum: globalThis.DateexclusiveMaximum) => ({
Annotations.Filter.meta?: Annotations.Meta | undefined(property) Annotations.Filter.meta?: {
_tag: 'isLessThanDate';
exclusiveMaximum: globalThis.Date;
}
Optional metadata used to identify or extend the filter with custom data.
meta: {
_tag: "isLessThanDate"_tag: "isLessThanDate",
exclusiveMaximum: globalThis.DateexclusiveMaximum
}
})
})