Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

274 - Integers Comparator - limit - clean #11435

Open
Alexsey opened this issue Jun 10, 2022 · 0 comments
Open

274 - Integers Comparator - limit - clean #11435

Alexsey opened this issue Jun 10, 2022 · 0 comments
Labels
274 answer Share answers/solutions to a question en in English

Comments

@Alexsey
Copy link
Contributor

Alexsey commented Jun 10, 2022

enum Comparison {
  Greater,
  Equal,
  Lower,
}

type ComparePositives<A extends string, B extends string, C extends 0[] = []>
  = A extends `${C['length']}`
    ? B extends `${C['length']}`
      ? Comparison.Equal
      : Comparison.Lower
    : B extends `${C['length']}`
      ? Comparison.Greater
      : ComparePositives<A, B, [...C, 0]>

type Comparator<A extends number, B extends number> =
  `${A}` extends `-${infer AbsA}`
    ? `${B}` extends `-${infer AbsB}`
      ? ComparePositives<AbsB, AbsA>
      : Comparison.Lower
    : `${B}` extends `-${number}`
      ? Comparison.Greater
      : ComparePositives<`${A}`, `${B}`>
@Alexsey Alexsey added answer Share answers/solutions to a question en in English labels Jun 10, 2022
@github-actions github-actions bot added the 274 label Jun 10, 2022
@Alexsey Alexsey changed the title 274 - Integers Comparator - clean with limit 274 - Integers Comparator - limit - clean Jun 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
274 answer Share answers/solutions to a question en in English
Projects
None yet
Development

No branches or pull requests

1 participant