-
Notifications
You must be signed in to change notification settings - Fork 32
/
traverse.js
26 lines (22 loc) · 1.1 KB
/
traverse.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'use strict';
var estraverse = require('estraverse');
// add our custom syntax definitions
estraverse.Syntax.Template = 'Template';
estraverse.Syntax.OutputStatement = 'OutputStatement';
estraverse.Syntax.BindStatement = 'BindStatement';
estraverse.Syntax.RepeatStatement = 'RepeatStatement';
estraverse.Syntax.ContentStatement = 'ContentStatement';
estraverse.Syntax.IncludeStatement = 'IncludeStatement';
estraverse.Syntax.AliasExpression = 'AliasExpression';
estraverse.Syntax.IterateExpression = 'IterateExpression';
estraverse.Syntax.CustomElement = 'CustomElement';
estraverse.VisitorKeys.Template = ['body'];
estraverse.VisitorKeys.OutputStatement = ['expression'];
estraverse.VisitorKeys.BindStatement = ['expression', 'body'];
estraverse.VisitorKeys.RepeatStatement = ['expression', 'body'];
estraverse.VisitorKeys.ContentStatement = ['body'];
estraverse.VisitorKeys.IncludeStatement = ['body'];
estraverse.VisitorKeys.AliasExpression = ['subject', 'alias'];
estraverse.VisitorKeys.IterateExpression = ['it', 'index', 'expression', 'body'];
estraverse.VisitorKeys.CustomElement = ['body'];
module.exports = estraverse;