Type alias Guarded<T>

Guarded<T>: T extends (new (...args) => U)
    ? U
    : T extends keyof TypeMap
        ? TypeMap[T]
        : never

Infer guarded type using a Primitive or Constructor.

Typeguard implementation by Ran Lottem https://dev.to/krumpet/generic-type-guard-in-typescript-258l

Type Parameters