Type Alias Modulo<A, B>

Modulo: `${A}` extends `-${infer N extends number}`
    ? `${B}` extends `-${infer M extends number}`
        ? Modulo<N, M>
        : Modulo<N, B>
    : `${B}` extends `-${infer M extends number}`
        ? Modulo<A, M>
        : BGreaterThanA<A, B> extends true ? A : Modulo<Subtract<A, B>, B>

Type Parameters

  • A extends number
  • B extends number