@herb-tools/printer 0.8.10 → 0.9.1

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.
Files changed (46) hide show
  1. package/dist/cli.js.map +1 -0
  2. package/dist/{src/erb-to-ruby-string-printer.js → erb-to-ruby-string-printer.js} +20 -22
  3. package/dist/erb-to-ruby-string-printer.js.map +1 -0
  4. package/dist/herb-print.js +55369 -15024
  5. package/dist/herb-print.js.map +1 -1
  6. package/dist/{src/identity-printer.js → identity-printer.js} +39 -0
  7. package/dist/identity-printer.js.map +1 -0
  8. package/dist/indent-printer.js +256 -0
  9. package/dist/indent-printer.js.map +1 -0
  10. package/dist/index.cjs +315 -22
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.js +316 -24
  13. package/dist/index.js.map +1 -1
  14. package/dist/print-context.js.map +1 -0
  15. package/dist/{src/printer.js → printer.js} +3 -1
  16. package/dist/printer.js.map +1 -0
  17. package/dist/types/identity-printer.d.ts +8 -0
  18. package/dist/types/indent-printer.d.ts +41 -0
  19. package/dist/types/index.d.ts +1 -0
  20. package/dist/types/printer.d.ts +1 -1
  21. package/package.json +2 -2
  22. package/src/erb-to-ruby-string-printer.ts +25 -27
  23. package/src/identity-printer.ts +52 -0
  24. package/src/indent-printer.ts +313 -0
  25. package/src/index.ts +1 -0
  26. package/src/printer.ts +6 -6
  27. package/dist/package.json +0 -50
  28. package/dist/src/cli.js.map +0 -1
  29. package/dist/src/erb-to-ruby-string-printer.js.map +0 -1
  30. package/dist/src/herb-print.js +0 -5
  31. package/dist/src/herb-print.js.map +0 -1
  32. package/dist/src/identity-printer.js.map +0 -1
  33. package/dist/src/index.js +0 -5
  34. package/dist/src/index.js.map +0 -1
  35. package/dist/src/print-context.js.map +0 -1
  36. package/dist/src/printer.js.map +0 -1
  37. package/dist/tsconfig.tsbuildinfo +0 -1
  38. package/dist/types/src/cli.d.ts +0 -6
  39. package/dist/types/src/erb-to-ruby-string-printer.d.ts +0 -42
  40. package/dist/types/src/herb-print.d.ts +0 -2
  41. package/dist/types/src/identity-printer.d.ts +0 -48
  42. package/dist/types/src/index.d.ts +0 -5
  43. package/dist/types/src/print-context.d.ts +0 -54
  44. package/dist/types/src/printer.d.ts +0 -39
  45. /package/dist/{src/cli.js → cli.js} +0 -0
  46. /package/dist/{src/print-context.js → print-context.js} +0 -0
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Visitor, isToken, isParseResult, getNodesBeforePosition, getNodesAfterPosition, filterNodes, ERBContentNode, isERBOutputNode } from '@herb-tools/core';
1
+ import { Visitor, isToken, isParseResult, getNodesBeforePosition, getNodesAfterPosition, filterNodes, ERBContentNode, isERBOutputNode, isERBIfNode, isERBUnlessNode, isERBElseNode, isHTMLTextNode } from '@herb-tools/core';
2
2
 
3
3
  class PrintContext {
4
4
  output = "";
@@ -140,7 +140,9 @@ class Printer extends Visitor {
140
140
  return this.context.getOutput();
141
141
  }
142
142
  write(content) {
143
- this.context.write(content);
143
+ if (content !== null && content !== undefined) {
144
+ this.context.write(content);
145
+ }
144
146
  }
145
147
  }
146
148
 
@@ -200,6 +202,12 @@ class IdentityPrinter extends Printer {
200
202
  this.write(node.tag_closing.value);
201
203
  }
202
204
  }
