PokéRogue
    Preparing search index...

    Type Alias ReverseSign<N>

    ReverseSign: N extends 0
        ? 0
        : N extends PositiveInfinity
            ? NegativeInfinity
            : N extends NegativeInfinity
                ? PositiveInfinity
                : `${N}` extends `-${infer P extends number}`
                    ? P
                    : `-${N}` extends `${infer R extends number}` ? R : never

    Returns the number with reversed sign.

    Type Parameters

    • N extends number
    type A = ReverseSign<-1>;
    //=> 1

    type B = ReverseSign<1>;
    //=> -1

    type C = ReverseSign<NegativeInfinity>;
    //=> PositiveInfinity

    type D = ReverseSign<PositiveInfinity>;
    //=> NegativeInfinity