14 lines
449 B
TypeScript
14 lines
449 B
TypeScript
declare function unboxPrimitive<T extends unboxPrimitive.Boxed>(value: T): unboxPrimitive.Unbox<T>;
|
|
|
|
declare namespace unboxPrimitive {
|
|
type Boxed = String | Number | Boolean | Symbol | BigInt;
|
|
type Unbox<T extends Boxed> = T extends String ? string
|
|
: T extends Number ? number
|
|
: T extends Boolean ? boolean
|
|
: T extends Symbol ? symbol
|
|
: T extends BigInt ? bigint
|
|
: never;
|
|
}
|
|
|
|
export = unboxPrimitive;
|