Ordering
Combining
Signature
declare const combine: { (that: Ordering): (self: Ordering) => Ordering; (self: Ordering, that: Ordering): Ordering;};combineAll
Added in v2.0.0
Source
Signature
declare function combineAll(collection: Iterable<Ordering>): Ordering;combineMany
Added in v2.0.0
Source
Signature
declare const combineMany: { (collection: Iterable<Ordering>): (self: Ordering) => Ordering; (self: Ordering, collection: Iterable<Ordering>): Ordering;};Model
Other
Pattern Matching
Depending on the Ordering parameter given to it, returns a value produced by one of the 3 functions provided as parameters.
Signature
declare const match: { <A, B, C = B>(options: { readonly onEqual: LazyArg<B>; readonly onGreaterThan: LazyArg<C>; readonly onLessThan: LazyArg<A>; }): (self: Ordering) => A | B | C; <A, B, C = B>( o: Ordering, options: { readonly onEqual: LazyArg<B>; readonly onGreaterThan: LazyArg<C>; readonly onLessThan: LazyArg<A>; }, ): A | B | C;};Example
import * as assert from "node:assert"import { Ordering } from "effect"import { constant } from "effect/Function"
const toMessage = Ordering.match({ onLessThan: constant("less than"), onEqual: constant("equal"), onGreaterThan: constant("greater than"),})
assert.deepStrictEqual(toMessage(-1), "less than")assert.deepStrictEqual(toMessage(0), "equal")assert.deepStrictEqual(toMessage(1), "greater than")
Inverts the ordering of the input
Ordering.