@danielx/civet 0.1.1 → 0.2.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.
package/dist/main.js CHANGED
@@ -581,14 +581,41 @@ var require_parser = __commonJS({
581
581
  _,
582
582
  __,
583
583
  StatementDelimiter,
584
+ JSXElement,
585
+ JSXSelfClosingElement,
586
+ JSXOpeningElement,
587
+ JSXClosingElement,
588
+ JSXFragment,
589
+ JSXElementName,
590
+ JSXIdentifierName,
591
+ JSXAttributes,
592
+ JSXAttribute,
593
+ JSXAttributeName,
594
+ JSXAttributeInitializer,
595
+ JSXAttributeValue,
596
+ JSXChildren,
597
+ JSXChild,
598
+ JSXText,
599
+ JSXChildExpression,
584
600
  TypeDeclaration,
585
601
  InterfaceBlock,
586
602
  NestedInterfaceProperties,
587
603
  NestedInterfaceProperty,
588
604
  TypeSuffix,
589
605
  Type,
606
+ TypeBinary,
607
+ TypeUnary,
608
+ TypeUnaryOp,
609
+ TypePrimary,
610
+ TypeConditional,
611
+ TypeLiteral,
612
+ TypeBinaryOp,
590
613
  FunctionType,
591
614
  TypeArguments,
615
+ TypeParameters,
616
+ TypeParameter,
617
+ TypeConstraint,
618
+ TypeParameterDelimiter,
592
619
  Shebang,
593
620
  DirectivePrologue,
594
621
  EOS,
@@ -732,10 +759,14 @@ var require_parser = __commonJS({
732
759
  var $L120 = $L("/*");
733
760
  var $L121 = $L("*/");
734
761
  var $L122 = $L("###");
735
- var $L123 = $L("interface");
736
- var $L124 = $L("[]");
737
- var $L125 = $L(" ");
738
- var $L126 = $L(" ");
762
+ var $L123 = $L("/>");
763
+ var $L124 = $L("</");
764
+ var $L125 = $L("<>");
765
+ var $L126 = $L("</>");
766
+ var $L127 = $L("infer");
767
+ var $L128 = $L("[]");
768
+ var $L129 = $L(" ");
769
+ var $L130 = $L(" ");
739
770
  var $R0 = $R(new RegExp("(of)(?!\\p{ID_Continue})", "suy"));
740
771
  var $R1 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
741
772
  var $R2 = $R(new RegExp("\\p{ID_Continue}", "suy"));
@@ -759,10 +790,17 @@ var require_parser = __commonJS({
759
790
  var $R20 = $R(new RegExp("[^\\r\\n]", "suy"));
760
791
  var $R21 = $R(new RegExp("[\\t ]+", "suy"));
761
792
  var $R22 = $R(new RegExp("[\\s]+", "suy"));
762
- var $R23 = $R(new RegExp("#![^\\r\\n]*", "suy"));
763
- var $R24 = $R(new RegExp("[\\t ]*", "suy"));
764
- var $R25 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
765
- var $R26 = $R(new RegExp("$", "suy"));
793
+ var $R23 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
794
+ var $R24 = $R(new RegExp('"[^"]*"', "suy"));
795
+ var $R25 = $R(new RegExp("'[^']*'", "suy"));
796
+ var $R26 = $R(new RegExp("[^{}<>]+", "suy"));
797
+ var $R27 = $R(new RegExp("type(?!\\p{ID_Continue})", "suy"));
798
+ var $R28 = $R(new RegExp("interface(?!\\p{ID_Continue})", "suy"));
799
+ var $R29 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
800
+ var $R30 = $R(new RegExp("#![^\\r\\n]*", "suy"));
801
+ var $R31 = $R(new RegExp("[\\t ]*", "suy"));
802
+ var $R32 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
803
+ var $R33 = $R(new RegExp("$", "suy"));
766
804
  var Program$0 = $S(Init, __, $Q(TopLevelStatement), __);
767
805
  function Program(state) {
768
806
  if (state.verbose)
@@ -973,11 +1011,13 @@ var require_parser = __commonJS({
973
1011
  var PrimaryExpression$7 = RegularExpressionLiteral;
974
1012
  var PrimaryExpression$8 = TemplateLiteral;
975
1013
  var PrimaryExpression$9 = $S($EXPECT($L1, fail, 'PrimaryExpression "("'), __, Expression, __, $EXPECT($L2, fail, 'PrimaryExpression ")"'));
1014
+ var PrimaryExpression$10 = JSXElement;
1015
+ var PrimaryExpression$11 = JSXFragment;
976
1016
  function PrimaryExpression(state) {
977
1017
  if (state.tokenize) {
978
- return $TOKEN("PrimaryExpression", state, PrimaryExpression$0(state) || PrimaryExpression$1(state) || PrimaryExpression$2(state) || PrimaryExpression$3(state) || PrimaryExpression$4(state) || PrimaryExpression$5(state) || PrimaryExpression$6(state) || PrimaryExpression$7(state) || PrimaryExpression$8(state) || PrimaryExpression$9(state));
1018
+ return $TOKEN("PrimaryExpression", state, PrimaryExpression$0(state) || PrimaryExpression$1(state) || PrimaryExpression$2(state) || PrimaryExpression$3(state) || PrimaryExpression$4(state) || PrimaryExpression$5(state) || PrimaryExpression$6(state) || PrimaryExpression$7(state) || PrimaryExpression$8(state) || PrimaryExpression$9(state) || PrimaryExpression$10(state) || PrimaryExpression$11(state));
979
1019
  } else {
980
- return PrimaryExpression$0(state) || PrimaryExpression$1(state) || PrimaryExpression$2(state) || PrimaryExpression$3(state) || PrimaryExpression$4(state) || PrimaryExpression$5(state) || PrimaryExpression$6(state) || PrimaryExpression$7(state) || PrimaryExpression$8(state) || PrimaryExpression$9(state);
1020
+ return PrimaryExpression$0(state) || PrimaryExpression$1(state) || PrimaryExpression$2(state) || PrimaryExpression$3(state) || PrimaryExpression$4(state) || PrimaryExpression$5(state) || PrimaryExpression$6(state) || PrimaryExpression$7(state) || PrimaryExpression$8(state) || PrimaryExpression$9(state) || PrimaryExpression$10(state) || PrimaryExpression$11(state);
981
1021
  }
982
1022
  }
983
1023
  var ClassDeclaration$0 = ClassExpression;
@@ -2164,9 +2204,9 @@ var require_parser = __commonJS({
2164
2204
  var KeywordStatement$0 = $EXPECT($L104, fail, 'KeywordStatement "break"');
2165
2205
  var KeywordStatement$1 = $EXPECT($L105, fail, 'KeywordStatement "continue"');
2166
2206
  var KeywordStatement$2 = $EXPECT($L106, fail, 'KeywordStatement "debugger"');
2167
- var KeywordStatement$3 = $S($EXPECT($L107, fail, 'KeywordStatement "return"'), $P(_), Expression);
2207
+ var KeywordStatement$3 = $S($EXPECT($L107, fail, 'KeywordStatement "return"'), Expression);
2168
2208
  var KeywordStatement$4 = $EXPECT($L107, fail, 'KeywordStatement "return"');
2169
- var KeywordStatement$5 = $S($EXPECT($L108, fail, 'KeywordStatement "throw"'), $P(_), Expression);
2209
+ var KeywordStatement$5 = $S($EXPECT($L108, fail, 'KeywordStatement "throw"'), Expression);
2170
2210
  function KeywordStatement(state) {
2171
2211
  if (state.tokenize) {
2172
2212
  return $TOKEN("KeywordStatement", state, KeywordStatement$0(state) || KeywordStatement$1(state) || KeywordStatement$2(state) || KeywordStatement$3(state) || KeywordStatement$4(state) || KeywordStatement$5(state));
@@ -2703,16 +2743,184 @@ var require_parser = __commonJS({
2703
2743
  return StatementDelimiter$0(state) || StatementDelimiter$1(state);
2704
2744
  }
2705
2745
  }
2706
- var TypeDeclaration$0 = $T($S($EXPECT($L123, fail, 'TypeDeclaration "interface"'), $Q(TrailingComment), IdentifierName, InterfaceBlock), function(value) {
2746
+ var JSXElement$0 = JSXSelfClosingElement;
2747
+ var JSXElement$1 = $TS($S(JSXOpeningElement, $Q(JSXChildren), __, JSXClosingElement), function($skip, $loc, $0, $1, $2, $3, $4) {
2748
+ if ($1[1] !== $4[2]) {
2749
+ console.log($1, $4, $loc);
2750
+ throw new Error(`mismatched closing tags at ${JSON.stringify($loc)}`);
2751
+ }
2752
+ return $0;
2753
+ });
2754
+ function JSXElement(state) {
2755
+ if (state.tokenize) {
2756
+ return $TOKEN("JSXElement", state, JSXElement$0(state) || JSXElement$1(state));
2757
+ } else {
2758
+ return JSXElement$0(state) || JSXElement$1(state);
2759
+ }
2760
+ }
2761
+ var JSXSelfClosingElement$0 = $S($EXPECT($L13, fail, 'JSXSelfClosingElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L123, fail, 'JSXSelfClosingElement "/>"'));
2762
+ function JSXSelfClosingElement(state) {
2763
+ if (state.verbose)
2764
+ console.log("ENTER:", "JSXSelfClosingElement");
2765
+ if (state.tokenize) {
2766
+ return $TOKEN("JSXSelfClosingElement", state, JSXSelfClosingElement$0(state));
2767
+ } else {
2768
+ return JSXSelfClosingElement$0(state);
2769
+ }
2770
+ }
2771
+ var JSXOpeningElement$0 = $S($EXPECT($L13, fail, 'JSXOpeningElement "<"'), $TEXT(JSXElementName), $E(JSXAttributes), __, $EXPECT($L65, fail, 'JSXOpeningElement ">"'));
2772
+ function JSXOpeningElement(state) {
2773
+ if (state.verbose)
2774
+ console.log("ENTER:", "JSXOpeningElement");
2775
+ if (state.tokenize) {
2776
+ return $TOKEN("JSXOpeningElement", state, JSXOpeningElement$0(state));
2777
+ } else {
2778
+ return JSXOpeningElement$0(state);
2779
+ }
2780
+ }
2781
+ var JSXClosingElement$0 = $S($EXPECT($L124, fail, 'JSXClosingElement "</"'), __, $TEXT(JSXElementName), __, $EXPECT($L65, fail, 'JSXClosingElement ">"'));
2782
+ function JSXClosingElement(state) {
2783
+ if (state.verbose)
2784
+ console.log("ENTER:", "JSXClosingElement");
2785
+ if (state.tokenize) {
2786
+ return $TOKEN("JSXClosingElement", state, JSXClosingElement$0(state));
2787
+ } else {
2788
+ return JSXClosingElement$0(state);
2789
+ }
2790
+ }
2791
+ var JSXFragment$0 = $S($EXPECT($L125, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L126, fail, 'JSXFragment "</>"'));
2792
+ function JSXFragment(state) {
2793
+ if (state.verbose)
2794
+ console.log("ENTER:", "JSXFragment");
2795
+ if (state.tokenize) {
2796
+ return $TOKEN("JSXFragment", state, JSXFragment$0(state));
2797
+ } else {
2798
+ return JSXFragment$0(state);
2799
+ }
2800
+ }
2801
+ var JSXElementName$0 = $S(JSXIdentifierName, $C($S($EXPECT($L11, fail, 'JSXElementName ":"'), JSXIdentifierName), $Q($S($EXPECT($L25, fail, 'JSXElementName "."'), JSXIdentifierName))));
2802
+ function JSXElementName(state) {
2803
+ if (state.verbose)
2804
+ console.log("ENTER:", "JSXElementName");
2805
+ if (state.tokenize) {
2806
+ return $TOKEN("JSXElementName", state, JSXElementName$0(state));
2807
+ } else {
2808
+ return JSXElementName$0(state);
2809
+ }
2810
+ }
2811
+ var JSXIdentifierName$0 = $R$0($EXPECT($R23, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
2812
+ function JSXIdentifierName(state) {
2813
+ if (state.verbose)
2814
+ console.log("ENTER:", "JSXIdentifierName");
2815
+ if (state.tokenize) {
2816
+ return $TOKEN("JSXIdentifierName", state, JSXIdentifierName$0(state));
2817
+ } else {
2818
+ return JSXIdentifierName$0(state);
2819
+ }
2820
+ }
2821
+ var JSXAttributes$0 = $Q($S(__, JSXAttribute));
2822
+ function JSXAttributes(state) {
2823
+ if (state.verbose)
2824
+ console.log("ENTER:", "JSXAttributes");
2825
+ if (state.tokenize) {
2826
+ return $TOKEN("JSXAttributes", state, JSXAttributes$0(state));
2827
+ } else {
2828
+ return JSXAttributes$0(state);
2829
+ }
2830
+ }
2831
+ var JSXAttribute$0 = $S($EXPECT($L10, fail, 'JSXAttribute "{"'), __, $EXPECT($L30, fail, 'JSXAttribute "..."'), __, AssignmentExpression, __, $EXPECT($L15, fail, 'JSXAttribute "}"'));
2832
+ var JSXAttribute$1 = $S(JSXAttributeName, $E(JSXAttributeInitializer));
2833
+ function JSXAttribute(state) {
2834
+ if (state.tokenize) {
2835
+ return $TOKEN("JSXAttribute", state, JSXAttribute$0(state) || JSXAttribute$1(state));
2836
+ } else {
2837
+ return JSXAttribute$0(state) || JSXAttribute$1(state);
2838
+ }
2839
+ }
2840
+ var JSXAttributeName$0 = $S(JSXIdentifierName, $E($S($EXPECT($L11, fail, 'JSXAttributeName ":"'), JSXIdentifierName)));
2841
+ function JSXAttributeName(state) {
2842
+ if (state.verbose)
2843
+ console.log("ENTER:", "JSXAttributeName");
2844
+ if (state.tokenize) {
2845
+ return $TOKEN("JSXAttributeName", state, JSXAttributeName$0(state));
2846
+ } else {
2847
+ return JSXAttributeName$0(state);
2848
+ }
2849
+ }
2850
+ var JSXAttributeInitializer$0 = $S(__, $EXPECT($L54, fail, 'JSXAttributeInitializer "="'), __, JSXAttributeValue);
2851
+ function JSXAttributeInitializer(state) {
2852
+ if (state.verbose)
2853
+ console.log("ENTER:", "JSXAttributeInitializer");
2854
+ if (state.tokenize) {
2855
+ return $TOKEN("JSXAttributeInitializer", state, JSXAttributeInitializer$0(state));
2856
+ } else {
2857
+ return JSXAttributeInitializer$0(state);
2858
+ }
2859
+ }
2860
+ var JSXAttributeValue$0 = $R$0($EXPECT($R24, fail, 'JSXAttributeValue /"[^"]*"/'));
2861
+ var JSXAttributeValue$1 = $R$0($EXPECT($R25, fail, "JSXAttributeValue /'[^']*'/"));
2862
+ var JSXAttributeValue$2 = $S($EXPECT($L10, fail, 'JSXAttributeValue "{"'), __, AssignmentExpression, __, $EXPECT($L15, fail, 'JSXAttributeValue "}"'));
2863
+ var JSXAttributeValue$3 = JSXElement;
2864
+ var JSXAttributeValue$4 = JSXFragment;
2865
+ function JSXAttributeValue(state) {
2866
+ if (state.tokenize) {
2867
+ return $TOKEN("JSXAttributeValue", state, JSXAttributeValue$0(state) || JSXAttributeValue$1(state) || JSXAttributeValue$2(state) || JSXAttributeValue$3(state) || JSXAttributeValue$4(state));
2868
+ } else {
2869
+ return JSXAttributeValue$0(state) || JSXAttributeValue$1(state) || JSXAttributeValue$2(state) || JSXAttributeValue$3(state) || JSXAttributeValue$4(state);
2870
+ }
2871
+ }
2872
+ var JSXChildren$0 = $Q($S(__, JSXChild));
2873
+ function JSXChildren(state) {
2874
+ if (state.verbose)
2875
+ console.log("ENTER:", "JSXChildren");
2876
+ if (state.tokenize) {
2877
+ return $TOKEN("JSXChildren", state, JSXChildren$0(state));
2878
+ } else {
2879
+ return JSXChildren$0(state);
2880
+ }
2881
+ }
2882
+ var JSXChild$0 = JSXText;
2883
+ var JSXChild$1 = JSXElement;
2884
+ var JSXChild$2 = JSXFragment;
2885
+ var JSXChild$3 = $S($EXPECT($L10, fail, 'JSXChild "{"'), $E(JSXChildExpression), __, $EXPECT($L15, fail, 'JSXChild "}"'));
2886
+ function JSXChild(state) {
2887
+ if (state.tokenize) {
2888
+ return $TOKEN("JSXChild", state, JSXChild$0(state) || JSXChild$1(state) || JSXChild$2(state) || JSXChild$3(state));
2889
+ } else {
2890
+ return JSXChild$0(state) || JSXChild$1(state) || JSXChild$2(state) || JSXChild$3(state);
2891
+ }
2892
+ }
2893
+ var JSXText$0 = $R$0($EXPECT($R26, fail, "JSXText /[^{}<>]+/"));
2894
+ function JSXText(state) {
2895
+ if (state.verbose)
2896
+ console.log("ENTER:", "JSXText");
2897
+ if (state.tokenize) {
2898
+ return $TOKEN("JSXText", state, JSXText$0(state));
2899
+ } else {
2900
+ return JSXText$0(state);
2901
+ }
2902
+ }
2903
+ var JSXChildExpression$0 = $S(__, $E($S($EXPECT($L30, fail, 'JSXChildExpression "..."'), __)), AssignmentExpression);
2904
+ function JSXChildExpression(state) {
2905
+ if (state.verbose)
2906
+ console.log("ENTER:", "JSXChildExpression");
2907
+ if (state.tokenize) {
2908
+ return $TOKEN("JSXChildExpression", state, JSXChildExpression$0(state));
2909
+ } else {
2910
+ return JSXChildExpression$0(state);
2911
+ }
2912
+ }
2913
+ var TypeDeclaration$0 = $T($S($EXPECT($R27, fail, "TypeDeclaration /type(?!\\p{ID_Continue})/"), $Q(TrailingComment), IdentifierName, $E(TypeParameters), __, $EXPECT($L54, fail, 'TypeDeclaration "="'), __, Type), function(value) {
2914
+ return { "ts": true, "children": value };
2915
+ });
2916
+ var TypeDeclaration$1 = $T($S($EXPECT($R28, fail, "TypeDeclaration /interface(?!\\p{ID_Continue})/"), $Q(TrailingComment), IdentifierName, InterfaceBlock), function(value) {
2707
2917
  return { "ts": true, "children": value };
2708
2918
  });
2709
2919
  function TypeDeclaration(state) {
2710
- if (state.verbose)
2711
- console.log("ENTER:", "TypeDeclaration");
2712
2920
  if (state.tokenize) {
2713
- return $TOKEN("TypeDeclaration", state, TypeDeclaration$0(state));
2921
+ return $TOKEN("TypeDeclaration", state, TypeDeclaration$0(state) || TypeDeclaration$1(state));
2714
2922
  } else {
2715
- return TypeDeclaration$0(state);
2923
+ return TypeDeclaration$0(state) || TypeDeclaration$1(state);
2716
2924
  }
2717
2925
  }
2718
2926
  var InterfaceBlock$0 = $S(__, $EXPECT($L10, fail, 'InterfaceBlock "{"'), EOS, NestedInterfaceProperties, __, $EXPECT($L15, fail, 'InterfaceBlock "}"'));
@@ -2749,7 +2957,7 @@ var require_parser = __commonJS({
2749
2957
  return NestedInterfaceProperty$0(state);
2750
2958
  }
2751
2959
  }
2752
- var TypeSuffix$0 = $T($S(__, $EXPECT($L11, fail, 'TypeSuffix ":"'), Type), function(value) {
2960
+ var TypeSuffix$0 = $T($S($E($EXPECT($L3, fail, 'TypeSuffix "?"')), __, $EXPECT($L11, fail, 'TypeSuffix ":"'), Type), function(value) {
2753
2961
  return { "ts": true, "children": value };
2754
2962
  });
2755
2963
  function TypeSuffix(state) {
@@ -2761,17 +2969,84 @@ var require_parser = __commonJS({
2761
2969
  return TypeSuffix$0(state);
2762
2970
  }
2763
2971
  }
2764
- var Type$0 = InterfaceBlock;
2765
- var Type$1 = $S($Q(_), FunctionType);
2766
- var Type$2 = $S($Q(_), IdentifierName, $Q($S($EXPECT($L25, fail, 'Type "."'), IdentifierName)), $E(TypeArguments), $Q($EXPECT($L124, fail, 'Type "[]"')));
2767
- var Type$3 = $S($Q(_), NumericLiteral);
2768
- var Type$4 = $S($Q(_), StringLiteral);
2769
- var Type$5 = $S($Q(_), $EXPECT($L82, fail, 'Type "void"'));
2972
+ var Type$0 = TypeConditional;
2770
2973
  function Type(state) {
2974
+ if (state.verbose)
2975
+ console.log("ENTER:", "Type");
2976
+ if (state.tokenize) {
2977
+ return $TOKEN("Type", state, Type$0(state));
2978
+ } else {
2979
+ return Type$0(state);
2980
+ }
2981
+ }
2982
+ var TypeBinary$0 = $S(TypeUnary, $Q($S(__, TypeBinaryOp, TypeUnary)));
2983
+ function TypeBinary(state) {
2984
+ if (state.verbose)
2985
+ console.log("ENTER:", "TypeBinary");
2986
+ if (state.tokenize) {
2987
+ return $TOKEN("TypeBinary", state, TypeBinary$0(state));
2988
+ } else {
2989
+ return TypeBinary$0(state);
2990
+ }
2991
+ }
2992
+ var TypeUnary$0 = $S($Q(TypeUnaryOp), TypePrimary);
2993
+ function TypeUnary(state) {
2994
+ if (state.verbose)
2995
+ console.log("ENTER:", "TypeUnary");
2996
+ if (state.tokenize) {
2997
+ return $TOKEN("TypeUnary", state, TypeUnary$0(state));
2998
+ } else {
2999
+ return TypeUnary$0(state);
3000
+ }
3001
+ }
3002
+ var TypeUnaryOp$0 = $S(__, $EXPECT($L83, fail, 'TypeUnaryOp "typeof"'), $R$0($EXPECT($R29, fail, "TypeUnaryOp /(?!\\p{ID_Continue})/")));
3003
+ var TypeUnaryOp$1 = $S(__, $EXPECT($L127, fail, 'TypeUnaryOp "infer"'), $R$0($EXPECT($R29, fail, "TypeUnaryOp /(?!\\p{ID_Continue})/")));
3004
+ function TypeUnaryOp(state) {
3005
+ if (state.tokenize) {
3006
+ return $TOKEN("TypeUnaryOp", state, TypeUnaryOp$0(state) || TypeUnaryOp$1(state));
3007
+ } else {
3008
+ return TypeUnaryOp$0(state) || TypeUnaryOp$1(state);
3009
+ }
3010
+ }
3011
+ var TypePrimary$0 = InterfaceBlock;
3012
+ var TypePrimary$1 = $S(__, $EXPECT($L1, fail, 'TypePrimary "("'), Type, __, $EXPECT($L2, fail, 'TypePrimary ")"'));
3013
+ var TypePrimary$2 = $S($Q(_), FunctionType);
3014
+ var TypePrimary$3 = $S($Q(_), IdentifierName, $Q($S($EXPECT($L25, fail, 'TypePrimary "."'), IdentifierName)), $E(TypeArguments), $Q($EXPECT($L128, fail, 'TypePrimary "[]"')));
3015
+ var TypePrimary$4 = $S($Q(_), TypeLiteral);
3016
+ function TypePrimary(state) {
3017
+ if (state.tokenize) {
3018
+ return $TOKEN("TypePrimary", state, TypePrimary$0(state) || TypePrimary$1(state) || TypePrimary$2(state) || TypePrimary$3(state) || TypePrimary$4(state));
3019
+ } else {
3020
+ return TypePrimary$0(state) || TypePrimary$1(state) || TypePrimary$2(state) || TypePrimary$3(state) || TypePrimary$4(state);
3021
+ }
3022
+ }
3023
+ var TypeConditional$0 = $S(TypeBinary, $E($S(__, $EXPECT($L14, fail, 'TypeConditional "extends"'), Type, __, $EXPECT($L3, fail, 'TypeConditional "?"'), Type, __, $EXPECT($L11, fail, 'TypeConditional ":"'), Type)));
3024
+ function TypeConditional(state) {
3025
+ if (state.verbose)
3026
+ console.log("ENTER:", "TypeConditional");
2771
3027
  if (state.tokenize) {
2772
- return $TOKEN("Type", state, Type$0(state) || Type$1(state) || Type$2(state) || Type$3(state) || Type$4(state) || Type$5(state));
3028
+ return $TOKEN("TypeConditional", state, TypeConditional$0(state));
2773
3029
  } else {
2774
- return Type$0(state) || Type$1(state) || Type$2(state) || Type$3(state) || Type$4(state) || Type$5(state);
3030
+ return TypeConditional$0(state);
3031
+ }
3032
+ }
3033
+ var TypeLiteral$0 = Literal;
3034
+ var TypeLiteral$1 = $EXPECT($L82, fail, 'TypeLiteral "void"');
3035
+ var TypeLiteral$2 = $EXPECT($L128, fail, 'TypeLiteral "[]"');
3036
+ function TypeLiteral(state) {
3037
+ if (state.tokenize) {
3038
+ return $TOKEN("TypeLiteral", state, TypeLiteral$0(state) || TypeLiteral$1(state) || TypeLiteral$2(state));
3039
+ } else {
3040
+ return TypeLiteral$0(state) || TypeLiteral$1(state) || TypeLiteral$2(state);
3041
+ }
3042
+ }
3043
+ var TypeBinaryOp$0 = $EXPECT($L80, fail, 'TypeBinaryOp "|"');
3044
+ var TypeBinaryOp$1 = $EXPECT($L78, fail, 'TypeBinaryOp "&"');
3045
+ function TypeBinaryOp(state) {
3046
+ if (state.tokenize) {
3047
+ return $TOKEN("TypeBinaryOp", state, TypeBinaryOp$0(state) || TypeBinaryOp$1(state));
3048
+ } else {
3049
+ return TypeBinaryOp$0(state) || TypeBinaryOp$1(state);
2775
3050
  }
2776
3051
  }
2777
3052
  var FunctionType$0 = $S(Parameters, __, $EXPECT($L9, fail, 'FunctionType "=>"'), Type);
@@ -2794,7 +3069,52 @@ var require_parser = __commonJS({
2794
3069
  return TypeArguments$0(state);
2795
3070
  }
2796
3071
  }
2797
- var Shebang$0 = $R$0($EXPECT($R23, fail, "Shebang /#![^\\r\\n]*/"));
3072
+ var TypeParameters$0 = $S(__, $EXPECT($L13, fail, 'TypeParameters "<"'), __, Type, $Q($S(__, $EXPECT($L0, fail, 'TypeParameters ","'), __, Type)), $E($S(__, $EXPECT($L0, fail, 'TypeParameters ","'))), __, $EXPECT($L65, fail, 'TypeParameters ">"'));
3073
+ function TypeParameters(state) {
3074
+ if (state.verbose)
3075
+ console.log("ENTER:", "TypeParameters");
3076
+ if (state.tokenize) {
3077
+ return $TOKEN("TypeParameters", state, TypeParameters$0(state));
3078
+ } else {
3079
+ return TypeParameters$0(state);
3080
+ }
3081
+ }
3082
+ var TypeParameter$0 = $S(__, Identifier, $E(TypeConstraint), TypeParameterDelimiter);
3083
+ function TypeParameter(state) {
3084
+ if (state.verbose)
3085
+ console.log("ENTER:", "TypeParameter");
3086
+ if (state.tokenize) {
3087
+ return $TOKEN("TypeParameter", state, TypeParameter$0(state));
3088
+ } else {
3089
+ return TypeParameter$0(state);
3090
+ }
3091
+ }
3092
+ var TypeConstraint$0 = $S(__, $EXPECT($L14, fail, 'TypeConstraint "extends"'), Type);
3093
+ function TypeConstraint(state) {
3094
+ if (state.verbose)
3095
+ console.log("ENTER:", "TypeConstraint");
3096
+ if (state.tokenize) {
3097
+ return $TOKEN("TypeConstraint", state, TypeConstraint$0(state));
3098
+ } else {
3099
+ return TypeConstraint$0(state);
3100
+ }
3101
+ }
3102
+ var TypeParameterDelimiter$0 = $S($Q(_), $EXPECT($L0, fail, 'TypeParameterDelimiter ","'));
3103
+ var TypeParameterDelimiter$1 = $Y($S($Q(_), $EXPECT($L65, fail, 'TypeParameterDelimiter ">"')));
3104
+ var TypeParameterDelimiter$2 = $T($Y($S(__, $EXPECT($L65, fail, 'TypeParameterDelimiter ">"'))), function(value) {
3105
+ return ",";
3106
+ });
3107
+ var TypeParameterDelimiter$3 = $T($Y(EOS), function(value) {
3108
+ return ",";
3109
+ });
3110
+ function TypeParameterDelimiter(state) {
3111
+ if (state.tokenize) {
3112
+ return $TOKEN("TypeParameterDelimiter", state, TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state) || TypeParameterDelimiter$3(state));
3113
+ } else {
3114
+ return TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state) || TypeParameterDelimiter$3(state);
3115
+ }
3116
+ }
3117
+ var Shebang$0 = $R$0($EXPECT($R30, fail, "Shebang /#![^\\r\\n]*/"));
2798
3118
  function Shebang(state) {
2799
3119
  if (state.verbose)
2800
3120
  console.log("ENTER:", "Shebang");
@@ -2804,7 +3124,7 @@ var require_parser = __commonJS({
2804
3124
  return Shebang$0(state);
2805
3125
  }
2806
3126
  }
2807
- var DirectivePrologue$0 = $TV($Q($S($TEXT($EXPECT($R24, fail, "DirectivePrologue /[\\t ]*/")), $TEXT(StringLiteral), $TEXT(StatementDelimiter), $TEXT(EOS))), function($skip, $loc, $0, $1) {
3127
+ var DirectivePrologue$0 = $TV($Q($S($TEXT($EXPECT($R31, fail, "DirectivePrologue /[\\t ]*/")), $TEXT(StringLiteral), $TEXT(StatementDelimiter), $TEXT(EOS))), function($skip, $loc, $0, $1) {
2808
3128
  return $0.map((p) => p.join(""));
2809
3129
  });
2810
3130
  function DirectivePrologue(state) {
@@ -2826,7 +3146,7 @@ var require_parser = __commonJS({
2826
3146
  return EOS$0(state);
2827
3147
  }
2828
3148
  }
2829
- var EOL$0 = $R$0($EXPECT($R25, fail, "EOL /\\r\\n|\\n|\\r|$/"));
3149
+ var EOL$0 = $R$0($EXPECT($R32, fail, "EOL /\\r\\n|\\n|\\r|$/"));
2830
3150
  function EOL(state) {
2831
3151
  if (state.verbose)
2832
3152
  console.log("ENTER:", "EOL");
@@ -2836,7 +3156,7 @@ var require_parser = __commonJS({
2836
3156
  return EOL$0(state);
2837
3157
  }
2838
3158
  }
2839
- var EOF$0 = $R$0($EXPECT($R26, fail, "EOF /$/"));
3159
+ var EOF$0 = $R$0($EXPECT($R33, fail, "EOF /$/"));
2840
3160
  function EOF(state) {
2841
3161
  if (state.verbose)
2842
3162
  console.log("ENTER:", "EOF");
@@ -2974,7 +3294,7 @@ var require_parser = __commonJS({
2974
3294
  return Init$0(state);
2975
3295
  }
2976
3296
  }
2977
- var Indent$0 = $TV($Q($C($EXPECT($L125, fail, 'Indent " "'), $EXPECT($L126, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
3297
+ var Indent$0 = $TV($Q($C($EXPECT($L129, fail, 'Indent " "'), $EXPECT($L130, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
2978
3298
  return $1.length;
2979
3299
  });
2980
3300
  function Indent(state) {
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@danielx/civet",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "CoffeeScript style syntax for TypeScript",
5
5
  "main": "dist/main.js",
6
6
  "bin": {
7
7
  "civet": "dist/civet"
8
8
  },
9
9
  "files": [
10
- "dist/"
10
+ "dist/",
11
+ "register.js",
12
+ "register.mjs"
11
13
  ],
12
14
  "scripts": {
13
15
  "build": "bash ./build/build.sh",
package/register.js ADDED
@@ -0,0 +1,12 @@
1
+ if (require.extensions) {
2
+ const fs = require("fs");
3
+ const { compile } = require("./");
4
+
5
+ require.extensions[".civet"] = function (module, filename) {
6
+ const js = compile(fs.readFileSync(filename, 'utf8'), {
7
+ js: true
8
+ });
9
+ module._compile(js, filename);
10
+ return;
11
+ };
12
+ }
package/register.mjs ADDED
@@ -0,0 +1,40 @@
1
+ import { createRequire } from 'module';
2
+ import { pathToFileURL } from 'url';
3
+
4
+ import { compile } from "./dist/main.js";
5
+
6
+ const baseURL = pathToFileURL(process.cwd() + '/').href;
7
+
8
+ const extensionsRegex = /\.civet$/;
9
+
10
+ export async function resolve(specifier, context, defaultResolve) {
11
+ const { parentURL = baseURL } = context;
12
+
13
+ if (extensionsRegex.test(specifier)) {
14
+ return {
15
+ format: "civet",
16
+ url: new URL(specifier, parentURL).href,
17
+ };
18
+ }
19
+
20
+ // Let Node.js handle all other specifiers.
21
+ return defaultResolve(specifier, context, defaultResolve);
22
+ }
23
+
24
+ export async function load(url, context, defaultLoad) {
25
+ if (extensionsRegex.test(url)) {
26
+ const { source: rawSource } = await defaultLoad(url, { format: "civet" });
27
+
28
+ return {
29
+ format: "module",
30
+ source: compile(rawSource.toString(), { js: true }),
31
+ };
32
+ }
33
+
34
+ // Let Node.js handle all other URLs.
35
+ return defaultLoad(url, context, defaultLoad);
36
+ }
37
+
38
+ // Also transform CommonJS files.
39
+ const require = createRequire(import.meta.url);
40
+ require("./register.js")