ts-type-forge
    Preparing search index...

    Type Alias AbsoluteValue<N>

    AbsoluteValue: N extends N
        ? `${N}` extends `-${infer P}`
            ? P extends `${number}` ? ToNumber<P> : never
            : N
        : never

    Calculates the absolute value of a number literal type N. If N is a negative number literal, it returns its positive counterpart. If N is a non-negative number literal, it returns N itself. Handles distribution over union types.

    Type Parameters

    • N extends number

      The number literal type.

    The absolute value of N as a number literal type.

    type Pos = AbsoluteValue<10>;  // 10
    type Neg = AbsoluteValue<-5>; // 5
    type Zero = AbsoluteValue<0>; // 0
    type Union = AbsoluteValue<-1 | 2>; // 1 | 2