Type Alias BinaryToDecimalParser<X, C, A, FL>

BinaryToDecimalParser: X extends `${infer F}${infer R}`
    ? LengthOfString<X> extends 8
        ? F extends "1"
            ? `-${BinaryToDecimalParser<StringReverse<R>, C, A, true>}`
            : BinaryToDecimalParser<StringReverse<R>, C, A, FL>
        : FL extends false
            ? F extends "1"
                ? BinaryToDecimalParser<R, [...C, ...C], [...A, ...C], FL>
                : BinaryToDecimalParser<R, [...C, ...C], A, FL>
            : F extends "1"
                ? BinaryToDecimalParser<R, [...C, ...C], A, FL>
                : BinaryToDecimalParser<R, [...C, ...C], [...A, ...C], FL>
    : FL extends true ? Length<A> : Length<Shift<A>>

Type Parameters

  • X extends string
  • C extends unknown[] = [""]
  • A extends unknown[] = [""]
  • FL extends boolean = false