Decoder for tuples with fixed length and types.

const pointDecoder = JsonDecoder.tuple(
[JsonDecoder.number, JsonDecoder.number],
'Point'
);

pointDecoder.decode([1, 2]); // Ok<[number, number]>
pointDecoder.decode([1, 2, 3]); // Err({error: '<Point> tuple decoder failed because it received a tuple of length 3 but expected 2'})
  • Type Parameters

    • T extends readonly [] | readonly Decoder<any>[]

    Parameters

    • decoders: T

      Array of decoders for each tuple element

    • decoderName: string

      How to display the name of the object being decoded in errors

    Returns Decoder<TupleOfResults<T>>

    A decoder that validates and returns tuples