oxc-parser 0.93.0 → 0.95.0

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.
@@ -8,12 +8,9 @@ const { isArray } = Array;
8
8
  function walkNode(node, visitors) {
9
9
  if (node == null) return;
10
10
  if (isArray(node)) {
11
- const len = node.length;
12
- for (let i = 0; i < len; i++) {
13
- walkNode(node[i], visitors);
14
- }
15
- } else {
16
- switch (node.type) {
11
+ let len = node.length;
12
+ for (let i = 0; i < len; i++) walkNode(node[i], visitors);
13
+ } else {switch (node.type) {
17
14
  case 'DebuggerStatement':
18
15
  walkDebuggerStatement(node, visitors);
19
16
  break;
@@ -509,336 +506,320 @@ function walkNode(node, visitors) {
509
506
  case 'TSUnionType':
510
507
  walkTSUnionType(node, visitors);
511
508
  break;
512
- }
513
- }
509
+ }}
514
510
  }
515
511
 
516
512
  function walkDebuggerStatement(node, visitors) {
517
- const visit = visitors[0];
518
- if (visit !== null) visit(node);
513
+ let visit = visitors[0];
514
+ visit !== null && visit(node);
519
515
  }
520
516
 
521
517
  function walkEmptyStatement(node, visitors) {
522
- const visit = visitors[1];
523
- if (visit !== null) visit(node);
518
+ let visit = visitors[1];
519
+ visit !== null && visit(node);
524
520
  }
525
521
 
526
522
  function walkLiteral(node, visitors) {
527
- const visit = visitors[2];
528
- if (visit !== null) visit(node);
523
+ let visit = visitors[2];
524
+ visit !== null && visit(node);
529
525
  }
530
526
 
531
527
  function walkPrivateIdentifier(node, visitors) {
532
- const visit = visitors[3];
533
- if (visit !== null) visit(node);
528
+ let visit = visitors[3];
529
+ visit !== null && visit(node);
534
530
  }
535
531
 
536
532
  function walkSuper(node, visitors) {
537
- const visit = visitors[4];
538
- if (visit !== null) visit(node);
533
+ let visit = visitors[4];
534
+ visit !== null && visit(node);
539
535
  }
540
536
 
541
537
  function walkTemplateElement(node, visitors) {
542
- const visit = visitors[5];
543
- if (visit !== null) visit(node);
538
+ let visit = visitors[5];
539
+ visit !== null && visit(node);
544
540
  }
545
541
 
546
542
  function walkThisExpression(node, visitors) {
547
- const visit = visitors[6];
548
- if (visit !== null) visit(node);
543
+ let visit = visitors[6];
544
+ visit !== null && visit(node);
549
545
  }
550
546
 
551
547
  function walkJSXClosingFragment(node, visitors) {
552
- const visit = visitors[7];
553
- if (visit !== null) visit(node);
548
+ let visit = visitors[7];
549
+ visit !== null && visit(node);
554
550
  }
555
551
 
556
552
  function walkJSXEmptyExpression(node, visitors) {
557
- const visit = visitors[8];
558
- if (visit !== null) visit(node);
553
+ let visit = visitors[8];
554
+ visit !== null && visit(node);
559
555
  }
560
556
 
561
557
  function walkJSXIdentifier(node, visitors) {
562
- const visit = visitors[9];
563
- if (visit !== null) visit(node);
558
+ let visit = visitors[9];
559
+ visit !== null && visit(node);
564
560
  }
565
561
 
566
562
  function walkJSXOpeningFragment(node, visitors) {
567
- const visit = visitors[10];
568
- if (visit !== null) visit(node);
563
+ let visit = visitors[10];
564
+ visit !== null && visit(node);
569
565
  }
570
566
 
571
567
  function walkJSXText(node, visitors) {
572
- const visit = visitors[11];
573
- if (visit !== null) visit(node);
568
+ let visit = visitors[11];
569
+ visit !== null && visit(node);
574
570
  }
575
571
 
576
572
  function walkTSAnyKeyword(node, visitors) {
577
- const visit = visitors[12];
578
- if (visit !== null) visit(node);
573
+ let visit = visitors[12];
574
+ visit !== null && visit(node);
579
575
  }
580
576
 
581
577
  function walkTSBigIntKeyword(node, visitors) {
582
- const visit = visitors[13];
583
- if (visit !== null) visit(node);
578
+ let visit = visitors[13];
579
+ visit !== null && visit(node);
584
580
  }
585
581
 
586
582
  function walkTSBooleanKeyword(node, visitors) {
587
- const visit = visitors[14];
588
- if (visit !== null) visit(node);
583
+ let visit = visitors[14];
584
+ visit !== null && visit(node);
589
585
  }
590
586
 
591
587
  function walkTSIntrinsicKeyword(node, visitors) {
592
- const visit = visitors[15];
593
- if (visit !== null) visit(node);
588
+ let visit = visitors[15];
589
+ visit !== null && visit(node);
594
590
  }
595
591
 
596
592
  function walkTSJSDocUnknownType(node, visitors) {
597
- const visit = visitors[16];
598
- if (visit !== null) visit(node);
593
+ let visit = visitors[16];
594
+ visit !== null && visit(node);
599
595
  }
600
596
 
601
597
  function walkTSNeverKeyword(node, visitors) {
602
- const visit = visitors[17];
603
- if (visit !== null) visit(node);
598
+ let visit = visitors[17];
599
+ visit !== null && visit(node);
604
600
  }
605
601
 
606
602
  function walkTSNullKeyword(node, visitors) {
607
- const visit = visitors[18];
608
- if (visit !== null) visit(node);
603
+ let visit = visitors[18];
604
+ visit !== null && visit(node);
609
605
  }
610
606
 
611
607
  function walkTSNumberKeyword(node, visitors) {
612
- const visit = visitors[19];
613
- if (visit !== null) visit(node);
608
+ let visit = visitors[19];
609
+ visit !== null && visit(node);
614
610
  }
615
611
 
616
612
  function walkTSObjectKeyword(node, visitors) {
617
- const visit = visitors[20];
618
- if (visit !== null) visit(node);
613
+ let visit = visitors[20];
614
+ visit !== null && visit(node);
619
615
  }
620
616
 
621
617
  function walkTSStringKeyword(node, visitors) {
622
- const visit = visitors[21];
623
- if (visit !== null) visit(node);
618
+ let visit = visitors[21];
619
+ visit !== null && visit(node);
624
620
  }
625
621
 
626
622
  function walkTSSymbolKeyword(node, visitors) {
627
- const visit = visitors[22];
628
- if (visit !== null) visit(node);
623
+ let visit = visitors[22];
624
+ visit !== null && visit(node);
629
625
  }
630
626
 
631
627
  function walkTSThisType(node, visitors) {
632
- const visit = visitors[23];
633
- if (visit !== null) visit(node);
628
+ let visit = visitors[23];
629
+ visit !== null && visit(node);
634
630
  }
635
631
 
636
632
  function walkTSUndefinedKeyword(node, visitors) {
637
- const visit = visitors[24];
638
- if (visit !== null) visit(node);
633
+ let visit = visitors[24];
634
+ visit !== null && visit(node);
639
635
  }
640
636
 
641
637
  function walkTSUnknownKeyword(node, visitors) {
642
- const visit = visitors[25];
643
- if (visit !== null) visit(node);
638
+ let visit = visitors[25];
639
+ visit !== null && visit(node);
644
640
  }
645
641
 
646
642
  function walkTSVoidKeyword(node, visitors) {
647
- const visit = visitors[26];
648
- if (visit !== null) visit(node);
643
+ let visit = visitors[26];
644
+ visit !== null && visit(node);
649
645
  }
650
646
 
651
647
  function walkAccessorProperty(node, visitors) {
652
- const enterExit = visitors[27];
653
- let exit = null;
648
+ let enterExit = visitors[27], exit = null;
654
649
  if (enterExit !== null) {
655
650
  let enter;
656
651
  ({ enter, exit } = enterExit);
657
- if (enter !== null) enter(node);
652
+ enter !== null && enter(node);
658
653
  }
659
654
  walkNode(node.decorators, visitors);
660
655
  walkNode(node.key, visitors);
661
656
  walkNode(node.typeAnnotation, visitors);
662
657
  walkNode(node.value, visitors);
663
- if (exit !== null) exit(node);
658
+ exit !== null && exit(node);
664
659
  }
665
660
 
666
661
  function walkArrayExpression(node, visitors) {
667
- const enterExit = visitors[28];
668
- let exit = null;
662
+ let enterExit = visitors[28], exit = null;
669
663
  if (enterExit !== null) {
670
664
  let enter;
671
665
  ({ enter, exit } = enterExit);
672
- if (enter !== null) enter(node);
666
+ enter !== null && enter(node);
673
667
  }
674
668
  walkNode(node.elements, visitors);
675
- if (exit !== null) exit(node);
669
+ exit !== null && exit(node);
676
670
  }
677
671
 
678
672
  function walkArrayPattern(node, visitors) {
679
- const enterExit = visitors[29];
680
- let exit = null;
673
+ let enterExit = visitors[29], exit = null;
681
674
  if (enterExit !== null) {
682
675
  let enter;
683
676
  ({ enter, exit } = enterExit);
684
- if (enter !== null) enter(node);
677
+ enter !== null && enter(node);
685
678
  }
686
679
  walkNode(node.decorators, visitors);
687
680
  walkNode(node.elements, visitors);
688
681
  walkNode(node.typeAnnotation, visitors);
689
- if (exit !== null) exit(node);
682
+ exit !== null && exit(node);
690
683
  }
691
684
 
692
685
  function walkArrowFunctionExpression(node, visitors) {
693
- const enterExit = visitors[30];
694
- let exit = null;
686
+ let enterExit = visitors[30], exit = null;
695
687
  if (enterExit !== null) {
696
688
  let enter;
697
689
  ({ enter, exit } = enterExit);
698
- if (enter !== null) enter(node);
690
+ enter !== null && enter(node);
699
691
  }
700
692
  walkNode(node.typeParameters, visitors);
701
693
  walkNode(node.params, visitors);
702
694
  walkNode(node.returnType, visitors);
703
695
  walkNode(node.body, visitors);
704
- if (exit !== null) exit(node);
696
+ exit !== null && exit(node);
705
697
  }
706
698
 
707
699
  function walkAssignmentExpression(node, visitors) {
708
- const enterExit = visitors[31];
709
- let exit = null;
700
+ let enterExit = visitors[31], exit = null;
710
701
  if (enterExit !== null) {
711
702
  let enter;
712
703
  ({ enter, exit } = enterExit);
713
- if (enter !== null) enter(node);
704
+ enter !== null && enter(node);
714
705
  }
715
706
  walkNode(node.left, visitors);
716
707
  walkNode(node.right, visitors);
717
- if (exit !== null) exit(node);
708
+ exit !== null && exit(node);
718
709
  }
719
710
 
720
711
  function walkAssignmentPattern(node, visitors) {
721
- const enterExit = visitors[32];
722
- let exit = null;
712
+ let enterExit = visitors[32], exit = null;
723
713
  if (enterExit !== null) {
724
714
  let enter;
725
715
  ({ enter, exit } = enterExit);
726
- if (enter !== null) enter(node);
716
+ enter !== null && enter(node);
727
717
  }
728
718
  walkNode(node.decorators, visitors);
729
719
  walkNode(node.left, visitors);
730
720
  walkNode(node.right, visitors);
731
721
  walkNode(node.typeAnnotation, visitors);
732
- if (exit !== null) exit(node);
722
+ exit !== null && exit(node);
733
723
  }
734
724
 
735
725
  function walkAwaitExpression(node, visitors) {
736
- const enterExit = visitors[33];
737
- let exit = null;
726
+ let enterExit = visitors[33], exit = null;
738
727
  if (enterExit !== null) {
739
728
  let enter;
740
729
  ({ enter, exit } = enterExit);
741
- if (enter !== null) enter(node);
730
+ enter !== null && enter(node);
742
731
  }
743
732
  walkNode(node.argument, visitors);
744
- if (exit !== null) exit(node);
733
+ exit !== null && exit(node);
745
734
  }
746
735
 
747
736
  function walkBinaryExpression(node, visitors) {
748
- const enterExit = visitors[34];
749
- let exit = null;
737
+ let enterExit = visitors[34], exit = null;
750
738
  if (enterExit !== null) {
751
739
  let enter;
752
740
  ({ enter, exit } = enterExit);
753
- if (enter !== null) enter(node);
741
+ enter !== null && enter(node);
754
742
  }
755
743
  walkNode(node.left, visitors);
756
744
  walkNode(node.right, visitors);
757
- if (exit !== null) exit(node);
745
+ exit !== null && exit(node);
758
746
  }
