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