@danielx/civet 0.1.0 → 0.1.1
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 -0
- package/dist/browser.js +66 -35
- package/dist/browser.js.map +2 -2
- package/dist/civet +6 -6
- package/dist/cli.js.map +3 -3
- package/dist/main.js +66 -35
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -57,6 +57,7 @@ Things Kept from CoffeeScript
|
|
|
57
57
|
- `@id` -> `this.id`
|
|
58
58
|
- TODO
|
|
59
59
|
- `"""` Strings (for compatibility with existing .coffee code)
|
|
60
|
+
- `///` Heregexp
|
|
60
61
|
|
|
61
62
|
Things Removed from CoffeeScript
|
|
62
63
|
---
|
|
@@ -65,6 +66,7 @@ Things Removed from CoffeeScript
|
|
|
65
66
|
- `off` (use `false`)
|
|
66
67
|
- `do` keyword (replaced with JS `do`)
|
|
67
68
|
- `for from` (use JS `for of`)
|
|
69
|
+
- Array slices `list[0...2]` (use `list.slice(0, 2)`)
|
|
68
70
|
- Comprensions (a case could be made for keeping them)
|
|
69
71
|
- Iteration expression results
|
|
70
72
|
- Implicit declarations
|
|
@@ -93,6 +95,7 @@ Things Added that CoffeeScript didn't
|
|
|
93
95
|
- `case` statement
|
|
94
96
|
- `while`
|
|
95
97
|
- `do`
|
|
98
|
+
- Const assignment shorthand `a := b` -> `const a = b`; `{a, b} := c` -> `const {a, b} = c`
|
|
96
99
|
- Convenience for ES6+ Features
|
|
97
100
|
- `<` as `extends` shorthand
|
|
98
101
|
- `@#id` -> `this.#id` shorthand for private identifiers
|
package/dist/browser.js
CHANGED
|
@@ -410,6 +410,8 @@ var Civet = (() => {
|
|
|
410
410
|
Expression,
|
|
411
411
|
Arguments,
|
|
412
412
|
ArgumentList,
|
|
413
|
+
NestedArgumentList,
|
|
414
|
+
NestedArgument,
|
|
413
415
|
CommaExpression,
|
|
414
416
|
BinaryOpExpression,
|
|
415
417
|
UnaryExpression,
|
|
@@ -721,19 +723,20 @@ var Civet = (() => {
|
|
|
721
723
|
var $L110 = $L("as");
|
|
722
724
|
var $L111 = $L("from");
|
|
723
725
|
var $L112 = $L("export");
|
|
724
|
-
var $L113 = $L(
|
|
725
|
-
var $L114 = $L('"');
|
|
726
|
-
var $L115 = $L("'
|
|
727
|
-
var $L116 = $L("
|
|
728
|
-
var $L117 = $L("
|
|
729
|
-
var $L118 = $L("
|
|
730
|
-
var $L119 = $L("
|
|
731
|
-
var $L120 = $L("
|
|
732
|
-
var $L121 = $L("
|
|
733
|
-
var $L122 = $L("
|
|
734
|
-
var $L123 = $L("
|
|
735
|
-
var $L124 = $L("
|
|
736
|
-
var $L125 = $L("
|
|
726
|
+
var $L113 = $L(":=");
|
|
727
|
+
var $L114 = $L('"""');
|
|
728
|
+
var $L115 = $L('"');
|
|
729
|
+
var $L116 = $L("'");
|
|
730
|
+
var $L117 = $L("\\");
|
|
731
|
+
var $L118 = $L("`");
|
|
732
|
+
var $L119 = $L("${");
|
|
733
|
+
var $L120 = $L("/*");
|
|
734
|
+
var $L121 = $L("*/");
|
|
735
|
+
var $L122 = $L("###");
|
|
736
|
+
var $L123 = $L("interface");
|
|
737
|
+
var $L124 = $L("[]");
|
|
738
|
+
var $L125 = $L(" ");
|
|
739
|
+
var $L126 = $L(" ");
|
|
737
740
|
var $R0 = $R(new RegExp("(of)(?!\\p{ID_Continue})", "suy"));
|
|
738
741
|
var $R1 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
|
|
739
742
|
var $R2 = $R(new RegExp("\\p{ID_Continue}", "suy"));
|
|
@@ -791,7 +794,7 @@ var Civet = (() => {
|
|
|
791
794
|
return Expression$0(state);
|
|
792
795
|
}
|
|
793
796
|
}
|
|
794
|
-
var Arguments$0 = $S($EXPECT($L1, fail, 'Arguments "("'), $
|
|
797
|
+
var Arguments$0 = $S($EXPECT($L1, fail, 'Arguments "("'), $E(ArgumentList), $E($S(__, $EXPECT($L0, fail, 'Arguments ","'))), __, $EXPECT($L2, fail, 'Arguments ")"'));
|
|
795
798
|
function Arguments(state) {
|
|
796
799
|
if (state.verbose)
|
|
797
800
|
console.log("ENTER:", "Arguments");
|
|
@@ -801,14 +804,38 @@ var Civet = (() => {
|
|
|
801
804
|
return Arguments$0(state);
|
|
802
805
|
}
|
|
803
806
|
}
|
|
804
|
-
var ArgumentList$0 = $S(
|
|
807
|
+
var ArgumentList$0 = $S($Y(EOS), NestedArgumentList);
|
|
808
|
+
var ArgumentList$1 = $S(__, Expression, $Q(CommaExpression));
|
|
805
809
|
function ArgumentList(state) {
|
|
810
|
+
if (state.tokenize) {
|
|
811
|
+
return $TOKEN("ArgumentList", state, ArgumentList$0(state) || ArgumentList$1(state));
|
|
812
|
+
} else {
|
|
813
|
+
return ArgumentList$0(state) || ArgumentList$1(state);
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
var NestedArgumentList$0 = $TS($S(PushIndent, $Q(NestedArgument), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
|
|
817
|
+
var args = $2;
|
|
818
|
+
if (args.length)
|
|
819
|
+
return args;
|
|
820
|
+
return $skip;
|
|
821
|
+
});
|
|
822
|
+
function NestedArgumentList(state) {
|
|
823
|
+
if (state.verbose)
|
|
824
|
+
console.log("ENTER:", "NestedArgumentList");
|
|
825
|
+
if (state.tokenize) {
|
|
826
|
+
return $TOKEN("NestedArgumentList", state, NestedArgumentList$0(state));
|
|
827
|
+
} else {
|
|
828
|
+
return NestedArgumentList$0(state);
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
var NestedArgument$0 = $S(Nested, Expression, ParameterElementDelimiter);
|
|
832
|
+
function NestedArgument(state) {
|
|
806
833
|
if (state.verbose)
|
|
807
|
-
console.log("ENTER:", "
|
|
834
|
+
console.log("ENTER:", "NestedArgument");
|
|
808
835
|
if (state.tokenize) {
|
|
809
|
-
return $TOKEN("
|
|
836
|
+
return $TOKEN("NestedArgument", state, NestedArgument$0(state));
|
|
810
837
|
} else {
|
|
811
|
-
return
|
|
838
|
+
return NestedArgument$0(state);
|
|
812
839
|
}
|
|
813
840
|
}
|
|
814
841
|
var CommaExpression$0 = $S(__, $EXPECT($L0, fail, 'CommaExpression ","'), __, Expression);
|
|
@@ -2300,13 +2327,18 @@ var Civet = (() => {
|
|
|
2300
2327
|
}
|
|
2301
2328
|
}
|
|
2302
2329
|
var LexicalDeclaration$0 = $S($C($EXPECT($L95, fail, 'LexicalDeclaration "let"'), $EXPECT($L96, fail, 'LexicalDeclaration "const"')), __, LexicalBinding, $Q($S(__, $EXPECT($L0, fail, 'LexicalDeclaration ","'), __, LexicalBinding)));
|
|
2330
|
+
var LexicalDeclaration$1 = $T($S($C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, $EXPECT($L113, fail, 'LexicalDeclaration ":="'), AssignmentExpression), function(value) {
|
|
2331
|
+
var bind = value[0];
|
|
2332
|
+
var suffix = value[1];
|
|
2333
|
+
var ws = value[2];
|
|
2334
|
+
var exp = value[4];
|
|
2335
|
+
return ["const ", bind, suffix, ws, "=", exp];
|
|
2336
|
+
});
|
|
2303
2337
|
function LexicalDeclaration(state) {
|
|
2304
|
-
if (state.verbose)
|
|
2305
|
-
console.log("ENTER:", "LexicalDeclaration");
|
|
2306
2338
|
if (state.tokenize) {
|
|
2307
|
-
return $TOKEN("LexicalDeclaration", state, LexicalDeclaration$0(state));
|
|
2339
|
+
return $TOKEN("LexicalDeclaration", state, LexicalDeclaration$0(state) || LexicalDeclaration$1(state));
|
|
2308
2340
|
} else {
|
|
2309
|
-
return LexicalDeclaration$0(state);
|
|
2341
|
+
return LexicalDeclaration$0(state) || LexicalDeclaration$1(state);
|
|
2310
2342
|
}
|
|
2311
2343
|
}
|
|
2312
2344
|
var LexicalBinding$0 = $S(BindingPattern, $E(TypeSuffix), Initializer);
|
|
@@ -2419,11 +2451,11 @@ var Civet = (() => {
|
|
|
2419
2451
|
return HexLiteral$0(state);
|
|
2420
2452
|
}
|
|
2421
2453
|
}
|
|
2422
|
-
var StringLiteral$0 = $T($S($EXPECT($
|
|
2454
|
+
var StringLiteral$0 = $T($S($EXPECT($L114, fail, 'StringLiteral "\\\\\\"\\\\\\"\\\\\\""'), $TEXT($Q(TripleDoubleStringCharacter)), $EXPECT($L114, fail, 'StringLiteral "\\\\\\"\\\\\\"\\\\\\""')), function(value) {
|
|
2423
2455
|
return ["`", value[1], "`"];
|
|
2424
2456
|
});
|
|
2425
|
-
var StringLiteral$1 = $S($EXPECT($
|
|
2426
|
-
var StringLiteral$2 = $S($EXPECT($
|
|
2457
|
+
var StringLiteral$1 = $S($EXPECT($L115, fail, 'StringLiteral "\\\\\\""'), $TEXT($Q(DoubleStringCharacter)), $EXPECT($L115, fail, 'StringLiteral "\\\\\\""'));
|
|
2458
|
+
var StringLiteral$2 = $S($EXPECT($L116, fail, `StringLiteral "\\\\'"`), $TEXT($Q(SingleStringCharacter)), $EXPECT($L116, fail, `StringLiteral "\\\\'"`));
|
|
2427
2459
|
function StringLiteral(state) {
|
|
2428
2460
|
if (state.tokenize) {
|
|
2429
2461
|
return $TOKEN("StringLiteral", state, StringLiteral$0(state) || StringLiteral$1(state) || StringLiteral$2(state));
|
|
@@ -2459,7 +2491,7 @@ var Civet = (() => {
|
|
|
2459
2491
|
return TripleDoubleStringCharacter$0(state);
|
|
2460
2492
|
}
|
|
2461
2493
|
}
|
|
2462
|
-
var EscapeSequence$0 = $TEXT($S($EXPECT($
|
|
2494
|
+
var EscapeSequence$0 = $TEXT($S($EXPECT($L117, fail, 'EscapeSequence "\\\\\\\\"'), $EXPECT($R12, fail, "EscapeSequence /./")));
|
|
2463
2495
|
function EscapeSequence(state) {
|
|
2464
2496
|
if (state.verbose)
|
|
2465
2497
|
console.log("ENTER:", "EscapeSequence");
|
|
@@ -2508,7 +2540,7 @@ var Civet = (() => {
|
|
|
2508
2540
|
return RegularExpressionFlags$0(state);
|
|
2509
2541
|
}
|
|
2510
2542
|
}
|
|
2511
|
-
var TemplateLiteral$0 = $S($EXPECT($
|
|
2543
|
+
var TemplateLiteral$0 = $S($EXPECT($L118, fail, 'TemplateLiteral "`"'), $Q($C(TemplateCharacters, TemplateSubstitution)), $EXPECT($L118, fail, 'TemplateLiteral "`"'));
|
|
2512
2544
|
function TemplateLiteral(state) {
|
|
2513
2545
|
if (state.verbose)
|
|
2514
2546
|
console.log("ENTER:", "TemplateLiteral");
|
|
@@ -2518,7 +2550,7 @@ var Civet = (() => {
|
|
|
2518
2550
|
return TemplateLiteral$0(state);
|
|
2519
2551
|
}
|
|
2520
2552
|
}
|
|
2521
|
-
var TemplateSubstitution$0 = $S($EXPECT($
|
|
2553
|
+
var TemplateSubstitution$0 = $S($EXPECT($L119, fail, 'TemplateSubstitution "${"'), __, Expression, __, $EXPECT($L15, fail, 'TemplateSubstitution "}"'));
|
|
2522
2554
|
function TemplateSubstitution(state) {
|
|
2523
2555
|
if (state.verbose)
|
|
2524
2556
|
console.log("ENTER:", "TemplateSubstitution");
|
|
@@ -2575,7 +2607,7 @@ var Civet = (() => {
|
|
|
2575
2607
|
return MultiLineComment$0(state) || MultiLineComment$1(state);
|
|
2576
2608
|
}
|
|
2577
2609
|
}
|
|
2578
|
-
var JSMultiLineComment$0 = $S($EXPECT($
|
|
2610
|
+
var JSMultiLineComment$0 = $S($EXPECT($L120, fail, 'JSMultiLineComment "/*"'), $TEXT($Q($S($N($EXPECT($L121, fail, 'JSMultiLineComment "*/"')), $EXPECT($R12, fail, "JSMultiLineComment /./")))), $EXPECT($L121, fail, 'JSMultiLineComment "*/"'));
|
|
2579
2611
|
function JSMultiLineComment(state) {
|
|
2580
2612
|
if (state.verbose)
|
|
2581
2613
|
console.log("ENTER:", "JSMultiLineComment");
|
|
@@ -2599,7 +2631,7 @@ var Civet = (() => {
|
|
|
2599
2631
|
return CoffeeSingleLineComment$0(state);
|
|
2600
2632
|
}
|
|
2601
2633
|
}
|
|
2602
|
-
var CoffeeMultiLineComment$0 = $T($S($EXPECT($
|
|
2634
|
+
var CoffeeMultiLineComment$0 = $T($S($EXPECT($L122, fail, 'CoffeeMultiLineComment "###"'), $TEXT($Q($S($N($EXPECT($L122, fail, 'CoffeeMultiLineComment "###"')), $EXPECT($R12, fail, "CoffeeMultiLineComment /./")))), $EXPECT($L122, fail, 'CoffeeMultiLineComment "###"')), function(value) {
|
|
2603
2635
|
return ["/*", value[1], "*/"];
|
|
2604
2636
|
});
|
|
2605
2637
|
function CoffeeMultiLineComment(state) {
|
|
@@ -2611,7 +2643,7 @@ var Civet = (() => {
|
|
|
2611
2643
|
return CoffeeMultiLineComment$0(state);
|
|
2612
2644
|
}
|
|
2613
2645
|
}
|
|
2614
|
-
var InlineComment$0 = $S($EXPECT($
|
|
2646
|
+
var InlineComment$0 = $S($EXPECT($L120, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L121, fail, 'InlineComment "*/"')), $EXPECT($R20, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L121, fail, 'InlineComment "*/"'));
|
|
2615
2647
|
function InlineComment(state) {
|
|
2616
2648
|
if (state.verbose)
|
|
2617
2649
|
console.log("ENTER:", "InlineComment");
|
|
@@ -2672,7 +2704,7 @@ var Civet = (() => {
|
|
|
2672
2704
|
return StatementDelimiter$0(state) || StatementDelimiter$1(state);
|
|
2673
2705
|
}
|
|
2674
2706
|
}
|
|
2675
|
-
var TypeDeclaration$0 = $T($S($EXPECT($
|
|
2707
|
+
var TypeDeclaration$0 = $T($S($EXPECT($L123, fail, 'TypeDeclaration "interface"'), $Q(TrailingComment), IdentifierName, InterfaceBlock), function(value) {
|
|
2676
2708
|
return { "ts": true, "children": value };
|
|
2677
2709
|
});
|
|
2678
2710
|
function TypeDeclaration(state) {
|
|
@@ -2732,7 +2764,7 @@ var Civet = (() => {
|
|
|
2732
2764
|
}
|
|
2733
2765
|
var Type$0 = InterfaceBlock;
|
|
2734
2766
|
var Type$1 = $S($Q(_), FunctionType);
|
|
2735
|
-
var Type$2 = $S($Q(_), IdentifierName, $Q($S($EXPECT($L25, fail, 'Type "."'), IdentifierName)), $E(TypeArguments), $Q($EXPECT($
|
|
2767
|
+
var Type$2 = $S($Q(_), IdentifierName, $Q($S($EXPECT($L25, fail, 'Type "."'), IdentifierName)), $E(TypeArguments), $Q($EXPECT($L124, fail, 'Type "[]"')));
|
|
2736
2768
|
var Type$3 = $S($Q(_), NumericLiteral);
|
|
2737
2769
|
var Type$4 = $S($Q(_), StringLiteral);
|
|
2738
2770
|
var Type$5 = $S($Q(_), $EXPECT($L82, fail, 'Type "void"'));
|
|
@@ -2943,7 +2975,7 @@ var Civet = (() => {
|
|
|
2943
2975
|
return Init$0(state);
|
|
2944
2976
|
}
|
|
2945
2977
|
}
|
|
2946
|
-
var Indent$0 = $TV($Q($C($EXPECT($
|
|
2978
|
+
var Indent$0 = $TV($Q($C($EXPECT($L125, fail, 'Indent " "'), $EXPECT($L126, fail, 'Indent "\\\\t"'))), function($skip, $loc, $0, $1) {
|
|
2947
2979
|
return $1.length;
|
|
2948
2980
|
});
|
|
2949
2981
|
function Indent(state) {
|
|
@@ -3041,7 +3073,6 @@ var Civet = (() => {
|
|
|
3041
3073
|
return "";
|
|
3042
3074
|
}
|
|
3043
3075
|
if (!node.children) {
|
|
3044
|
-
debugger;
|
|
3045
3076
|
throw new Error("Unknown node", JSON.stringify(node));
|
|
3046
3077
|
}
|
|
3047
3078
|
return node.children.map(function(child) {
|