vite 4.0.0-alpha.4 → 4.0.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -263,7 +263,8 @@ class Preprocessor {
263
263
  this.endOfChunkHit = !this.lastChunkWritten;
264
264
  return CODE_POINTS.EOF;
265
265
  }
266
- return this.html.charCodeAt(pos);
266
+ const code = this.html.charCodeAt(pos);
267
+ return code === CODE_POINTS.CARRIAGE_RETURN ? CODE_POINTS.LINE_FEED : code;
267
268
  }
268
269
  advance() {
269
270
  this.pos++;
@@ -3191,7 +3192,7 @@ class Tokenizer {
3191
3192
  this._emitEOFToken();
3192
3193
  break;
3193
3194
  }
3194
- default:
3195
+ default: {
3195
3196
  if (this._consumeSequenceIfMatch(SEQUENCES.PUBLIC, false)) {
3196
3197
  this.state = State.AFTER_DOCTYPE_PUBLIC_KEYWORD;
3197
3198
  }
@@ -3206,6 +3207,7 @@ class Tokenizer {
3206
3207
  this.state = State.BOGUS_DOCTYPE;
3207
3208
  this._stateBogusDoctype(cp);
3208
3209
  }
3210
+ }
3209
3211
  }
3210
3212
  }
3211
3213
  // After DOCTYPE public keyword state
@@ -3894,6 +3896,9 @@ const TABLE_CONTEXT = [TAG_ID.TABLE, TAG_ID.TEMPLATE, TAG_ID.HTML];
3894
3896
  const TABLE_CELLS = [TAG_ID.TD, TAG_ID.TH];
3895
3897
  //Stack of open elements
