RemoveDBIds<T, P>: T extends object
    ? T extends AnyType[]
        ? RemoveDBIds<T[number], P>[]
        : {
            [K in keyof T as K extends P
                ? never
                : K]: RemoveDBIds<T[K], P>
        }
    : T

Type Parameters