Skip to content

Commit 5fd3d87

Browse files
committed
feat: add support for update expression
1 parent 6e98020 commit 5fd3d87

4 files changed

Lines changed: 30 additions & 0 deletions

File tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
The value is {{ counter++ }}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
let out = "";
2+
let $lineNumber = 1;
3+
let $filename = "{{ __dirname }}index.edge";
4+
try {
5+
out += "The value is ";
6+
out += `${ctx.escape(state.counter++)}`;
7+
} catch (error) {
8+
ctx.reThrow(error, $filename, $lineNumber);
9+
}
10+
return out;

src/expressions/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ export { default as ReturnStatement } from './return_statement.js'
3030
export { default as ThisExpression } from './this_expression.js'
3131
export { default as ChainExpression } from './chain_expression.js'
3232
export { default as SpreadElement } from './spread_element.js'
33+
export { default as UpdateExpression } from './update_expression.ts'
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*
2+
* edge-parser
3+
*
4+
* (c) Harminder Virk <virk@adonisjs.com>
5+
*
6+
* For the full copyright and license information, please view the LICENSE
7+
* file that was distributed with this source code.
8+
*/
9+
10+
import { transformAst } from '../parser/transform_ast.js'
11+
import { type Parser } from '../parser/main.js'
12+
13+
export default {
14+
toStatement(statement: any, filename: string, parser: Parser) {
15+
statement.argument = transformAst(statement.argument, filename, parser)
16+
return statement
17+
},
18+
}

0 commit comments

Comments
 (0)