/** * converts each properties in the object as `type` | null * * e.g. Nullable<{ name: string}> = { name: string | null } */ export type Nullable = { [K in keyof T]: T[K] extends Date ? Date | null : T[K] extends Object ? Nullable | null : T[K] extends Array ? Array> | null : T[K] | null; }; export interface FormatNumberOptions { minPrecision?: number; maxPrecision?: number; locale?: string; }