TraverseWithAllErrorsAsync<T, Depth extends number>: IsLiteralArray<T> extends 1
    ? Combine<T, Depth> extends [infer Oks, infer Errs]
        ? ResultAsync<EmptyArrayToNever<Oks>, EmptyArrayToNever<Errs>>
        : never
    : Writable<T> extends (infer I)[]
        ? Combine<MemberListOf<I>, Depth> extends [infer Oks, infer Errs]
            ? Oks extends unknown[]
                ? Errs extends unknown[]
                    ? ResultAsync<EmptyArrayToNever<Oks[number][]>, EmptyArrayToNever<Errs[number][]>>
                    : ResultAsync<EmptyArrayToNever<Oks[number][]>, Errs>
                : Errs extends unknown[]
                    ? ResultAsync<Oks, EmptyArrayToNever<Errs[number][]>>
                    : ResultAsync<Oks, Errs>
            : never
        : never

Type Parameters

  • T
  • Depth extends number = 5