LambdaReturnType<T>: T extends (infer RT)[]
    ? LambdaReturnType<RT>[]
    : T extends Record<string, any>
        ? {
            [K in keyof Exclude<T, null | undefined> as Exclude<T, null | undefined>[K] extends ((...args) => any)
                ? never
                : K]: Exclude<T, null | undefined>[K]
        }
        : T | (null extends T
            ? null
            : never) | (undefined extends T
            ? undefined
            : never)

Returns a return type with lazy loaders removed.

(Custom handlers should not return lazy loaded fields -- they're lazy loaded.)

Type Parameters

  • T