import type { If } from './if.js'; export type Compute = { [KEY in keyof OBJECT]: OBJECT[KEY]; }; type BuiltIn = Function | Error | Date | { readonly [Symbol.toStringTag]: string; } | RegExp | Generator; type Has = [U1] extends [U] ? true : false; export type ComputeDeep = OBSCURE extends BuiltIn ? OBSCURE : If, OBSCURE, OBSCURE extends Array ? OBSCURE extends Array> ? Array<{ [KEY in keyof OBSCURE[number]]: ComputeDeep; } & unknown> : OBSCURE : OBSCURE extends ReadonlyArray ? OBSCURE extends ReadonlyArray> ? ReadonlyArray<{ [KEY in keyof OBSCURE[number]]: ComputeDeep; } & unknown> : OBSCURE : { [KEY in keyof OBSCURE]: ComputeDeep; } & unknown>; export {};