@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/README.md +9 -2
- package/dist/browser.js +351 -31
- package/dist/browser.js.map +2 -2
- package/dist/civet +8 -8
- package/dist/cli.js.map +3 -3
- package/dist/main.js +351 -31
- package/package.json +4 -2
- package/register.js +12 -0
- package/register.mjs +40 -0
package/README.md
CHANGED
|
@@ -7,6 +7,11 @@ A new CoffeeScript. Much closer to ES2015+ (for better or worse).
|
|
|
7
7
|
|
|
8
8
|
Also TypeScript, the sky is the limit.
|
|
9
9
|
|
|
10
|
+
```bash
|
|
11
|
+
npm install -g @danielx/civet
|
|
12
|
+
civet < source.civet > output.ts
|
|
13
|
+
```
|
|
14
|
+
|
|
10
15
|

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