type-plus
    Preparing search index...

    Type Alias At<A, N, Fail>

    At: ArrayPlus.IndexAt<A, N, Fail, Fail, Fail> extends infer I
        ? I extends number
            ? IsTuple.$<
                A,
                {
                    $else: A[I]
                    | undefined;
                    $then: IsNumber.$<
                        I,
                        { $else: A[I]; $then: A[I]
                        | undefined; exact: true },
                    >;
                },
            >
            : Fail
        : never

    🦴 utilities

    Gets the type of the array or tuple at positive or negative index N.

    Like Array.at(), this type supports negative numbers.

    Type Parameters

    • A extends readonly unknown[]
    • N extends number
    • Fail = never

    https://github.com/microsoft/TypeScript/issues/53345#issuecomment-1477138167

    type R = At<[1, 2, 3], 2> // 3
    type R = At<[1, 2, 3], -1> // 3