Helper functions for working with tuples in flow typed code.
import * as tuple from "tuple.flow"
tuple.mapFirst(a => a + 1, [1]) //? [2]
tuple.mapFirst(a => a + 1, [1, 2]) //? [2, 2]
tuple.mapFirst(a => a + 1, [1, 2, 3, 4, 5]) //? [2, 2, 3, 4, 5]
tuple.mapSecond(a => a + 1, [1, 2]) //? [1, 3]
tuple.mapSecond(a => a + 1, [1, 2, 3, 4, 5]) //? [1, 3, 3, 4, 5]
tuple.first([1]) //? 1
tuple.first([1, 2]) //? 1
tuple.first([1, 2, 3, 4, 5, 7, 8]) //? 1
tuple.second([1, 2]) //? 2
tuple.second([1, 2, 3, 4, 5, 7, 8]) //? 2
tuple.third([1, 2, 3, 4, 5, 7, 8]) //? 3
tuple.fourth([1, 2, 3, 4, 5, 7, 8]) //? 4
tuple.fifth([1, 2, 3, 4, 5, 7, 8]) //? 5
tuple.sixth([1, 2, 3, 4, 5, 7, 8]) //? 6
tuple.seventh([1, 2, 3, 4, 5, 7, 8]) //? 7
tuple.eighth([1, 2, 3, 4, 5, 7, 8]) //? 8
tuple.unit() //? []
tuple.tuple0() //? []
tuple.singlton(1) //? [1]
tuple.tuple1(1) //? [1]
tuple.tuple(1, 2) //? [1, 2]
tuple.tuple2(1, 2) //? [1, 2]
tuple.triple(1, 2, 3) //? [1, 2, 3]
tuple.tuple3(1, 2, 3) //? [1, 2, 3]
tuple.quadruple(1, 2, 3, 4) //? [1, 2, 3, 4]
tuple.tuple4(1, 2, 3, 4) //? [1, 2, 3, 4]
tuple.quintuple(1, 2, 3, 4, 5) //? [1, 2, 3, 4, 5]
tuple.tuple5(1, 2, 3, 4, 5) //? [1, 2, 3, 4, 5]
tuple.sextuple(1, 2, 3, 4, 5, 6) //? [1, 2, 3, 4, 5, 6]
tuple.tuple6(1, 2, 3, 4, 5, 6) //? [1, 2, 3, 4, 5, 6]
tuple.septuple(1, 2, 3, 4, 5, 6, 7) //? [1, 2, 3, 4, 5, 6, 7]
tuple.tuple7(1, 2, 3, 4, 5, 6, 7) //? [1, 2, 3, 4, 5, 6, 7]
tuple.octuple(1, 2, 3, 4, 5, 6, 7, 8) //? [1, 2, 3, 4, 5, 6, 7, 8]
tuple.tuple7(1, 2, 3, 4, 5, 6, 7, 8) //? [1, 2, 3, 4, 5, 6, 7, 8]
npm install tuple.flow