(input: unknown): Result.Result<number, unknown>A predefined filter that only passes through number values.
Example (Filtering numbers)
import { Filter, Result } from "effect"
console.log(Filter.number(42)) // Result.succeed(42)
console.log(Filter.number("42")) // failconstructors
Source effect/Filter.ts:3631 lines
export const const number: Filter<unknown, number>A predefined filter that only passes through number values.
Example (Filtering numbers)
import { Filter, Result } from "effect"
console.log(Filter.number(42)) // Result.succeed(42)
console.log(Filter.number("42")) // fail
number: 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, number> = 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 isNumber(
input: unknown
): input is number
Checks whether a value is a number.
When to use
Use when you need a Predicate guard to narrow an unknown value to a
number.
Details
Uses typeof input === "number" and does not exclude NaN or Infinity.
Example (Guarding numbers)
import { Predicate } from "effect"
const data: unknown = 42
if (Predicate.isNumber(data)) {
console.log(data + 1)
}
isNumber)