aboutsummaryrefslogtreecommitdiff
path: root/src/parser/index.ts
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2022-01-14 20:32:32 +0530
committerAkshay Nair <phenax5@gmail.com>2022-01-14 20:34:00 +0530
commit920038de1945298e5a693cc11fd97a73e48b9bc8 (patch)
tree3d15e1e2355784d04cbeefd199376434295ae770 /src/parser/index.ts
parentc2c6e8d1258158f61fba026ded1e48ffc5b36cf6 (diff)
downloadelxr-920038de1945298e5a693cc11fd97a73e48b9bc8.tar.gz
elxr-920038de1945298e5a693cc11fd97a73e48b9bc8.zip
feat: removes + for number literal (causes issues with js regex syntax)
Diffstat (limited to '')
-rw-r--r--src/parser/index.ts5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/parser/index.ts b/src/parser/index.ts
index d1da542..a2276bb 100644
--- a/src/parser/index.ts
+++ b/src/parser/index.ts
@@ -81,12 +81,11 @@ const unsignedNum: Parser<number> = mapTo(
)
const numberLiteral: Parser<Literal> = mapTo(
- pair(optional(oneOf(['+', '-'])), unsignedNum),
+ pair(optional(matchChar('-')), unsignedNum),
([signO, n]) =>
pipe(
signO,
- Option.getOrElse(() => '+'),
- sign => (sign === '-' ? -1 : 1) * n,
+ negative => (Option.isSome(negative) ? -1 : 1) * n,
Literal.Number,
),
)