EOnly<T>: T extends Callable
    ? ((...args: Parameters<T>) => ERef<Awaited<EOnly<ReturnType<T>>>>)
    : T extends Record<PropertyKey, Callable>
        ? {
            [K in keyof T]: T[K] extends Callable
                ? ((...args: Parameters<T[K]>) => ERef<Awaited<EOnly<ReturnType<(...)[(...)]>>>>)
                : T[K]
        }
        : T

Type Parameters

  • T