aboutsummaryrefslogtreecommitdiff
path: root/src/parser.ts
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2023-08-20 11:29:07 +0530
committerAkshay Nair <phenax5@gmail.com>2023-08-20 11:29:07 +0530
commitf61677bbc3ae32cc460014cffe4d9ae9264291c5 (patch)
treeaf7f8935ba15364699f1b1abf6a5987b61011d33 /src/parser.ts
parent2b94b07fdc8f1a82f507b99000add9b7dca2c3d8 (diff)
downloadcss-everything-f61677bbc3ae32cc460014cffe4d9ae9264291c5.tar.gz
css-everything-f61677bbc3ae32cc460014cffe4d9ae9264291c5.zip
feat: function declaration
Diffstat (limited to '')
-rw-r--r--src/parser.ts12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/parser.ts b/src/parser.ts
index 732e32a..eeb9acf 100644
--- a/src/parser.ts
+++ b/src/parser.ts
@@ -108,6 +108,18 @@ const exprParser: P.Parser<Expr> = P.or([
identifierExprParser,
])
+export const parseExpr = (input: string): Expr => {
+ return match(exprParser(input), {
+ Ok: ({ value, input }) => {
+ if (input) throw new Error(`Aaaaaa. Input left: ${input}`)
+ return value
+ },
+ Err: e => {
+ throw e
+ },
+ })
+}
+
const declarationParser = P.or([callExprParser, selectorExprParser])
const multiDeclarationParser = P.sepBy(declarationParser, whitespace)