/** * @ignore * * A primitive value. */ export type PrimitiveValue = undefined | null | boolean | number | string | bigint /** * @ignore * * A JSON-compatible primitive value. */ export type JSONPrimitiveValue = null | boolean | number | string /** * @ignore * * Checks if a value is optional (undefined or any). * * Examples: * - string = false * - undefined = true * - string | undefined = true * - string & undefined = false, but we don't care * - any = true * - unknown = false, but we don't care * - null = false * - string | null = false * - string & null = false */ export type IsOptionalValue = IsNeverType, FV, TV> // type _A = IsOptionalValue // false // type _B = IsOptionalValue // true // type _C = IsOptionalValue // true // type _D = IsOptionalValue // false, but we don't care // type _E = IsOptionalValue // true // type _F = IsOptionalValue // false, but we don't care /** * @ignore */ export type IsNeverType = [T] extends [never] ? IfNever : IfNotNever /** * @ignore */ export type Flatten = T extends Record ? { [P in keyof T]: T[P] } : T