@danielx/civet 0.3.14 → 0.3.16

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/browser.js CHANGED
@@ -672,6 +672,8 @@ var Civet = (() => {
672
672
  InsertCloseParen,
673
673
  InsertOpenBrace,
674
674
  InsertCloseBrace,
675
+ InsertConst,
676
+ InsertReadonly,
675
677
  InsertNewline,
676
678
  InsertIndent,
677
679
  InsertSpace,
@@ -1151,7 +1153,7 @@ var Civet = (() => {
1151
1153
  }
1152
1154
  }
1153
1155
  var Class$0 = $TV($EXPECT($L15, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
1154
- return { $loc, token: $0 };
1156
+ return { $loc, token: $1 };
1155
1157
  });
1156
1158
  function Class(state) {
1157
1159
  if (state.verbose)
@@ -1240,21 +1242,7 @@ var Civet = (() => {
1240
1242
  return Static$0(state);
1241
1243
  }
1242
1244
  }
1243
- var FieldDefinition$0 = $TS($S(ClassElementName, $E(TypeSuffix), __, ConstAssignment, AssignmentExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1244
- var name = $1;
1245
- var suffix = $2;
1246
- var ws = $3;
1247
- var ca = $4;
1248
- var exp = $5;
1249
- return [
1250
- { ts: true, token: "readonly ", $loc: ca.$loc },
1251
- name,
1252
- suffix,
1253
- ws,
1254
- { token: "=", $loc: ca.$loc },
1255
- exp
1256
- ];
1257
- });
1245
+ var FieldDefinition$0 = $S(InsertReadonly, ClassElementName, $E(TypeSuffix), __, ConstAssignment, AssignmentExpression);
1258
1246
  var FieldDefinition$1 = $S(ClassElementName, $E(TypeSuffix), $E(Initializer));
1259
1247
  function FieldDefinition(state) {
1260
1248
  if (state.tokenize) {
@@ -1264,7 +1252,7 @@ var Civet = (() => {
1264
1252
  }
1265
1253
  }
1266
1254
  var This$0 = $TV($EXPECT($L19, fail, 'This "this"'), function($skip, $loc, $0, $1) {
1267
- return { $loc, token: $0 };
1255
+ return { $loc, token: $1 };
1268
1256
  });
1269
1257
  var This$1 = $S(AtAccessor, $S($E($EXPECT($L20, fail, 'This "#"')), IdentifierName));
1270
1258
  var This$2 = $TV($EXPECT($L21, fail, 'This "@"'), function($skip, $loc, $0, $1) {
@@ -2124,8 +2112,12 @@ var Civet = (() => {
2124
2112
  });
2125
2113
  var BinaryOpSymbol$21 = $EXPECT($L78, fail, 'BinaryOpSymbol "||"');
2126
2114
  var BinaryOpSymbol$22 = $EXPECT($L79, fail, 'BinaryOpSymbol "??"');
2127
- var BinaryOpSymbol$23 = $S($EXPECT($L80, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue);
2128
- var BinaryOpSymbol$24 = $S($EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue);
2115
+ var BinaryOpSymbol$23 = $TS($S($EXPECT($L80, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2116
+ return $1;
2117
+ });
2118
+ var BinaryOpSymbol$24 = $TS($S($EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2119
+ return $1;
2120
+ });
2129
2121
  var BinaryOpSymbol$25 = $EXPECT($L82, fail, 'BinaryOpSymbol "&"');
2130
2122
  var BinaryOpSymbol$26 = $EXPECT($L83, fail, 'BinaryOpSymbol "^"');
2131
2123
  var BinaryOpSymbol$27 = $EXPECT($L84, fail, 'BinaryOpSymbol "|"');
@@ -2788,21 +2780,7 @@ var Civet = (() => {
2788
2780
  }
2789
2781
  }
2790
2782
  var LexicalDeclaration$0 = $S(LetOrConst, __, LexicalBinding, $Q($S(__, $EXPECT($L0, fail, 'LexicalDeclaration ","'), __, LexicalBinding)));
2791
- var LexicalDeclaration$1 = $TS($S($C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, ConstAssignment, AssignmentExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
2792
- var bind = $1;
2793
- var suffix = $2;
2794
- var ws = $3;
2795
- var ca = $4;
2796
- var exp = $5;
2797
- return [
2798
- "const ",
2799
- bind,
2800
- suffix,
2801
- ws,
2802
- { token: "=", $loc: ca.$loc },
2803
- exp
2804
- ];
2805
- });
2783
+ var LexicalDeclaration$1 = $S(InsertConst, $C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, ConstAssignment, AssignmentExpression);
2806
2784
  function LexicalDeclaration(state) {
2807
2785
  if (state.tokenize) {
2808
2786
  return $TOKEN("LexicalDeclaration", state, LexicalDeclaration$0(state) || LexicalDeclaration$1(state));
@@ -2811,7 +2789,7 @@ var Civet = (() => {
2811
2789
  }
2812
2790
  }
2813
2791
  var ConstAssignment$0 = $TV($EXPECT($L116, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
2814
- return { $loc, token: $0 };
2792
+ return { $loc, token: "=" };
2815
2793
  });
2816
2794
  function ConstAssignment(state) {
2817
2795
  if (state.verbose)
@@ -3605,7 +3583,7 @@ var Civet = (() => {
3605
3583
  return Type$0(state);
3606
3584
  }
3607
3585
  }
3608
- var TypeBinary$0 = $S(TypeUnary, $Q($S(__, TypeBinaryOp, TypeUnary)));
3586
+ var TypeBinary$0 = $S(TypeUnary, $Q($S(__, TypeBinaryOp, __, TypeUnary)));
3609
3587
  function TypeBinary(state) {
3610
3588
  if (state.verbose)
3611
3589
  console.log("ENTER:", "TypeBinary");
@@ -3873,6 +3851,30 @@ var Civet = (() => {
3873
3851
  return InsertCloseBrace$0(state);
3874
3852
  }
3875
3853
  }
3854
+ var InsertConst$0 = $T($EXPECT($L33, fail, 'InsertConst ""'), function(value) {
3855
+ return "const ";
3856
+ });
3857
+ function InsertConst(state) {
3858
+ if (state.verbose)
3859
+ console.log("ENTER:", "InsertConst");
3860
+ if (state.tokenize) {
3861
+ return $TOKEN("InsertConst", state, InsertConst$0(state));
3862
+ } else {
3863
+ return InsertConst$0(state);
3864
+ }
3865
+ }
3866
+ var InsertReadonly$0 = $T($EXPECT($L33, fail, 'InsertReadonly ""'), function(value) {
3867
+ return { "ts": true, "children": ["readonly "] };
3868
+ });
3869
+ function InsertReadonly(state) {
3870
+ if (state.verbose)
3871
+ console.log("ENTER:", "InsertReadonly");
3872
+ if (state.tokenize) {
3873
+ return $TOKEN("InsertReadonly", state, InsertReadonly$0(state));
3874
+ } else {
3875
+ return InsertReadonly$0(state);
3876
+ }
3877
+ }
3876
3878
  var InsertNewline$0 = $TV($EXPECT($L33, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
3877
3879
  return "\n";
3878
3880
  });
@@ -4271,6 +4273,7 @@ var Civet = (() => {
4271
4273
  var require_main = __commonJS({
4272
4274
  "source/main.coffee"(exports, module) {
4273
4275
  var SourceMap;
4276
+ var base64Encode;
4274
4277
  var defaultOptions;
4275
4278
  var gen;
4276
4279
  var parse;
@@ -4283,24 +4286,38 @@ var Civet = (() => {
4283
4286
  module.exports = {
4284
4287
  parse,
4285
4288
  compile: function(src, options = defaultOptions) {
4286
- var ast, code, sm;
4289
+ var ast, code, filename, sm, srcMapJSON;
4290
+ filename = options.filename || "unknown";
4287
4291
  ast = prune(parse(src, {
4288
- filename: options.filename
4292
+ filename
4289
4293
  }));
4290
- if (options.sourceMap) {
4294
+ if (options.ast) {
4295
+ return ast;
4296
+ }
4297
+ if (options.sourceMap || options.inlineMap) {
4291
4298
  sm = SourceMap(src);
4292
4299
  options.updateSourceMap = sm.updateSourceMap;
4293
4300
  code = gen(ast, options);
4294
- return {
4295
- code,
4296
- sourceMap: sm
4297
- };
4301
+ if (options.inlineMap) {
4302
+ srcMapJSON = sm.json(filename, filename.replace(/(?:\.civet$)?/, ".ts"));
4303
+ return `${code}
4304
+ //# sourceMappingURL=data:application/json;base64,${base64Encode(JSON.stringify(srcMapJSON))}
4305
+ `;
4306
+ } else {
4307
+ return {
4308
+ code,
4309
+ sourceMap: sm
4310
+ };
4311
+ }
4298
4312
  }
4299
4313
  return gen(ast, options);
4300
4314
  },
4301
4315
  generate: gen,
4302
4316
  util
4303
4317
  };
4318
+ base64Encode = function(src) {
4319
+ return Buffer.from(src).toString("base64");
4320
+ };
4304
4321
  }
4305
4322
  });
4306
4323
  return require_main();
package/dist/civet CHANGED
@@ -1,20 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- var ast, encoding, fs, generate, input, js, output, parse, prune;
3
+ var ast, compile, encoding, fs, generate, inlineMap, input, js, output, parse, prune;
4
4
  if (process.argv.includes("--version")) {
5
5
  process.stdout.write(require("../package.json").version + "\n");
6
6
  process.exit(0);
7
7
  }
8
- ({ parse, generate } = require("./main"));
8
+ ({ parse, compile, generate } = require("./main"));
9
9
  ({ prune } = generate);
10
10
  encoding = "utf8";
11
11
  fs = require("fs");
12
12
  input = fs.readFileSync(process.stdin.fd, encoding);
13
- ast = prune(parse(input));
13
+ process.argv.includes("--ast");
14
14
  js = process.argv.includes("--js");
15
- if (process.argv.includes("--ast")) {
15
+ inlineMap = process.argv.includes("--inline-map");
16
+ if (ast) {
17
+ ast = prune(parse(input));
16
18
  process.stdout.write(JSON.stringify(ast, null, 2));
17
- return;
19
+ process.exit(0);
18
20
  }
19
- output = generate(ast, { js });
21
+ output = compile(input, { js, inlineMap });
20
22
  process.stdout.write(output);
@@ -7,7 +7,7 @@ module.exports = {
7
7
  name: 'civet',
8
8
  setup(build) {
9
9
  build.onLoad({
10
- filter: /\.civet/,
10
+ filter: /\.civet$/,
11
11
  }, function(args) {
12
12
  return readFile(args.path, 'utf8')
13
13
  .then(function(source) {
package/dist/main.js CHANGED
@@ -671,6 +671,8 @@ var require_parser = __commonJS({
671
671
  InsertCloseParen,
672
672
  InsertOpenBrace,
673
673
  InsertCloseBrace,
674
+ InsertConst,
675
+ InsertReadonly,
674
676
  InsertNewline,
675
677
  InsertIndent,
676
678
  InsertSpace,
@@ -1150,7 +1152,7 @@ var require_parser = __commonJS({
1150
1152
  }
1151
1153
  }
1152
1154
  var Class$0 = $TV($EXPECT($L15, fail, 'Class "class"'), function($skip, $loc, $0, $1) {
1153
- return { $loc, token: $0 };
1155
+ return { $loc, token: $1 };
1154
1156
  });
1155
1157
  function Class(state) {
1156
1158
  if (state.verbose)
@@ -1239,21 +1241,7 @@ var require_parser = __commonJS({
1239
1241
  return Static$0(state);
1240
1242
  }
1241
1243
  }
1242
- var FieldDefinition$0 = $TS($S(ClassElementName, $E(TypeSuffix), __, ConstAssignment, AssignmentExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1243
- var name = $1;
1244
- var suffix = $2;
1245
- var ws = $3;
1246
- var ca = $4;
1247
- var exp = $5;
1248
- return [
1249
- { ts: true, token: "readonly ", $loc: ca.$loc },
1250
- name,
1251
- suffix,
1252
- ws,
1253
- { token: "=", $loc: ca.$loc },
1254
- exp
1255
- ];
1256
- });
1244
+ var FieldDefinition$0 = $S(InsertReadonly, ClassElementName, $E(TypeSuffix), __, ConstAssignment, AssignmentExpression);
1257
1245
  var FieldDefinition$1 = $S(ClassElementName, $E(TypeSuffix), $E(Initializer));
1258
1246
  function FieldDefinition(state) {
1259
1247
  if (state.tokenize) {
@@ -1263,7 +1251,7 @@ var require_parser = __commonJS({
1263
1251
  }
1264
1252
  }
1265
1253
  var This$0 = $TV($EXPECT($L19, fail, 'This "this"'), function($skip, $loc, $0, $1) {
1266
- return { $loc, token: $0 };
1254
+ return { $loc, token: $1 };
1267
1255
  });
1268
1256
  var This$1 = $S(AtAccessor, $S($E($EXPECT($L20, fail, 'This "#"')), IdentifierName));
1269
1257
  var This$2 = $TV($EXPECT($L21, fail, 'This "@"'), function($skip, $loc, $0, $1) {
@@ -2123,8 +2111,12 @@ var require_parser = __commonJS({
2123
2111
  });
2124
2112
  var BinaryOpSymbol$21 = $EXPECT($L78, fail, 'BinaryOpSymbol "||"');
2125
2113
  var BinaryOpSymbol$22 = $EXPECT($L79, fail, 'BinaryOpSymbol "??"');
2126
- var BinaryOpSymbol$23 = $S($EXPECT($L80, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue);
2127
- var BinaryOpSymbol$24 = $S($EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue);
2114
+ var BinaryOpSymbol$23 = $TS($S($EXPECT($L80, fail, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2115
+ return $1;
2116
+ });
2117
+ var BinaryOpSymbol$24 = $TS($S($EXPECT($L81, fail, 'BinaryOpSymbol "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
2118
+ return $1;
2119
+ });
2128
2120
  var BinaryOpSymbol$25 = $EXPECT($L82, fail, 'BinaryOpSymbol "&"');
2129
2121
  var BinaryOpSymbol$26 = $EXPECT($L83, fail, 'BinaryOpSymbol "^"');
2130
2122
  var BinaryOpSymbol$27 = $EXPECT($L84, fail, 'BinaryOpSymbol "|"');
@@ -2787,21 +2779,7 @@ var require_parser = __commonJS({
2787
2779
  }
2788
2780
  }
2789
2781
  var LexicalDeclaration$0 = $S(LetOrConst, __, LexicalBinding, $Q($S(__, $EXPECT($L0, fail, 'LexicalDeclaration ","'), __, LexicalBinding)));
2790
- var LexicalDeclaration$1 = $TS($S($C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, ConstAssignment, AssignmentExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
2791
- var bind = $1;
2792
- var suffix = $2;
2793
- var ws = $3;
2794
- var ca = $4;
2795
- var exp = $5;
2796
- return [
2797
- "const ",
2798
- bind,
2799
- suffix,
2800
- ws,
2801
- { token: "=", $loc: ca.$loc },
2802
- exp
2803
- ];
2804
- });
2782
+ var LexicalDeclaration$1 = $S(InsertConst, $C(BindingPattern, BindingIdentifier), $E(TypeSuffix), __, ConstAssignment, AssignmentExpression);
2805
2783
  function LexicalDeclaration(state) {
2806
2784
  if (state.tokenize) {
2807
2785
  return $TOKEN("LexicalDeclaration", state, LexicalDeclaration$0(state) || LexicalDeclaration$1(state));
@@ -2810,7 +2788,7 @@ var require_parser = __commonJS({
2810
2788
  }
2811
2789
  }
2812
2790
  var ConstAssignment$0 = $TV($EXPECT($L116, fail, 'ConstAssignment ":="'), function($skip, $loc, $0, $1) {
2813
- return { $loc, token: $0 };
2791
+ return { $loc, token: "=" };
2814
2792
  });
2815
2793
  function ConstAssignment(state) {
2816
2794
  if (state.verbose)
@@ -3604,7 +3582,7 @@ var require_parser = __commonJS({
3604
3582
  return Type$0(state);
3605
3583
  }
3606
3584
  }
3607
- var TypeBinary$0 = $S(TypeUnary, $Q($S(__, TypeBinaryOp, TypeUnary)));
3585
+ var TypeBinary$0 = $S(TypeUnary, $Q($S(__, TypeBinaryOp, __, TypeUnary)));
3608
3586
  function TypeBinary(state) {
3609
3587
  if (state.verbose)
3610
3588
  console.log("ENTER:", "TypeBinary");
@@ -3872,6 +3850,30 @@ var require_parser = __commonJS({
3872
3850
  return InsertCloseBrace$0(state);
3873
3851
  }
3874
3852
  }
3853
+ var InsertConst$0 = $T($EXPECT($L33, fail, 'InsertConst ""'), function(value) {
3854
+ return "const ";
3855
+ });
3856
+ function InsertConst(state) {
3857
+ if (state.verbose)
3858
+ console.log("ENTER:", "InsertConst");
3859
+ if (state.tokenize) {
3860
+ return $TOKEN("InsertConst", state, InsertConst$0(state));
3861
+ } else {
3862
+ return InsertConst$0(state);
3863
+ }
3864
+ }
3865
+ var InsertReadonly$0 = $T($EXPECT($L33, fail, 'InsertReadonly ""'), function(value) {
3866
+ return { "ts": true, "children": ["readonly "] };
3867
+ });
3868
+ function InsertReadonly(state) {
3869
+ if (state.verbose)
3870
+ console.log("ENTER:", "InsertReadonly");
3871
+ if (state.tokenize) {
3872
+ return $TOKEN("InsertReadonly", state, InsertReadonly$0(state));
3873
+ } else {
3874
+ return InsertReadonly$0(state);
3875
+ }
3876
+ }
3875
3877
  var InsertNewline$0 = $TV($EXPECT($L33, fail, 'InsertNewline ""'), function($skip, $loc, $0, $1) {
3876
3878
  return "\n";
3877
3879
  });
@@ -4268,6 +4270,7 @@ var require_util = __commonJS({
4268
4270
 
4269
4271
  // source/main.coffee
4270
4272
  var SourceMap;
4273
+ var base64Encode;
4271
4274
  var defaultOptions;
4272
4275
  var gen;
4273
4276
  var parse;
@@ -4280,21 +4283,35 @@ defaultOptions = {};
4280
4283
  module.exports = {
4281
4284
  parse,
4282
4285
  compile: function(src, options = defaultOptions) {
4283
- var ast, code, sm;
4286
+ var ast, code, filename, sm, srcMapJSON;
4287
+ filename = options.filename || "unknown";
4284
4288
  ast = prune(parse(src, {
4285
- filename: options.filename
4289
+ filename
4286
4290
  }));
4287
- if (options.sourceMap) {
4291
+ if (options.ast) {
4292
+ return ast;
4293
+ }
4294
+ if (options.sourceMap || options.inlineMap) {
4288
4295
  sm = SourceMap(src);
4289
4296
  options.updateSourceMap = sm.updateSourceMap;
4290
4297
  code = gen(ast, options);
4291
- return {
4292
- code,
4293
- sourceMap: sm
4294
- };
4298
+ if (options.inlineMap) {
4299
+ srcMapJSON = sm.json(filename, filename.replace(/(?:\.civet$)?/, ".ts"));
4300
+ return `${code}
4301
+ //# sourceMappingURL=data:application/json;base64,${base64Encode(JSON.stringify(srcMapJSON))}
4302
+ `;
4303
+ } else {
4304
+ return {
4305
+ code,
4306
+ sourceMap: sm
4307
+ };
4308
+ }
4295
4309
  }
4296
4310
  return gen(ast, options);
4297
4311
  },
4298
4312
  generate: gen,
4299
4313
  util
4300
4314
  };
4315
+ base64Encode = function(src) {
4316
+ return Buffer.from(src).toString("base64");
4317
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielx/civet",
3
- "version": "0.3.14",
3
+ "version": "0.3.16",
4
4
  "description": "CoffeeScript style syntax for TypeScript",
5
5
  "main": "dist/main.js",
6
6
  "exports": {