summaryrefslogtreecommitdiff
path: root/src/compiler/parse/read/expression.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/parse/read/expression.ts')
-rw-r--r--src/compiler/parse/read/expression.ts11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/compiler/parse/read/expression.ts b/src/compiler/parse/read/expression.ts
index 827a29721..1fe5f05f1 100644
--- a/src/compiler/parse/read/expression.ts
+++ b/src/compiler/parse/read/expression.ts
@@ -1,20 +1,19 @@
-// @ts-nocheck
-
import { parse_expression_at } from '../acorn.js';
import { Parser } from '../index.js';
import { whitespace } from '../../utils/patterns.js';
// import { Node } from 'estree';
+// @ts-ignore
export default function read_expression(parser: Parser): string {
try {
- const node = parse_expression_at(parser.template, parser.index);
+ const start = parser.index;
+ let index = parse_expression_at(parser.template, parser.index);
let num_parens = 0;
- for (let i = parser.index; i < node.start; i += 1) {
+ for (let i = parser.index; i < start; i += 1) {
if (parser.template[i] === '(') num_parens += 1;
}
- let index = node.end;
while (num_parens > 0) {
const char = parser.template[index];
@@ -35,7 +34,7 @@ export default function read_expression(parser: Parser): string {
parser.index = index;
- return parser.template.substring(node.start, node.end);
+ return parser.template.substring(start, index);
// return node as Node;
} catch (err) {
parser.acorn_error(err);