759
747
 
760
748
  function walkBlockStatement(node, visitors) {
761
- const enterExit = visitors[35];
762
- let exit = null;
749
+ let enterExit = visitors[35], exit = null;
763
750
  if (enterExit !== null) {
764
751
  let enter;
765
752
  ({ enter, exit } = enterExit);
766
- if (enter !== null) enter(node);
753
+ enter !== null && enter(node);
767
754
  }
768
755
  walkNode(node.body, visitors);
769
- if (exit !== null) exit(node);
756
+ exit !== null && exit(node);
770
757
  }
771
758
 
772
759
  function walkBreakStatement(node, visitors) {
773
- const enterExit = visitors[36];
774
- let exit = null;
760
+ let enterExit = visitors[36], exit = null;
775
761
  if (enterExit !== null) {
776
762
  let enter;
777
763
  ({ enter, exit } = enterExit);
778
- if (enter !== null) enter(node);
764
+ enter !== null && enter(node);
779
765
  }
780
766
  walkNode(node.label, visitors);
781
- if (exit !== null) exit(node);
767
+ exit !== null && exit(node);
782
768
  }
783
769
 
784
770
  function walkCallExpression(node, visitors) {
785
- const enterExit = visitors[37];
786
- let exit = null;
771
+ let enterExit = visitors[37], exit = null;
787
772
  if (enterExit !== null) {
788
773
  let enter;
789
774
  ({ enter, exit } = enterExit);
790
- if (enter !== null) enter(node);
775
+ enter !== null && enter(node);
791
776
  }
792
777
  walkNode(node.callee, visitors);
793
778
  walkNode(node.typeArguments, visitors);
794
779
  walkNode(node.arguments, visitors);
795
- if (exit !== null) exit(node);
780
+ exit !== null && exit(node);
796
781
  }
797
782
 
798
783
  function walkCatchClause(node, visitors) {
799
- const enterExit = visitors[38];
800
- let exit = null;
784
+ let enterExit = visitors[38], exit = null;
801
785
  if (enterExit !== null) {
802
786
  let enter;
803
787
  ({ enter, exit } = enterExit);
804
- if (enter !== null) enter(node);
788
+ enter !== null && enter(node);
805
789
  }
806
790
  walkNode(node.param, visitors);
807
791
  walkNode(node.body, visitors);
808
- if (exit !== null) exit(node);
792
+ exit !== null && exit(node);
809
793
  }
810
794
 
811
795
  function walkChainExpression(node, visitors) {
812
- const enterExit = visitors[39];
813
- let exit = null;
796
+ let enterExit = visitors[39], exit = null;
814
797
  if (enterExit !== null) {
815
798
  let enter;
816
799
  ({ enter, exit } = enterExit);
817
- if (enter !== null) enter(node);
800
+ enter !== null && enter(node);
818
801
  }
819
802
  walkNode(node.expression, visitors);
820
- if (exit !== null) exit(node);
803
+ exit !== null && exit(node);
821
804
  }
822
805
 
823
806
  function walkClassBody(node, visitors) {
824
- const enterExit = visitors[40];
825
- let exit = null;
807
+ let enterExit = visitors[40], exit = null;
826
808
  if (enterExit !== null) {
827
809
  let enter;
828
810
  ({ enter, exit } = enterExit);
829
- if (enter !== null) enter(node);
811
+ enter !== null && enter(node);
830
812
  }
831
813
  walkNode(node.body, visitors);
832
- if (exit !== null) exit(node);
814
+ exit !== null && exit(node);
833
815
  }
834
816
 
