EnumString<T>: [T] extends [never]
    ? null
    : T extends string
        ? string extends T
            ? null
            : T
        : null

gets only the string literals of a type or null if a type isn't a string literal

Type Parameters

  • T