import { Unreachable } from "../../type"; import { PadLeadingZeros } from "../string"; import { _IncNonneg } from "."; /** * finds the longer length of integer strings `S1`, `S2` */ type MaxLen = S1 extends `${number}${infer T1}` ? S2 extends `${number}${infer T2}` ? MaxLen> : MaxLen> : S2 extends `${number}${infer T2}` ? MaxLen<'', T2, _IncNonneg> : N; /** * converts integers `N1`, `N2` into equal-length strings by padding the shorter with leading zeros * * used for `Add` and `Sub` * * @since 0.0.2 * * @private * @ignore */ export type _PadZeros = [ `${N1}`, `${N2}` ] extends [infer S1 extends string, infer S2 extends string] ? MaxLen extends (infer N extends number) ? [PadLeadingZeros, PadLeadingZeros] : Unreachable : Unreachable; export {}; //# sourceMappingURL=_pad-zeros.d.ts.map