import type { ErrorReport, ErrorReportArray, ErrorReportChildren, ErrorReportObject, } from "../types"; const { isArray } = Array; export function childrenError( error?: ErrorReportArray, ): | Partial<{ [K in keyof T as number]: ErrorReport; }> | undefined; export function childrenError( error?: ErrorReportObject, ): | Partial<{ [K in keyof T]: ErrorReport; }> | undefined; export function childrenError( error?: ErrorReport, ): | Partial<{ [K in keyof T]: ErrorReport; }> | undefined { if (error === undefined) { return undefined; } if (isArray(error)) { return undefined; } // NOTE: Includes the global error stored at `""`, but hidden from types return error as ErrorReportChildren; }