Package: effect
Module: Newtype
Lifts an Order for the carrier type into an Order for the newtype.
When to use
Use when you need to sort newtype-wrapped values according to the ordering of the wrapped carrier value, without manually unwrapping.
Details
The returned order delegates to the provided carrier order.
Example (Ordering newtypes)
import { Newtype, Order } from "effect"
interface Score extends Newtype.Newtype<"Score", number> {}
const ord = Newtype.makeOrder<Score>(Order.Number)
const iso = Newtype.makeIso<Score>()
ord(iso.set(1), iso.set(2)) // -1
See
makeEquivalence — lift an Equivalence for the carrierSignature
declare const makeOrder: <N extends Newtype.Any>(order: Order.Order<Newtype.Carrier<N>>) => Order.Order<N>
Since v4.0.0