Skip to content

Latest commit

 

History

History
42 lines (30 loc) · 659 Bytes

File metadata and controls

42 lines (30 loc) · 659 Bytes

typelab / utils / ParseObject

type ParseObject<T> = T extends T ? IsNullish<T> extends true ? never : Record<keyof T, unknown> extends infer U ? { [K in keyof U]: T[K extends keyof T ? K : never] } : never : never;

Converts a type to an object.

Type Parameters

Type Parameter Description

T

The type to be converted into an object.

Returns

A new object of T, it returns never if T is nullish.

Example

type Obj = ParseObject<true>; // { valueOf: () => boolean }