A type that holds three values; essentially a 3-Tuple. Can be used with structure syntax.

abc.with(123, Unit) == { _1: abc, _2: 123, _3: Unit } == new Pair(abc, 123, Unit)

Static methods

staticinlineapply<A, B, C, Z>(t:Trio<A, B, C>, fn:(A, B, C) ‑> Z):Z

Applies a function to a Trio of values

staticinlineapply3<A, B, C, Z>(fn:(A, B, C) ‑> Z, t:Trio<A, B, C>):Z

Applies a function to a Trio of values

staticinlineapply3c<A, B, C, Z>(fn:A ‑> B ‑> C ‑> Z, t:Trio<A, B, C>):Z

Applies a curried function to a Trio of values

staticinlineeval<A, B, Z>(t:Trio<(A, B) ‑> Z, A, B>):Z

Given a Trio of a function and two values, apply the function to the values

staticmap_1<A, B, C, Z>(t:Trio<A, B, C>, fn:A ‑> Z):Trio<Z, B, C>

Applies a function to the first value in a Trio

Returns:

A new Trio with fn applied

staticmap_2<A, B, C, Z>(t:Trio<A, B, C>, fn:B ‑> Z):Trio<A, Z, C>

Applies a function to the second value in a Trio

Returns:

A new Trio with fn applied

staticmap_3<A, B, C, Z>(t:Trio<A, B, C>, fn:C ‑> Z):Trio<A, B, Z>

Applies a function to the third value in a Trio

Returns:

A new Trio with fn applied

staticrotate<A, B, C>(t:Trio<A, B, C>):Trio<C, A, B>

Rotates the order of elements in a Trio

Returns:

A new Trio with the third element moved to the first position

staticinlinethd<A>(tup:{_3:A}):A

Returns the third element of a Trio

staticinlinewith3<A, B, C>(a:A, b:B, c:C):Trio<A, B, C>

Constructs a new Trio with a, b, and c as the values

Constructor

new(_1:X, _2:Y, _3:Z)

Variables

final_1:X

final_2:Y

final_3:Z