205
+ visitHTMLVirtualCloseTagNode(_node) {
206
+ // Virtual closing tags don't print anything (they are synthetic)
207
+ }
208
+ visitHTMLOmittedCloseTagNode(_node) {
209
+ // Omitted closing tags don't print anything
210
+ }
203
211
  visitHTMLElementNode(node) {
204
212
  const tagName = node.tag_name?.value;
205
213
  if (tagName) {
@@ -218,6 +226,24 @@ class IdentityPrinter extends Printer {
218
226
  this.context.exitTag();
219
227
  }
220
228
  }
229
+ visitHTMLConditionalElementNode(node) {
230
+ const tagName = node.tag_name?.value;
231
+ if (tagName) {
232
+ this.context.enterTag(tagName);
233
+ }
234
+ if (node.open_conditional) {
235
+ this.visit(node.open_conditional);
236
+ }
237
+ if (node.body) {
238
+ node.body.forEach(child => this.visit(child));
239
+ }
240
+ if (node.close_conditional) {
241
+ this.visit(node.close_conditional);
242
+ }
243
+ if (tagName) {
244
+ this.context.exitTag();
245
+ }
246
+ }
221
247
  visitHTMLAttributeNode(node) {
222
248
  if (node.name) {
223
249
  this.visit(node.name);
@@ -241,6 +267,12 @@ class IdentityPrinter extends Printer {
241
267
  this.write(node.close_quote.value);
242
268
  }
243
269
  }
270
+ visitRubyLiteralNode(node) {
271
+ this.write(node.content);
272
+ }
273
+ visitRubyHTMLAttributesSplatNode(node) {
274
+ this.write(node.content);
275
+ }
244
276
  visitHTMLCommentNode(node) {
245
277
  if (node.comment_start) {
246
278
  this.write(node.comment_start.value);
@@ -277,6 +309,9 @@ class IdentityPrinter extends Printer {
277
309
  this.write(node.tag_closing.value);
278
310
  }
279
311
  }
312
+ visitERBOpenTagNode(node) {
313
+ this.printERBNode(node);
314
+ }
280
315
  visitERBContentNode(node) {
281
316
  this.printERBNode(node);
282
317
  }
@@ -403,6 +438,12 @@ class IdentityPrinter extends Printer {
403
438
  this.visit(node.end_node);
404
439
  }
405
440
  }
441
+ visitERBRenderNode(node) {
442
+ this.printERBNode(node);
443
+ }
444
+ visitRubyRenderLocalNode(_node) {
445
+ // extracted metadata, nothing to print
446
+ }
406
447
  visitERBYieldNode(node) {
407
448
  this.printERBNode(node);
408
449
  }
@@ -443,6 +484,259 @@ class IdentityPrinter extends Printer {
443
484
  }
444
485
  }
445
486
 
487
+ /**
488
+ * IndentPrinter - Re-indentation printer that preserves content but adjusts indentation
489
+ *
490
+ * Extends IdentityPrinter to preserve all content as-is while replacing
491
+ * leading whitespace on each line with the correct indentation based on
492
+ * the AST nesting depth.
493
+ */
494
+ class IndentPrinter extends IdentityPrinter {
495
+ indentLevel = 0;
496
+ indentWidth;
497
+ pendingIndent = false;
498
+ constructor(indentWidth = 2) {
499
+ super();
500
+ this.indentWidth = indentWidth;
501
+ }
502
+ get indent() {
503
+ return " ".repeat(this.indentLevel * this.indentWidth);
504
+ }
505
+ write(content) {
506
+ if (this.pendingIndent && content.length > 0) {
507
+ this.pendingIndent = false;
508
+ this.context.write(this.indent + content);
509
+ }
510
+ else {
511
+ this.context.write(content);
512
+ }
513
+ }
514
+ visitLiteralNode(node) {
515
+ this.writeWithIndent(node.content);
516
+ }
517
+ visitHTMLTextNode(node) {
518
+ this.writeWithIndent(node.content);
519
+ }
520
+ visitHTMLElementNode(node) {
521
+ const tagName = node.tag_name?.value;
522
+ if (tagName) {
523
+ this.context.enterTag(tagName);
524
+ }
525
+ if (node.open_tag) {
526
+ this.visit(node.open_tag);
527
+ }
528
+ if (node.body) {
529
+ this.indentLevel++;
530
+ node.body.forEach(child => this.visit(child));
531
+ this.indentLevel--;
532
+ }
533
+ if (node.close_tag) {
534
+ this.visit(node.close_tag);
535
+ }
536
+ if (tagName) {
537
+ this.context.exitTag();
538
+ }
539
+ }
540
+ visitERBIfNode(node) {
541
+ this.printERBNode(node);
542
+ if (node.statements) {
543
+ this.indentLevel++;
544
+ node.statements.forEach(statement => this.visit(statement));
545
+ this.indentLevel--;
546
+ }
547
+ if (node.subsequent) {
548
+ this.visit(node.subsequent);
549
+ }
550
+ if (node.end_node) {
551
+ this.visit(node.end_node);
552
+ }
553
+ }
554
+ visitERBElseNode(node) {
555
+ this.printERBNode(node);
556
+ if (node.statements) {
557
+ this.indentLevel++;
558
+ node.statements.forEach(statement => this.visit(statement));
559
+ this.indentLevel--;
560
+ }
561
+ }
562
+ visitERBBlockNode(node) {
563
+ this.printERBNode(node);
564
+ if (node.body) {
565
+ this.indentLevel++;
566
+ node.body.forEach(child => this.visit(child));
567
+ this.indentLevel--;
568
+ }
569
+ if (node.end_node) {
570
+ this.visit(node.end_node);
571
+ }
572
+ }
573
+ visitERBCaseNode(node) {
574
+ this.printERBNode(node);
575
+ if (node.children) {
576
+ this.indentLevel++;
577
+ node.children.forEach(child => this.visit(child));
578
+ this.indentLevel--;
579
+ }
580
+ if (node.conditions) {
581
+ this.indentLevel++;
582
+ node.conditions.forEach(condition => this.visit(condition));
583
+ this.indentLevel--;
584
+ }
585
+ if (node.else_clause) {
586
+ this.indentLevel++;
587
+ this.visit(node.else_clause);
588
+ this.indentLevel--;
589
+ }
590
+ if (node.end_node) {
591
+ this.visit(node.end_node);
592
+ }
593
+ }
594
+ visitERBWhenNode(node) {
595
+ this.printERBNode(node);
596
+ if (node.statements) {
597
+ this.indentLevel++;
598
+ node.statements.forEach(statement => this.visit(statement));
599
+ this.indentLevel--;
600
+ }
601
+ }
602
+ visitERBWhileNode(node) {
603
+ this.printERBNode(node);
604
+ if (node.statements) {
605
+ this.indentLevel++;
606
+ node.statements.forEach(statement => this.visit(statement));
607
+ this.indentLevel--;
608
+ }
609
+ if (node.end_node) {
610
+ this.visit(node.end_node);
611
+ }
612
+ }
613
+ visitERBUntilNode(node) {
614
+ this.printERBNode(node);
615
+ if (node.statements) {
616
+ this.indentLevel++;
617
+ node.statements.forEach(statement => this.visit(statement));
618
+ this.indentLevel--;
619
+ }
620
+ if (node.end_node) {
621
+ this.visit(node.end_node);
622
+ }
623
+ }
624
+ visitERBForNode(node) {
625
+ this.printERBNode(node);
626
+ if (node.statements) {
627
+ this.indentLevel++;
628
+ node.statements.forEach(statement => this.visit(statement));
629
+ this.indentLevel--;
630
+ }
631
+ if (node.end_node) {
632
+ this.visit(node.end_node);
633
+ }
634
+ }
635
+ visitERBBeginNode(node) {
636
+ this.printERBNode(node);
637
+ if (node.statements) {
638
+ this.indentLevel++;
639
+ node.statements.forEach(statement => this.visit(statement));
640
+ this.indentLevel--;
641
+ }
642
+ if (node.rescue_clause) {
643
+ this.visit(node.rescue_clause);
644
+ }
645
+ if (node.else_clause) {
646
+ this.visit(node.else_clause);
647
+ }
648
+ if (node.ensure_clause) {
649
+ this.visit(node.ensure_clause);
650
+ }
651
+ if (node.end_node) {
652
+ this.visit(node.end_node);
653
+ }
654
+ }
655
+ visitERBRescueNode(node) {
656
+ this.printERBNode(node);
657
+ if (node.statements) {
658
+ this.indentLevel++;
659
+ node.statements.forEach(statement => this.visit(statement));
660
+ this.indentLevel--;
661
+ }
662
+ if (node.subsequent) {
663
+ this.visit(node.subsequent);
664
+ }
665
+ }
666
+ visitERBEnsureNode(node) {
667
+ this.printERBNode(node);
668
+ if (node.statements) {
669
+ this.indentLevel++;
670
+ node.statements.forEach(statement => this.visit(statement));
671
+ this.indentLevel--;
672
+ }
673
+ }
674
+ visitERBUnlessNode(node) {
675
+ this.printERBNode(node);
676
+ if (node.statements) {
677
+ this.indentLevel++;
678
+ node.statements.forEach(statement => this.visit(statement));
679
+ this.indentLevel--;
680
+ }
681
+ if (node.else_clause) {
682
+ this.visit(node.else_clause);
683
+ }
684
+ if (node.end_node) {
685
+ this.visit(node.end_node);
686
+ }
687
+ }
688
+ /**
689
+ * Write content, replacing leading whitespace on each line with the current indent.
690
+ *
691
+ * Uses a pendingIndent mechanism: when content ends with a newline followed by
692
+ * whitespace-only, sets pendingIndent=true instead of writing the indent immediately.
693
+ * The indent is then applied at the correct level when the next node writes content
694
+ * (via the overridden write() method).
695
+ */
696
+ writeWithIndent(content) {
697
+ if (!content.includes("\n")) {
698
+ if (this.pendingIndent) {
699
+ this.pendingIndent = false;
700
+ const trimmed = content.replace(/^[ \t]+/, "");
701
+ if (trimmed.length > 0) {
702
+ this.context.write(this.indent + trimmed);
703
+ }
704
+ }
705
+ else {
706
+ this.context.write(content);
707
+ }
708
+ return;
709
+ }
710
+ const lines = content.split("\n");
711
+ const lastIndex = lines.length - 1;
712
+ for (let i = 0; i < lines.length; i++) {
713
+ if (i > 0) {
714
+ this.context.write("\n");
715
+ }
716
+ const line = lines[i];
717
+ const trimmed = line.replace(/^[ \t]+/, "");
718
+ if (i === 0) {
719
+ if (this.pendingIndent) {
720
+ this.pendingIndent = false;
721
+ if (trimmed.length > 0) {
722
+ this.context.write(this.indent + trimmed);
723
+ }
724
+ }
725
+ else {
726
+ this.context.write(line);
727
+ }
728
+ }
729
+ else if (i === lastIndex && trimmed.length === 0) {
730
+ this.pendingIndent = true;
731
+ }
732
+ else if (trimmed.length === 0) ;
733
+ else {
734
+ this.context.write(this.indent + trimmed);
735
+ }
736
+ }
737
+ }
738
+ }
739
+
446
740
  const DEFAULT_ERB_TO_RUBY_STRING_OPTIONS = {
447
741
  ...DEFAULT_PRINT_OPTIONS,
448
742
  forceQuotes: false
@@ -464,7 +758,6 @@ const DEFAULT_ERB_TO_RUBY_STRING_OPTIONS = {
464
758
  * - `<% if logged_in? %>Welcome<% else %>Login<% end %>!` => `"#{logged_in? ? "Welcome" : "Login"}!"`
465
759
  */
466
760
  class ERBToRubyStringPrinter extends IdentityPrinter {
467
- // TODO: cleanup `.type === "AST_*" checks`
468
761
  static print(node, options = DEFAULT_ERB_TO_RUBY_STRING_OPTIONS) {
469
762
  const erbNodes = filterNodes([node], ERBContentNode);
470
763
  if (erbNodes.length === 1 && isERBOutputNode(erbNodes[0]) && !options.forceQuotes) {
@@ -476,19 +769,18 @@ class ERBToRubyStringPrinter extends IdentityPrinter {
476
769
  if (hasOnlyERBContent && childErbNodes.length === 1 && isERBOutputNode(childErbNodes[0]) && !options.forceQuotes) {
477
770
  return (childErbNodes[0].content?.value || "").trim();
478
771
  }
479
- if (node.children.length === 1 && node.children[0].type === "AST_ERB_IF_NODE" && !options.forceQuotes) {
480
- const ifNode = node.children[0];
772
+ const firstChild = node.children[0];
773
+ if (node.children.length === 1 && isERBIfNode(firstChild) && !options.forceQuotes) {
481
774
  const printer = new ERBToRubyStringPrinter();
482
- if (printer.canConvertToTernary(ifNode)) {
483
- printer.convertToTernaryWithoutWrapper(ifNode);
775
+ if (printer.canConvertToTernary(firstChild)) {
776
+ printer.convertToTernaryWithoutWrapper(firstChild);
484
777
  return printer.context.getOutput();
485
778
  }
486
779
  }
487
- if (node.children.length === 1 && node.children[0].type === "AST_ERB_UNLESS_NODE" && !options.forceQuotes) {
488
- const unlessNode = node.children[0];
780
+ if (node.children.length === 1 && isERBUnlessNode(firstChild) && !options.forceQuotes) {
489
781
  const printer = new ERBToRubyStringPrinter();
490
- if (printer.canConvertUnlessToTernary(unlessNode)) {
491
- printer.convertUnlessToTernaryWithoutWrapper(unlessNode);
782
+ if (printer.canConvertUnlessToTernary(firstChild)) {
783
+ printer.convertUnlessToTernaryWithoutWrapper(firstChild);
492
784
  return printer.context.getOutput();
493
785
  }
494
786
  }
@@ -528,15 +820,15 @@ class ERBToRubyStringPrinter extends IdentityPrinter {
528
820
  this.visitChildNodes(node);
529
821
  }
530
822
  canConvertToTernary(node) {
531
- if (node.subsequent && node.subsequent.type !== "AST_ERB_ELSE_NODE") {
823
+ if (node.subsequent && !isERBElseNode(node.subsequent)) {
532
824
  return false;
533
825
  }
534
- const ifOnlyText = node.statements ? node.statements.every(statement => statement.type === "AST_HTML_TEXT_NODE") : true;
826
+ const ifOnlyText = node.statements ? node.statements.every(isHTMLTextNode) : true;
535
827
  if (!ifOnlyText)
536
828
  return false;
537
- if (node.subsequent && node.subsequent.type === "AST_ERB_ELSE_NODE") {
829
+ if (isERBElseNode(node.subsequent)) {
538
830
  return node.subsequent.statements
539
- ? node.subsequent.statements.every(statement => statement.type === "AST_HTML_TEXT_NODE")
831
+ ? node.subsequent.statements.every(isHTMLTextNode)
540
832
  : true;
541
833
  }
542
834
  return true;
@@ -563,14 +855,14 @@ class ERBToRubyStringPrinter extends IdentityPrinter {
563
855
  this.context.write('"');
564
856
  this.context.write(" : ");
565
857
  this.context.write('"');
566
- if (node.subsequent && node.subsequent.type === "AST_ERB_ELSE_NODE" && node.subsequent.statements) {
858
+ if (isERBElseNode(node.subsequent) && node.subsequent.statements) {
567
859
  node.subsequent.statements.forEach(statement => this.visit(statement));
568
860
  }
569
861
  this.context.write('"');
570
862
  this.context.write("}");
571
863
  }
572
864
  convertToTernaryWithoutWrapper(node) {
573
- if (node.subsequent && node.subsequent.type !== "AST_ERB_ELSE_NODE") {
865
+ if (node.subsequent && !isERBElseNode(node.subsequent)) {
574
866
  return false;
575
867
  }
576
868
  if (node.content?.value) {
@@ -593,18 +885,18 @@ class ERBToRubyStringPrinter extends IdentityPrinter {
593
885
  this.context.write('"');
594
886
  this.context.write(" : ");
595
887
  this.context.write('"');
596
- if (node.subsequent && node.subsequent.type === "AST_ERB_ELSE_NODE" && node.subsequent.statements) {
888
+ if (isERBElseNode(node.subsequent) && node.subsequent.statements) {
597
889
  node.subsequent.statements.forEach(statement => this.visit(statement));
598
890
  }
599
891
  this.context.write('"');
600
892
  }
601
893
  canConvertUnlessToTernary(node) {
602
- const unlessOnlyText = node.statements ? node.statements.every(statement => statement.type === "AST_HTML_TEXT_NODE") : true;
894
+ const unlessOnlyText = node.statements ? node.statements.every(isHTMLTextNode) : true;
603
895
  if (!unlessOnlyText)
604
896
  return false;
605
- if (node.else_clause && node.else_clause.type === "AST_ERB_ELSE_NODE") {
897
+ if (isERBElseNode(node.else_clause)) {
606
898
  return node.else_clause.statements
607
- ? node.else_clause.statements.every(statement => statement.type === "AST_HTML_TEXT_NODE")
899
+ ? node.else_clause.statements.every(isHTMLTextNode)
608
900
  : true;
609
901
  }
610
902
  return true;
@@ -633,7 +925,7 @@ class ERBToRubyStringPrinter extends IdentityPrinter {
633
925
  this.context.write('"');
634
926
  this.context.write(" : ");
635
927
  this.context.write('"');
636
- if (node.else_clause && node.else_clause.type === "AST_ERB_ELSE_NODE") {
928
+ if (isERBElseNode(node.else_clause)) {
637
929
  node.else_clause.statements.forEach(statement => this.visit(statement));
638
930
  }
639
931
  this.context.write('"');
@@ -662,12 +954,12 @@ class ERBToRubyStringPrinter extends IdentityPrinter {
662
954
  this.context.write('"');
663
955
  this.context.write(" : ");
664
956
  this.context.write('"');
665
- if (node.else_clause && node.else_clause.type === "AST_ERB_ELSE_NODE") {
957
+ if (isERBElseNode(node.else_clause)) {
666
958
  node.else_clause.statements.forEach(statement => this.visit(statement));
667
959
  }
668
960
  this.context.write('"');
669
961
  }
670
962
  }
671
963
 
672
- export { DEFAULT_PRINT_OPTIONS, ERBToRubyStringPrinter, IdentityPrinter, PrintContext, Printer };
964
+ export { DEFAULT_PRINT_OPTIONS, ERBToRubyStringPrinter, IdentityPrinter, IndentPrinter, PrintContext, Printer };
673
965
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/print-context.ts","../src/printer.ts","../src/identity-printer.ts","../src/erb-to-ruby-string-printer.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/print-context.ts","../src/printer.ts","../src/identity-printer.ts","../src/indent-printer.ts","../src/erb-to-ruby-string-printer.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print-context.js","sourceRoot":"","sources":["../src/print-context.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IACf,MAAM,GAAW,EAAE,CAAA;IACnB,WAAW,GAAW,CAAC,CAAA;IACvB,aAAa,GAAW,CAAC,CAAA;IACzB,aAAa,GAAa,EAAE,CAAA;IAEpC;;OAEG;IACH,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAA;QACnB,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAA;IACnC,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,IAAY;QAClC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAA;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAA;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,EAAE,CAAA;QACpB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAe;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;IAChD,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,KAAK,CAAC,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QACpB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;IACzB,CAAC;CACF"}
@@ -48,7 +48,9 @@ export class Printer extends Visitor {
48
48
  return this.context.getOutput();
49
49
  }
50
50
  write(content) {
51
- this.context.write(content);
51
+ if (content !== null && content !== undefined) {
52
+ this.context.write(content);
53
+ }
52
54
  }
53
55
  }
54
56
  //# sourceMappingURL=printer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printer.js","sourceRoot":"","sources":["../src/printer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAsB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAcjD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,YAAY,EAAE,KAAK;CACpB,CAAA;AAED,MAAM,OAAgB,OAAQ,SAAQ,OAAO;IACjC,OAAO,GAAiB,IAAI,YAAY,EAAE,CAAA;IAEpD;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,KAA6D,EAAE,UAAwB,qBAAqB;QACvH,MAAM,OAAO,GAAG,IAAK,IAAY,EAAE,CAAA;QAEnC,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAA6D,EAAE,UAAwB,qBAAqB;QAChH,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QAErB,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,KAAK,CAAA;QACpB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;YACpB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YACvC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAA;QACjC,CAAC;QAED,MAAM,IAAI,GAAS,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;QAE7D,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,IAAI,mJAAmJ,CAAC,CAAA;QACzM,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAEpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEhB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAA;IACjC,CAAC;IAES,KAAK,CAAC,OAAkC;QAChD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;CACF"}
@@ -16,14 +16,20 @@ export declare class IdentityPrinter extends Printer {
16
16
  visitWhitespaceNode(node: Nodes.WhitespaceNode): void;
17
17
  visitHTMLOpenTagNode(node: Nodes.HTMLOpenTagNode): void;
18
18
  visitHTMLCloseTagNode(node: Nodes.HTMLCloseTagNode): void;
19
+ visitHTMLVirtualCloseTagNode(_node: Nodes.HTMLVirtualCloseTagNode): void;
20
+ visitHTMLOmittedCloseTagNode(_node: Nodes.HTMLOmittedCloseTagNode): void;
19
21
  visitHTMLElementNode(node: Nodes.HTMLElementNode): void;
22
+ visitHTMLConditionalElementNode(node: Nodes.HTMLConditionalElementNode): void;
20
23
  visitHTMLAttributeNode(node: Nodes.HTMLAttributeNode): void;
21
24
  visitHTMLAttributeNameNode(node: Nodes.HTMLAttributeNameNode): void;
22
25
  visitHTMLAttributeValueNode(node: Nodes.HTMLAttributeValueNode): void;
26
+ visitRubyLiteralNode(node: Nodes.RubyLiteralNode): void;
27
+ visitRubyHTMLAttributesSplatNode(node: Nodes.RubyHTMLAttributesSplatNode): void;
23
28
  visitHTMLCommentNode(node: Nodes.HTMLCommentNode): void;
24
29
  visitHTMLDoctypeNode(node: Nodes.HTMLDoctypeNode): void;
25
30
  visitXMLDeclarationNode(node: Nodes.XMLDeclarationNode): void;
26
31
  visitCDATANode(node: Nodes.CDATANode): void;
32
+ visitERBOpenTagNode(node: Nodes.ERBOpenTagNode): void;
27
33
  visitERBContentNode(node: Nodes.ERBContentNode): void;
28
34
  visitERBIfNode(node: Nodes.ERBIfNode): void;
29
35
  visitERBElseNode(node: Nodes.ERBElseNode): void;
@@ -38,6 +44,8 @@ export declare class IdentityPrinter extends Printer {
38
44
  visitERBRescueNode(node: Nodes.ERBRescueNode): void;
39
45
  visitERBEnsureNode(node: Nodes.ERBEnsureNode): void;
40
46
  visitERBUnlessNode(node: Nodes.ERBUnlessNode): void;
47
+ visitERBRenderNode(node: Nodes.ERBRenderNode): void;
48
+ visitRubyRenderLocalNode(_node: Nodes.RubyRenderLocalNode): void;
41
49
  visitERBYieldNode(node: Nodes.ERBYieldNode): void;
42
50
  visitERBInNode(node: Nodes.ERBInNode): void;
43
51
  visitERBCaseMatchNode(node: Nodes.ERBCaseMatchNode): void;