3896
3898
  class OpenElementStack {
3899
+ get currentTmplContentOrNode() {
3900
+ return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current;
3901
+ }
3897
3902
  constructor(document, treeAdapter, handler) {
3898
3903
  this.treeAdapter = treeAdapter;
3899
3904
  this.handler = handler;
@@ -3904,9 +3909,6 @@ class OpenElementStack {
3904
3909
  this.currentTagId = TAG_ID.UNKNOWN;
3905
3910
  this.current = document;
3906
3911
  }
3907
- get currentTmplContentOrNode() {
3908
- return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current;
3909
- }
3910
3912
  //Index of element
3911
3913
  _indexOf(element) {
3912
3914
  return this.items.lastIndexOf(element, this.stackTop);
@@ -5253,51 +5255,63 @@ class Parser {
5253
5255
  for (let i = this.openElements.stackTop; i >= 0; i--) {
5254
5256
  //Insertion mode reset map
5255
5257
  switch (i === 0 && this.fragmentContext ? this.fragmentContextID : this.openElements.tagIDs[i]) {
5256
- case TAG_ID.TR:
5258
+ case TAG_ID.TR: {
5257
5259
  this.insertionMode = InsertionMode.IN_ROW;
5258
5260
  return;
5261
+ }
5259
5262
  case TAG_ID.TBODY:
5260
5263
  case TAG_ID.THEAD:
5261
- case TAG_ID.TFOOT:
5264
+ case TAG_ID.TFOOT: {
5262
5265
  this.insertionMode = InsertionMode.IN_TABLE_BODY;
5263
5266
  return;
5264
- case TAG_ID.CAPTION:
5267
+ }
5268
+ case TAG_ID.CAPTION: {
5265
5269
  this.insertionMode = InsertionMode.IN_CAPTION;
5266
5270
  return;
5267
- case TAG_ID.COLGROUP:
5271
+ }
5272
+ case TAG_ID.COLGROUP: {
5268
5273
  this.insertionMode = InsertionMode.IN_COLUMN_GROUP;
5269
5274
  return;
5270
- case TAG_ID.TABLE:
5275
+ }
5276
+ case TAG_ID.TABLE: {
5271
5277
  this.insertionMode = InsertionMode.IN_TABLE;
5272
5278
  return;
5273
- case TAG_ID.BODY:
5279
+ }
5280
+ case TAG_ID.BODY: {
5274
5281
  this.insertionMode = InsertionMode.IN_BODY;
5275
5282
  return;
5276
- case TAG_ID.FRAMESET:
5283
+ }
5284
+ case TAG_ID.FRAMESET: {
5277
5285
  this.insertionMode = InsertionMode.IN_FRAMESET;
5278
5286
  return;
5279
- case TAG_ID.SELECT:
5287
+ }
5288
+ case TAG_ID.SELECT: {
5280
5289
  this._resetInsertionModeForSelect(i);
5281
5290
  return;
5282
- case TAG_ID.TEMPLATE:
5291
+ }
5292
+ case TAG_ID.TEMPLATE: {
5283
5293
  this.insertionMode = this.tmplInsertionModeStack[0];
5284
5294
  return;
5285
- case TAG_ID.HTML:
5295
+ }
5296
+ case TAG_ID.HTML: {
5286
5297
  this.insertionMode = this.headElement ? InsertionMode.AFTER_HEAD : InsertionMode.BEFORE_HEAD;
5287
5298
  return;
5299
+ }
5288
5300
  case TAG_ID.TD:
5289
- case TAG_ID.TH:
5301
+ case TAG_ID.TH: {
5290
5302
  if (i > 0) {
5291
5303
  this.insertionMode = InsertionMode.IN_CELL;
5292
5304
  return;
5293
5305
  }
5294
5306
  break;
5295
- case TAG_ID.HEAD:
5307
+ }
5308
+ case TAG_ID.HEAD: {
5296
5309
  if (i > 0) {
5297
5310
  this.insertionMode = InsertionMode.IN_HEAD;
5298
5311
  return;
5299
5312
  }
5300
5313
  break;
5314
+ }
5301
5315
  }
5302
5316
  }
5303
5317
  this.insertionMode = InsertionMode.IN_BODY;
@@ -5328,11 +5342,12 @@ class Parser {
5328
5342
  for (let i = this.openElements.stackTop; i >= 0; i--) {
5329
5343
  const openElement = this.openElements.items[i];
5330
5344
  switch (this.openElements.tagIDs[i]) {
5331
- case TAG_ID.TEMPLATE:
5345
+ case TAG_ID.TEMPLATE: {
5332
5346
  if (this.treeAdapter.getNamespaceURI(openElement) === NS.HTML) {
5333
5347
  return { parent: this.treeAdapter.getTemplateContent(openElement), beforeElement: null };
5334
5348
  }
5335
5349
  break;
5350
+ }
5336
5351
  case TAG_ID.TABLE: {
5337
5352
  const parent = this.treeAdapter.getParentNode(openElement);
5338
5353
  if (parent) {
@@ -5366,52 +5381,65 @@ class Parser {
5366
5381
  return;
5367
5382
  }
5368
5383
  switch (this.insertionMode) {
5369
- case InsertionMode.INITIAL:
5384
+ case InsertionMode.INITIAL: {
5370
5385
  tokenInInitialMode(this, token);
5371
5386
  break;
5372
- case InsertionMode.BEFORE_HTML:
5387
+ }
5388
+ case InsertionMode.BEFORE_HTML: {
5373
5389
  tokenBeforeHtml(this, token);
5374
5390
  break;
5375
- case InsertionMode.BEFORE_HEAD:
5391
+ }
5392
+ case InsertionMode.BEFORE_HEAD: {
5376
5393
  tokenBeforeHead(this, token);
5377
5394
  break;
5378
- case InsertionMode.IN_HEAD:
5395
+ }
5396
+ case InsertionMode.IN_HEAD: {
5379
5397
  tokenInHead(this, token);
5380
5398
  break;
5381
- case InsertionMode.IN_HEAD_NO_SCRIPT:
5399
+ }
5400
+ case InsertionMode.IN_HEAD_NO_SCRIPT: {
5382
5401
  tokenInHeadNoScript(this, token);
5383
5402
  break;
5384
- case InsertionMode.AFTER_HEAD:
5403
+ }
5404
+ case InsertionMode.AFTER_HEAD: {
5385
5405
  tokenAfterHead(this, token);
5386
5406
  break;
5407
+ }
5387
5408
  case InsertionMode.IN_BODY:
5388
5409
  case InsertionMode.IN_CAPTION:
5389
5410
  case InsertionMode.IN_CELL:
5390
- case InsertionMode.IN_TEMPLATE:
5411
+ case InsertionMode.IN_TEMPLATE: {
5391
5412
  characterInBody(this, token);
5392
5413
  break;
5414
+ }
5393
5415
  case InsertionMode.TEXT:
5394
5416
  case InsertionMode.IN_SELECT:
5395
- case InsertionMode.IN_SELECT_IN_TABLE:
5417
+ case InsertionMode.IN_SELECT_IN_TABLE: {
5396
5418
  this._insertCharacters(token);
5397
5419
  break;
5420
+ }
5398
5421
  case InsertionMode.IN_TABLE:
5399
5422
  case InsertionMode.IN_TABLE_BODY:
5400
- case InsertionMode.IN_ROW:
5423
+ case InsertionMode.IN_ROW: {
5401
5424
  characterInTable(this, token);
5402
5425
  break;
5403
- case InsertionMode.IN_TABLE_TEXT:
5426
+ }
5427
+ case InsertionMode.IN_TABLE_TEXT: {
5404
5428
  characterInTableText(this, token);
5405
5429
  break;
5406
- case InsertionMode.IN_COLUMN_GROUP:
5430
+ }
5431
+ case InsertionMode.IN_COLUMN_GROUP: {
5407
5432
  tokenInColumnGroup(this, token);
5408
5433
  break;
5409
- case InsertionMode.AFTER_BODY:
5434
+ }
5435
+ case InsertionMode.AFTER_BODY: {
5410
5436
  tokenAfterBody(this, token);
5411
5437
  break;
5412
- case InsertionMode.AFTER_AFTER_BODY:
5438
+ }
5439
+ case InsertionMode.AFTER_AFTER_BODY: {
5413
5440
  tokenAfterAfterBody(this, token);
5414
5441
  break;
5442
+ }
5415
5443
  // Do nothing
5416
5444
  }
5417
5445
  }
@@ -5422,41 +5450,52 @@ class Parser {
5422
5450
  return;
5423
5451
  }
5424
5452
  switch (this.insertionMode) {
5425
- case InsertionMode.INITIAL:
5453
+ case InsertionMode.INITIAL: {
5426
5454
  tokenInInitialMode(this, token);
5427
5455
  break;
5428
- case InsertionMode.BEFORE_HTML:
5456
+ }
5457
+ case InsertionMode.BEFORE_HTML: {
5429
5458
  tokenBeforeHtml(this, token);
5430
5459
  break;
5431
- case InsertionMode.BEFORE_HEAD:
5460
+ }
5461
+ case InsertionMode.BEFORE_HEAD: {
5432
5462
  tokenBeforeHead(this, token);
5433
5463
  break;
5434
- case InsertionMode.IN_HEAD:
5464
+ }
5465
+ case InsertionMode.IN_HEAD: {
5435
5466
  tokenInHead(this, token);
5436
5467
  break;
5437
- case InsertionMode.IN_HEAD_NO_SCRIPT:
5468
+ }
5469
+ case InsertionMode.IN_HEAD_NO_SCRIPT: {
5438
5470
  tokenInHeadNoScript(this, token);
5439
5471
  break;
5440
- case InsertionMode.AFTER_HEAD:
5472
+ }
5473
+ case InsertionMode.AFTER_HEAD: {
5441
5474
  tokenAfterHead(this, token);
5442
5475
  break;
5443
- case InsertionMode.TEXT:
5476
+ }
5477
+ case InsertionMode.TEXT: {
5444
5478
  this._insertCharacters(token);
5445
5479
  break;
5480
+ }
5446
5481
  case InsertionMode.IN_TABLE:
5447
5482
  case InsertionMode.IN_TABLE_BODY:
5448
- case InsertionMode.IN_ROW:
5483
+ case InsertionMode.IN_ROW: {
5449
5484
  characterInTable(this, token);
5450
5485
  break;
5451
- case InsertionMode.IN_COLUMN_GROUP:
5486
+ }
5487
+ case InsertionMode.IN_COLUMN_GROUP: {
5452
5488
  tokenInColumnGroup(this, token);
5453
5489
  break;
5454
- case InsertionMode.AFTER_BODY:
5490
+ }
5491
+ case InsertionMode.AFTER_BODY: {
5455
5492
  tokenAfterBody(this, token);
5456
5493
  break;
5457
- case InsertionMode.AFTER_AFTER_BODY:
5494
+ }
5495
+ case InsertionMode.AFTER_AFTER_BODY: {
5458
5496
  tokenAfterAfterBody(this, token);
5459
5497
  break;
5498
+ }
5460
5499
  // Do nothing
5461
5500
  }
5462
5501
  }
@@ -5484,37 +5523,44 @@ class Parser {
5484
5523
  case InsertionMode.IN_SELECT_IN_TABLE:
5485
5524
  case InsertionMode.IN_TEMPLATE:
5486
5525
  case InsertionMode.IN_FRAMESET:
5487
- case InsertionMode.AFTER_FRAMESET:
5526
+ case InsertionMode.AFTER_FRAMESET: {
5488
5527
  appendComment(this, token);
5489
5528
  break;
5490
- case InsertionMode.IN_TABLE_TEXT:
5529
+ }
5530
+ case InsertionMode.IN_TABLE_TEXT: {
5491
5531
  tokenInTableText(this, token);
5492
5532
  break;
5493
- case InsertionMode.AFTER_BODY:
5533
+ }
5534
+ case InsertionMode.AFTER_BODY: {
5494
5535
  appendCommentToRootHtmlElement(this, token);
5495
5536
  break;
5537
+ }
5496
5538
  case InsertionMode.AFTER_AFTER_BODY:
5497
- case InsertionMode.AFTER_AFTER_FRAMESET:
5539
+ case InsertionMode.AFTER_AFTER_FRAMESET: {
5498
5540
  appendCommentToDocument(this, token);
5499
5541
  break;
5542
+ }
5500
5543
  // Do nothing
5501
5544
  }
5502
5545
  }
5503
5546
  onDoctype(token) {
5504
5547
  this.skipNextNewLine = false;
5505
5548
  switch (this.insertionMode) {
5506
- case InsertionMode.INITIAL:
5549
+ case InsertionMode.INITIAL: {
5507
5550
  doctypeInInitialMode(this, token);
5508
5551
  break;
5552
+ }
5509
5553
  case InsertionMode.BEFORE_HEAD:
5510
5554
  case InsertionMode.IN_HEAD:
5511
5555
  case InsertionMode.IN_HEAD_NO_SCRIPT:
5512
- case InsertionMode.AFTER_HEAD:
5556
+ case InsertionMode.AFTER_HEAD: {
5513
5557
  this._err(token, ERR.misplacedDoctype);
5514
5558
  break;
5515
- case InsertionMode.IN_TABLE_TEXT:
5559
+ }
5560
+ case InsertionMode.IN_TABLE_TEXT: {
5516
5561
  tokenInTableText(this, token);
5517
5562
  break;
5563
+ }
5518
5564
  // Do nothing
5519
5565
  }
5520
5566
  }
@@ -5546,72 +5592,94 @@ class Parser {
5546
5592
  }
5547
5593
  _startTagOutsideForeignContent(token) {
5548
5594
  switch (this.insertionMode) {
5549
- case InsertionMode.INITIAL:
5595
+ case InsertionMode.INITIAL: {
5550
5596
  tokenInInitialMode(this, token);
5551
5597
  break;
5552
- case InsertionMode.BEFORE_HTML:
5598
+ }
5599
+ case InsertionMode.BEFORE_HTML: {
5553
5600
  startTagBeforeHtml(this, token);
5554
5601
  break;
5555
- case InsertionMode.BEFORE_HEAD:
5602
+ }
5603
+ case InsertionMode.BEFORE_HEAD: {
5556
5604
  startTagBeforeHead(this, token);
5557
5605
  break;
5558
- case InsertionMode.IN_HEAD:
5606
+ }
5607
+ case InsertionMode.IN_HEAD: {
5559
5608
  startTagInHead(this, token);
5560
5609
  break;
5561
- case InsertionMode.IN_HEAD_NO_SCRIPT:
5610
+ }
5611
+ case InsertionMode.IN_HEAD_NO_SCRIPT: {
5562
5612
  startTagInHeadNoScript(this, token);
5563
5613
  break;
5564
- case InsertionMode.AFTER_HEAD:
5614
+ }
5615
+ case InsertionMode.AFTER_HEAD: {
5565
5616
  startTagAfterHead(this, token);
5566
5617
  break;
5567
- case InsertionMode.IN_BODY:
5618
+ }
5619
+ case InsertionMode.IN_BODY: {
5568
5620
  startTagInBody(this, token);
5569
5621
  break;
5570
- case InsertionMode.IN_TABLE:
5622
+ }
5623
+ case InsertionMode.IN_TABLE: {
5571
5624
  startTagInTable(this, token);
5572
5625
  break;
5573
- case InsertionMode.IN_TABLE_TEXT:
5626
+ }
5627
+ case InsertionMode.IN_TABLE_TEXT: {
5574
5628
  tokenInTableText(this, token);
5575
5629
  break;
5576
- case InsertionMode.IN_CAPTION:
5630
+ }
5631
+ case InsertionMode.IN_CAPTION: {
5577
5632
  startTagInCaption(this, token);
5578
5633
  break;
5579
- case InsertionMode.IN_COLUMN_GROUP:
5634
+ }
5635
+ case InsertionMode.IN_COLUMN_GROUP: {
5580
5636
  startTagInColumnGroup(this, token);
5581
5637
  break;
5582
- case InsertionMode.IN_TABLE_BODY:
5638
+ }
5639
+ case InsertionMode.IN_TABLE_BODY: {
5583
5640
  startTagInTableBody(this, token);
5584
5641
  break;
5585
- case InsertionMode.IN_ROW:
5642
+ }
5643
+ case InsertionMode.IN_ROW: {
5586
5644
  startTagInRow(this, token);
5587
5645
  break;
5588
- case InsertionMode.IN_CELL:
5646
+ }
5647
+ case InsertionMode.IN_CELL: {
5589
5648
  startTagInCell(this, token);
5590
5649
  break;
5591
- case InsertionMode.IN_SELECT:
5650
+ }
5651
+ case InsertionMode.IN_SELECT: {
5592
5652
  startTagInSelect(this, token);
5593
5653
  break;
5594
- case InsertionMode.IN_SELECT_IN_TABLE:
5654
+ }
5655
+ case InsertionMode.IN_SELECT_IN_TABLE: {
5595
5656
  startTagInSelectInTable(this, token);
5596
5657
  break;
5597
- case InsertionMode.IN_TEMPLATE:
5658
+ }
5659
+ case InsertionMode.IN_TEMPLATE: {
5598
5660
  startTagInTemplate(this, token);
5599
5661
  break;
5600
- case InsertionMode.AFTER_BODY:
5662
+ }
5663
+ case InsertionMode.AFTER_BODY: {
5601
5664
  startTagAfterBody(this, token);
5602
5665
  break;
5603
- case InsertionMode.IN_FRAMESET:
5666
+ }
5667
+ case InsertionMode.IN_FRAMESET: {
5604
5668
  startTagInFrameset(this, token);
5605
5669
  break;
5606
- case InsertionMode.AFTER_FRAMESET:
5670
+ }
5671
+ case InsertionMode.AFTER_FRAMESET: {
5607
5672
  startTagAfterFrameset(this, token);
5608
5673
  break;
5609
- case InsertionMode.AFTER_AFTER_BODY:
5674
+ }
5675
+ case InsertionMode.AFTER_AFTER_BODY: {
5610
5676
  startTagAfterAfterBody(this, token);
5611
5677
  break;
5612
- case InsertionMode.AFTER_AFTER_FRAMESET:
5678
+ }
5679
+ case InsertionMode.AFTER_AFTER_FRAMESET: {
5613
5680
  startTagAfterAfterFrameset(this, token);
5614
5681
  break;
5682
+ }
5615
5683
  // Do nothing
5616
5684
  }
5617
5685
  }
@@ -5627,95 +5695,123 @@ class Parser {
5627
5695
  }
5628
5696
  _endTagOutsideForeignContent(token) {
5629
5697
  switch (this.insertionMode) {
5630
- case InsertionMode.INITIAL:
5698
+ case InsertionMode.INITIAL: {
5631
5699
  tokenInInitialMode(this, token);
5632
5700
  break;
5633
- case InsertionMode.BEFORE_HTML:
5701
+ }
5702
+ case InsertionMode.BEFORE_HTML: {
5634
5703
  endTagBeforeHtml(this, token);
5635
5704
  break;
5636
- case InsertionMode.BEFORE_HEAD:
5705
+ }
5706
+ case InsertionMode.BEFORE_HEAD: {
5637
5707
  endTagBeforeHead(this, token);
5638
5708
  break;
5639
- case InsertionMode.IN_HEAD:
5709
+ }
5710
+ case InsertionMode.IN_HEAD: {
5640
5711
  endTagInHead(this, token);
5641
5712
  break;
5642
- case InsertionMode.IN_HEAD_NO_SCRIPT:
5713
+ }
5714
+ case InsertionMode.IN_HEAD_NO_SCRIPT: {
5643
5715
  endTagInHeadNoScript(this, token);
5644
5716
  break;
5645
- case InsertionMode.AFTER_HEAD:
5717
+ }
5718
+ case InsertionMode.AFTER_HEAD: {
5646
5719
  endTagAfterHead(this, token);
5647
5720
  break;
5648
- case InsertionMode.IN_BODY:
5721
+ }
5722
+ case InsertionMode.IN_BODY: {
5649
5723
  endTagInBody(this, token);
5650
5724
  break;
5651
- case InsertionMode.TEXT:
5725
+ }
5726
+ case InsertionMode.TEXT: {
5652
5727
  endTagInText(this, token);
5653
5728
  break;
5654
- case InsertionMode.IN_TABLE:
5729
+ }
5730
+ case InsertionMode.IN_TABLE: {
5655
5731
  endTagInTable(this, token);
5656
5732
  break;
5657
- case InsertionMode.IN_TABLE_TEXT:
5733
+ }
5734
+ case InsertionMode.IN_TABLE_TEXT: {
5658
5735
  tokenInTableText(this, token);
5659
5736
  break;
5660
- case InsertionMode.IN_CAPTION:
5737
+ }
5738
+ case InsertionMode.IN_CAPTION: {
5661
5739
  endTagInCaption(this, token);
5662
5740
  break;
5663
- case InsertionMode.IN_COLUMN_GROUP:
5741
+ }
5742
+ case InsertionMode.IN_COLUMN_GROUP: {
5664
5743
  endTagInColumnGroup(this, token);
5665
5744
  break;
5666
- case InsertionMode.IN_TABLE_BODY:
5745
+ }
5746
+ case InsertionMode.IN_TABLE_BODY: {
5667
5747
  endTagInTableBody(this, token);
5668
5748
  break;
5669
- case InsertionMode.IN_ROW:
5749
+ }
5750
+ case InsertionMode.IN_ROW: {
5670
5751
  endTagInRow(this, token);
5671
5752
  break;
5672
- case InsertionMode.IN_CELL:
5753
+ }
5754
+ case InsertionMode.IN_CELL: {
5673
5755
  endTagInCell(this, token);
5674
5756
  break;
5675
- case InsertionMode.IN_SELECT:
5757
+ }
5758
+ case InsertionMode.IN_SELECT: {
5676
5759
  endTagInSelect(this, token);
5677
5760
  break;
5678
- case InsertionMode.IN_SELECT_IN_TABLE:
5761
+ }
5762
+ case InsertionMode.IN_SELECT_IN_TABLE: {
5679
5763
  endTagInSelectInTable(this, token);
5680
5764
  break;
5681
- case InsertionMode.IN_TEMPLATE:
5765
+ }
5766
+ case InsertionMode.IN_TEMPLATE: {
5682
5767
  endTagInTemplate(this, token);
5683
5768
  break;
5684
- case InsertionMode.AFTER_BODY:
5769
+ }
5770
+ case InsertionMode.AFTER_BODY: {
5685
5771
  endTagAfterBody(this, token);
5686
5772
  break;
5687
- case InsertionMode.IN_FRAMESET:
5773
+ }
5774
+ case InsertionMode.IN_FRAMESET: {
5688
5775
  endTagInFrameset(this, token);
5689
5776
  break;
5690
- case InsertionMode.AFTER_FRAMESET:
5777
+ }
5778
+ case InsertionMode.AFTER_FRAMESET: {
5691
5779
  endTagAfterFrameset(this, token);
5692
5780
  break;
5693
- case InsertionMode.AFTER_AFTER_BODY:
5781
+ }
5782
+ case InsertionMode.AFTER_AFTER_BODY: {
5694
5783
  tokenAfterAfterBody(this, token);
5695
5784
  break;
5785
+ }
5696
5786
  // Do nothing
5697
5787
  }
5698
5788
  }
5699
5789
  onEof(token) {
5700
5790
  switch (this.insertionMode) {
5701
- case InsertionMode.INITIAL:
5791
+ case InsertionMode.INITIAL: {
5702
5792
  tokenInInitialMode(this, token);
5703
5793
  break;
5704
- case InsertionMode.BEFORE_HTML:
5794
+ }
5795
+ case InsertionMode.BEFORE_HTML: {
5705
5796
  tokenBeforeHtml(this, token);
5706
5797
  break;
5707
- case InsertionMode.BEFORE_HEAD:
5798
+ }
5799
+ case InsertionMode.BEFORE_HEAD: {
5708
5800
  tokenBeforeHead(this, token);
5709
5801
  break;
5710
- case InsertionMode.IN_HEAD:
5802
+ }
5803
+ case InsertionMode.IN_HEAD: {
5711
5804
  tokenInHead(this, token);
5712
5805
  break;
5713
- case InsertionMode.IN_HEAD_NO_SCRIPT:
5806
+ }
5807
+ case InsertionMode.IN_HEAD_NO_SCRIPT: {
5714
5808
  tokenInHeadNoScript(this, token);
5715
5809
  break;
5716
- case InsertionMode.AFTER_HEAD:
5810
+ }
5811
+ case InsertionMode.AFTER_HEAD: {
5717
5812
  tokenAfterHead(this, token);
5718
5813
  break;
5814
+ }
5719
5815
  case InsertionMode.IN_BODY:
5720
5816
  case InsertionMode.IN_TABLE:
5721
5817
  case InsertionMode.IN_CAPTION:
@@ -5724,25 +5820,30 @@ class Parser {
5724
5820
  case InsertionMode.IN_ROW:
5725
5821
  case InsertionMode.IN_CELL:
5726
5822
  case InsertionMode.IN_SELECT:
5727
- case InsertionMode.IN_SELECT_IN_TABLE:
5823
+ case InsertionMode.IN_SELECT_IN_TABLE: {
5728
5824
  eofInBody(this, token);
5729
5825
  break;
5730
- case InsertionMode.TEXT:
5826
+ }
5827
+ case InsertionMode.TEXT: {
5731
5828
  eofInText(this, token);
5732
5829
  break;
5733
- case InsertionMode.IN_TABLE_TEXT:
5830
+ }
5831
+ case InsertionMode.IN_TABLE_TEXT: {
5734
5832
  tokenInTableText(this, token);
5735
5833
  break;
5736
- case InsertionMode.IN_TEMPLATE:
5834
+ }
5835
+ case InsertionMode.IN_TEMPLATE: {
5737
5836
  eofInTemplate(this, token);
5738
5837
  break;
5838
+ }
5739
5839
  case InsertionMode.AFTER_BODY:
5740
5840
  case InsertionMode.IN_FRAMESET:
5741
5841
  case InsertionMode.AFTER_FRAMESET:
5742
5842
  case InsertionMode.AFTER_AFTER_BODY:
5743
- case InsertionMode.AFTER_AFTER_FRAMESET:
5843
+ case InsertionMode.AFTER_AFTER_FRAMESET: {
5744
5844
  stopParsing(this, token);
5745
5845
  break;
5846
+ }
5746
5847
  // Do nothing
5747
5848
  }
5748
5849
  }
@@ -5769,26 +5870,30 @@ class Parser {
5769
5870
  case InsertionMode.IN_SELECT:
5770
5871
  case InsertionMode.IN_SELECT_IN_TABLE:
5771
5872
  case InsertionMode.IN_FRAMESET:
5772
- case InsertionMode.AFTER_FRAMESET:
5873
+ case InsertionMode.AFTER_FRAMESET: {
5773
5874
  this._insertCharacters(token);
5774
5875
  break;
5876
+ }
5775
5877
  case InsertionMode.IN_BODY:
5776
5878
  case InsertionMode.IN_CAPTION:
5777
5879
  case InsertionMode.IN_CELL:
5778
5880
  case InsertionMode.IN_TEMPLATE:
5779
5881
  case InsertionMode.AFTER_BODY:
5780
5882
  case InsertionMode.AFTER_AFTER_BODY:
5781
- case InsertionMode.AFTER_AFTER_FRAMESET:
5883
+ case InsertionMode.AFTER_AFTER_FRAMESET: {
5782
5884
  whitespaceCharacterInBody(this, token);
5783
5885
  break;
5886
+ }
5784
5887
  case InsertionMode.IN_TABLE:
5785
5888
  case InsertionMode.IN_TABLE_BODY:
5786
- case InsertionMode.IN_ROW:
5889
+ case InsertionMode.IN_ROW: {
5787
5890
  characterInTable(this, token);
5788
5891
  break;
5789
- case InsertionMode.IN_TABLE_TEXT:
5892
+ }
5893
+ case InsertionMode.IN_TABLE_TEXT: {
5790
5894
  whitespaceCharacterInTableText(this, token);
5791
5895
  break;
5896
+ }
5792
5897
  // Do nothing
5793
5898
  }
5794
5899
  }
@@ -7416,8 +7521,9 @@ function endTagInRow(p, token) {
7416
7521
  // Ignore end tag
7417
7522
  break;
7418
7523
  }
7419
- default:
7524
+ default: {
7420
7525
  endTagInTable(p, token);
7526
+ }
7421
7527
  }
7422
7528
  }
7423
7529
  // The "in cell" insertion mode
@@ -7604,39 +7710,45 @@ function startTagInTemplate(p, token) {
7604
7710
  case TAG_ID.SCRIPT:
7605
7711
  case TAG_ID.STYLE:
7606
7712
  case TAG_ID.TEMPLATE:
7607
- case TAG_ID.TITLE:
7713
+ case TAG_ID.TITLE: {
7608
7714
  startTagInHead(p, token);
7609
7715
  break;
7716
+ }
7610
7717
  // Re-process the token in the appropriate mode
7611
7718
  case TAG_ID.CAPTION:
7612
7719
  case TAG_ID.COLGROUP:
7613
7720
  case TAG_ID.TBODY:
7614
7721
  case TAG_ID.TFOOT:
7615
- case TAG_ID.THEAD:
7722
+ case TAG_ID.THEAD: {
7616
7723
  p.tmplInsertionModeStack[0] = InsertionMode.IN_TABLE;
7617
7724
  p.insertionMode = InsertionMode.IN_TABLE;
7618
7725
  startTagInTable(p, token);
7619
7726
  break;
7620
- case TAG_ID.COL:
7727
+ }
7728
+ case TAG_ID.COL: {
7621
7729
  p.tmplInsertionModeStack[0] = InsertionMode.IN_COLUMN_GROUP;
7622
7730
  p.insertionMode = InsertionMode.IN_COLUMN_GROUP;
7623
7731
  startTagInColumnGroup(p, token);
7624
7732
  break;
7625
- case TAG_ID.TR:
7733
+ }
7734
+ case TAG_ID.TR: {
7626
7735
  p.tmplInsertionModeStack[0] = InsertionMode.IN_TABLE_BODY;
7627
7736
  p.insertionMode = InsertionMode.IN_TABLE_BODY;
7628
7737
  startTagInTableBody(p, token);
7629
7738
  break;
7739
+ }
7630
7740
  case TAG_ID.TD:
7631
- case TAG_ID.TH:
7741
+ case TAG_ID.TH: {
7632
7742
  p.tmplInsertionModeStack[0] = InsertionMode.IN_ROW;
7633
7743
  p.insertionMode = InsertionMode.IN_ROW;
7634
7744
  startTagInRow(p, token);
7635
7745
  break;
7636
- default:
7746
+ }
7747
+ default: {
7637
7748
  p.tmplInsertionModeStack[0] = InsertionMode.IN_BODY;
7638
7749
  p.insertionMode = InsertionMode.IN_BODY;
7639
7750
  startTagInBody(p, token);
7751
+ }
7640
7752
  }
7641
7753
  }
7642
7754
  function endTagInTemplate(p, token) {
@@ -8073,4 +8185,4 @@ function parseFragment(fragmentContext, html, options) {
8073
8185
  return parser.getFragment();
8074
8186
  }
8075
8187
 
8076
- export { Parser, token as Token, Tokenizer, TokenizerMode, defaultTreeAdapter, foreignContent, html, parse, parseFragment, serialize, serializeOuter };
8188
+ export { ERR as ErrorCodes, Parser, token as Token, Tokenizer, TokenizerMode, defaultTreeAdapter, foreignContent, html, parse, parseFragment, serialize, serializeOuter };