(input: unknown): Result.Result<Date, unknown>A predefined filter that only passes through Date objects.
When to use
Use when you need to narrow unknown input to JavaScript Date instances with
a reusable Filter.
Details
Implemented with fromPredicate(Predicate.isDate), so passing values return
Result.succeed(input) and failing values return Result.fail(input).
Gotchas
The check uses instanceof Date, so invalid Date objects still pass; the
filter does not validate the timestamp.
export const const date: Filter<unknown, Date>A predefined filter that only passes through Date objects.
When to use
Use when you need to narrow unknown input to JavaScript Date instances with
a reusable Filter.
Details
Implemented with fromPredicate(Predicate.isDate), so passing values return
Result.succeed(input) and failing values return Result.fail(input).
Gotchas
The check uses instanceof Date, so invalid Date objects still pass; the
filter does not validate the timestamp.
date: interface Filter<in Input, out Pass = Input, out Fail = Input>Represents a filter function that can transform inputs to outputs or filter them out.
Details
A filter takes an input value and either returns a boxed pass value or the
special fail type to indicate the value should be filtered out.
Example (Defining a positive number filter)
import { Filter, Result } from "effect"
// A filter that only passes positive numbers
const positiveFilter: Filter.Filter<number> = (n) => n > 0 ? Result.succeed(n) : Result.fail(n)
console.log(positiveFilter(5)) // Result.succeed(5)
console.log(positiveFilter(-3)) // Result.fail(-3)
Filter<unknown, Date> = const fromPredicate: {
<A, B extends A>(
refinement: Predicate.Refinement<A, B>
): Filter<
A,
B,
EqualsWith<A, B, A, Exclude<A, B>>
>
<A>(
predicate: Predicate.Predicate<A>
): Filter<A>
}
fromPredicate(import PredicatePredicate.function isDate(
input: unknown
): input is Date
Checks whether a value is a Date.
When to use
Use when you need a Predicate runtime guard for dates.
Details
Uses instanceof Date.
Example (Guarding Date values)
import { Predicate } from "effect"
const data: unknown = new Date()
console.log(Predicate.isDate(data))
isDate)