@danielx/civet 0.4.5 → 0.4.6
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 +3 -1
- package/dist/browser.js +129 -58
- package/dist/main.js +129 -58
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -132,6 +132,7 @@ Things Changed from CoffeeScript
|
|
|
132
132
|
- Embedded JS `\`\`` has been replaced with JS template literals.
|
|
133
133
|
- No longer allowing multiple postfix `if/unless` on the same line.
|
|
134
134
|
- No `else` block on `unless` (negate condition and use `if`)
|
|
135
|
+
- `#{}` interpolation in `""` strings only when `"use coffee-compat"`
|
|
135
136
|
- Civet tries to keep the transpiled output verbatim as much as possible.
|
|
136
137
|
In Coffee `(x)` -> `x;` but in Civet `(x)` -> `(x);`.
|
|
137
138
|
Also in Coffee `x + 3` -> `x + 3` but in Civet `x + 3` remains as is.
|
|
@@ -159,6 +160,7 @@ Things Added that CoffeeScript didn't
|
|
|
159
160
|
- JS Compatability
|
|
160
161
|
- `var`, `let`, `const`
|
|
161
162
|
- JS Comment Syntax `//` and `/* */`
|
|
163
|
+
- `function` keyword
|
|
162
164
|
- Braced Blocks
|
|
163
165
|
- OptionalChain longhand
|
|
164
166
|
- ConditionalExpression
|
|
@@ -169,7 +171,7 @@ Things Added that CoffeeScript didn't
|
|
|
169
171
|
- `<` as `extends` shorthand
|
|
170
172
|
- `@#id` -> `this.#id` shorthand for private identifiers
|
|
171
173
|
- `import` shorthand `x from ./x` -> `import x from "./x"`
|
|
172
|
-
- `\`\`\`` Block Template Strings
|
|
174
|
+
- `\`\`\`` Block Template Strings remove leading indentation for clarity
|
|
173
175
|
- Class constructor shorthand `@( ... )`
|
|
174
176
|
- ClassStaticBlock
|
|
175
177
|
- `get`/`set` method definitions
|
package/dist/browser.js
CHANGED
|
@@ -586,6 +586,9 @@ var Civet = (() => {
|
|
|
586
586
|
TripleDoubleStringCharacters,
|
|
587
587
|
TripleSingleStringCharacters,
|
|
588
588
|
CoffeeStringSubstitution,
|
|
589
|
+
CoffeeCompat,
|
|
590
|
+
CoffeeCompatDoubleQuotedString,
|
|
591
|
+
CoffeeCompatDoubleQuotedStringCharacters,
|
|
589
592
|
RegularExpressionLiteral,
|
|
590
593
|
RegularExpressionBody,
|
|
591
594
|
RegExpCharacter,
|
|
@@ -728,6 +731,7 @@ var Civet = (() => {
|
|
|
728
731
|
InsertSpace,
|
|
729
732
|
InsertDot,
|
|
730
733
|
InsertBreak,
|
|
734
|
+
Reset,
|
|
731
735
|
Init,
|
|
732
736
|
Indent,
|
|
733
737
|
TrackIndent,
|
|
@@ -893,31 +897,32 @@ var Civet = (() => {
|
|
|
893
897
|
var $R10 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
|
|
894
898
|
var $R11 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
|
|
895
899
|
var $R12 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
|
|
896
|
-
var $R13 = $R(new RegExp("
|
|
897
|
-
var $R14 = $R(new RegExp("
|
|
898
|
-
var $R15 = $R(new RegExp("(
|
|
899
|
-
var $R16 = $R(new RegExp("(
|
|
900
|
-
var $R17 = $R(new RegExp("(?:\\$(?!\\{)
|
|
901
|
-
var $R18 = $R(new RegExp("(
|
|
902
|
-
var $R19 = $R(new RegExp("
|
|
903
|
-
var $R20 = $R(new RegExp("
|
|
904
|
-
var $R21 = $R(new RegExp("
|
|
905
|
-
var $R22 = $R(new RegExp("[^\\r\\n]", "suy"));
|
|
906
|
-
var $R23 = $R(new RegExp("[
|
|
907
|
-
var $R24 = $R(new RegExp("[\\
|
|
908
|
-
var $R25 = $R(new RegExp("
|
|
909
|
-
var $R26 = $R(new RegExp("
|
|
910
|
-
var $R27 = $R(new RegExp("
|
|
911
|
-
var $R28 = $R(new RegExp(
|
|
912
|
-
var $R29 = $R(new RegExp("
|
|
913
|
-
var $R30 = $R(new RegExp("[^
|
|
914
|
-
var $R31 = $R(new RegExp("[
|
|
915
|
-
var $R32 = $R(new RegExp("[+-]", "suy"));
|
|
916
|
-
var $R33 = $R(new RegExp("
|
|
917
|
-
var $R34 = $R(new RegExp("[\\
|
|
918
|
-
var $R35 = $R(new RegExp("\\
|
|
919
|
-
var $R36 = $R(new RegExp("
|
|
920
|
-
var
|
|
900
|
+
var $R13 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
|
|
901
|
+
var $R14 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
|
|
902
|
+
var $R15 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
|
|
903
|
+
var $R16 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
|
|
904
|
+
var $R17 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
|
|
905
|
+
var $R18 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
|
|
906
|
+
var $R19 = $R(new RegExp("(?:and|as|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
|
|
907
|
+
var $R20 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
|
|
908
|
+
var $R21 = $R(new RegExp(".", "suy"));
|
|
909
|
+
var $R22 = $R(new RegExp("#([^\\r\\n]*)", "suy"));
|
|
910
|
+
var $R23 = $R(new RegExp("[^\\r\\n]", "suy"));
|
|
911
|
+
var $R24 = $R(new RegExp("[ \\t]+", "suy"));
|
|
912
|
+
var $R25 = $R(new RegExp("[\\s]+", "suy"));
|
|
913
|
+
var $R26 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
|
|
914
|
+
var $R27 = $R(new RegExp("\\s", "suy"));
|
|
915
|
+
var $R28 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
|
|
916
|
+
var $R29 = $R(new RegExp('"[^"]*"', "suy"));
|
|
917
|
+
var $R30 = $R(new RegExp("'[^']*'", "suy"));
|
|
918
|
+
var $R31 = $R(new RegExp("[^{}<>]+", "suy"));
|
|
919
|
+
var $R32 = $R(new RegExp("[+-]?", "suy"));
|
|
920
|
+
var $R33 = $R(new RegExp("[+-]", "suy"));
|
|
921
|
+
var $R34 = $R(new RegExp("#![^\\r\\n]*", "suy"));
|
|
922
|
+
var $R35 = $R(new RegExp("[\\t ]*", "suy"));
|
|
923
|
+
var $R36 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
|
|
924
|
+
var $R37 = $R(new RegExp("$", "suy"));
|
|
925
|
+
var Program$0 = $S(Reset, Init, __, $Q(TopLevelStatement), __);
|
|
921
926
|
function Program(state) {
|
|
922
927
|
if (state.verbose)
|
|
923
928
|
console.log("ENTER:", "Program");
|
|
@@ -2973,12 +2978,13 @@ var Civet = (() => {
|
|
|
2973
2978
|
var e = $3;
|
|
2974
2979
|
return [s, module.dedentBlockString(str), e];
|
|
2975
2980
|
});
|
|
2976
|
-
var StringLiteral$2 =
|
|
2981
|
+
var StringLiteral$2 = CoffeeCompatDoubleQuotedString;
|
|
2982
|
+
var StringLiteral$3 = BasicStringLiteral;
|
|
2977
2983
|
function StringLiteral(state) {
|
|
2978
2984
|
if (state.tokenize) {
|
|
2979
|
-
return $TOKEN("StringLiteral", state, StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state));
|
|
2985
|
+
return $TOKEN("StringLiteral", state, StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state) || StringLiteral$3(state));
|
|
2980
2986
|
} else {
|
|
2981
|
-
return StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state);
|
|
2987
|
+
return StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state) || StringLiteral$3(state);
|
|
2982
2988
|
}
|
|
2983
2989
|
}
|
|
2984
2990
|
var BasicStringLiteral$0 = $TS($S(DoubleQuote, DoubleStringCharacters, DoubleQuote), function($skip, $loc, $0, $1, $2, $3) {
|
|
@@ -3060,6 +3066,61 @@ var Civet = (() => {
|
|
|
3060
3066
|
return CoffeeStringSubstitution$0(state);
|
|
3061
3067
|
}
|
|
3062
3068
|
}
|
|
3069
|
+
var CoffeeCompat$0 = $TV($EXPECT($L1, fail, 'CoffeeCompat ""'), function($skip, $loc, $0, $1) {
|
|
3070
|
+
if (module.coffeeCompat)
|
|
3071
|
+
return;
|
|
3072
|
+
return $skip;
|
|
3073
|
+
});
|
|
3074
|
+
function CoffeeCompat(state) {
|
|
3075
|
+
if (state.verbose)
|
|
3076
|
+
console.log("ENTER:", "CoffeeCompat");
|
|
3077
|
+
if (state.tokenize) {
|
|
3078
|
+
return $TOKEN("CoffeeCompat", state, CoffeeCompat$0(state));
|
|
3079
|
+
} else {
|
|
3080
|
+
return CoffeeCompat$0(state);
|
|
3081
|
+
}
|
|
3082
|
+
}
|
|
3083
|
+
var CoffeeCompatDoubleQuotedString$0 = $TS($S(CoffeeCompat, DoubleQuote, $Q($C(CoffeeCompatDoubleQuotedStringCharacters, CoffeeStringSubstitution)), DoubleQuote), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
3084
|
+
var s = $2;
|
|
3085
|
+
var parts = $3;
|
|
3086
|
+
var e = $4;
|
|
3087
|
+
const noInterpolations = parts.length === 1 && parts[0].token != null;
|
|
3088
|
+
if (noInterpolations) {
|
|
3089
|
+
return {
|
|
3090
|
+
token: `"${module.modifyString(parts[0].token)}"`,
|
|
3091
|
+
$loc
|
|
3092
|
+
};
|
|
3093
|
+
}
|
|
3094
|
+
parts.forEach((part) => {
|
|
3095
|
+
if (part.token) {
|
|
3096
|
+
const str = part.token.replace(/(`|\$\{)/g, "\\$1");
|
|
3097
|
+
part.token = module.modifyString(str);
|
|
3098
|
+
}
|
|
3099
|
+
});
|
|
3100
|
+
s.token = e.token = "`";
|
|
3101
|
+
return [s, parts, e];
|
|
3102
|
+
});
|
|
3103
|
+
function CoffeeCompatDoubleQuotedString(state) {
|
|
3104
|
+
if (state.verbose)
|
|
3105
|
+
console.log("ENTER:", "CoffeeCompatDoubleQuotedString");
|
|
3106
|
+
if (state.tokenize) {
|
|
3107
|
+
return $TOKEN("CoffeeCompatDoubleQuotedString", state, CoffeeCompatDoubleQuotedString$0(state));
|
|
3108
|
+
} else {
|
|
3109
|
+
return CoffeeCompatDoubleQuotedString$0(state);
|
|
3110
|
+
}
|
|
3111
|
+
}
|
|
3112
|
+
var CoffeeCompatDoubleQuotedStringCharacters$0 = $TR($EXPECT($R13, fail, 'CoffeeCompatDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3113
|
+
return { $loc, token: $0 };
|
|
3114
|
+
});
|
|
3115
|
+
function CoffeeCompatDoubleQuotedStringCharacters(state) {
|
|
3116
|
+
if (state.verbose)
|
|
3117
|
+
console.log("ENTER:", "CoffeeCompatDoubleQuotedStringCharacters");
|
|
3118
|
+
if (state.tokenize) {
|
|
3119
|
+
return $TOKEN("CoffeeCompatDoubleQuotedStringCharacters", state, CoffeeCompatDoubleQuotedStringCharacters$0(state));
|
|
3120
|
+
} else {
|
|
3121
|
+
return CoffeeCompatDoubleQuotedStringCharacters$0(state);
|
|
3122
|
+
}
|
|
3123
|
+
}
|
|
3063
3124
|
var RegularExpressionLiteral$0 = $TV($TEXT($S($EXPECT($L44, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L44, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
|
|
3064
3125
|
return { $loc, token: $1 };
|
|
3065
3126
|
});
|
|
@@ -3072,7 +3133,7 @@ var Civet = (() => {
|
|
|
3072
3133
|
return RegularExpressionLiteral$0(state);
|
|
3073
3134
|
}
|
|
3074
3135
|
}
|
|
3075
|
-
var RegularExpressionBody$0 = $S($N($R$0($EXPECT($
|
|
3136
|
+
var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R14, fail, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpCharacter));
|
|
3076
3137
|
function RegularExpressionBody(state) {
|
|
3077
3138
|
if (state.verbose)
|
|
3078
3139
|
console.log("ENTER:", "RegularExpressionBody");
|
|
@@ -3082,7 +3143,7 @@ var Civet = (() => {
|
|
|
3082
3143
|
return RegularExpressionBody$0(state);
|
|
3083
3144
|
}
|
|
3084
3145
|
}
|
|
3085
|
-
var RegExpCharacter$0 = $R$0($EXPECT($
|
|
3146
|
+
var RegExpCharacter$0 = $R$0($EXPECT($R15, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
|
|
3086
3147
|
function RegExpCharacter(state) {
|
|
3087
3148
|
if (state.verbose)
|
|
3088
3149
|
console.log("ENTER:", "RegExpCharacter");
|
|
@@ -3092,7 +3153,7 @@ var Civet = (() => {
|
|
|
3092
3153
|
return RegExpCharacter$0(state);
|
|
3093
3154
|
}
|
|
3094
3155
|
}
|
|
3095
|
-
var RegularExpressionFlags$0 = $R$0($EXPECT($
|
|
3156
|
+
var RegularExpressionFlags$0 = $R$0($EXPECT($R16, fail, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
|
|
3096
3157
|
function RegularExpressionFlags(state) {
|
|
3097
3158
|
if (state.verbose)
|
|
3098
3159
|
console.log("ENTER:", "RegularExpressionFlags");
|
|
@@ -3123,7 +3184,7 @@ var Civet = (() => {
|
|
|
3123
3184
|
return TemplateSubstitution$0(state);
|
|
3124
3185
|
}
|
|
3125
3186
|
}
|
|
3126
|
-
var TemplateCharacters$0 = $TR($EXPECT($
|
|
3187
|
+
var TemplateCharacters$0 = $TR($EXPECT($R17, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3127
3188
|
return { $loc, token: $0 };
|
|
3128
3189
|
});
|
|
3129
3190
|
function TemplateCharacters(state) {
|
|
@@ -3135,7 +3196,7 @@ var Civet = (() => {
|
|
|
3135
3196
|
return TemplateCharacters$0(state);
|
|
3136
3197
|
}
|
|
3137
3198
|
}
|
|
3138
|
-
var TemplateBlockCharacters$0 = $TR($EXPECT($
|
|
3199
|
+
var TemplateBlockCharacters$0 = $TR($EXPECT($R18, fail, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3139
3200
|
return { $loc, token: $0 };
|
|
3140
3201
|
});
|
|
3141
3202
|
function TemplateBlockCharacters(state) {
|
|
@@ -3147,7 +3208,7 @@ var Civet = (() => {
|
|
|
3147
3208
|
return TemplateBlockCharacters$0(state);
|
|
3148
3209
|
}
|
|
3149
3210
|
}
|
|
3150
|
-
var ReservedWord$0 = $R$0($EXPECT($
|
|
3211
|
+
var ReservedWord$0 = $R$0($EXPECT($R19, fail, "ReservedWord /(?:and|as|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
|
|
3151
3212
|
function ReservedWord(state) {
|
|
3152
3213
|
if (state.verbose)
|
|
3153
3214
|
console.log("ENTER:", "ReservedWord");
|
|
@@ -3166,10 +3227,10 @@ var Civet = (() => {
|
|
|
3166
3227
|
return Comment$0(state) || Comment$1(state);
|
|
3167
3228
|
}
|
|
3168
3229
|
}
|
|
3169
|
-
var SingleLineComment$0 = $TR($EXPECT($
|
|
3230
|
+
var SingleLineComment$0 = $TR($EXPECT($R20, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3170
3231
|
return { $loc, token: $0 };
|
|
3171
3232
|
});
|
|
3172
|
-
var SingleLineComment$1 = CoffeeSingleLineComment;
|
|
3233
|
+
var SingleLineComment$1 = $S(CoffeeCompat, CoffeeSingleLineComment);
|
|
3173
3234
|
function SingleLineComment(state) {
|
|
3174
3235
|
if (state.tokenize) {
|
|
3175
3236
|
return $TOKEN("SingleLineComment", state, SingleLineComment$0(state) || SingleLineComment$1(state));
|
|
@@ -3186,7 +3247,7 @@ var Civet = (() => {
|
|
|
3186
3247
|
return MultiLineComment$0(state) || MultiLineComment$1(state);
|
|
3187
3248
|
}
|
|
3188
3249
|
}
|
|
3189
|
-
var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L84, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L85, fail, 'JSMultiLineComment "*/"')), $EXPECT($
|
|
3250
|
+
var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L84, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L85, fail, 'JSMultiLineComment "*/"')), $EXPECT($R21, fail, "JSMultiLineComment /./"))), $EXPECT($L85, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
|
|
3190
3251
|
return { $loc, token: $1 };
|
|
3191
3252
|
});
|
|
3192
3253
|
function JSMultiLineComment(state) {
|
|
@@ -3198,9 +3259,7 @@ var Civet = (() => {
|
|
|
3198
3259
|
return JSMultiLineComment$0(state);
|
|
3199
3260
|
}
|
|
3200
3261
|
}
|
|
3201
|
-
var CoffeeSingleLineComment$0 = $TR($EXPECT($
|
|
3202
|
-
if (!module.coffeeCompat)
|
|
3203
|
-
return $skip;
|
|
3262
|
+
var CoffeeSingleLineComment$0 = $TR($EXPECT($R22, fail, "CoffeeSingleLineComment /#([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3204
3263
|
return { $loc, token: `//${$1}` };
|
|
3205
3264
|
});
|
|
3206
3265
|
function CoffeeSingleLineComment(state) {
|
|
@@ -3212,7 +3271,7 @@ var Civet = (() => {
|
|
|
3212
3271
|
return CoffeeSingleLineComment$0(state);
|
|
3213
3272
|
}
|
|
3214
3273
|
}
|
|
3215
|
-
var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L86, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L86, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L85, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($
|
|
3274
|
+
var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L86, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L86, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L85, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R21, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L86, fail, 'CoffeeMultiLineComment "###"')), function($skip, $loc, $0, $1, $2, $3) {
|
|
3216
3275
|
return { $loc, token: `/*${$2}*/` };
|
|
3217
3276
|
});
|
|
3218
3277
|
function CoffeeMultiLineComment(state) {
|
|
@@ -3224,7 +3283,7 @@ var Civet = (() => {
|
|
|
3224
3283
|
return CoffeeMultiLineComment$0(state);
|
|
3225
3284
|
}
|
|
3226
3285
|
}
|
|
3227
|
-
var InlineComment$0 = $TV($TEXT($S($EXPECT($L84, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L85, fail, 'InlineComment "*/"')), $EXPECT($
|
|
3286
|
+
var InlineComment$0 = $TV($TEXT($S($EXPECT($L84, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L85, fail, 'InlineComment "*/"')), $EXPECT($R23, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L85, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
|
|
3228
3287
|
return { $loc, token: $1 };
|
|
3229
3288
|
});
|
|
3230
3289
|
function InlineComment(state) {
|
|
@@ -3266,7 +3325,7 @@ var Civet = (() => {
|
|
|
3266
3325
|
return _$0(state);
|
|
3267
3326
|
}
|
|
3268
3327
|
}
|
|
3269
|
-
var NonNewlineWhitespace$0 = $TR($EXPECT($
|
|
3328
|
+
var NonNewlineWhitespace$0 = $TR($EXPECT($R24, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3270
3329
|
return { $loc, token: $0 };
|
|
3271
3330
|
});
|
|
3272
3331
|
function NonNewlineWhitespace(state) {
|
|
@@ -3288,7 +3347,7 @@ var Civet = (() => {
|
|
|
3288
3347
|
return __$0(state);
|
|
3289
3348
|
}
|
|
3290
3349
|
}
|
|
3291
|
-
var Whitespace$0 = $TR($EXPECT($
|
|
3350
|
+
var Whitespace$0 = $TR($EXPECT($R25, fail, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3292
3351
|
return { $loc, token: $0 };
|
|
3293
3352
|
});
|
|
3294
3353
|
function Whitespace(state) {
|
|
@@ -3311,7 +3370,7 @@ var Civet = (() => {
|
|
|
3311
3370
|
return StatementDelimiter$0(state) || StatementDelimiter$1(state);
|
|
3312
3371
|
}
|
|
3313
3372
|
}
|
|
3314
|
-
var NonIdContinue$0 = $R$0($EXPECT($
|
|
3373
|
+
var NonIdContinue$0 = $R$0($EXPECT($R26, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
|
|
3315
3374
|
function NonIdContinue(state) {
|
|
3316
3375
|
if (state.verbose)
|
|
3317
3376
|
console.log("ENTER:", "NonIdContinue");
|
|
@@ -3609,7 +3668,7 @@ var Civet = (() => {
|
|
|
3609
3668
|
return If$0(state);
|
|
3610
3669
|
}
|
|
3611
3670
|
}
|
|
3612
|
-
var Import$0 = $TS($S($EXPECT($L11, fail, 'Import "import"'), $Y($EXPECT($
|
|
3671
|
+
var Import$0 = $TS($S($EXPECT($L11, fail, 'Import "import"'), $Y($EXPECT($R27, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
|
|
3613
3672
|
return { $loc, token: $1 };
|
|
3614
3673
|
});
|
|
3615
3674
|
function Import(state) {
|
|
@@ -3986,7 +4045,7 @@ var Civet = (() => {
|
|
|
3986
4045
|
return JSXElementName$0(state);
|
|
3987
4046
|
}
|
|
3988
4047
|
}
|
|
3989
|
-
var JSXIdentifierName$0 = $R$0($EXPECT($
|
|
4048
|
+
var JSXIdentifierName$0 = $R$0($EXPECT($R28, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
|
|
3990
4049
|
function JSXIdentifierName(state) {
|
|
3991
4050
|
if (state.verbose)
|
|
3992
4051
|
console.log("ENTER:", "JSXIdentifierName");
|
|
@@ -4035,8 +4094,8 @@ var Civet = (() => {
|
|
|
4035
4094
|
return JSXAttributeInitializer$0(state);
|
|
4036
4095
|
}
|
|
4037
4096
|
}
|
|
4038
|
-
var JSXAttributeValue$0 = $R$0($EXPECT($
|
|
4039
|
-
var JSXAttributeValue$1 = $R$0($EXPECT($
|
|
4097
|
+
var JSXAttributeValue$0 = $R$0($EXPECT($R29, fail, 'JSXAttributeValue /"[^"]*"/'));
|
|
4098
|
+
var JSXAttributeValue$1 = $R$0($EXPECT($R30, fail, "JSXAttributeValue /'[^']*'/"));
|
|
4040
4099
|
var JSXAttributeValue$2 = $S(OpenBrace, __, AssignmentExpression, __, CloseBrace);
|
|
4041
4100
|
var JSXAttributeValue$3 = JSXElement;
|
|
4042
4101
|
var JSXAttributeValue$4 = JSXFragment;
|
|
@@ -4068,7 +4127,7 @@ var Civet = (() => {
|
|
|
4068
4127
|
return JSXChild$0(state) || JSXChild$1(state) || JSXChild$2(state) || JSXChild$3(state);
|
|
4069
4128
|
}
|
|
4070
4129
|
}
|
|
4071
|
-
var JSXText$0 = $R$0($EXPECT($
|
|
4130
|
+
var JSXText$0 = $R$0($EXPECT($R31, fail, "JSXText /[^{}<>]+/"));
|
|
4072
4131
|
function JSXText(state) {
|
|
4073
4132
|
if (state.verbose)
|
|
4074
4133
|
console.log("ENTER:", "JSXText");
|
|
@@ -4243,7 +4302,7 @@ var Civet = (() => {
|
|
|
4243
4302
|
return NestedTypeDeclaration$0(state);
|
|
4244
4303
|
}
|
|
4245
4304
|
}
|
|
4246
|
-
var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($
|
|
4305
|
+
var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R32, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L136, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R33, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
|
|
4247
4306
|
function TypeIndexSignature(state) {
|
|
4248
4307
|
if (state.verbose)
|
|
4249
4308
|
console.log("ENTER:", "TypeIndexSignature");
|
|
@@ -4464,7 +4523,7 @@ var Civet = (() => {
|
|
|
4464
4523
|
return TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state) || TypeParameterDelimiter$3(state);
|
|
4465
4524
|
}
|
|
4466
4525
|
}
|
|
4467
|
-
var Shebang$0 = $S($R$0($EXPECT($
|
|
4526
|
+
var Shebang$0 = $S($R$0($EXPECT($R34, fail, "Shebang /#![^\\r\\n]*/")), EOL);
|
|
4468
4527
|
function Shebang(state) {
|
|
4469
4528
|
if (state.verbose)
|
|
4470
4529
|
console.log("ENTER:", "Shebang");
|
|
@@ -4474,7 +4533,7 @@ var Civet = (() => {
|
|
|
4474
4533
|
return Shebang$0(state);
|
|
4475
4534
|
}
|
|
4476
4535
|
}
|
|
4477
|
-
var DirectivePrologue$0 = $Q($S($R$0($EXPECT($
|
|
4536
|
+
var DirectivePrologue$0 = $Q($S($R$0($EXPECT($R35, fail, "DirectivePrologue /[\\t ]*/")), StringLiteral, $TEXT(StatementDelimiter), EOS));
|
|
4478
4537
|
function DirectivePrologue(state) {
|
|
4479
4538
|
if (state.verbose)
|
|
4480
4539
|
console.log("ENTER:", "DirectivePrologue");
|
|
@@ -4494,7 +4553,7 @@ var Civet = (() => {
|
|
|
4494
4553
|
return EOS$0(state);
|
|
4495
4554
|
}
|
|
4496
4555
|
}
|
|
4497
|
-
var EOL$0 = $R$0($EXPECT($
|
|
4556
|
+
var EOL$0 = $R$0($EXPECT($R36, fail, "EOL /\\r\\n|\\n|\\r|$/"));
|
|
4498
4557
|
function EOL(state) {
|
|
4499
4558
|
if (state.verbose)
|
|
4500
4559
|
console.log("ENTER:", "EOL");
|
|
@@ -4504,7 +4563,7 @@ var Civet = (() => {
|
|
|
4504
4563
|
return EOL$0(state);
|
|
4505
4564
|
}
|
|
4506
4565
|
}
|
|
4507
|
-
var EOF$0 = $R$0($EXPECT($
|
|
4566
|
+
var EOF$0 = $R$0($EXPECT($R37, fail, "EOF /$/"));
|
|
4508
4567
|
function EOF(state) {
|
|
4509
4568
|
if (state.verbose)
|
|
4510
4569
|
console.log("ENTER:", "EOF");
|
|
@@ -4658,11 +4717,23 @@ var Civet = (() => {
|
|
|
4658
4717
|
return InsertBreak$0(state);
|
|
4659
4718
|
}
|
|
4660
4719
|
}
|
|
4661
|
-
var
|
|
4662
|
-
var directives = $2;
|
|
4720
|
+
var Reset$0 = $TV($EXPECT($L1, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
|
|
4663
4721
|
module.currentIndent = 0;
|
|
4664
4722
|
module.indentLevels = [0];
|
|
4665
4723
|
module.verbose = false;
|
|
4724
|
+
module.coffeeCompat = false;
|
|
4725
|
+
});
|
|
4726
|
+
function Reset(state) {
|
|
4727
|
+
if (state.verbose)
|
|
4728
|
+
console.log("ENTER:", "Reset");
|
|
4729
|
+
if (state.tokenize) {
|
|
4730
|
+
return $TOKEN("Reset", state, Reset$0(state));
|
|
4731
|
+
} else {
|
|
4732
|
+
return Reset$0(state);
|
|
4733
|
+
}
|
|
4734
|
+
}
|
|
4735
|
+
var Init$0 = $TS($S($E(Shebang), DirectivePrologue, $EXPECT($L1, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
|
|
4736
|
+
var directives = $2;
|
|
4666
4737
|
if (directives) {
|
|
4667
4738
|
const compatRe = /use coffee-compat/;
|
|
4668
4739
|
module.coffeeCompat = directives.some((d) => d[1].token?.match(compatRe));
|
|
@@ -4730,7 +4801,7 @@ var Civet = (() => {
|
|
|
4730
4801
|
if (trim) {
|
|
4731
4802
|
str = str.replace(/^(\r?\n|\n)/, "").replace(/(\r?\n|\n)[ \t]*$/, "");
|
|
4732
4803
|
}
|
|
4733
|
-
str = str.replace(/(
|
|
4804
|
+
str = str.replace(/(`|\$\{)/g, "\\$1");
|
|
4734
4805
|
return {
|
|
4735
4806
|
$loc: $loc2,
|
|
4736
4807
|
token: str
|
package/dist/main.js
CHANGED
|
@@ -585,6 +585,9 @@ var require_parser = __commonJS({
|
|
|
585
585
|
TripleDoubleStringCharacters,
|
|
586
586
|
TripleSingleStringCharacters,
|
|
587
587
|
CoffeeStringSubstitution,
|
|
588
|
+
CoffeeCompat,
|
|
589
|
+
CoffeeCompatDoubleQuotedString,
|
|
590
|
+
CoffeeCompatDoubleQuotedStringCharacters,
|
|
588
591
|
RegularExpressionLiteral,
|
|
589
592
|
RegularExpressionBody,
|
|
590
593
|
RegExpCharacter,
|
|
@@ -727,6 +730,7 @@ var require_parser = __commonJS({
|
|
|
727
730
|
InsertSpace,
|
|
728
731
|
InsertDot,
|
|
729
732
|
InsertBreak,
|
|
733
|
+
Reset,
|
|
730
734
|
Init,
|
|
731
735
|
Indent,
|
|
732
736
|
TrackIndent,
|
|
@@ -892,31 +896,32 @@ var require_parser = __commonJS({
|
|
|
892
896
|
var $R10 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
|
|
893
897
|
var $R11 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
|
|
894
898
|
var $R12 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
|
|
895
|
-
var $R13 = $R(new RegExp("
|
|
896
|
-
var $R14 = $R(new RegExp("
|
|
897
|
-
var $R15 = $R(new RegExp("(
|
|
898
|
-
var $R16 = $R(new RegExp("(
|
|
899
|
-
var $R17 = $R(new RegExp("(?:\\$(?!\\{)
|
|
900
|
-
var $R18 = $R(new RegExp("(
|
|
901
|
-
var $R19 = $R(new RegExp("
|
|
902
|
-
var $R20 = $R(new RegExp("
|
|
903
|
-
var $R21 = $R(new RegExp("
|
|
904
|
-
var $R22 = $R(new RegExp("[^\\r\\n]", "suy"));
|
|
905
|
-
var $R23 = $R(new RegExp("[
|
|
906
|
-
var $R24 = $R(new RegExp("[\\
|
|
907
|
-
var $R25 = $R(new RegExp("
|
|
908
|
-
var $R26 = $R(new RegExp("
|
|
909
|
-
var $R27 = $R(new RegExp("
|
|
910
|
-
var $R28 = $R(new RegExp(
|
|
911
|
-
var $R29 = $R(new RegExp("
|
|
912
|
-
var $R30 = $R(new RegExp("[^
|
|
913
|
-
var $R31 = $R(new RegExp("[
|
|
914
|
-
var $R32 = $R(new RegExp("[+-]", "suy"));
|
|
915
|
-
var $R33 = $R(new RegExp("
|
|
916
|
-
var $R34 = $R(new RegExp("[\\
|
|
917
|
-
var $R35 = $R(new RegExp("\\
|
|
918
|
-
var $R36 = $R(new RegExp("
|
|
919
|
-
var
|
|
899
|
+
var $R13 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
|
|
900
|
+
var $R14 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
|
|
901
|
+
var $R15 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
|
|
902
|
+
var $R16 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
|
|
903
|
+
var $R17 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
|
|
904
|
+
var $R18 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
|
|
905
|
+
var $R19 = $R(new RegExp("(?:and|as|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
|
|
906
|
+
var $R20 = $R(new RegExp("\\/\\/[^\\r\\n]*", "suy"));
|
|
907
|
+
var $R21 = $R(new RegExp(".", "suy"));
|
|
908
|
+
var $R22 = $R(new RegExp("#([^\\r\\n]*)", "suy"));
|
|
909
|
+
var $R23 = $R(new RegExp("[^\\r\\n]", "suy"));
|
|
910
|
+
var $R24 = $R(new RegExp("[ \\t]+", "suy"));
|
|
911
|
+
var $R25 = $R(new RegExp("[\\s]+", "suy"));
|
|
912
|
+
var $R26 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
|
|
913
|
+
var $R27 = $R(new RegExp("\\s", "suy"));
|
|
914
|
+
var $R28 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
|
|
915
|
+
var $R29 = $R(new RegExp('"[^"]*"', "suy"));
|
|
916
|
+
var $R30 = $R(new RegExp("'[^']*'", "suy"));
|
|
917
|
+
var $R31 = $R(new RegExp("[^{}<>]+", "suy"));
|
|
918
|
+
var $R32 = $R(new RegExp("[+-]?", "suy"));
|
|
919
|
+
var $R33 = $R(new RegExp("[+-]", "suy"));
|
|
920
|
+
var $R34 = $R(new RegExp("#![^\\r\\n]*", "suy"));
|
|
921
|
+
var $R35 = $R(new RegExp("[\\t ]*", "suy"));
|
|
922
|
+
var $R36 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
|
|
923
|
+
var $R37 = $R(new RegExp("$", "suy"));
|
|
924
|
+
var Program$0 = $S(Reset, Init, __, $Q(TopLevelStatement), __);
|
|
920
925
|
function Program(state) {
|
|
921
926
|
if (state.verbose)
|
|
922
927
|
console.log("ENTER:", "Program");
|
|
@@ -2972,12 +2977,13 @@ var require_parser = __commonJS({
|
|
|
2972
2977
|
var e = $3;
|
|
2973
2978
|
return [s, module2.dedentBlockString(str), e];
|
|
2974
2979
|
});
|
|
2975
|
-
var StringLiteral$2 =
|
|
2980
|
+
var StringLiteral$2 = CoffeeCompatDoubleQuotedString;
|
|
2981
|
+
var StringLiteral$3 = BasicStringLiteral;
|
|
2976
2982
|
function StringLiteral(state) {
|
|
2977
2983
|
if (state.tokenize) {
|
|
2978
|
-
return $TOKEN("StringLiteral", state, StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state));
|
|
2984
|
+
return $TOKEN("StringLiteral", state, StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state) || StringLiteral$3(state));
|
|
2979
2985
|
} else {
|
|
2980
|
-
return StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state);
|
|
2986
|
+
return StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state) || StringLiteral$3(state);
|
|
2981
2987
|
}
|
|
2982
2988
|
}
|
|
2983
2989
|
var BasicStringLiteral$0 = $TS($S(DoubleQuote, DoubleStringCharacters, DoubleQuote), function($skip, $loc, $0, $1, $2, $3) {
|
|
@@ -3059,6 +3065,61 @@ var require_parser = __commonJS({
|
|
|
3059
3065
|
return CoffeeStringSubstitution$0(state);
|
|
3060
3066
|
}
|
|
3061
3067
|
}
|
|
3068
|
+
var CoffeeCompat$0 = $TV($EXPECT($L1, fail, 'CoffeeCompat ""'), function($skip, $loc, $0, $1) {
|
|
3069
|
+
if (module2.coffeeCompat)
|
|
3070
|
+
return;
|
|
3071
|
+
return $skip;
|
|
3072
|
+
});
|
|
3073
|
+
function CoffeeCompat(state) {
|
|
3074
|
+
if (state.verbose)
|
|
3075
|
+
console.log("ENTER:", "CoffeeCompat");
|
|
3076
|
+
if (state.tokenize) {
|
|
3077
|
+
return $TOKEN("CoffeeCompat", state, CoffeeCompat$0(state));
|
|
3078
|
+
} else {
|
|
3079
|
+
return CoffeeCompat$0(state);
|
|
3080
|
+
}
|
|
3081
|
+
}
|
|
3082
|
+
var CoffeeCompatDoubleQuotedString$0 = $TS($S(CoffeeCompat, DoubleQuote, $Q($C(CoffeeCompatDoubleQuotedStringCharacters, CoffeeStringSubstitution)), DoubleQuote), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
3083
|
+
var s = $2;
|
|
3084
|
+
var parts = $3;
|
|
3085
|
+
var e = $4;
|
|
3086
|
+
const noInterpolations = parts.length === 1 && parts[0].token != null;
|
|
3087
|
+
if (noInterpolations) {
|
|
3088
|
+
return {
|
|
3089
|
+
token: `"${module2.modifyString(parts[0].token)}"`,
|
|
3090
|
+
$loc
|
|
3091
|
+
};
|
|
3092
|
+
}
|
|
3093
|
+
parts.forEach((part) => {
|
|
3094
|
+
if (part.token) {
|
|
3095
|
+
const str = part.token.replace(/(`|\$\{)/g, "\\$1");
|
|
3096
|
+
part.token = module2.modifyString(str);
|
|
3097
|
+
}
|
|
3098
|
+
});
|
|
3099
|
+
s.token = e.token = "`";
|
|
3100
|
+
return [s, parts, e];
|
|
3101
|
+
});
|
|
3102
|
+
function CoffeeCompatDoubleQuotedString(state) {
|
|
3103
|
+
if (state.verbose)
|
|
3104
|
+
console.log("ENTER:", "CoffeeCompatDoubleQuotedString");
|
|
3105
|
+
if (state.tokenize) {
|
|
3106
|
+
return $TOKEN("CoffeeCompatDoubleQuotedString", state, CoffeeCompatDoubleQuotedString$0(state));
|
|
3107
|
+
} else {
|
|
3108
|
+
return CoffeeCompatDoubleQuotedString$0(state);
|
|
3109
|
+
}
|
|
3110
|
+
}
|
|
3111
|
+
var CoffeeCompatDoubleQuotedStringCharacters$0 = $TR($EXPECT($R13, fail, 'CoffeeCompatDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3112
|
+
return { $loc, token: $0 };
|
|
3113
|
+
});
|
|
3114
|
+
function CoffeeCompatDoubleQuotedStringCharacters(state) {
|
|
3115
|
+
if (state.verbose)
|
|
3116
|
+
console.log("ENTER:", "CoffeeCompatDoubleQuotedStringCharacters");
|
|
3117
|
+
if (state.tokenize) {
|
|
3118
|
+
return $TOKEN("CoffeeCompatDoubleQuotedStringCharacters", state, CoffeeCompatDoubleQuotedStringCharacters$0(state));
|
|
3119
|
+
} else {
|
|
3120
|
+
return CoffeeCompatDoubleQuotedStringCharacters$0(state);
|
|
3121
|
+
}
|
|
3122
|
+
}
|
|
3062
3123
|
var RegularExpressionLiteral$0 = $TV($TEXT($S($EXPECT($L44, fail, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L44, fail, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
|
|
3063
3124
|
return { $loc, token: $1 };
|
|
3064
3125
|
});
|
|
@@ -3071,7 +3132,7 @@ var require_parser = __commonJS({
|
|
|
3071
3132
|
return RegularExpressionLiteral$0(state);
|
|
3072
3133
|
}
|
|
3073
3134
|
}
|
|
3074
|
-
var RegularExpressionBody$0 = $S($N($R$0($EXPECT($
|
|
3135
|
+
var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R14, fail, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpCharacter));
|
|
3075
3136
|
function RegularExpressionBody(state) {
|
|
3076
3137
|
if (state.verbose)
|
|
3077
3138
|
console.log("ENTER:", "RegularExpressionBody");
|
|
@@ -3081,7 +3142,7 @@ var require_parser = __commonJS({
|
|
|
3081
3142
|
return RegularExpressionBody$0(state);
|
|
3082
3143
|
}
|
|
3083
3144
|
}
|
|
3084
|
-
var RegExpCharacter$0 = $R$0($EXPECT($
|
|
3145
|
+
var RegExpCharacter$0 = $R$0($EXPECT($R15, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
|
|
3085
3146
|
function RegExpCharacter(state) {
|
|
3086
3147
|
if (state.verbose)
|
|
3087
3148
|
console.log("ENTER:", "RegExpCharacter");
|
|
@@ -3091,7 +3152,7 @@ var require_parser = __commonJS({
|
|
|
3091
3152
|
return RegExpCharacter$0(state);
|
|
3092
3153
|
}
|
|
3093
3154
|
}
|
|
3094
|
-
var RegularExpressionFlags$0 = $R$0($EXPECT($
|
|
3155
|
+
var RegularExpressionFlags$0 = $R$0($EXPECT($R16, fail, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
|
|
3095
3156
|
function RegularExpressionFlags(state) {
|
|
3096
3157
|
if (state.verbose)
|
|
3097
3158
|
console.log("ENTER:", "RegularExpressionFlags");
|
|
@@ -3122,7 +3183,7 @@ var require_parser = __commonJS({
|
|
|
3122
3183
|
return TemplateSubstitution$0(state);
|
|
3123
3184
|
}
|
|
3124
3185
|
}
|
|
3125
|
-
var TemplateCharacters$0 = $TR($EXPECT($
|
|
3186
|
+
var TemplateCharacters$0 = $TR($EXPECT($R17, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3126
3187
|
return { $loc, token: $0 };
|
|
3127
3188
|
});
|
|
3128
3189
|
function TemplateCharacters(state) {
|
|
@@ -3134,7 +3195,7 @@ var require_parser = __commonJS({
|
|
|
3134
3195
|
return TemplateCharacters$0(state);
|
|
3135
3196
|
}
|
|
3136
3197
|
}
|
|
3137
|
-
var TemplateBlockCharacters$0 = $TR($EXPECT($
|
|
3198
|
+
var TemplateBlockCharacters$0 = $TR($EXPECT($R18, fail, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3138
3199
|
return { $loc, token: $0 };
|
|
3139
3200
|
});
|
|
3140
3201
|
function TemplateBlockCharacters(state) {
|
|
@@ -3146,7 +3207,7 @@ var require_parser = __commonJS({
|
|
|
3146
3207
|
return TemplateBlockCharacters$0(state);
|
|
3147
3208
|
}
|
|
3148
3209
|
}
|
|
3149
|
-
var ReservedWord$0 = $R$0($EXPECT($
|
|
3210
|
+
var ReservedWord$0 = $R$0($EXPECT($R19, fail, "ReservedWord /(?:and|as|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|new|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
|
|
3150
3211
|
function ReservedWord(state) {
|
|
3151
3212
|
if (state.verbose)
|
|
3152
3213
|
console.log("ENTER:", "ReservedWord");
|
|
@@ -3165,10 +3226,10 @@ var require_parser = __commonJS({
|
|
|
3165
3226
|
return Comment$0(state) || Comment$1(state);
|
|
3166
3227
|
}
|
|
3167
3228
|
}
|
|
3168
|
-
var SingleLineComment$0 = $TR($EXPECT($
|
|
3229
|
+
var SingleLineComment$0 = $TR($EXPECT($R20, fail, "SingleLineComment /\\/\\/[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3169
3230
|
return { $loc, token: $0 };
|
|
3170
3231
|
});
|
|
3171
|
-
var SingleLineComment$1 = CoffeeSingleLineComment;
|
|
3232
|
+
var SingleLineComment$1 = $S(CoffeeCompat, CoffeeSingleLineComment);
|
|
3172
3233
|
function SingleLineComment(state) {
|
|
3173
3234
|
if (state.tokenize) {
|
|
3174
3235
|
return $TOKEN("SingleLineComment", state, SingleLineComment$0(state) || SingleLineComment$1(state));
|
|
@@ -3185,7 +3246,7 @@ var require_parser = __commonJS({
|
|
|
3185
3246
|
return MultiLineComment$0(state) || MultiLineComment$1(state);
|
|
3186
3247
|
}
|
|
3187
3248
|
}
|
|
3188
|
-
var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L84, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L85, fail, 'JSMultiLineComment "*/"')), $EXPECT($
|
|
3249
|
+
var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L84, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L85, fail, 'JSMultiLineComment "*/"')), $EXPECT($R21, fail, "JSMultiLineComment /./"))), $EXPECT($L85, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
|
|
3189
3250
|
return { $loc, token: $1 };
|
|
3190
3251
|
});
|
|
3191
3252
|
function JSMultiLineComment(state) {
|
|
@@ -3197,9 +3258,7 @@ var require_parser = __commonJS({
|
|
|
3197
3258
|
return JSMultiLineComment$0(state);
|
|
3198
3259
|
}
|
|
3199
3260
|
}
|
|
3200
|
-
var CoffeeSingleLineComment$0 = $TR($EXPECT($
|
|
3201
|
-
if (!module2.coffeeCompat)
|
|
3202
|
-
return $skip;
|
|
3261
|
+
var CoffeeSingleLineComment$0 = $TR($EXPECT($R22, fail, "CoffeeSingleLineComment /#([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3203
3262
|
return { $loc, token: `//${$1}` };
|
|
3204
3263
|
});
|
|
3205
3264
|
function CoffeeSingleLineComment(state) {
|
|
@@ -3211,7 +3270,7 @@ var require_parser = __commonJS({
|
|
|
3211
3270
|
return CoffeeSingleLineComment$0(state);
|
|
3212
3271
|
}
|
|
3213
3272
|
}
|
|
3214
|
-
var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L86, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L86, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L85, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($
|
|
3273
|
+
var CoffeeMultiLineComment$0 = $TS($S($EXPECT($L86, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($C($EXPECT($L86, fail, 'CoffeeMultiLineComment "###"'), $EXPECT($L85, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R21, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L86, fail, 'CoffeeMultiLineComment "###"')), function($skip, $loc, $0, $1, $2, $3) {
|
|
3215
3274
|
return { $loc, token: `/*${$2}*/` };
|
|
3216
3275
|
});
|
|
3217
3276
|
function CoffeeMultiLineComment(state) {
|
|
@@ -3223,7 +3282,7 @@ var require_parser = __commonJS({
|
|
|
3223
3282
|
return CoffeeMultiLineComment$0(state);
|
|
3224
3283
|
}
|
|
3225
3284
|
}
|
|
3226
|
-
var InlineComment$0 = $TV($TEXT($S($EXPECT($L84, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L85, fail, 'InlineComment "*/"')), $EXPECT($
|
|
3285
|
+
var InlineComment$0 = $TV($TEXT($S($EXPECT($L84, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L85, fail, 'InlineComment "*/"')), $EXPECT($R23, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L85, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
|
|
3227
3286
|
return { $loc, token: $1 };
|
|
3228
3287
|
});
|
|
3229
3288
|
function InlineComment(state) {
|
|
@@ -3265,7 +3324,7 @@ var require_parser = __commonJS({
|
|
|
3265
3324
|
return _$0(state);
|
|
3266
3325
|
}
|
|
3267
3326
|
}
|
|
3268
|
-
var NonNewlineWhitespace$0 = $TR($EXPECT($
|
|
3327
|
+
var NonNewlineWhitespace$0 = $TR($EXPECT($R24, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3269
3328
|
return { $loc, token: $0 };
|
|
3270
3329
|
});
|
|
3271
3330
|
function NonNewlineWhitespace(state) {
|
|
@@ -3287,7 +3346,7 @@ var require_parser = __commonJS({
|
|
|
3287
3346
|
return __$0(state);
|
|
3288
3347
|
}
|
|
3289
3348
|
}
|
|
3290
|
-
var Whitespace$0 = $TR($EXPECT($
|
|
3349
|
+
var Whitespace$0 = $TR($EXPECT($R25, fail, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
|
|
3291
3350
|
return { $loc, token: $0 };
|
|
3292
3351
|
});
|
|
3293
3352
|
function Whitespace(state) {
|
|
@@ -3310,7 +3369,7 @@ var require_parser = __commonJS({
|
|
|
3310
3369
|
return StatementDelimiter$0(state) || StatementDelimiter$1(state);
|
|
3311
3370
|
}
|
|
3312
3371
|
}
|
|
3313
|
-
var NonIdContinue$0 = $R$0($EXPECT($
|
|
3372
|
+
var NonIdContinue$0 = $R$0($EXPECT($R26, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
|
|
3314
3373
|
function NonIdContinue(state) {
|
|
3315
3374
|
if (state.verbose)
|
|
3316
3375
|
console.log("ENTER:", "NonIdContinue");
|
|
@@ -3608,7 +3667,7 @@ var require_parser = __commonJS({
|
|
|
3608
3667
|
return If$0(state);
|
|
3609
3668
|
}
|
|
3610
3669
|
}
|
|
3611
|
-
var Import$0 = $TS($S($EXPECT($L11, fail, 'Import "import"'), $Y($EXPECT($
|
|
3670
|
+
var Import$0 = $TS($S($EXPECT($L11, fail, 'Import "import"'), $Y($EXPECT($R27, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
|
|
3612
3671
|
return { $loc, token: $1 };
|
|
3613
3672
|
});
|
|
3614
3673
|
function Import(state) {
|
|
@@ -3985,7 +4044,7 @@ var require_parser = __commonJS({
|
|
|
3985
4044
|
return JSXElementName$0(state);
|
|
3986
4045
|
}
|
|
3987
4046
|
}
|
|
3988
|
-
var JSXIdentifierName$0 = $R$0($EXPECT($
|
|
4047
|
+
var JSXIdentifierName$0 = $R$0($EXPECT($R28, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
|
|
3989
4048
|
function JSXIdentifierName(state) {
|
|
3990
4049
|
if (state.verbose)
|
|
3991
4050
|
console.log("ENTER:", "JSXIdentifierName");
|
|
@@ -4034,8 +4093,8 @@ var require_parser = __commonJS({
|
|
|
4034
4093
|
return JSXAttributeInitializer$0(state);
|
|
4035
4094
|
}
|
|
4036
4095
|
}
|
|
4037
|
-
var JSXAttributeValue$0 = $R$0($EXPECT($
|
|
4038
|
-
var JSXAttributeValue$1 = $R$0($EXPECT($
|
|
4096
|
+
var JSXAttributeValue$0 = $R$0($EXPECT($R29, fail, 'JSXAttributeValue /"[^"]*"/'));
|
|
4097
|
+
var JSXAttributeValue$1 = $R$0($EXPECT($R30, fail, "JSXAttributeValue /'[^']*'/"));
|
|
4039
4098
|
var JSXAttributeValue$2 = $S(OpenBrace, __, AssignmentExpression, __, CloseBrace);
|
|
4040
4099
|
var JSXAttributeValue$3 = JSXElement;
|
|
4041
4100
|
var JSXAttributeValue$4 = JSXFragment;
|
|
@@ -4067,7 +4126,7 @@ var require_parser = __commonJS({
|
|
|
4067
4126
|
return JSXChild$0(state) || JSXChild$1(state) || JSXChild$2(state) || JSXChild$3(state);
|
|
4068
4127
|
}
|
|
4069
4128
|
}
|
|
4070
|
-
var JSXText$0 = $R$0($EXPECT($
|
|
4129
|
+
var JSXText$0 = $R$0($EXPECT($R31, fail, "JSXText /[^{}<>]+/"));
|
|
4071
4130
|
function JSXText(state) {
|
|
4072
4131
|
if (state.verbose)
|
|
4073
4132
|
console.log("ENTER:", "JSXText");
|
|
@@ -4242,7 +4301,7 @@ var require_parser = __commonJS({
|
|
|
4242
4301
|
return NestedTypeDeclaration$0(state);
|
|
4243
4302
|
}
|
|
4244
4303
|
}
|
|
4245
|
-
var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($
|
|
4304
|
+
var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R32, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L136, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R33, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
|
|
4246
4305
|
function TypeIndexSignature(state) {
|
|
4247
4306
|
if (state.verbose)
|
|
4248
4307
|
console.log("ENTER:", "TypeIndexSignature");
|
|
@@ -4463,7 +4522,7 @@ var require_parser = __commonJS({
|
|
|
4463
4522
|
return TypeParameterDelimiter$0(state) || TypeParameterDelimiter$1(state) || TypeParameterDelimiter$2(state) || TypeParameterDelimiter$3(state);
|
|
4464
4523
|
}
|
|
4465
4524
|
}
|
|
4466
|
-
var Shebang$0 = $S($R$0($EXPECT($
|
|
4525
|
+
var Shebang$0 = $S($R$0($EXPECT($R34, fail, "Shebang /#![^\\r\\n]*/")), EOL);
|
|
4467
4526
|
function Shebang(state) {
|
|
4468
4527
|
if (state.verbose)
|
|
4469
4528
|
console.log("ENTER:", "Shebang");
|
|
@@ -4473,7 +4532,7 @@ var require_parser = __commonJS({
|
|
|
4473
4532
|
return Shebang$0(state);
|
|
4474
4533
|
}
|
|
4475
4534
|
}
|
|
4476
|
-
var DirectivePrologue$0 = $Q($S($R$0($EXPECT($
|
|
4535
|
+
var DirectivePrologue$0 = $Q($S($R$0($EXPECT($R35, fail, "DirectivePrologue /[\\t ]*/")), StringLiteral, $TEXT(StatementDelimiter), EOS));
|
|
4477
4536
|
function DirectivePrologue(state) {
|
|
4478
4537
|
if (state.verbose)
|
|
4479
4538
|
console.log("ENTER:", "DirectivePrologue");
|
|
@@ -4493,7 +4552,7 @@ var require_parser = __commonJS({
|
|
|
4493
4552
|
return EOS$0(state);
|
|
4494
4553
|
}
|
|
4495
4554
|
}
|
|
4496
|
-
var EOL$0 = $R$0($EXPECT($
|
|
4555
|
+
var EOL$0 = $R$0($EXPECT($R36, fail, "EOL /\\r\\n|\\n|\\r|$/"));
|
|
4497
4556
|
function EOL(state) {
|
|
4498
4557
|
if (state.verbose)
|
|
4499
4558
|
console.log("ENTER:", "EOL");
|
|
@@ -4503,7 +4562,7 @@ var require_parser = __commonJS({
|
|
|
4503
4562
|
return EOL$0(state);
|
|
4504
4563
|
}
|
|
4505
4564
|
}
|
|
4506
|
-
var EOF$0 = $R$0($EXPECT($
|
|
4565
|
+
var EOF$0 = $R$0($EXPECT($R37, fail, "EOF /$/"));
|
|
4507
4566
|
function EOF(state) {
|
|
4508
4567
|
if (state.verbose)
|
|
4509
4568
|
console.log("ENTER:", "EOF");
|
|
@@ -4657,11 +4716,23 @@ var require_parser = __commonJS({
|
|
|
4657
4716
|
return InsertBreak$0(state);
|
|
4658
4717
|
}
|
|
4659
4718
|
}
|
|
4660
|
-
var
|
|
4661
|
-
var directives = $2;
|
|
4719
|
+
var Reset$0 = $TV($EXPECT($L1, fail, 'Reset ""'), function($skip, $loc, $0, $1) {
|
|
4662
4720
|
module2.currentIndent = 0;
|
|
4663
4721
|
module2.indentLevels = [0];
|
|
4664
4722
|
module2.verbose = false;
|
|
4723
|
+
module2.coffeeCompat = false;
|
|
4724
|
+
});
|
|
4725
|
+
function Reset(state) {
|
|
4726
|
+
if (state.verbose)
|
|
4727
|
+
console.log("ENTER:", "Reset");
|
|
4728
|
+
if (state.tokenize) {
|
|
4729
|
+
return $TOKEN("Reset", state, Reset$0(state));
|
|
4730
|
+
} else {
|
|
4731
|
+
return Reset$0(state);
|
|
4732
|
+
}
|
|
4733
|
+
}
|
|
4734
|
+
var Init$0 = $TS($S($E(Shebang), DirectivePrologue, $EXPECT($L1, fail, 'Init ""')), function($skip, $loc, $0, $1, $2, $3) {
|
|
4735
|
+
var directives = $2;
|
|
4665
4736
|
if (directives) {
|
|
4666
4737
|
const compatRe = /use coffee-compat/;
|
|
4667
4738
|
module2.coffeeCompat = directives.some((d) => d[1].token?.match(compatRe));
|
|
@@ -4729,7 +4800,7 @@ var require_parser = __commonJS({
|
|
|
4729
4800
|
if (trim) {
|
|
4730
4801
|
str = str.replace(/^(\r?\n|\n)/, "").replace(/(\r?\n|\n)[ \t]*$/, "");
|
|
4731
4802
|
}
|
|
4732
|
-
str = str.replace(/(
|
|
4803
|
+
str = str.replace(/(`|\$\{)/g, "\\$1");
|
|
4733
4804
|
return {
|
|
4734
4805
|
$loc: $loc2,
|
|
4735
4806
|
token: str
|