• Decoder for tuples with fixed length and types.

    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

    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'})