@@ -73,16 +73,16 @@ import {htmlVoidElements} from 'html-void-elements'
73
73
import { webNamespaces } from 'web-namespaces'
74
74
import { zwitch } from 'zwitch'
75
75
76
- var inTemplateMode = 'IN_TEMPLATE_MODE'
77
- var dataState = 'DATA_STATE'
78
- var characterToken = 'CHARACTER_TOKEN'
79
- var startTagToken = 'START_TAG_TOKEN'
80
- var endTagToken = 'END_TAG_TOKEN'
81
- var commentToken = 'COMMENT_TOKEN'
82
- var doctypeToken = 'DOCTYPE_TOKEN'
76
+ const inTemplateMode = 'IN_TEMPLATE_MODE'
77
+ const dataState = 'DATA_STATE'
78
+ const characterToken = 'CHARACTER_TOKEN'
79
+ const startTagToken = 'START_TAG_TOKEN'
80
+ const endTagToken = 'END_TAG_TOKEN'
81
+ const commentToken = 'COMMENT_TOKEN'
82
+ const doctypeToken = 'DOCTYPE_TOKEN'
83
83
84
84
/** @type {P5ParserOptions } */
85
- var parseOptions = { sourceCodeLocationInfo : true , scriptingEnabled : false }
85
+ const parseOptions = { sourceCodeLocationInfo : true , scriptingEnabled : false }
86
86
87
87
/**
88
88
* Given a hast tree and an optional vfile (for positional info), return a new
@@ -93,24 +93,22 @@ var parseOptions = {sourceCodeLocationInfo: true, scriptingEnabled: false}
93
93
* @param {Options } [options] Configuration
94
94
*/
95
95
export function raw ( tree , file , options ) {
96
- var index = - 1
97
- var parser = new Parser ( parseOptions )
98
- var one = zwitch ( 'type' , {
96
+ let index = - 1
97
+ const parser = new Parser ( parseOptions )
98
+ const one = zwitch ( 'type' , {
99
99
handlers : { root, element, text, comment, doctype, raw : handleRaw } ,
100
100
unknown
101
101
} )
102
102
/** @type {boolean } */
103
- var stitches
103
+ let stitches
104
104
/** @type {HiddenTokenizer } */
105
- var tokenizer
105
+ let tokenizer
106
106
/** @type {HiddenPreprocessor } */
107
- var preprocessor
107
+ let preprocessor
108
108
/** @type {HiddenPosTracker } */
109
- var posTracker
109
+ let posTracker
110
110
/** @type {HiddenLocationTracker } */
111
- var locationTracker
112
- /** @type {Node } */
113
- var result
111
+ let locationTracker
114
112
115
113
if ( isOptions ( file ) ) {
116
114
options = file
@@ -124,7 +122,7 @@ export function raw(tree, file, options) {
124
122
}
125
123
126
124
// @ts -expect-error: update `vfile`.
127
- result = fromParse5 ( documentMode ( tree ) ? document ( ) : fragment ( ) , file )
125
+ const result = fromParse5 ( documentMode ( tree ) ? document ( ) : fragment ( ) , file )
128
126
129
127
if ( stitches ) {
130
128
visit ( result , 'comment' , mend )
@@ -156,7 +154,7 @@ export function raw(tree, file, options) {
156
154
*/
157
155
function fragment ( ) {
158
156
/** @type {P5Element } */
159
- var context = {
157
+ const context = {
160
158
nodeName : 'template' ,
161
159
tagName : 'template' ,
162
160
attrs : [ ] ,
@@ -165,7 +163,7 @@ export function raw(tree, file, options) {
165
163
parentNode : undefined
166
164
}
167
165
/** @type {P5Element } */
168
- var mock = {
166
+ const mock = {
169
167
nodeName : 'documentmock' ,
170
168
tagName : 'documentmock' ,
171
169
attrs : [ ] ,
@@ -174,7 +172,7 @@ export function raw(tree, file, options) {
174
172
parentNode : undefined
175
173
}
176
174
/** @type {P5Fragment } */
177
- var doc = { nodeName : '#document-fragment' , childNodes : [ ] }
175
+ const doc = { nodeName : '#document-fragment' , childNodes : [ ] }
178
176
179
177
parser . _bootstrap ( mock , context )
180
178
parser . _pushTmplInsertionMode ( inTemplateMode )
@@ -200,7 +198,7 @@ export function raw(tree, file, options) {
200
198
*/
201
199
function document ( ) {
202
200
/** @type {P5Document } */
203
- var doc = parser . treeAdapter . createDocument ( )
201
+ const doc = parser . treeAdapter . createDocument ( )
204
202
205
203
parser . _bootstrap ( doc , null )
206
204
tokenizer = parser . tokenizer
@@ -218,7 +216,7 @@ export function raw(tree, file, options) {
218
216
* @returns {void }
219
217
*/
220
218
function all ( nodes ) {
221
- var index = - 1
219
+ let index = - 1
222
220
223
221
/* istanbul ignore else - invalid nodes, see rehypejs/rehype-raw#7. */
224
222
if ( nodes ) {
@@ -299,12 +297,10 @@ export function raw(tree, file, options) {
299
297
* @returns {void }
300
298
*/
301
299
function handleRaw ( node ) {
302
- var start = pointStart ( node )
303
- var line = start . line || 1
304
- var column = start . column || 1
305
- var offset = start . offset || 0
306
- /** @type {HiddenToken } */
307
- var token
300
+ const start = pointStart ( node )
301
+ const line = start . line || 1
302
+ const column = start . column || 1
303
+ const offset = start . offset || 0
308
304
309
305
// Reset preprocessor:
310
306
// See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/tokenizer/preprocessor.js>.
@@ -339,7 +335,7 @@ export function raw(tree, file, options) {
339
335
// Process final characters if they’re still there after hibernating.
340
336
// Similar to:
341
337
// See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/extensions/location-info/tokenizer-mixin.js#L95>.
342
- token = tokenizer . currentCharacterToken
338
+ const token = tokenizer . currentCharacterToken
343
339
344
340
if ( token ) {
345
341
token . location . endLine = posTracker . line
@@ -353,7 +349,7 @@ export function raw(tree, file, options) {
353
349
* @param {UnistNode } node
354
350
*/
355
351
function stitch ( node ) {
356
- var clone = Object . assign ( { } , node )
352
+ const clone = Object . assign ( { } , node )
357
353
358
354
stitches = true
359
355
@@ -404,10 +400,10 @@ export function raw(tree, file, options) {
404
400
* @returns {HiddenToken }
405
401
*/
406
402
function startTag ( node ) {
407
- /** @type {unknown } */
408
- var location = Object . assign ( createParse5Location ( node ) , {
409
- startTag : Object . assign ( { } , location )
410
- } )
403
+ /** @type {P5Location } */
404
+ const location = Object . assign ( createParse5Location ( node ) )
405
+ // @ts -ignore extra positional info.
406
+ location . startTag = Object . assign ( { } , location )
411
407
412
408
// Untyped token.
413
409
return {
@@ -439,10 +435,10 @@ function attributes(node) {
439
435
* @returns {HiddenToken }
440
436
*/
441
437
function endTag ( node ) {
442
- /** @type {unknown } */
443
- var location = Object . assign ( createParse5Location ( node ) , {
444
- endTag : Object . assign ( { } , location )
445
- } )
438
+ /** @type {P5Location } */
439
+ const location = Object . assign ( createParse5Location ( node ) )
440
+ // @ts -ignore extra positional info.
441
+ location . startTag = Object . assign ( { } , location )
446
442
447
443
// Untyped token.
448
444
return {
@@ -466,7 +462,7 @@ function unknown(node) {
466
462
* @returns {boolean }
467
463
*/
468
464
function documentMode ( node ) {
469
- var head = node . type === 'root' ? node . children [ 0 ] : node
465
+ const head = node . type === 'root' ? node . children [ 0 ] : node
470
466
return Boolean (
471
467
head &&
472
468
( head . type === 'doctype' ||
@@ -479,8 +475,8 @@ function documentMode(node) {
479
475
* @returns {P5Location }
480
476
*/
481
477
function createParse5Location ( node ) {
482
- var start = pointStart ( node )
483
- var end = pointEnd ( node )
478
+ const start = pointStart ( node )
479
+ const end = pointEnd ( node )
484
480
485
481
return {
486
482
startLine : start . line ,
0 commit comments