Type Alias BinaryAddParser<A, B, C>

BinaryAddParser: [A, B] extends [
    `${infer A1}${infer A2}`,
    `${infer B1}${infer B2}`,
]
    ? A1 extends "0"
        ? B1 extends "0"
            ? C extends "0"
                ? `${BinaryAddParser<A2, B2, "0">}0`
                : `${BinaryAddParser<A2, B2, "0">}1`
            : C extends "0"
                ? `${BinaryAddParser<A2, B2, "0">}1`
                : `${BinaryAddParser<A2, B2, "1">}0`
        : B1 extends "0"
            ? C extends "0"
                ? `${BinaryAddParser<A2, B2, "0">}1`
                : `${BinaryAddParser<A2, B2, "1">}0`
            : C extends "0"
                ? `${BinaryAddParser<A2, B2, "1">}0`
                : `${BinaryAddParser<A2, B2, "1">}1`
    : `${C}`

Type Parameters

  • A extends string
  • B extends string
  • C extends "0" | "1" = "0"