PokéRogue
    Preparing search index...

    Type Alias _CollapseRestElement<TArray, ForwardAccumulator, BackwardAccumulator>

    _CollapseRestElement: TArray extends UnknownArray
        ? (keyof TArray & `${number}`) extends never
            ? TArray extends readonly [...(infer Rest), infer Last]
                ? _CollapseRestElement<
                    Rest,
                    ForwardAccumulator,
                    [Last, ...BackwardAccumulator],
                >
                : TArray extends readonly []
                    ? [...ForwardAccumulator, ...BackwardAccumulator]
                    : [...ForwardAccumulator, TArray[number], ...BackwardAccumulator]
            : TArray extends readonly [(infer First)?, ...(infer Rest)]
                ? _CollapseRestElement<
                    Rest,
                    [
                        ...ForwardAccumulator,
                        "0" extends OptionalKeysOf<TArray>
                            ? If<IsExactOptionalPropertyTypesEnabled, First, First | undefined>
                            : First,
                    ],
                    BackwardAccumulator,
                >
                : never
        : never

    Type Parameters