1 2 3 4
export type Unpromise<T extends Promise<any>> = T extends Promise<infer U> ? U : never; export type Defined<T> = T extends undefined | null ? never : T;