Type Alias DeepOmitStartsWith<T, Prefix>

DeepOmitStartsWith: T extends (infer U)[]
    ? DeepOmitStartsWith<U, Prefix>[]
    : T extends object
        ? {
            [K in keyof T as K extends string
                ? K extends `${Prefix}${string}` ? never : K
                : K]: DeepOmitStartsWith<T[K], Prefix>
        }
        : T

Type Parameters

  • T
  • Prefix extends string