Skip to content

Latest commit

 

History

History
42 lines (30 loc) · 684 Bytes

File metadata and controls

42 lines (30 loc) · 684 Bytes

typelab / utils / ParseBigIntPositive

type ParseBigIntPositive<T> = ParseBigInt<T> extends infer Bigi ? Bigi extends 0n ? 0n : Bigi extends bigint ? IsPositive<Bigi> extends true ? Bigi : `${Bigi}` extends `-${infer Result extends bigint}` ? Result : never : never : never;

Parses a string or number type into a positive bigint.

Type Parameters

Type Parameter Description

T

The type to parse.

Returns

The parsed positive bigint type.

Example

type Bigi = ParseBigIntPositive<'-11'>; // 11n