- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 0
Open
Labels
Description
I prefer:
export type LiteralTypeOf<T> =
  T extends string ? 'string' :
  T extends number ? 'number' :
  T extends bigint ? 'bigint' :
  T extends boolean ? 'boolean' :
  T extends symbol ? 'symbol' :
  T extends undefined ? 'undefined' :
  T extends null ? 'null' :
  T extends any[] ? 'array' :
  T extends object ? 'object' :
  T extends () => any ? 'function' :
  never;Over:
export type LiteralTypeOf<T> =
  T extends string ? 'string' :
    T extends number ? 'number' :
      T extends bigint ? 'bigint' :
        T extends boolean ? 'boolean' :
          T extends symbol ? 'symbol' :
            T extends undefined ? 'undefined' :
              T extends null ? 'null' :
                T extends any[] ? 'array' :
                  T extends object ? 'object' :
                    T extends () => any ? 'function' :
                      never;