12
12
const HTML_ELEMENT_NAMES = new Set ( require ( './html-elements.json' ) )
13
13
const SVG_ELEMENT_NAMES = new Set ( require ( './svg-elements.json' ) )
14
14
const VOID_ELEMENT_NAMES = new Set ( require ( './void-elements.json' ) )
15
+ const assert = require ( 'assert' )
15
16
16
17
// ------------------------------------------------------------------------------
17
18
// Exports
@@ -63,7 +64,7 @@ module.exports = {
63
64
* @returns {boolean } `true` if the node is the root element.
64
65
*/
65
66
isRootElement ( node ) {
66
- console . assert ( node && node . type === 'VElement' )
67
+ assert ( node && node . type === 'VElement' )
67
68
68
69
return (
69
70
node . parent . type === 'Program' ||
@@ -77,7 +78,7 @@ module.exports = {
77
78
* @returns {ASTNode|null } The previous sibling element.
78
79
*/
79
80
prevSibling ( node ) {
80
- console . assert ( node && node . type === 'VElement' )
81
+ assert ( node && node . type === 'VElement' )
81
82
let prevElement = null
82
83
83
84
for ( const siblingNode of ( node . parent && node . parent . children ) || [ ] ) {
@@ -100,7 +101,7 @@ module.exports = {
100
101
* @returns {boolean } `true` if the start tag has the directive.
101
102
*/
102
103
hasAttribute ( node , name , value ) {
103
- console . assert ( node && node . type === 'VStartTag' )
104
+ assert ( node && node . type === 'VStartTag' )
104
105
return node . attributes . some ( a =>
105
106
! a . directive &&
106
107
a . key . name === name &&
@@ -119,7 +120,7 @@ module.exports = {
119
120
* @returns {boolean } `true` if the start tag has the directive.
120
121
*/
121
122
hasDirective ( node , name , argument ) {
122
- console . assert ( node && node . type === 'VStartTag' )
123
+ assert ( node && node . type === 'VStartTag' )
123
124
return node . attributes . some ( a =>
124
125
a . directive &&
125
126
a . key . name === name &&
@@ -133,7 +134,7 @@ module.exports = {
133
134
* @returns {boolean } `true` if the attribute has their value.
134
135
*/
135
136
hasAttributeValue ( node ) {
136
- console . assert ( node && node . type === 'VAttribute' )
137
+ assert ( node && node . type === 'VAttribute' )
137
138
return (
138
139
node . value != null &&
139
140
( node . value . expression != null || node . value . syntaxError != null )
@@ -148,7 +149,7 @@ module.exports = {
148
149
* @returns {ASTNode } The found attribute.
149
150
*/
150
151
getAttribute ( node , name , value ) {
151
- console . assert ( node && node . type === 'VStartTag' )
152
+ assert ( node && node . type === 'VStartTag' )
152
153
return node . attributes . find ( a =>
153
154
! a . directive &&
154
155
a . key . name === name &&
@@ -167,7 +168,7 @@ module.exports = {
167
168
* @returns {ASTNode } The found directive.
168
169
*/
169
170
getDirective ( node , name , argument ) {
170
- console . assert ( node && node . type === 'VStartTag' )
171
+ assert ( node && node . type === 'VStartTag' )
171
172
return node . attributes . find ( a =>
172
173
a . directive &&
173
174
a . key . name === name &&
@@ -181,7 +182,7 @@ module.exports = {
181
182
* @returns {boolean } `true` if the previous sibling element has `if` or `else-if` directive.
182
183
*/
183
184
prevElementHasIf ( node ) {
184
- console . assert ( node && node . type === 'VElement' )
185
+ assert ( node && node . type === 'VElement' )
185
186
186
187
const prev = this . prevSibling ( node )
187
188
return (
@@ -199,7 +200,7 @@ module.exports = {
199
200
* @returns {boolean } `true` if the node is a custom component.
200
201
*/
201
202
isCustomComponent ( node ) {
202
- console . assert ( node && node . type === 'VStartTag' )
203
+ assert ( node && node . type === 'VStartTag' )
203
204
204
205
const name = node . id . name
205
206
return (
@@ -215,7 +216,7 @@ module.exports = {
215
216
* @returns {boolean } `true` if the name is a HTML element name.
216
217
*/
217
218
isHtmlElementName ( name ) {
218
- console . assert ( typeof name === 'string' )
219
+ assert ( typeof name === 'string' )
219
220
220
221
return HTML_ELEMENT_NAMES . has ( name . toLowerCase ( ) )
221
222
} ,
@@ -226,7 +227,7 @@ module.exports = {
226
227
* @returns {boolean } `true` if the name is a SVG element name.
227
228
*/
228
229
isSvgElementName ( name ) {
229
- console . assert ( typeof name === 'string' )
230
+ assert ( typeof name === 'string' )
230
231
231
232
return SVG_ELEMENT_NAMES . has ( name . toLowerCase ( ) )
232
233
} ,
@@ -237,7 +238,7 @@ module.exports = {
237
238
* @returns {boolean } `true` if the name is a void element name.
238
239
*/
239
240
isVoidElementName ( name ) {
240
- console . assert ( typeof name === 'string' )
241
+ assert ( typeof name === 'string' )
241
242
242
243
return VOID_ELEMENT_NAMES . has ( name . toLowerCase ( ) )
243
244
}
0 commit comments