@@ -16,10 +16,10 @@ extend interface Node {
1616}
1717```
1818
19- This AST spec enhances the [ Node] nodes as same as ESLint.
20- The ` range ` property is an array which has 2 integers.
21- The 1st integer is the offset of the start location of the node.
22- The 3st integer is the offset of the end location of the node.
19+ - This AST spec enhances the [ Node] nodes like ESLint.
20+ - The ` range ` property is an array which has 2 integers.
21+ The 1st integer is the offset of the start location of the node.
22+ The 2nd integer is the offset of the end location of the node.
2323
2424## VIdentifier
2525
@@ -30,12 +30,14 @@ interface VIdentifier <: Node {
3030}
3131```
3232
33- - The ` name ` property can include any characters except U+0000-U+001F, U+007F-U+009F,
34- U+0020, U+0022, U+0027, U+003E, U+002F, U+003D, U+FDD0-U+FDEF, U+FFFE, U+FFFF,
35- U+1FFFE, U+1FFFF, U+2FFFE, U+2FFFF, U+3FFFE, U+3FFFF, U+4FFFE, U+4FFFF, U+5FFFE,
36- U+5FFFF, U+6FFFE, U+6FFFF, U+7FFFE, U+7FFFF, U+8FFFE, U+8FFFF, U+9FFFE, U+9FFFF,
37- U+AFFFE, U+AFFFF, U+BFFFE, U+BFFFF, U+CFFFE, U+CFFFF, U+DFFFE, U+DFFFF, U+EFFFE,
38- U+EFFFF, U+FFFFE, U+FFFFF, U+10FFFE or U+10FFFF.
33+ - This is similar to [ Identifier] nodes but this ` name ` property can include any
34+ characters except U+0000-U+001F, U+007F-U+009F, U+0020, U+0022, U+0027, U+003E,
35+ U+002F, U+003D, U+FDD0-U+FDEF, U+FFFE, U+FFFF, U+1FFFE, U+1FFFF, U+2FFFE, U+2FFFF,
36+ U+3FFFE, U+3FFFF, U+4FFFE, U+4FFFF, U+5FFFE, U+5FFFF, U+6FFFE, U+6FFFF, U+7FFFE,
37+ U+7FFFF, U+8FFFE, U+8FFFF, U+9FFFE, U+9FFFF, U+AFFFE, U+AFFFF, U+BFFFE, U+BFFFF,
38+ U+CFFFE, U+CFFFF, U+DFFFE, U+DFFFF, U+EFFFE, U+EFFFF, U+FFFFE, U+FFFFF, U+10FFFE
39+ and U+10FFFF.
40+ - This is tag names or attribute names.
3941
4042## VText
4143
@@ -58,6 +60,7 @@ interface VExpressionContainer <: Node {
5860}
5961```
6062
63+ - This is mustaches or directive values.
6164- If syntax errors exist, ` expression ` is ` null ` and ` syntaxError ` is an error object. Otherwise, ` expression ` is an [ Expression] node and ` syntaxError ` is ` null ` .
6265
6366## VDirectiveKey
@@ -73,8 +76,8 @@ interface VDirectiveKey <: Node {
7376```
7477
7578- The ` name ` property doesn't have ` v- ` prefix. It's dropped.
76- - In the shorthand of ` v-bind ` cases, the ` id ` property is ` ": " ` and the ` shorthand ` property is ` true ` .
77- - In the shorthand of ` v-on ` cases, the ` id ` property is ` "@ " ` and the ` shorthand ` property is ` true ` .
79+ - In the shorthand of ` v-bind ` cases, the ` name ` property is ` "bind " ` and the ` shorthand ` property is ` true ` .
80+ - In the shorthand of ` v-on ` cases, the ` name ` property is ` "on " ` and the ` shorthand ` property is ` true ` .
7881- Otherwise, ` shorthand ` property is always ` false ` .
7982
8083## VAttributeValue
@@ -101,8 +104,8 @@ interface VAttribute <: Node {
101104```
102105
103106- If the ` directive ` property is ` true ` , this is a directive of Vue.js.
104- In that case, the ` id ` property is a ` VDirectiveKey ` node and the ` value ` property is a ` VExpressionContainer ` node.
105- - Otherwise, the ` id ` property is a ` VIdentifier ` node and the ` value ` property is a ` VAttributeValue ` node.
107+ In that case, the ` key ` property is a ` VDirectiveKey ` node and the ` value ` property is a ` VExpressionContainer ` node.
108+ - Otherwise, the ` key ` property is a ` VIdentifier ` node and the ` value ` property is a ` VAttributeValue ` node.
106109- If the ` value ` property is ` null ` , their attribute value does not exist.
107110
108111## VStartTag
@@ -157,3 +160,4 @@ This supports only HTML for now. However, I'm going to add other languages Vue.j
157160[ Expression ] : https://github.com/estree/estree/blob/master/es5.md#expression
158161[ Literal ] : https://github.com/estree/estree/blob/master/es5.md#literal
159162[ Pattern ] : https://github.com/estree/estree/blob/master/es5.md#patterns
163+ [ Identifier ] : https://github.com/estree/estree/blob/master/es5.md#identifier
0 commit comments