835
817
  function walkClassDeclaration(node, visitors) {
836
- const enterExit = visitors[41];
837
- let exit = null;
818
+ let enterExit = visitors[41], exit = null;
838
819
  if (enterExit !== null) {
839
820
  let enter;
840
821
  ({ enter, exit } = enterExit);
841
- if (enter !== null) enter(node);
822
+ enter !== null && enter(node);
842
823
  }
843
824
  walkNode(node.decorators, visitors);
844
825
  walkNode(node.id, visitors);
@@ -847,16 +828,15 @@ function walkClassDeclaration(node, visitors) {
847
828
  walkNode(node.superTypeArguments, visitors);
848
829
  walkNode(node.implements, visitors);
849
830
  walkNode(node.body, visitors);
850
- if (exit !== null) exit(node);
831
+ exit !== null && exit(node);
851
832
  }
852
833
 
853
834
  function walkClassExpression(node, visitors) {
854
- const enterExit = visitors[42];
855
- let exit = null;
835
+ let enterExit = visitors[42], exit = null;
856
836
  if (enterExit !== null) {
857
837
  let enter;
858
838
  ({ enter, exit } = enterExit);
859
- if (enter !== null) enter(node);
839
+ enter !== null && enter(node);
860
840
  }
861
841
  walkNode(node.decorators, visitors);
862
842
  walkNode(node.id, visitors);
@@ -865,1596 +845,1474 @@ function walkClassExpression(node, visitors) {
865
845
  walkNode(node.superTypeArguments, visitors);
866
846
  walkNode(node.implements, visitors);
867
847
  walkNode(node.body, visitors);
868
- if (exit !== null) exit(node);
848
+ exit !== null && exit(node);
869
849
  }
870
850
 
871
851
  function walkConditionalExpression(node, visitors) {
872
- const enterExit = visitors[43];
873
- let exit = null;
852
+ let enterExit = visitors[43], exit = null;
874
853
  if (enterExit !== null) {
875
854
  let enter;
876
855
  ({ enter, exit } = enterExit);
877
- if (enter !== null) enter(node);
856
+ enter !== null && enter(node);
878
857
  }
879
858
  walkNode(node.test, visitors);
880
859
  walkNode(node.consequent, visitors);
881
860
  walkNode(node.alternate, visitors);
882
- if (exit !== null) exit(node);
861
+ exit !== null && exit(node);
883
862
  }
884
863
 
885
864
  function walkContinueStatement(node, visitors) {
886
- const enterExit = visitors[44];
887
- let exit = null;
865
+ let enterExit = visitors[44], exit = null;
888
866
  if (enterExit !== null) {
889
867
  let enter;
890
868
  ({ enter, exit } = enterExit);
891
- if (enter !== null) enter(node);
869
+ enter !== null && enter(node);
892
870
  }
893
871
  walkNode(node.label, visitors);
894
- if (exit !== null) exit(node);
872
+ exit !== null && exit(node);
895
873
  }
896
874
 
897
875
  function walkDecorator(node, visitors) {
898
- const enterExit = visitors[45];
899
- let exit = null;
876
+ let enterExit = visitors[45], exit = null;
900
877
  if (enterExit !== null) {
901
878
  let enter;
902
879
  ({ enter, exit } = enterExit);
903
- if (enter !== null) enter(node);
880
+ enter !== null && enter(node);
904
881
  }
905
882
  walkNode(node.expression, visitors);
906
- if (exit !== null) exit(node);
883
+ exit !== null && exit(node);
907
884
  }
908
885
 
909
886
  function walkDoWhileStatement(node, visitors) {
910
- const enterExit = visitors[46];
911
- let exit = null;
887
+ let enterExit = visitors[46], exit = null;
912
888
  if (enterExit !== null) {
913
889
  let enter;
914
890
  ({ enter, exit } = enterExit);
915
- if (enter !== null) enter(node);
891
+ enter !== null && enter(node);
916
892
  }
917
893
  walkNode(node.body, visitors);
918
894
  walkNode(node.test, visitors);
919
- if (exit !== null) exit(node);
895
+ exit !== null && exit(node);
920
896
  }
921
897
 
922
898
  function walkExportAllDeclaration(node, visitors) {
923
- const enterExit = visitors[47];
924
- let exit = null;
899
+ let enterExit = visitors[47], exit = null;
925
900
  if (enterExit !== null) {
926
901
  let enter;
927
902
  ({ enter, exit } = enterExit);
928
- if (enter !== null) enter(node);
903
+ enter !== null && enter(node);
929
904
  }
930
905
  walkNode(node.exported, visitors);
931
906
  walkNode(node.source, visitors);
932
907
  walkNode(node.attributes, visitors);
933
- if (exit !== null) exit(node);
908
+ exit !== null && exit(node);
934
909
  }
935
910
 
936
911
  function walkExportDefaultDeclaration(node, visitors) {
937
- const enterExit = visitors[48];
938
- let exit = null;
912
+ let enterExit = visitors[48], exit = null;
939
913
  if (enterExit !== null) {
940
914
  let enter;
941
915
  ({ enter, exit } = enterExit);
942
- if (enter !== null) enter(node);
916
+ enter !== null && enter(node);
943
917
  }
944
918
  walkNode(node.declaration, visitors);
945
- if (exit !== null) exit(node);
919
+ exit !== null && exit(node);
946
920
  }
947
921
 
948
922
  function walkExportNamedDeclaration(node, visitors) {
949
- const enterExit = visitors[49];
950
- let exit = null;
923
+ let enterExit = visitors[49], exit = null;
951
924
  if (enterExit !== null) {
952
925
  let enter;
953
926
  ({ enter, exit } = enterExit);
954
- if (enter !== null) enter(node);
927
+ enter !== null && enter(node);
955
928
  }
956
929
  walkNode(node.declaration, visitors);
957
930
  walkNode(node.specifiers, visitors);
958
931
  walkNode(node.source, visitors);
959
932
  walkNode(node.attributes, visitors);
960
- if (exit !== null) exit(node);
933
+ exit !== null && exit(node);
961
934
  }
962
935
 
963
936
  function walkExportSpecifier(node, visitors) {
964
- const enterExit = visitors[50];
965
- let exit = null;
937
+ let enterExit = visitors[50], exit = null;
966
938
  if (enterExit !== null) {
967
939
  let enter;
968
940
  ({ enter, exit } = enterExit);
969
- if (enter !== null) enter(node);
941
+ enter !== null && enter(node);
970
942
  }
971
943
  walkNode(node.local, visitors);
972
944
  walkNode(node.exported, visitors);
973
- if (exit !== null) exit(node);
945
+ exit !== null && exit(node);
974
946
  }
975
947
 
976
948
  function walkExpressionStatement(node, visitors) {
977
- const enterExit = visitors[51];
978
- let exit = null;
949
+ let enterExit = visitors[51], exit = null;
979
950
  if (enterExit !== null) {
980
951
  let enter;
981
952
  ({ enter, exit } = enterExit);
982
- if (enter !== null) enter(node);
953
+ enter !== null && enter(node);
983
954
  }
984
955
  walkNode(node.expression, visitors);
985
- if (exit !== null) exit(node);
956
+ exit !== null && exit(node);
986
957
  }
987
958
 
988
959
  function walkForInStatement(node, visitors) {
989
- const enterExit = visitors[52];
990
- let exit = null;
960
+ let enterExit = visitors[52], exit = null;
991
961
  if (enterExit !== null) {
992
962
  let enter;
993
963
  ({ enter, exit } = enterExit);
994
- if (enter !== null) enter(node);
964
+ enter !== null && enter(node);
995
965
  }
996
966
  walkNode(node.left, visitors);
997
967
  walkNode(node.right, visitors);
998
968
  walkNode(node.body, visitors);
999
- if (exit !== null) exit(node);
969
+ exit !== null && exit(node);
1000
970
  }
1001
971
 
1002
972
  function walkForOfStatement(node, visitors) {
1003
- const enterExit = visitors[53];
1004
- let exit = null;
973
+ let enterExit = visitors[53], exit = null;
1005
974
  if (enterExit !== null) {
1006
975
  let enter;
1007
976
  ({ enter, exit } = enterExit);
1008
- if (enter !== null) enter(node);
977
+ enter !== null && enter(node);
1009
978
  }
1010
979
  walkNode(node.left, visitors);
1011
980
  walkNode(node.right, visitors);
1012
981
  walkNode(node.body, visitors);
1013
- if (exit !== null) exit(node);
982
+ exit !== null && exit(node);
1014
983
  }
1015
984
 
1016
985
  function walkForStatement(node, visitors) {
1017
- const enterExit = visitors[54];
1018
- let exit = null;
986
+ let enterExit = visitors[54], exit = null;
1019
987
  if (enterExit !== null) {
1020
988
  let enter;
1021
989
  ({ enter, exit } = enterExit);
1022
- if (enter !== null) enter(node);
990
+ enter !== null && enter(node);
1023
991
  }
1024
992
  walkNode(node.init, visitors);
1025
993
  walkNode(node.test, visitors);
1026
994
  walkNode(node.update, visitors);
1027
995
  walkNode(node.body, visitors);
1028
- if (exit !== null) exit(node);
996
+ exit !== null && exit(node);
1029
997
  }
1030
998
 
1031
999
  function walkFunctionDeclaration(node, visitors) {
1032
- const enterExit = visitors[55];
1033
- let exit = null;
1000
+ let enterExit = visitors[55], exit = null;
1034
1001
  if (enterExit !== null) {
1035
1002
  let enter;
1036
1003
  ({ enter, exit } = enterExit);
1037
- if (enter !== null) enter(node);
1004
+ enter !== null && enter(node);
1038
1005
  }
1039
1006
  walkNode(node.id, visitors);
1040
1007
  walkNode(node.typeParameters, visitors);
1041
1008
  walkNode(node.params, visitors);
1042
1009
  walkNode(node.returnType, visitors);
1043
1010
  walkNode(node.body, visitors);
1044
- if (exit !== null) exit(node);
1011
+ exit !== null && exit(node);
1045
1012
  }
1046
1013
 
1047
1014
  function walkFunctionExpression(node, visitors) {
1048
- const enterExit = visitors[56];
1049
- let exit = null;
1015
+ let enterExit = visitors[56], exit = null;
1050
1016
  if (enterExit !== null) {
1051
1017
  let enter;
1052
1018
  ({ enter, exit } = enterExit);
1053
- if (enter !== null) enter(node);
1019
+ enter !== null && enter(node);
1054
1020
  }
1055
1021
  walkNode(node.id, visitors);
1056
1022
  walkNode(node.typeParameters, visitors);
1057
1023
  walkNode(node.params, visitors);
1058
1024
  walkNode(node.returnType, visitors);
1059
1025
  walkNode(node.body, visitors);
1060
- if (exit !== null) exit(node);
1026
+ exit !== null && exit(node);
1061
1027
  }
1062
1028
 
1063
1029
  function walkIdentifier(node, visitors) {
1064
- const enterExit = visitors[57];
1065
- let exit = null;
1030
+ let enterExit = visitors[57], exit = null;
1066
1031
  if (enterExit !== null) {
1067
1032
  let enter;
1068
1033
  ({ enter, exit } = enterExit);
1069
- if (enter !== null) enter(node);
1034
+ enter !== null && enter(node);
1070
1035
  }
1071
1036
  walkNode(node.decorators, visitors);
1072
1037
  walkNode(node.typeAnnotation, visitors);
1073
- if (exit !== null) exit(node);
1038
+ exit !== null && exit(node);
1074
1039
  }
1075
1040
 
1076
1041
  function walkIfStatement(node, visitors) {
1077
- const enterExit = visitors[58];
1078
- let exit = null;
1042
+ let enterExit = visitors[58], exit = null;
1079
1043
  if (enterExit !== null) {
1080
1044
  let enter;
1081
1045
  ({ enter, exit } = enterExit);
1082
- if (enter !== null) enter(node);
1046
+ enter !== null && enter(node);
1083
1047
  }
1084
1048
  walkNode(node.test, visitors);
1085
1049
  walkNode(node.consequent, visitors);
1086
1050
  walkNode(node.alternate, visitors);
1087
- if (exit !== null) exit(node);
1051
+ exit !== null && exit(node);
1088
1052
  }
1089
1053
 
1090
1054
  function walkImportAttribute(node, visitors) {
1091
- const enterExit = visitors[59];
1092
- let exit = null;
1055
+ let enterExit = visitors[59], exit = null;
1093
1056
  if (enterExit !== null) {
1094
1057
  let enter;
1095
1058
  ({ enter, exit } = enterExit);
1096
- if (enter !== null) enter(node);
1059
+ enter !== null && enter(node);
1097
1060
  }
1098
1061
  walkNode(node.key, visitors);
1099
1062
  walkNode(node.value, visitors);
1100
- if (exit !== null) exit(node);
1063
+ exit !== null && exit(node);
1101
1064
  }
1102
1065
 
1103
1066
  function walkImportDeclaration(node, visitors) {
1104
- const enterExit = visitors[60];
1105
- let exit = null;
1067
+ let enterExit = visitors[60], exit = null;
1106
1068
  if (enterExit !== null) {
1107
1069
  let enter;
1108
1070
  ({ enter, exit } = enterExit);
1109
- if (enter !== null) enter(node);
1071
+ enter !== null && enter(node);
1110
1072
  }
1111
1073
  walkNode(node.specifiers, visitors);
1112
1074
  walkNode(node.source, visitors);
1113
1075
  walkNode(node.attributes, visitors);
1114
- if (exit !== null) exit(node);
1076
+ exit !== null && exit(node);
1115
1077
  }
1116
1078
 
1117
1079
  function walkImportDefaultSpecifier(node, visitors) {
1118
- const enterExit = visitors[61];
1119
- let exit = null;
1080
+ let enterExit = visitors[61], exit = null;
1120
1081
  if (enterExit !== null) {
1121
1082
  let enter;
1122
1083
  ({ enter, exit } = enterExit);
1123
- if (enter !== null) enter(node);
1084
+ enter !== null && enter(node);
1124
1085
  }
1125
1086
  walkNode(node.local, visitors);
1126
- if (exit !== null) exit(node);
1087
+ exit !== null && exit(node);
1127
1088
  }
1128
1089
 
1129
1090
  function walkImportExpression(node, visitors) {
1130
- const enterExit = visitors[62];
1131
- let exit = null;
1091
+ let enterExit = visitors[62], exit = null;
1132
1092
  if (enterExit !== null) {
1133
1093
  let enter;
1134
1094
  ({ enter, exit } = enterExit);
1135
- if (enter !== null) enter(node);
1095
+ enter !== null && enter(node);
1136
1096
  }
1137
1097
  walkNode(node.source, visitors);
1138
1098
  walkNode(node.options, visitors);
1139
- if (exit !== null) exit(node);
1099
+ exit !== null && exit(node);
1140
1100
  }
1141
1101
 
1142
1102
  function walkImportNamespaceSpecifier(node, visitors) {
1143
- const enterExit = visitors[63];
1144
- let exit = null;
1103
+ let enterExit = visitors[63], exit = null;
1145
1104
  if (enterExit !== null) {
1146
1105
  let enter;
1147
1106
  ({ enter, exit } = enterExit);
1148
- if (enter !== null) enter(node);
1107
+ enter !== null && enter(node);
1149
1108
  }
1150
1109
  walkNode(node.local, visitors);
1151
- if (exit !== null) exit(node);
1110
+ exit !== null && exit(node);
1152
1111
  }
1153
1112
 
1154
1113
  function walkImportSpecifier(node, visitors) {
1155
- const enterExit = visitors[64];
1156
- let exit = null;
1114
+ let enterExit = visitors[64], exit = null;
1157
1115
  if (enterExit !== null) {
1158
1116
  let enter;
1159
1117
  ({ enter, exit } = enterExit);
1160
- if (enter !== null) enter(node);
1118
+ enter !== null && enter(node);
1161
1119
  }
1162
1120
  walkNode(node.imported, visitors);
1163
1121
  walkNode(node.local, visitors);
1164
- if (exit !== null) exit(node);
1122
+ exit !== null && exit(node);
1165
1123
  }
1166
1124
 
1167
1125
  function walkLabeledStatement(node, visitors) {
1168
- const enterExit = visitors[65];
1169
- let exit = null;
1126
+ let enterExit = visitors[65], exit = null;
1170
1127
  if (enterExit !== null) {
1171
1128
  let enter;
1172
1129
  ({ enter, exit } = enterExit);
1173
- if (enter !== null) enter(node);
1130
+ enter !== null && enter(node);
1174
1131
  }
1175
1132
  walkNode(node.label, visitors);
1176
1133
  walkNode(node.body, visitors);
1177
- if (exit !== null) exit(node);
1134
+ exit !== null && exit(node);
1178
1135
  }
1179
1136
 
1180
1137
  function walkLogicalExpression(node, visitors) {
1181
- const enterExit = visitors[66];
1182
- let exit = null;
1138
+ let enterExit = visitors[66], exit = null;
1183
1139
  if (enterExit !== null) {
1184
1140
  let enter;
1185
1141
  ({ enter, exit } = enterExit);
1186
- if (enter !== null) enter(node);
1142
+ enter !== null && enter(node);
1187
1143
  }
1188
1144
  walkNode(node.left, visitors);
1189
1145
  walkNode(node.right, visitors);
1190
- if (exit !== null) exit(node);
1146
+ exit !== null && exit(node);
1191
1147
  }
1192
1148
 
1193
1149
  function walkMemberExpression(node, visitors) {
1194
- const enterExit = visitors[67];
1195
- let exit = null;
1150
+ let enterExit = visitors[67], exit = null;
1196
1151
  if (enterExit !== null) {
1197
1152
  let enter;
1198
1153
  ({ enter, exit } = enterExit);
1199
- if (enter !== null) enter(node);
1154
+ enter !== null && enter(node);
1200
1155
  }
1201
1156
  walkNode(node.object, visitors);
1202
1157
  walkNode(node.property, visitors);
1203
- if (exit !== null) exit(node);
1158
+ exit !== null && exit(node);
1204
1159
  }
1205
1160
 
1206
1161
  function walkMetaProperty(node, visitors) {
1207
- const enterExit = visitors[68];
1208
- let exit = null;
1162
+ let enterExit = visitors[68], exit = null;
1209
1163
  if (enterExit !== null) {
1210
1164
  let enter;
1211
1165
  ({ enter, exit } = enterExit);
1212
- if (enter !== null) enter(node);
1166
+ enter !== null && enter(node);
1213
1167
  }
1214
1168
  walkNode(node.meta, visitors);
1215
1169
  walkNode(node.property, visitors);
1216
- if (exit !== null) exit(node);
1170
+ exit !== null && exit(node);
1217
1171
  }
1218
1172
 
1219
1173
  function walkMethodDefinition(node, visitors) {
1220
- const enterExit = visitors[69];
1221
- let exit = null;
1174
+ let enterExit = visitors[69], exit = null;
1222
1175
  if (enterExit !== null) {
1223
1176
  let enter;
1224
1177
  ({ enter, exit } = enterExit);
1225
- if (enter !== null) enter(node);
1178
+ enter !== null && enter(node);
1226
1179
  }
1227
1180
  walkNode(node.decorators, visitors);
1228
1181
  walkNode(node.key, visitors);
1229
1182
  walkNode(node.value, visitors);
1230
- if (exit !== null) exit(node);
1183
+ exit !== null && exit(node);
1231
1184
  }
1232
1185
 
1233
1186
  function walkNewExpression(node, visitors) {
1234
- const enterExit = visitors[70];
1235
- let exit = null;
1187
+ let enterExit = visitors[70], exit = null;
1236
1188
  if (enterExit !== null) {
1237
1189
  let enter;
1238
1190
  ({ enter, exit } = enterExit);
1239
- if (enter !== null) enter(node);
1191
+ enter !== null && enter(node);
1240
1192
  }
1241
1193
  walkNode(node.callee, visitors);
1242
1194
  walkNode(node.typeArguments, visitors);
1243
1195
  walkNode(node.arguments, visitors);
1244
- if (exit !== null) exit(node);
1196
+ exit !== null && exit(node);
1245
1197
  }
1246
1198
 
1247
1199
  function walkObjectExpression(node, visitors) {
1248
- const enterExit = visitors[71];
1249
- let exit = null;
1200
+ let enterExit = visitors[71], exit = null;
1250
1201
  if (enterExit !== null) {
1251
1202
  let enter;
1252
1203
  ({ enter, exit } = enterExit);
1253
- if (enter !== null) enter(node);
1204
+ enter !== null && enter(node);
1254
1205
  }
1255
1206
  walkNode(node.properties, visitors);
1256
- if (exit !== null) exit(node);
1207
+ exit !== null && exit(node);
1257
1208
  }
1258
1209
 
1259
1210
  function walkObjectPattern(node, visitors) {
1260
- const enterExit = visitors[72];
1261
- let exit = null;
1211
+ let enterExit = visitors[72], exit = null;
1262
1212
  if (enterExit !== null) {
1263
1213
  let enter;
1264
1214
  ({ enter, exit } = enterExit);
1265
- if (enter !== null) enter(node);
1215
+ enter !== null && enter(node);
1266
1216
  }
1267
1217
  walkNode(node.decorators, visitors);
1268
1218
  walkNode(node.properties, visitors);
1269
1219
  walkNode(node.typeAnnotation, visitors);
1270
- if (exit !== null) exit(node);
1220
+ exit !== null && exit(node);
1271
1221
  }
1272
1222
 
1273
1223
  function walkParenthesizedExpression(node, visitors) {
1274
- const enterExit = visitors[73];
1275
- let exit = null;
1224
+ let enterExit = visitors[73], exit = null;
1276
1225
  if (enterExit !== null) {
1277
1226
  let enter;
1278
1227
  ({ enter, exit } = enterExit);
1279
- if (enter !== null) enter(node);
1228
+ enter !== null && enter(node);
1280
1229
  }
1281
1230
  walkNode(node.expression, visitors);
1282
- if (exit !== null) exit(node);
1231
+ exit !== null && exit(node);
1283
1232
  }
1284
1233
 
1285
1234
  function walkProgram(node, visitors) {
1286
- const enterExit = visitors[74];
1287
- let exit = null;
1235
+ let enterExit = visitors[74], exit = null;
1288
1236
  if (enterExit !== null) {
1289
1237
  let enter;
1290
1238
  ({ enter, exit } = enterExit);
1291
- if (enter !== null) enter(node);
1239
+ enter !== null && enter(node);
1292
1240
  }
1293
1241
  walkNode(node.body, visitors);
1294
- if (exit !== null) exit(node);
1242
+ exit !== null && exit(node);
1295
1243
  }
1296
1244
 
1297
1245
  function walkProperty(node, visitors) {
1298
- const enterExit = visitors[75];
1299
- let exit = null;
1246
+ let enterExit = visitors[75], exit = null;
1300
1247
  if (enterExit !== null) {
1301
1248
  let enter;
1302
1249
  ({ enter, exit } = enterExit);
1303
- if (enter !== null) enter(node);
1250
+ enter !== null && enter(node);
1304
1251
  }
1305
1252
  walkNode(node.key, visitors);
1306
1253
  walkNode(node.value, visitors);
1307
- if (exit !== null) exit(node);
1254
+ exit !== null && exit(node);
1308
1255
  }
1309
1256
 
1310
1257
  function walkPropertyDefinition(node, visitors) {
1311
- const enterExit = visitors[76];
1312
- let exit = null;
1258
+ let enterExit = visitors[76], exit = null;
1313
1259
  if (enterExit !== null) {
1314
1260
  let enter;
1315
1261
  ({ enter, exit } = enterExit);
1316
- if (enter !== null) enter(node);
1262
+ enter !== null && enter(node);
1317
1263
  }
1318
1264
  walkNode(node.decorators, visitors);
1319
1265
  walkNode(node.key, visitors);
1320
1266
  walkNode(node.typeAnnotation, visitors);
1321
1267
  walkNode(node.value, visitors);
1322
- if (exit !== null) exit(node);
1268
+ exit !== null && exit(node);
1323
1269
  }
1324
1270
 
1325
1271
  function walkRestElement(node, visitors) {
1326
- const enterExit = visitors[77];
1327
- let exit = null;
1272
+ let enterExit = visitors[77], exit = null;
1328
1273
  if (enterExit !== null) {
1329
1274
  let enter;
1330
1275
  ({ enter, exit } = enterExit);
1331
- if (enter !== null) enter(node);
1276
+ enter !== null && enter(node);
1332
1277
  }
1333
1278
  walkNode(node.decorators, visitors);
1334
1279
  walkNode(node.argument, visitors);
1335
1280
  walkNode(node.typeAnnotation, visitors);
1336
- if (exit !== null) exit(node);
1281
+ exit !== null && exit(node);
1337
1282
  }
1338
1283
 
1339
1284
  function walkReturnStatement(node, visitors) {
1340
- const enterExit = visitors[78];
1341
- let exit = null;
1285
+ let enterExit = visitors[78], exit = null;
1342
1286
  if (enterExit !== null) {
1343
1287
  let enter;
1344
1288
  ({ enter, exit } = enterExit);
1345
- if (enter !== null) enter(node);
1289
+ enter !== null && enter(node);
1346
1290
  }
1347
1291
  walkNode(node.argument, visitors);
1348
- if (exit !== null) exit(node);
1292
+ exit !== null && exit(node);
1349
1293
  }
1350
1294
 
1351
1295
  function walkSequenceExpression(node, visitors) {
1352
- const enterExit = visitors[79];
1353
- let exit = null;
1296
+ let enterExit = visitors[79], exit = null;
1354
1297
  if (enterExit !== null) {
1355
1298
  let enter;
1356
1299
  ({ enter, exit } = enterExit);
1357
- if (enter !== null) enter(node);
1300
+ enter !== null && enter(node);
1358
1301
  }
1359
1302
  walkNode(node.expressions, visitors);
1360
- if (exit !== null) exit(node);
1303
+ exit !== null && exit(node);
1361
1304
  }
1362
1305
 
1363
1306
  function walkSpreadElement(node, visitors) {
1364
- const enterExit = visitors[80];
1365
- let exit = null;
1307
+ let enterExit = visitors[80], exit = null;
1366
1308
  if (enterExit !== null) {
1367
1309
  let enter;
1368
1310
  ({ enter, exit } = enterExit);
1369
- if (enter !== null) enter(node);
1311
+ enter !== null && enter(node);
1370
1312
  }
1371
1313
  walkNode(node.argument, visitors);
1372
- if (exit !== null) exit(node);
1314
+ exit !== null && exit(node);
1373
1315
  }
1374
1316
 
1375
1317
  function walkStaticBlock(node, visitors) {
1376
- const enterExit = visitors[81];
1377
- let exit = null;
1318
+ let enterExit = visitors[81], exit = null;
1378
1319
  if (enterExit !== null) {
1379
1320
  let enter;
1380
1321
  ({ enter, exit } = enterExit);
1381
- if (enter !== null) enter(node);
1322
+ enter !== null && enter(node);
1382
1323
  }
1383
1324
  walkNode(node.body, visitors);
1384
- if (exit !== null) exit(node);
1325
+ exit !== null && exit(node);
1385
1326
  }
1386
1327
 
1387
1328
  function walkSwitchCase(node, visitors) {
1388
- const enterExit = visitors[82];
1389
- let exit = null;
1329
+ let enterExit = visitors[82], exit = null;
1390
1330
  if (enterExit !== null) {
1391
1331
  let enter;
1392
1332
  ({ enter, exit } = enterExit);
1393
- if (enter !== null) enter(node);
1333
+ enter !== null && enter(node);
1394
1334
  }
1395
1335
  walkNode(node.test, visitors);
1396
1336
  walkNode(node.consequent, visitors);
1397
- if (exit !== null) exit(node);
1337
+ exit !== null && exit(node);
1398
1338
  }
1399
1339
 
1400
1340
  function walkSwitchStatement(node, visitors) {
1401
- const enterExit = visitors[83];
1402
- let exit = null;
1341
+ let enterExit = visitors[83], exit = null;
1403
1342
  if (enterExit !== null) {
1404
1343
  let enter;
1405
1344
  ({ enter, exit } = enterExit);
1406
- if (enter !== null) enter(node);
1345
+ enter !== null && enter(node);
1407
1346
  }
1408
1347
  walkNode(node.discriminant, visitors);
1409
1348
  walkNode(node.cases, visitors);
1410
- if (exit !== null) exit(node);
1349
+ exit !== null && exit(node);
1411
1350
  }
1412
1351
 
1413
1352
  function walkTaggedTemplateExpression(node, visitors) {
1414
- const enterExit = visitors[84];
1415
- let exit = null;
1353
+ let enterExit = visitors[84], exit = null;
1416
1354
  if (enterExit !== null) {
1417
1355
  let enter;
1418
1356
  ({ enter, exit } = enterExit);
1419
- if (enter !== null) enter(node);
1357
+ enter !== null && enter(node);
1420
1358
  }
1421
1359
  walkNode(node.tag, visitors);
1422
1360
  walkNode(node.typeArguments, visitors);
1423
1361
  walkNode(node.quasi, visitors);
1424
- if (exit !== null) exit(node);
1362
+ exit !== null && exit(node);
1425
1363
  }
1426
1364
 
1427
1365
  function walkTemplateLiteral(node, visitors) {
1428
- const enterExit = visitors[85];
1429
- let exit = null;
1366
+ let enterExit = visitors[85], exit = null;
1430
1367
  if (enterExit !== null) {
1431
1368
  let enter;
1432
1369
  ({ enter, exit } = enterExit);
1433
- if (enter !== null) enter(node);
1370
+ enter !== null && enter(node);
1434
1371
  }
1435
1372
  walkNode(node.quasis, visitors);
1436
1373
  walkNode(node.expressions, visitors);
1437
- if (exit !== null) exit(node);
1374
+ exit !== null && exit(node);
1438
1375
  }
1439
1376
 
1440
1377
  function walkThrowStatement(node, visitors) {
1441
- const enterExit = visitors[86];
1442
- let exit = null;
1378
+ let enterExit = visitors[86], exit = null;
1443
1379
  if (enterExit !== null) {
1444
1380
  let enter;
1445
1381
  ({ enter, exit } = enterExit);
1446
- if (enter !== null) enter(node);
1382
+ enter !== null && enter(node);
1447
1383
  }
1448
1384
  walkNode(node.argument, visitors);
1449
- if (exit !== null) exit(node);
1385
+ exit !== null && exit(node);
1450
1386
  }
1451
1387
 
1452
1388
  function walkTryStatement(node, visitors) {
1453
- const enterExit = visitors[87];
1454
- let exit = null;
1389
+ let enterExit = visitors[87], exit = null;
1455
1390
  if (enterExit !== null) {
1456
1391
  let enter;
1457
1392
  ({ enter, exit } = enterExit);
1458
- if (enter !== null) enter(node);
1393
+ enter !== null && enter(node);
1459
1394
  }
1460
1395
  walkNode(node.block, visitors);
1461
1396
  walkNode(node.handler, visitors);
1462
1397
  walkNode(node.finalizer, visitors);
1463
- if (exit !== null) exit(node);
1398
+ exit !== null && exit(node);
1464
1399
  }
1465
1400
 
1466
1401
  function walkUnaryExpression(node, visitors) {
1467
- const enterExit = visitors[88];
1468
- let exit = null;
1402
+ let enterExit = visitors[88], exit = null;
1469
1403
  if (enterExit !== null) {
1470
1404
  let enter;
1471
1405
  ({ enter, exit } = enterExit);
1472
- if (enter !== null) enter(node);
1406
+ enter !== null && enter(node);
1473
1407
  }
1474
1408
  walkNode(node.argument, visitors);
1475
- if (exit !== null) exit(node);
1409
+ exit !== null && exit(node);
1476
1410
  }
1477
1411
 
1478
1412
  function walkUpdateExpression(node, visitors) {
1479
- const enterExit = visitors[89];
1480
- let exit = null;
1413
+ let enterExit = visitors[89], exit = null;
1481
1414
  if (enterExit !== null) {
1482
1415
  let enter;
1483
1416
  ({ enter, exit } = enterExit);
1484
- if (enter !== null) enter(node);
1417
+ enter !== null && enter(node);
1485
1418
  }
1486
1419
  walkNode(node.argument, visitors);
1487
- if (exit !== null) exit(node);
1420
+ exit !== null && exit(node);
1488
1421
  }
1489
1422
 
1490
1423
  function walkV8IntrinsicExpression(node, visitors) {
1491
- const enterExit = visitors[90];
1492
- let exit = null;
1424
+ let enterExit = visitors[90], exit = null;
1493
1425
  if (enterExit !== null) {
1494
1426
  let enter;
1495
1427
  ({ enter, exit } = enterExit);
1496
- if (enter !== null) enter(node);
1428
+ enter !== null && enter(node);
1497
1429
  }
1498
1430
  walkNode(node.name, visitors);
1499
1431
  walkNode(node.arguments, visitors);
1500
- if (exit !== null) exit(node);
1432
+ exit !== null && exit(node);
1501
1433
  }
1502
1434
 
1503
1435
  function walkVariableDeclaration(node, visitors) {
1504
- const enterExit = visitors[91];
1505
- let exit = null;
1436
+ let enterExit = visitors[91], exit = null;
1506
1437
  if (enterExit !== null) {
1507
1438
  let enter;
1508
1439
  ({ enter, exit } = enterExit);
1509
- if (enter !== null) enter(node);
1440
+ enter !== null && enter(node);
1510
1441
  }
1511
1442
  walkNode(node.declarations, visitors);
1512
- if (exit !== null) exit(node);
1443
+ exit !== null && exit(node);
1513
1444
  }
1514
1445
 
1515
1446
  function walkVariableDeclarator(node, visitors) {
1516
- const enterExit = visitors[92];
1517
- let exit = null;
1447
+ let enterExit = visitors[92], exit = null;
1518
1448
  if (enterExit !== null) {
1519
1449
  let enter;
1520
1450
  ({ enter, exit } = enterExit);
1521
- if (enter !== null) enter(node);
1451
+ enter !== null && enter(node);
1522
1452
  }
1523
1453
  walkNode(node.id, visitors);
1524
1454
  walkNode(node.init, visitors);
1525
- if (exit !== null) exit(node);
1455
+ exit !== null && exit(node);
1526
1456
  }
1527
1457
 
1528
1458
  function walkWhileStatement(node, visitors) {
1529
- const enterExit = visitors[93];
1530
- let exit = null;
1459
+ let enterExit = visitors[93], exit = null;
1531
1460
  if (enterExit !== null) {
1532
1461
  let enter;
1533
1462
  ({ enter, exit } = enterExit);
1534
- if (enter !== null) enter(node);
1463
+ enter !== null && enter(node);
1535
1464
  }
1536
1465
  walkNode(node.test, visitors);
1537
1466
  walkNode(node.body, visitors);
1538
- if (exit !== null) exit(node);
1467
+ exit !== null && exit(node);
1539
1468
  }
1540
1469
 
1541
1470
  function walkWithStatement(node, visitors) {
1542
- const enterExit = visitors[94];
1543
- let exit = null;
1471
+ let enterExit = visitors[94], exit = null;
1544
1472
  if (enterExit !== null) {
1545
1473
  let enter;
1546
1474
  ({ enter, exit } = enterExit);
1547
- if (enter !== null) enter(node);
1475
+ enter !== null && enter(node);
1548
1476
  }
1549
1477
  walkNode(node.object, visitors);
1550
1478
  walkNode(node.body, visitors);
1551
- if (exit !== null) exit(node);
1479
+ exit !== null && exit(node);
1552
1480
  }
1553
1481
 
1554
1482
  function walkYieldExpression(node, visitors) {
1555
- const enterExit = visitors[95];
1556
- let exit = null;
1483
+ let enterExit = visitors[95], exit = null;
1557
1484
  if (enterExit !== null) {
1558
1485
  let enter;
1559
1486
  ({ enter, exit } = enterExit);
1560
- if (enter !== null) enter(node);
1487
+ enter !== null && enter(node);
1561
1488
  }
1562
1489
  walkNode(node.argument, visitors);
1563
- if (exit !== null) exit(node);
1490
+ exit !== null && exit(node);
1564
1491
  }
1565
1492
 
1566
1493
  function walkJSXAttribute(node, visitors) {
1567
- const enterExit = visitors[96];
1568
- let exit = null;
1494
+ let enterExit = visitors[96], exit = null;
1569
1495
  if (enterExit !== null) {
1570
1496
  let enter;
1571
1497
  ({ enter, exit } = enterExit);
1572
- if (enter !== null) enter(node);
1498
+ enter !== null && enter(node);
1573
1499
  }
1574
1500
  walkNode(node.name, visitors);
1575
1501
  walkNode(node.value, visitors);
1576
- if (exit !== null) exit(node);
1502
+ exit !== null && exit(node);
1577
1503
  }
1578
1504
 
1579
1505
  function walkJSXClosingElement(node, visitors) {
1580
- const enterExit = visitors[97];
1581
- let exit = null;
1506
+ let enterExit = visitors[97], exit = null;
1582
1507
  if (enterExit !== null) {
1583
1508
  let enter;
1584
1509
  ({ enter, exit } = enterExit);
1585
- if (enter !== null) enter(node);
1510
+ enter !== null && enter(node);
1586
1511
  }
1587
1512
  walkNode(node.name, visitors);
1588
- if (exit !== null) exit(node);
1513
+ exit !== null && exit(node);
1589
1514
  }
1590
1515
 
1591
1516
  function walkJSXElement(node, visitors) {
1592
- const enterExit = visitors[98];
1593
- let exit = null;
1517
+ let enterExit = visitors[98], exit = null;
1594
1518
  if (enterExit !== null) {
1595
1519
  let enter;
1596
1520
  ({ enter, exit } = enterExit);
1597
- if (enter !== null) enter(node);
1521
+ enter !== null && enter(node);
1598
1522
  }
1599
1523
  walkNode(node.openingElement, visitors);
1600
1524
  walkNode(node.children, visitors);
1601
1525
  walkNode(node.closingElement, visitors);
1602
- if (exit !== null) exit(node);
1526
+ exit !== null && exit(node);
1603
1527
  }
1604
1528
 
1605
1529
  function walkJSXExpressionContainer(node, visitors) {
1606
- const enterExit = visitors[99];
1607
- let exit = null;
1530
+ let enterExit = visitors[99], exit = null;
1608
1531
  if (enterExit !== null) {
1609
1532
  let enter;
1610
1533
  ({ enter, exit } = enterExit);
1611
- if (enter !== null) enter(node);
1534
+ enter !== null && enter(node);
1612
1535
  }
1613
1536
  walkNode(node.expression, visitors);
1614
- if (exit !== null) exit(node);
1537
+ exit !== null && exit(node);
1615
1538
  }
1616
1539
 
1617
1540
  function walkJSXFragment(node, visitors) {
1618
- const enterExit = visitors[100];
1619
- let exit = null;
1541
+ let enterExit = visitors[100], exit = null;
1620
1542
  if (enterExit !== null) {
1621
1543
  let enter;
1622
1544
  ({ enter, exit } = enterExit);
1623
- if (enter !== null) enter(node);
1545
+ enter !== null && enter(node);
1624
1546
  }
1625
1547
  walkNode(node.openingFragment, visitors);
1626
1548
  walkNode(node.children, visitors);
1627
1549
  walkNode(node.closingFragment, visitors);
1628
- if (exit !== null) exit(node);
1550
+ exit !== null && exit(node);
1629
1551
  }
1630
1552
 
1631
1553
  function walkJSXMemberExpression(node, visitors) {
1632
- const enterExit = visitors[101];
1633
- let exit = null;
1554
+ let enterExit = visitors[101], exit = null;
1634
1555
  if (enterExit !== null) {
1635
1556
  let enter;
1636
1557
  ({ enter, exit } = enterExit);
1637
- if (enter !== null) enter(node);
1558
+ enter !== null && enter(node);
1638
1559
  }
1639
1560
  walkNode(node.object, visitors);
1640
1561
  walkNode(node.property, visitors);
1641
- if (exit !== null) exit(node);
1562
+ exit !== null && exit(node);
1642
1563
  }
1643
1564
 
1644
1565
  function walkJSXNamespacedName(node, visitors) {
1645
- const enterExit = visitors[102];
1646
- let exit = null;
1566
+ let enterExit = visitors[102], exit = null;
1647
1567
  if (enterExit !== null) {
1648
1568
  let enter;
1649
1569
  ({ enter, exit } = enterExit);
1650
- if (enter !== null) enter(node);
1570
+ enter !== null && enter(node);
1651
1571
  }
1652
1572
  walkNode(node.namespace, visitors);
1653
1573
  walkNode(node.name, visitors);
1654
- if (exit !== null) exit(node);
1574
+ exit !== null && exit(node);
1655
1575
  }
1656
1576
 
1657
1577
  function walkJSXOpeningElement(node, visitors) {
1658
- const enterExit = visitors[103];
1659
- let exit = null;
1578
+ let enterExit = visitors[103], exit = null;
1660
1579
  if (enterExit !== null) {
1661
1580
  let enter;
1662
1581
  ({ enter, exit } = enterExit);
1663
- if (enter !== null) enter(node);
1582
+ enter !== null && enter(node);
1664
1583
  }
1665
1584
  walkNode(node.name, visitors);
1666
1585
  walkNode(node.typeArguments, visitors);
1667
1586
  walkNode(node.attributes, visitors);
1668
- if (exit !== null) exit(node);
1587
+ exit !== null && exit(node);
1669
1588
  }
1670
1589
 
1671
1590
  function walkJSXSpreadAttribute(node, visitors) {
1672
- const enterExit = visitors[104];
1673
- let exit = null;
1591
+ let enterExit = visitors[104], exit = null;
1674
1592
  if (enterExit !== null) {
1675
1593
  let enter;
1676
1594
  ({ enter, exit } = enterExit);
1677
- if (enter !== null) enter(node);
1595
+ enter !== null && enter(node);
1678
1596
  }
1679
1597
  walkNode(node.argument, visitors);
1680
- if (exit !== null) exit(node);
1598
+ exit !== null && exit(node);
1681
1599
  }
1682
1600
 
1683
1601
  function walkJSXSpreadChild(node, visitors) {
1684
- const enterExit = visitors[105];
1685
- let exit = null;
1602
+ let enterExit = visitors[105], exit = null;
1686
1603
  if (enterExit !== null) {
1687
1604
  let enter;
1688
1605
  ({ enter, exit } = enterExit);
1689
- if (enter !== null) enter(node);
1606
+ enter !== null && enter(node);
1690
1607
  }
1691
1608
  walkNode(node.expression, visitors);
1692
- if (exit !== null) exit(node);
1609
+ exit !== null && exit(node);
1693
1610
  }
1694
1611
 
1695
1612
  function walkTSAbstractAccessorProperty(node, visitors) {
1696
- const enterExit = visitors[106];
1697
- let exit = null;
1613
+ let enterExit = visitors[106], exit = null;
1698
1614
  if (enterExit !== null) {
1699
1615
  let enter;
1700
1616
  ({ enter, exit } = enterExit);
1701
- if (enter !== null) enter(node);
1617
+ enter !== null && enter(node);
1702
1618
  }
1703
1619
  walkNode(node.decorators, visitors);
1704
1620
  walkNode(node.key, visitors);
1705
1621
  walkNode(node.typeAnnotation, visitors);
1706
- if (exit !== null) exit(node);
1622
+ exit !== null && exit(node);
1707
1623
  }
1708
1624
 
1709
1625
  function walkTSAbstractMethodDefinition(node, visitors) {
1710
- const enterExit = visitors[107];
1711
- let exit = null;
1626
+ let enterExit = visitors[107], exit = null;
1712
1627
  if (enterExit !== null) {
1713
1628
  let enter;
1714
1629
  ({ enter, exit } = enterExit);
1715
- if (enter !== null) enter(node);
1630
+ enter !== null && enter(node);
1716
1631
  }
1717
1632
  walkNode(node.key, visitors);
1718
1633
  walkNode(node.value, visitors);
1719
- if (exit !== null) exit(node);
1634
+ exit !== null && exit(node);
1720
1635
  }
1721
1636
 
1722
1637
  function walkTSAbstractPropertyDefinition(node, visitors) {
1723
- const enterExit = visitors[108];
1724
- let exit = null;
1638
+ let enterExit = visitors[108], exit = null;
1725
1639
  if (enterExit !== null) {
1726
1640
  let enter;
1727
1641
  ({ enter, exit } = enterExit);
1728
- if (enter !== null) enter(node);
1642
+ enter !== null && enter(node);
1729
1643
  }
1730
1644
  walkNode(node.decorators, visitors);
1731
1645
  walkNode(node.key, visitors);
1732
1646
  walkNode(node.typeAnnotation, visitors);
1733
- if (exit !== null) exit(node);
1647
+ exit !== null && exit(node);
1734
1648
  }
1735
1649
 
1736
1650
  function walkTSArrayType(node, visitors) {
1737
- const enterExit = visitors[109];
1738
- let exit = null;
1651
+ let enterExit = visitors[109], exit = null;
1739
1652
  if (enterExit !== null) {
1740
1653
  let enter;
1741
1654
  ({ enter, exit } = enterExit);
1742
- if (enter !== null) enter(node);
1655
+ enter !== null && enter(node);
1743
1656
  }
1744
1657
  walkNode(node.elementType, visitors);
1745
- if (exit !== null) exit(node);
1658
+ exit !== null && exit(node);
1746
1659
  }
1747
1660
 
1748
1661
  function walkTSAsExpression(node, visitors) {
1749
- const enterExit = visitors[110];
1750
- let exit = null;
1662
+ let enterExit = visitors[110], exit = null;
1751
1663
  if (enterExit !== null) {
1752
1664
  let enter;
1753
1665
  ({ enter, exit } = enterExit);
1754
- if (enter !== null) enter(node);
1666
+ enter !== null && enter(node);
1755
1667
  }
1756
1668
  walkNode(node.expression, visitors);
1757
1669
  walkNode(node.typeAnnotation, visitors);
1758
- if (exit !== null) exit(node);
1670
+ exit !== null && exit(node);
1759
1671
  }
1760
1672
 
1761
1673
  function walkTSCallSignatureDeclaration(node, visitors) {
1762
- const enterExit = visitors[111];
1763
- let exit = null;
1674
+ let enterExit = visitors[111], exit = null;
1764
1675
  if (enterExit !== null) {
1765
1676
  let enter;
1766
1677
  ({ enter, exit } = enterExit);
1767
- if (enter !== null) enter(node);
1678
+ enter !== null && enter(node);
1768
1679
  }
1769
1680
  walkNode(node.typeParameters, visitors);
1770
1681
  walkNode(node.params, visitors);
1771
1682
  walkNode(node.returnType, visitors);
1772
- if (exit !== null) exit(node);
1683
+ exit !== null && exit(node);
1773
1684
  }
1774
1685
 
1775
1686
  function walkTSClassImplements(node, visitors) {
1776
- const enterExit = visitors[112];
1777
- let exit = null;
1687
+ let enterExit = visitors[112], exit = null;
1778
1688
  if (enterExit !== null) {
1779
1689
  let enter;
1780
1690
  ({ enter, exit } = enterExit);
1781
- if (enter !== null) enter(node);
1691
+ enter !== null && enter(node);
1782
1692
  }
1783
1693
  walkNode(node.expression, visitors);
1784
1694
  walkNode(node.typeArguments, visitors);
1785
- if (exit !== null) exit(node);
1695
+ exit !== null && exit(node);
1786
1696
  }
1787
1697
 
1788
1698
  function walkTSConditionalType(node, visitors) {
1789
- const enterExit = visitors[113];
1790
- let exit = null;
1699
+ let enterExit = visitors[113], exit = null;
1791
1700
  if (enterExit !== null) {
1792
1701
  let enter;
1793
1702
  ({ enter, exit } = enterExit);
1794
- if (enter !== null) enter(node);
1703
+ enter !== null && enter(node);
1795
1704
  }
1796
1705
  walkNode(node.checkType, visitors);
1797
1706
  walkNode(node.extendsType, visitors);
1798
1707
  walkNode(node.trueType, visitors);
1799
1708
  walkNode(node.falseType, visitors);
1800
- if (exit !== null) exit(node);
1709
+ exit !== null && exit(node);
1801
1710
  }
1802
1711
 
1803
1712
  function walkTSConstructSignatureDeclaration(node, visitors) {
1804
- const enterExit = visitors[114];
1805
- let exit = null;
1713
+ let enterExit = visitors[114], exit = null;
1806
1714
  if (enterExit !== null) {
1807
1715
  let enter;
1808
1716
  ({ enter, exit } = enterExit);
1809
- if (enter !== null) enter(node);
1717
+ enter !== null && enter(node);
1810
1718
  }
1811
1719
  walkNode(node.typeParameters, visitors);
1812
1720
  walkNode(node.params, visitors);
1813
1721
  walkNode(node.returnType, visitors);
1814
- if (exit !== null) exit(node);
1722
+ exit !== null && exit(node);
1815
1723
  }
1816
1724
 
1817
1725
  function walkTSConstructorType(node, visitors) {
1818
- const enterExit = visitors[115];
1819
- let exit = null;
1726
+ let enterExit = visitors[115], exit = null;
1820
1727
  if (enterExit !== null) {
1821
1728
  let enter;
1822
1729
  ({ enter, exit } = enterExit);
1823
- if (enter !== null) enter(node);
1730
+ enter !== null && enter(node);
1824
1731
  }
1825
1732
  walkNode(node.typeParameters, visitors);
1826
1733
  walkNode(node.params, visitors);
1827
1734
  walkNode(node.returnType, visitors);
1828
- if (exit !== null) exit(node);
1735
+ exit !== null && exit(node);
1829
1736
  }
1830
1737
 
1831
1738
  function walkTSDeclareFunction(node, visitors) {
1832
- const enterExit = visitors[116];
1833
- let exit = null;
1739
+ let enterExit = visitors[116], exit = null;
1834
1740
  if (enterExit !== null) {
1835
1741
  let enter;
1836
1742
  ({ enter, exit } = enterExit);
1837
- if (enter !== null) enter(node);
1743
+ enter !== null && enter(node);
1838
1744
  }
1839
1745
  walkNode(node.id, visitors);
1840
1746
  walkNode(node.typeParameters, visitors);
1841
1747
  walkNode(node.params, visitors);
1842
1748
  walkNode(node.returnType, visitors);
1843
1749
  walkNode(node.body, visitors);
1844
- if (exit !== null) exit(node);
1750
+ exit !== null && exit(node);
1845
1751
  }
1846
1752
 
1847
1753
  function walkTSEmptyBodyFunctionExpression(node, visitors) {
1848
- const enterExit = visitors[117];
1849
- let exit = null;
1754
+ let enterExit = visitors[117], exit = null;
1850
1755
  if (enterExit !== null) {
1851
1756
  let enter;
1852
1757
  ({ enter, exit } = enterExit);
1853
- if (enter !== null) enter(node);
1758
+ enter !== null && enter(node);
1854
1759
  }
1855
1760
  walkNode(node.id, visitors);
1856
1761
  walkNode(node.typeParameters, visitors);
1857
1762
  walkNode(node.params, visitors);
1858
1763
  walkNode(node.returnType, visitors);
1859
- if (exit !== null) exit(node);
1764
+ exit !== null && exit(node);
1860
1765
  }
1861
1766
 
1862
1767
  function walkTSEnumBody(node, visitors) {
1863
- const enterExit = visitors[118];
1864
- let exit = null;
1768
+ let enterExit = visitors[118], exit = null;
1865
1769
  if (enterExit !== null) {
1866
1770
  let enter;
1867
1771
  ({ enter, exit } = enterExit);
1868
- if (enter !== null) enter(node);
1772
+ enter !== null && enter(node);
1869
1773
  }
1870
1774
  walkNode(node.members, visitors);
1871
- if (exit !== null) exit(node);
1775
+ exit !== null && exit(node);
1872
1776
  }
1873
1777
 
1874
1778
  function walkTSEnumDeclaration(node, visitors) {
1875
- const enterExit = visitors[119];
1876
- let exit = null;
1779
+ let enterExit = visitors[119], exit = null;
1877
1780
  if (enterExit !== null) {
1878
1781
  let enter;
1879
1782
  ({ enter, exit } = enterExit);
1880
- if (enter !== null) enter(node);
1783
+ enter !== null && enter(node);
1881
1784
  }
1882
1785
  walkNode(node.id, visitors);
1883
1786
  walkNode(node.body, visitors);
1884
- if (exit !== null) exit(node);
1787
+ exit !== null && exit(node);
1885
1788
  }
1886
1789
 
1887
1790
  function walkTSEnumMember(node, visitors) {
1888
- const enterExit = visitors[120];
1889
- let exit = null;
1791
+ let enterExit = visitors[120], exit = null;
1890
1792
  if (enterExit !== null) {
1891
1793
  let enter;
1892
1794
  ({ enter, exit } = enterExit);
1893
- if (enter !== null) enter(node);
1795
+ enter !== null && enter(node);
1894
1796
  }
1895
1797
  walkNode(node.id, visitors);
1896
1798
  walkNode(node.initializer, visitors);
1897
- if (exit !== null) exit(node);
1799
+ exit !== null && exit(node);
1898
1800
  }
1899
1801
 
1900
1802
  function walkTSExportAssignment(node, visitors) {
1901
- const enterExit = visitors[121];
1902
- let exit = null;
1803
+ let enterExit = visitors[121], exit = null;
1903
1804
  if (enterExit !== null) {
1904
1805
  let enter;
1905
1806
  ({ enter, exit } = enterExit);
1906
- if (enter !== null) enter(node);
1807
+ enter !== null && enter(node);
1907
1808
  }
1908
1809
  walkNode(node.expression, visitors);
1909
- if (exit !== null) exit(node);
1810
+ exit !== null && exit(node);
1910
1811
  }
1911
1812
 
1912
1813
  function walkTSExternalModuleReference(node, visitors) {
1913
- const enterExit = visitors[122];
1914
- let exit = null;
1814
+ let enterExit = visitors[122], exit = null;
1915
1815
  if (enterExit !== null) {
1916
1816
  let enter;
1917
1817
  ({ enter, exit } = enterExit);
1918
- if (enter !== null) enter(node);
1818
+ enter !== null && enter(node);
1919
1819
  }
1920
1820
  walkNode(node.expression, visitors);
1921
- if (exit !== null) exit(node);
1821
+ exit !== null && exit(node);
1922
1822
  }
1923
1823
 
1924
1824
  function walkTSFunctionType(node, visitors) {
1925
- const enterExit = visitors[123];
1926
- let exit = null;
1825
+ let enterExit = visitors[123], exit = null;
1927
1826
  if (enterExit !== null) {
1928
1827
  let enter;
1929
1828
  ({ enter, exit } = enterExit);
1930
- if (enter !== null) enter(node);
1829
+ enter !== null && enter(node);
1931
1830
  }
1932
1831
  walkNode(node.typeParameters, visitors);
1933
1832
  walkNode(node.params, visitors);
1934
1833
  walkNode(node.returnType, visitors);
1935
- if (exit !== null) exit(node);
1834
+ exit !== null && exit(node);
1936
1835
  }
1937
1836
 
1938
1837
  function walkTSImportEqualsDeclaration(node, visitors) {
1939
- const enterExit = visitors[124];
1940
- let exit = null;
1838
+ let enterExit = visitors[124], exit = null;
1941
1839
  if (enterExit !== null) {
1942
1840
  let enter;
1943
1841
  ({ enter, exit } = enterExit);
1944
- if (enter !== null) enter(node);
1842
+ enter !== null && enter(node);
1945
1843
  }
1946
1844
  walkNode(node.id, visitors);
1947
1845
  walkNode(node.moduleReference, visitors);
1948
- if (exit !== null) exit(node);
1846
+ exit !== null && exit(node);
1949
1847
  }
1950
1848
 
1951
1849
  function walkTSImportType(node, visitors) {
1952
- const enterExit = visitors[125];
1953
- let exit = null;
1850
+ let enterExit = visitors[125], exit = null;
1954
1851
  if (enterExit !== null) {
1955
1852
  let enter;
1956
1853
  ({ enter, exit } = enterExit);
1957
- if (enter !== null) enter(node);
1854
+ enter !== null && enter(node);
1958
1855
  }
1959
1856
  walkNode(node.argument, visitors);
1960
1857
  walkNode(node.options, visitors);
1961
1858
  walkNode(node.qualifier, visitors);
1962
1859
  walkNode(node.typeArguments, visitors);
1963
- if (exit !== null) exit(node);
1860
+ exit !== null && exit(node);
1964
1861
  }
1965
1862
 
1966
1863
  function walkTSIndexSignature(node, visitors) {
1967
- const enterExit = visitors[126];
1968
- let exit = null;
1864
+ let enterExit = visitors[126], exit = null;
1969
1865
  if (enterExit !== null) {
1970
1866
  let enter;
1971
1867
  ({ enter, exit } = enterExit);
1972
- if (enter !== null) enter(node);
1868
+ enter !== null && enter(node);
1973
1869
  }
1974
1870
  walkNode(node.parameters, visitors);
1975
1871
  walkNode(node.typeAnnotation, visitors);
1976
- if (exit !== null) exit(node);
1872
+ exit !== null && exit(node);
1977
1873
  }
1978
1874
 
1979
1875
  function walkTSIndexedAccessType(node, visitors) {
1980
- const enterExit = visitors[127];
1981
- let exit = null;
1876
+ let enterExit = visitors[127], exit = null;
1982
1877
  if (enterExit !== null) {
1983
1878
  let enter;
1984
1879
  ({ enter, exit } = enterExit);
1985
- if (enter !== null) enter(node);
1880
+ enter !== null && enter(node);
1986
1881
  }
1987
1882
  walkNode(node.objectType, visitors);
1988
1883
  walkNode(node.indexType, visitors);
1989
- if (exit !== null) exit(node);
1884
+ exit !== null && exit(node);
1990
1885
  }
1991
1886
 
1992
1887
  function walkTSInferType(node, visitors) {
1993
- const enterExit = visitors[128];
1994
- let exit = null;
1888
+ let enterExit = visitors[128], exit = null;
1995
1889
  if (enterExit !== null) {
1996
1890
  let enter;
1997
1891
  ({ enter, exit } = enterExit);
1998
- if (enter !== null) enter(node);
1892
+ enter !== null && enter(node);
1999
1893
  }
2000
1894
  walkNode(node.typeParameter, visitors);
2001
- if (exit !== null) exit(node);
1895
+ exit !== null && exit(node);
2002
1896
  }
2003
1897
 
2004
1898
  function walkTSInstantiationExpression(node, visitors) {
2005
- const enterExit = visitors[129];
2006
- let exit = null;
1899
+ let enterExit = visitors[129], exit = null;
2007
1900
  if (enterExit !== null) {
2008
1901
  let enter;
2009
1902
  ({ enter, exit } = enterExit);
2010
- if (enter !== null) enter(node);
1903
+ enter !== null && enter(node);
2011
1904
  }
2012
1905
  walkNode(node.expression, visitors);
2013
1906
  walkNode(node.typeArguments, visitors);
2014
- if (exit !== null) exit(node);
1907
+ exit !== null && exit(node);
2015
1908
  }
2016
1909
 
2017
1910
  function walkTSInterfaceBody(node, visitors) {
2018
- const enterExit = visitors[130];
2019
- let exit = null;
1911
+ let enterExit = visitors[130], exit = null;
2020
1912
  if (enterExit !== null) {
2021
1913
  let enter;
2022
1914
  ({ enter, exit } = enterExit);
2023
- if (enter !== null) enter(node);
1915
+ enter !== null && enter(node);
2024
1916
  }
2025
1917
  walkNode(node.body, visitors);
2026
- if (exit !== null) exit(node);
1918
+ exit !== null && exit(node);
2027
1919
  }
2028
1920
 
2029
1921
  function walkTSInterfaceDeclaration(node, visitors) {
2030
- const enterExit = visitors[131];
2031
- let exit = null;
1922
+ let enterExit = visitors[131], exit = null;
2032
1923
  if (enterExit !== null) {
2033
1924
  let enter;
2034
1925
  ({ enter, exit } = enterExit);
2035
- if (enter !== null) enter(node);
1926
+ enter !== null && enter(node);
2036
1927
  }
2037
1928
  walkNode(node.id, visitors);
2038
1929
  walkNode(node.typeParameters, visitors);
2039
1930
  walkNode(node.extends, visitors);
2040
1931
  walkNode(node.body, visitors);
2041
- if (exit !== null) exit(node);
1932
+ exit !== null && exit(node);
2042
1933
  }
2043
1934
 
2044
1935
  function walkTSInterfaceHeritage(node, visitors) {
2045
- const enterExit = visitors[132];
2046
- let exit = null;
1936
+ let enterExit = visitors[132], exit = null;
2047
1937
  if (enterExit !== null) {
2048
1938
  let enter;
2049
1939
  ({ enter, exit } = enterExit);
2050
- if (enter !== null) enter(node);
1940
+ enter !== null && enter(node);
2051
1941
  }
2052
1942
  walkNode(node.expression, visitors);
2053
1943
  walkNode(node.typeArguments, visitors);
2054
- if (exit !== null) exit(node);
1944
+ exit !== null && exit(node);
2055
1945
  }
2056
1946
 
2057
1947
  function walkTSIntersectionType(node, visitors) {
2058
- const enterExit = visitors[133];
2059
- let exit = null;
1948
+ let enterExit = visitors[133], exit = null;
2060
1949
  if (enterExit !== null) {
2061
1950
  let enter;
2062
1951
  ({ enter, exit } = enterExit);
2063
- if (enter !== null) enter(node);
1952
+ enter !== null && enter(node);
2064
1953
  }
2065
1954
  walkNode(node.types, visitors);
2066
- if (exit !== null) exit(node);
1955
+ exit !== null && exit(node);
2067
1956
  }
2068
1957
 
2069
1958
  function walkTSJSDocNonNullableType(node, visitors) {
2070
- const enterExit = visitors[134];
2071
- let exit = null;
1959
+ let enterExit = visitors[134], exit = null;
2072
1960
  if (enterExit !== null) {
2073
1961
  let enter;
2074
1962
  ({ enter, exit } = enterExit);
2075
- if (enter !== null) enter(node);
1963
+ enter !== null && enter(node);
2076
1964
  }
2077
1965
  walkNode(node.typeAnnotation, visitors);
2078
- if (exit !== null) exit(node);
1966
+ exit !== null && exit(node);
2079
1967
  }
2080
1968
 
2081
1969
  function walkTSJSDocNullableType(node, visitors) {
2082
- const enterExit = visitors[135];
2083
- let exit = null;
1970
+ let enterExit = visitors[135], exit = null;
2084
1971
  if (enterExit !== null) {
2085
1972
  let enter;
2086
1973
  ({ enter, exit } = enterExit);
2087
- if (enter !== null) enter(node);
1974
+ enter !== null && enter(node);
2088
1975
  }
2089
1976
  walkNode(node.typeAnnotation, visitors);
2090
- if (exit !== null) exit(node);
1977
+ exit !== null && exit(node);
2091
1978
  }
2092
1979
 
2093
1980
  function walkTSLiteralType(node, visitors) {
2094
- const enterExit = visitors[136];
2095
- let exit = null;
1981
+ let enterExit = visitors[136], exit = null;
2096
1982
  if (enterExit !== null) {
2097
1983
  let enter;
2098
1984
  ({ enter, exit } = enterExit);
2099
- if (enter !== null) enter(node);
1985
+ enter !== null && enter(node);
2100
1986
  }
2101
1987
  walkNode(node.literal, visitors);
2102
- if (exit !== null) exit(node);
1988
+ exit !== null && exit(node);
2103
1989
  }
2104
1990
 
2105
1991
  function walkTSMappedType(node, visitors) {
2106
- const enterExit = visitors[137];
2107
- let exit = null;
1992
+ let enterExit = visitors[137], exit = null;
2108
1993
  if (enterExit !== null) {
2109
1994
  let enter;
2110
1995
  ({ enter, exit } = enterExit);
2111
- if (enter !== null) enter(node);
1996
+ enter !== null && enter(node);
2112
1997
  }
2113
1998
  walkNode(node.key, visitors);
2114
1999
  walkNode(node.constraint, visitors);
2115
2000
  walkNode(node.nameType, visitors);
2116
2001
  walkNode(node.typeAnnotation, visitors);
2117
- if (exit !== null) exit(node);
2002
+ exit !== null && exit(node);
2118
2003
  }
2119
2004
 
2120
2005
  function walkTSMethodSignature(node, visitors) {
2121
- const enterExit = visitors[138];
2122
- let exit = null;
2006
+ let enterExit = visitors[138], exit = null;
2123
2007
  if (enterExit !== null) {
2124
2008
  let enter;
2125
2009
  ({ enter, exit } = enterExit);
2126
- if (enter !== null) enter(node);
2010
+ enter !== null && enter(node);
2127
2011
  }
2128
2012
  walkNode(node.key, visitors);
2129
2013
  walkNode(node.typeParameters, visitors);
2130
2014
  walkNode(node.params, visitors);
2131
2015
  walkNode(node.returnType, visitors);
2132
- if (exit !== null) exit(node);
2016
+ exit !== null && exit(node);
2133
2017
  }
2134
2018
 
2135
2019
  function walkTSModuleBlock(node, visitors) {
2136
- const enterExit = visitors[139];
2137
- let exit = null;
2020
+ let enterExit = visitors[139], exit = null;
2138
2021
  if (enterExit !== null) {
2139
2022
  let enter;
2140
2023
  ({ enter, exit } = enterExit);
2141
- if (enter !== null) enter(node);
2024
+ enter !== null && enter(node);
2142
2025
  }
2143
2026
  walkNode(node.body, visitors);
2144
- if (exit !== null) exit(node);
2027
+ exit !== null && exit(node);
2145
2028
  }
2146
2029
 
2147
2030
  function walkTSModuleDeclaration(node, visitors) {
2148
- const enterExit = visitors[140];
2149
- let exit = null;
2031
+ let enterExit = visitors[140], exit = null;
2150
2032
  if (enterExit !== null) {
2151
2033
  let enter;
2152
2034
  ({ enter, exit } = enterExit);
2153
- if (enter !== null) enter(node);
2035
+ enter !== null && enter(node);
2154
2036
  }
2155
2037
  walkNode(node.id, visitors);
2156
2038
  walkNode(node.body, visitors);
2157
- if (exit !== null) exit(node);
2039
+ exit !== null && exit(node);
2158
2040
  }
2159
2041
 
2160
2042
  function walkTSNamedTupleMember(node, visitors) {
2161
- const enterExit = visitors[141];
2162
- let exit = null;
2043
+ let enterExit = visitors[141], exit = null;
2163
2044
  if (enterExit !== null) {
2164
2045
  let enter;
2165
2046
  ({ enter, exit } = enterExit);
2166
- if (enter !== null) enter(node);
2047
+ enter !== null && enter(node);
2167
2048
  }
2168
2049
  walkNode(node.label, visitors);
2169
2050
  walkNode(node.elementType, visitors);
2170
- if (exit !== null) exit(node);
2051
+ exit !== null && exit(node);
2171
2052
  }
2172
2053
 
2173
2054
  function walkTSNamespaceExportDeclaration(node, visitors) {
2174
- const enterExit = visitors[142];
2175
- let exit = null;
2055
+ let enterExit = visitors[142], exit = null;
2176
2056
  if (enterExit !== null) {
2177
2057
  let enter;
2178
2058
  ({ enter, exit } = enterExit);
2179
- if (enter !== null) enter(node);
2059
+ enter !== null && enter(node);
2180
2060
  }
2181
2061
  walkNode(node.id, visitors);
2182
- if (exit !== null) exit(node);
2062
+ exit !== null && exit(node);
2183
2063
  }
2184
2064
 
2185
2065
  function walkTSNonNullExpression(node, visitors) {
2186
- const enterExit = visitors[143];
2187
- let exit = null;
2066
+ let enterExit = visitors[143], exit = null;
2188
2067
  if (enterExit !== null) {
2189
2068
  let enter;
2190
2069
  ({ enter, exit } = enterExit);
2191
- if (enter !== null) enter(node);
2070
+ enter !== null && enter(node);
2192
2071
  }
2193
2072
  walkNode(node.expression, visitors);
2194
- if (exit !== null) exit(node);
2073
+ exit !== null && exit(node);
2195
2074
  }
2196
2075
 
2197
2076
  function walkTSOptionalType(node, visitors) {
2198
- const enterExit = visitors[144];
2199
- let exit = null;
2077
+ let enterExit = visitors[144], exit = null;
2200
2078
  if (enterExit !== null) {
2201
2079
  let enter;
2202
2080
  ({ enter, exit } = enterExit);
2203
- if (enter !== null) enter(node);
2081
+ enter !== null && enter(node);
2204
2082
  }
2205
2083
  walkNode(node.typeAnnotation, visitors);
2206
- if (exit !== null) exit(node);
2084
+ exit !== null && exit(node);
2207
2085
  }
2208
2086
 
2209
2087
  function walkTSParameterProperty(node, visitors) {
2210
- const enterExit = visitors[145];
2211
- let exit = null;
2088
+ let enterExit = visitors[145], exit = null;
2212
2089
  if (enterExit !== null) {
2213
2090
  let enter;
2214
2091
  ({ enter, exit } = enterExit);
2215
- if (enter !== null) enter(node);
2092
+ enter !== null && enter(node);
2216
2093
  }
2217
2094
  walkNode(node.decorators, visitors);
2218
2095
  walkNode(node.parameter, visitors);
2219
- if (exit !== null) exit(node);
2096
+ exit !== null && exit(node);
2220
2097
  }
2221
2098
 
2222
2099
  function walkTSParenthesizedType(node, visitors) {
2223
- const enterExit = visitors[146];
2224
- let exit = null;
2100
+ let enterExit = visitors[146], exit = null;
2225
2101
  if (enterExit !== null) {
2226
2102
  let enter;
2227
2103
  ({ enter, exit } = enterExit);
2228
- if (enter !== null) enter(node);
2104
+ enter !== null && enter(node);
2229
2105
  }
2230
2106
  walkNode(node.typeAnnotation, visitors);
2231
- if (exit !== null) exit(node);
2107
+ exit !== null && exit(node);
2232
2108
  }
2233
2109
 
2234
2110
  function walkTSPropertySignature(node, visitors) {
2235
- const enterExit = visitors[147];
2236
- let exit = null;
2111
+ let enterExit = visitors[147], exit = null;
2237
2112
  if (enterExit !== null) {
2238
2113
  let enter;
2239
2114
  ({ enter, exit } = enterExit);
2240
- if (enter !== null) enter(node);
2115
+ enter !== null && enter(node);
2241
2116
  }
2242
2117
  walkNode(node.key, visitors);
2243
2118
  walkNode(node.typeAnnotation, visitors);
2244
- if (exit !== null) exit(node);
2119
+ exit !== null && exit(node);
2245
2120
  }
2246
2121
 
2247
2122
  function walkTSQualifiedName(node, visitors) {
2248
- const enterExit = visitors[148];
2249
- let exit = null;
2123
+ let enterExit = visitors[148], exit = null;
2250
2124
  if (enterExit !== null) {
2251
2125
  let enter;
2252
2126
  ({ enter, exit } = enterExit);
2253
- if (enter !== null) enter(node);
2127
+ enter !== null && enter(node);
2254
2128
  }
2255
2129
  walkNode(node.left, visitors);
2256
2130
  walkNode(node.right, visitors);
2257
- if (exit !== null) exit(node);
2131
+ exit !== null && exit(node);
2258
2132
  }
2259
2133
 
2260
2134
  function walkTSRestType(node, visitors) {
2261
- const enterExit = visitors[149];
2262
- let exit = null;
2135
+ let enterExit = visitors[149], exit = null;
2263
2136
  if (enterExit !== null) {
2264
2137
  let enter;
2265
2138
  ({ enter, exit } = enterExit);
2266
- if (enter !== null) enter(node);
2139
+ enter !== null && enter(node);
2267
2140
  }
2268
2141
  walkNode(node.typeAnnotation, visitors);
2269
- if (exit !== null) exit(node);
2142
+ exit !== null && exit(node);
2270
2143
  }
2271
2144
 
2272
2145
  function walkTSSatisfiesExpression(node, visitors) {
2273
- const enterExit = visitors[150];
2274
- let exit = null;
2146
+ let enterExit = visitors[150], exit = null;
2275
2147
  if (enterExit !== null) {
2276
2148
  let enter;
2277
2149
  ({ enter, exit } = enterExit);
2278
- if (enter !== null) enter(node);
2150
+ enter !== null && enter(node);
2279
2151
  }
2280
2152
  walkNode(node.expression, visitors);
2281
2153
  walkNode(node.typeAnnotation, visitors);
2282
- if (exit !== null) exit(node);
2154
+ exit !== null && exit(node);
2283
2155
  }
2284
2156
 
2285
2157
  function walkTSTemplateLiteralType(node, visitors) {
2286
- const enterExit = visitors[151];
2287
- let exit = null;
2158
+ let enterExit = visitors[151], exit = null;
2288
2159
  if (enterExit !== null) {
2289
2160
  let enter;
2290
2161
  ({ enter, exit } = enterExit);
2291
- if (enter !== null) enter(node);
2162
+ enter !== null && enter(node);
2292
2163
  }
2293
2164
  walkNode(node.quasis, visitors);
2294
2165
  walkNode(node.types, visitors);
2295
- if (exit !== null) exit(node);
2166
+ exit !== null && exit(node);
2296
2167
  }
2297
2168
 
2298
2169
  function walkTSTupleType(node, visitors) {
2299
- const enterExit = visitors[152];
2300
- let exit = null;
2170
+ let enterExit = visitors[152], exit = null;
2301
2171
  if (enterExit !== null) {
2302
2172
  let enter;
2303
2173
  ({ enter, exit } = enterExit);
2304
- if (enter !== null) enter(node);
2174
+ enter !== null && enter(node);
2305
2175
  }
2306
2176
  walkNode(node.elementTypes, visitors);
2307
- if (exit !== null) exit(node);
2177
+ exit !== null && exit(node);
2308
2178
  }
2309
2179
 
2310
2180
  function walkTSTypeAliasDeclaration(node, visitors) {
2311
- const enterExit = visitors[153];
2312
- let exit = null;
2181
+ let enterExit = visitors[153], exit = null;
2313
2182
  if (enterExit !== null) {
2314
2183
  let enter;
2315
2184
  ({ enter, exit } = enterExit);
2316
- if (enter !== null) enter(node);
2185
+ enter !== null && enter(node);
2317
2186
  }
2318
2187
  walkNode(node.id, visitors);
2319
2188
  walkNode(node.typeParameters, visitors);
2320
2189
  walkNode(node.typeAnnotation, visitors);
2321
- if (exit !== null) exit(node);
2190
+ exit !== null && exit(node);
2322
2191
  }
2323
2192
 
2324
2193
  function walkTSTypeAnnotation(node, visitors) {
2325
- const enterExit = visitors[154];
2326
- let exit = null;
2194
+ let enterExit = visitors[154], exit = null;
2327
2195
  if (enterExit !== null) {
2328
2196
  let enter;
2329
2197
  ({ enter, exit } = enterExit);
2330
- if (enter !== null) enter(node);
2198
+ enter !== null && enter(node);
2331
2199
  }
2332
2200
  walkNode(node.typeAnnotation, visitors);
2333
- if (exit !== null) exit(node);
2201
+ exit !== null && exit(node);
2334
2202
  }
2335
2203
 
2336
2204
  function walkTSTypeAssertion(node, visitors) {
2337
- const enterExit = visitors[155];
2338
- let exit = null;
2205
+ let enterExit = visitors[155], exit = null;
2339
2206
  if (enterExit !== null) {
2340
2207
  let enter;
2341
2208
  ({ enter, exit } = enterExit);
2342
- if (enter !== null) enter(node);
2209
+ enter !== null && enter(node);
2343
2210
  }
2344
2211
  walkNode(node.typeAnnotation, visitors);
2345
2212
  walkNode(node.expression, visitors);
2346
- if (exit !== null) exit(node);
2213
+ exit !== null && exit(node);
2347
2214
  }
2348
2215
 
2349
2216
  function walkTSTypeLiteral(node, visitors) {
2350
- const enterExit = visitors[156];
2351
- let exit = null;
2217
+ let enterExit = visitors[156], exit = null;
2352
2218
  if (enterExit !== null) {
2353
2219
  let enter;
2354
2220
  ({ enter, exit } = enterExit);
2355
- if (enter !== null) enter(node);
2221
+ enter !== null && enter(node);
2356
2222
  }
2357
2223
  walkNode(node.members, visitors);
2358
- if (exit !== null) exit(node);
2224
+ exit !== null && exit(node);
2359
2225
  }
2360
2226
 
2361
2227
  function walkTSTypeOperator(node, visitors) {
2362
- const enterExit = visitors[157];
2363
- let exit = null;
2228
+ let enterExit = visitors[157], exit = null;
2364
2229
  if (enterExit !== null) {
2365
2230
  let enter;
2366
2231
  ({ enter, exit } = enterExit);
2367
- if (enter !== null) enter(node);
2232
+ enter !== null && enter(node);
2368
2233
  }
2369
2234
  walkNode(node.typeAnnotation, visitors);
2370
- if (exit !== null) exit(node);
2235
+ exit !== null && exit(node);
2371
2236
  }
2372
2237
 
2373
2238
  function walkTSTypeParameter(node, visitors) {
2374
- const enterExit = visitors[158];
2375
- let exit = null;
2239
+ let enterExit = visitors[158], exit = null;
2376
2240
  if (enterExit !== null) {
2377
2241
  let enter;
2378
2242
  ({ enter, exit } = enterExit);
2379
- if (enter !== null) enter(node);
2243
+ enter !== null && enter(node);
2380
2244
  }
2381
2245
  walkNode(node.name, visitors);
2382
2246
  walkNode(node.constraint, visitors);
2383
2247
  walkNode(node.default, visitors);
2384
- if (exit !== null) exit(node);
2248
+ exit !== null && exit(node);
2385
2249
  }
2386
2250
 
2387
2251
  function walkTSTypeParameterDeclaration(node, visitors) {
2388
- const enterExit = visitors[159];
2389
- let exit = null;
2252
+ let enterExit = visitors[159], exit = null;
2390
2253
  if (enterExit !== null) {
2391
2254
  let enter;
2392
2255
  ({ enter, exit } = enterExit);
2393
- if (enter !== null) enter(node);
2256
+ enter !== null && enter(node);
2394
2257
  }
2395
2258
  walkNode(node.params, visitors);
2396
- if (exit !== null) exit(node);
2259
+ exit !== null && exit(node);
2397
2260
  }
2398
2261
 
2399
2262
  function walkTSTypeParameterInstantiation(node, visitors) {
2400
- const enterExit = visitors[160];
2401
- let exit = null;
2263
+ let enterExit = visitors[160], exit = null;
2402
2264
  if (enterExit !== null) {
2403
2265
  let enter;
2404
2266
  ({ enter, exit } = enterExit);
2405
- if (enter !== null) enter(node);
2267
+ enter !== null && enter(node);
2406
2268
  }
2407
2269
  walkNode(node.params, visitors);
2408
- if (exit !== null) exit(node);
2270
+ exit !== null && exit(node);
2409
2271
  }
2410
2272
 
2411
2273
  function walkTSTypePredicate(node, visitors) {
2412
- const enterExit = visitors[161];
2413
- let exit = null;
2274
+ let enterExit = visitors[161], exit = null;
2414
2275
  if (enterExit !== null) {
2415
2276
  let enter;
2416
2277
  ({ enter, exit } = enterExit);
2417
- if (enter !== null) enter(node);
2278
+ enter !== null && enter(node);
2418
2279
  }
2419
2280
  walkNode(node.parameterName, visitors);
2420
2281
  walkNode(node.typeAnnotation, visitors);
2421
- if (exit !== null) exit(node);
2282
+ exit !== null && exit(node);
2422
2283
  }
2423
2284
 
2424
2285
  function walkTSTypeQuery(node, visitors) {
2425
- const enterExit = visitors[162];
2426
- let exit = null;
2286
+ let enterExit = visitors[162], exit = null;
2427
2287
  if (enterExit !== null) {
2428
2288
  let enter;
2429
2289
  ({ enter, exit } = enterExit);
2430
- if (enter !== null) enter(node);
2290
+ enter !== null && enter(node);
2431
2291
  }
2432
2292
  walkNode(node.exprName, visitors);
2433
2293
  walkNode(node.typeArguments, visitors);
2434
- if (exit !== null) exit(node);
2294
+ exit !== null && exit(node);
2435
2295
  }
2436
2296
 
2437
2297
  function walkTSTypeReference(node, visitors) {
2438
- const enterExit = visitors[163];
2439
- let exit = null;
2298
+ let enterExit = visitors[163], exit = null;
2440
2299
  if (enterExit !== null) {
2441
2300
  let enter;
2442
2301
  ({ enter, exit } = enterExit);
2443
- if (enter !== null) enter(node);
2302
+ enter !== null && enter(node);
2444
2303
  }
2445
2304
  walkNode(node.typeName, visitors);
2446
2305
  walkNode(node.typeArguments, visitors);
2447
- if (exit !== null) exit(node);
2306
+ exit !== null && exit(node);
2448
2307
  }
2449
2308
 
2450
2309
  function walkTSUnionType(node, visitors) {
2451
- const enterExit = visitors[164];
2452
- let exit = null;
2310
+ let enterExit = visitors[164], exit = null;
2453
2311
  if (enterExit !== null) {
2454
2312
  let enter;
2455
2313
  ({ enter, exit } = enterExit);
2456
- if (enter !== null) enter(node);
2314
+ enter !== null && enter(node);
2457
2315
  }
2458
2316
  walkNode(node.types, visitors);
2459
- if (exit !== null) exit(node);
2317
+ exit !== null && exit(node);
2460
2318
  }