devtypes - v2.0.0
    Preparing search index...

    Type Alias ListLikeIndex<L>

    ListLikeIndex: L extends readonly any[]
        ? number
        : L extends ReadonlyMap<infer K, any>
            ? K
            : L extends Map<infer K, any>
                ? K
                : L extends Record<infer K, any>
                    ? K
                    : L extends Set<any>
                    | ReadonlySet<any>
                    | Iterable<any>
                        ? never
                        : string | number

    Extract the key or index type from a keyed list-like structure.

    Type Parameters

    • L

      List-like type

    For arrays and other non-keyed collections, this defaults to string | number. If the structure is not keyed, the type resolves to never.

    type I1 = ListLikeIndex< Record< string, number > >;  // string
    type I2 = ListLikeIndex< Map< number, string > >; // number
    type I3 = ListLikeIndex< number[] >; // number