@danielx/civet 0.6.10 → 0.6.12

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
@@ -431,7 +431,7 @@ var Civet = (() => {
431
431
  if (glob?.type === "PropertyGlob") {
432
432
  let prefix = children.slice(0, i);
433
433
  const parts = [];
434
- let hoistDec, refAssignment = [];
434
+ let hoistDec, refAssignment;
435
435
  if (prefix.length > 1) {
436
436
  const ref = {
437
437
  type: "Ref",
@@ -488,10 +488,9 @@ var Civet = (() => {
488
488
  });
489
489
  }
490
490
  }
491
- const object = {
491
+ let object = {
492
492
  type: "ObjectExpression",
493
493
  children: [
494
- ...refAssignment,
495
494
  glob.object.children[0],
496
495
  ...parts,
497
496
  glob.object.children.at(-1)
@@ -499,6 +498,13 @@ var Civet = (() => {
499
498
  properties: parts,
500
499
  hoistDec
501
500
  };
501
+ if (refAssignment) {
502
+ object = {
503
+ type: "ParenthesizedExpression",
504
+ children: ["(", ...refAssignment, object, ")"],
505
+ expression: object
506
+ };
507
+ }
502
508
  if (i === children.length - 1)
503
509
  return object;
504
510
  return processCallMemberExpression({
@@ -658,12 +664,12 @@ var Civet = (() => {
658
664
  } else {
659
665
  endIndex = i + 1;
660
666
  }
661
- results = results.concat(first, ...binops.slice(start, endIndex));
667
+ results.push(first, ...binops.slice(start, endIndex).flat());
662
668
  first = [exp].concat(binops.slice(index + 1, endIndex));
663
669
  start = endIndex;
664
670
  });
665
671
  } else {
666
- results = results.concat(first, ...binops.slice(start, i + 1));
672
+ results.push(first, ...binops.slice(start, i + 1).flat());
667
673
  start = i + 1;
668
674
  }
669
675
  chains.length = 0;
@@ -1172,7 +1178,9 @@ var Civet = (() => {
1172
1178
  }
1173
1179
  function convertMethodToFunction(method) {
1174
1180
  const { signature, block } = method;
1175
- let { modifier } = signature;
1181
+ let { modifier, optional } = signature;
1182
+ if (optional)
1183
+ return;
1176
1184
  if (modifier) {
1177
1185
  if (modifier.get || modifier.set) {
1178
1186
  return;
@@ -1337,7 +1345,7 @@ var Civet = (() => {
1337
1345
  };
1338
1346
  }
1339
1347
  function implicitFunctionBlock(f) {
1340
- if (f.abstract || f.block)
1348
+ if (f.abstract || f.block || f.signature?.optional)
1341
1349
  return;
1342
1350
  const { name, parent } = f;
1343
1351
  const expressions = parent?.expressions ?? parent?.elements;
@@ -1578,11 +1586,20 @@ var Civet = (() => {
1578
1586
  });
1579
1587
  break;
1580
1588
  }
1581
- case "ConditionFragment":
1589
+ case "ConditionFragment": {
1590
+ let { children } = pattern;
1591
+ if (children.length) {
1592
+ let [first, ...rest] = children;
1593
+ let [ws, ...op] = first;
1594
+ ws = [" "].concat(ws);
1595
+ first = [ws, ...op];
1596
+ children = [first, ...rest];
1597
+ }
1582
1598
  conditions.push(
1583
- [ref, " ", pattern.children]
1599
+ processBinaryOpExpression([ref, children])
1584
1600
  );
1585
1601
  break;
1602
+ }
1586
1603
  case "RegularExpressionLiteral": {
1587
1604
  conditions.push(
1588
1605
  ["typeof ", ref, " === 'string'"],
@@ -8202,7 +8219,7 @@ ${input.slice(result.pos)}
8202
8219
  return {
8203
8220
  type: "BlockStatement",
8204
8221
  expressions,
8205
- children: [$1, expressions, $2],
8222
+ children: [$1, $2, expressions, $3, $4],
8206
8223
  bare: false,
8207
8224
  empty: true
8208
8225
  };
@@ -8270,8 +8287,8 @@ ${input.slice(result.pos)}
8270
8287
  return result;
8271
8288
  }
8272
8289
  }
8273
- var Block$0 = ExplicitBlock;
8274
- var Block$1 = ImplicitNestedBlock;
8290
+ var Block$0 = ImplicitNestedBlock;
8291
+ var Block$1 = ExplicitBlock;
8275
8292
  var Block$2 = ThenClause;
8276
8293
  var Block$3 = $TS($S($E(_), $N(EOS), Statement), function($skip, $loc, $0, $1, $2, $3) {
8277
8294
  var ws = $1;
@@ -10276,20 +10293,24 @@ ${input.slice(result.pos)}
10276
10293
  parameters
10277
10294
  };
10278
10295
  });
10279
- var MethodSignature$1 = $TS($S($E(MethodModifier), ClassElementName, $E(_), NonEmptyParameters, $E(ReturnTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10296
+ var MethodSignature$1 = $TS($S($E(MethodModifier), ClassElementName, $E(_), $E(QuestionMark), $E(_), NonEmptyParameters, $E(ReturnTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
10280
10297
  var modifier = $1;
10281
10298
  var name = $2;
10282
- var parameters = $4;
10283
- var returnType = $5;
10299
+ var optional = $4;
10300
+ var parameters = $6;
10301
+ var returnType = $7;
10284
10302
  if (name.name) {
10285
10303
  name = name.name;
10286
10304
  } else if (name.token) {
10287
10305
  name = name.token.match(/^(?:"|')/) ? name.token.slice(1, -1) : name.token;
10288
10306
  }
10307
+ if (optional)
10308
+ $0[3] = optional = { ...optional, ts: true };
10289
10309
  return {
10290
10310
  type: "MethodSignature",
10291
10311
  children: $0,
10292
10312
  name,
10313
+ optional,
10293
10314
  modifier,
10294
10315
  returnType,
10295
10316
  parameters
@@ -21692,8 +21713,8 @@ ${input.slice(result.pos)}
21692
21713
  return result;
21693
21714
  }
21694
21715
  }
21695
- var FunctionType$0 = $TS($S(Parameters, __, TypeArrowFunction, $E(Type)), function($skip, $loc, $0, $1, $2, $3, $4) {
21696
- var type = $4;
21716
+ var FunctionType$0 = $TS($S($E($S(New, $E(_))), Parameters, __, TypeArrowFunction, $E(Type)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
21717
+ var type = $5;
21697
21718
  if (type) {
21698
21719
  return $0;
21699
21720
  }
package/dist/main.js CHANGED
@@ -430,7 +430,7 @@ var require_lib = __commonJS({
430
430
  if (glob?.type === "PropertyGlob") {
431
431
  let prefix = children.slice(0, i);
432
432
  const parts = [];
433
- let hoistDec, refAssignment = [];
433
+ let hoistDec, refAssignment;
434
434
  if (prefix.length > 1) {
435
435
  const ref = {
436
436
  type: "Ref",
@@ -487,10 +487,9 @@ var require_lib = __commonJS({
487
487
  });
488
488
  }
489
489
  }
490
- const object = {
490
+ let object = {
491
491
  type: "ObjectExpression",
492
492
  children: [
493
- ...refAssignment,
494
493
  glob.object.children[0],
495
494
  ...parts,
496
495
  glob.object.children.at(-1)
@@ -498,6 +497,13 @@ var require_lib = __commonJS({
498
497
  properties: parts,
499
498
  hoistDec
500
499
  };
500
+ if (refAssignment) {
501
+ object = {
502
+ type: "ParenthesizedExpression",
503
+ children: ["(", ...refAssignment, object, ")"],
504
+ expression: object
505
+ };
506
+ }
501
507
  if (i === children.length - 1)
502
508
  return object;
503
509
  return processCallMemberExpression({
@@ -657,12 +663,12 @@ var require_lib = __commonJS({
657
663
  } else {
658
664
  endIndex = i + 1;
659
665
  }
660
- results = results.concat(first, ...binops.slice(start, endIndex));
666
+ results.push(first, ...binops.slice(start, endIndex).flat());
661
667
  first = [exp].concat(binops.slice(index + 1, endIndex));
662
668
  start = endIndex;
663
669
  });
664
670
  } else {
665
- results = results.concat(first, ...binops.slice(start, i + 1));
671
+ results.push(first, ...binops.slice(start, i + 1).flat());
666
672
  start = i + 1;
667
673
  }
668
674
  chains.length = 0;
@@ -1171,7 +1177,9 @@ var require_lib = __commonJS({
1171
1177
  }
1172
1178
  function convertMethodToFunction(method) {
1173
1179
  const { signature, block } = method;
1174
- let { modifier } = signature;
1180
+ let { modifier, optional } = signature;
1181
+ if (optional)
1182
+ return;
1175
1183
  if (modifier) {
1176
1184
  if (modifier.get || modifier.set) {
1177
1185
  return;
@@ -1336,7 +1344,7 @@ var require_lib = __commonJS({
1336
1344
  };
1337
1345
  }
1338
1346
  function implicitFunctionBlock(f) {
1339
- if (f.abstract || f.block)
1347
+ if (f.abstract || f.block || f.signature?.optional)
1340
1348
  return;
1341
1349
  const { name, parent } = f;
1342
1350
  const expressions = parent?.expressions ?? parent?.elements;
@@ -1577,11 +1585,20 @@ var require_lib = __commonJS({
1577
1585
  });
1578
1586
  break;
1579
1587
  }
1580
- case "ConditionFragment":
1588
+ case "ConditionFragment": {
1589
+ let { children } = pattern;
1590
+ if (children.length) {
1591
+ let [first, ...rest] = children;
1592
+ let [ws, ...op] = first;
1593
+ ws = [" "].concat(ws);
1594
+ first = [ws, ...op];
1595
+ children = [first, ...rest];
1596
+ }
1581
1597
  conditions.push(
1582
- [ref, " ", pattern.children]
1598
+ processBinaryOpExpression([ref, children])
1583
1599
  );
1584
1600
  break;
1601
+ }
1585
1602
  case "RegularExpressionLiteral": {
1586
1603
  conditions.push(
1587
1604
  ["typeof ", ref, " === 'string'"],
@@ -8201,7 +8218,7 @@ ${input.slice(result.pos)}
8201
8218
  return {
8202
8219
  type: "BlockStatement",
8203
8220
  expressions,
8204
- children: [$1, expressions, $2],
8221
+ children: [$1, $2, expressions, $3, $4],
8205
8222
  bare: false,
8206
8223
  empty: true
8207
8224
  };
@@ -8269,8 +8286,8 @@ ${input.slice(result.pos)}
8269
8286
  return result;
8270
8287
  }
8271
8288
  }
8272
- var Block$0 = ExplicitBlock;
8273
- var Block$1 = ImplicitNestedBlock;
8289
+ var Block$0 = ImplicitNestedBlock;
8290
+ var Block$1 = ExplicitBlock;
8274
8291
  var Block$2 = ThenClause;
8275
8292
  var Block$3 = $TS($S($E(_), $N(EOS), Statement), function($skip, $loc, $0, $1, $2, $3) {
8276
8293
  var ws = $1;
@@ -10275,20 +10292,24 @@ ${input.slice(result.pos)}
10275
10292
  parameters
10276
10293
  };
10277
10294
  });
10278
- var MethodSignature$1 = $TS($S($E(MethodModifier), ClassElementName, $E(_), NonEmptyParameters, $E(ReturnTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10295
+ var MethodSignature$1 = $TS($S($E(MethodModifier), ClassElementName, $E(_), $E(QuestionMark), $E(_), NonEmptyParameters, $E(ReturnTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
10279
10296
  var modifier = $1;
10280
10297
  var name = $2;
10281
- var parameters = $4;
10282
- var returnType = $5;
10298
+ var optional = $4;
10299
+ var parameters = $6;
10300
+ var returnType = $7;
10283
10301
  if (name.name) {
10284
10302
  name = name.name;
10285
10303
  } else if (name.token) {
10286
10304
  name = name.token.match(/^(?:"|')/) ? name.token.slice(1, -1) : name.token;
10287
10305
  }
10306
+ if (optional)
10307
+ $0[3] = optional = { ...optional, ts: true };
10288
10308
  return {
10289
10309
  type: "MethodSignature",
10290
10310
  children: $0,
10291
10311
  name,
10312
+ optional,
10292
10313
  modifier,
10293
10314
  returnType,
10294
10315
  parameters
@@ -21691,8 +21712,8 @@ ${input.slice(result.pos)}
21691
21712
  return result;
21692
21713
  }
21693
21714
  }
21694
- var FunctionType$0 = $TS($S(Parameters, __, TypeArrowFunction, $E(Type)), function($skip, $loc, $0, $1, $2, $3, $4) {
21695
- var type = $4;
21715
+ var FunctionType$0 = $TS($S($E($S(New, $E(_))), Parameters, __, TypeArrowFunction, $E(Type)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
21716
+ var type = $5;
21696
21717
  if (type) {
21697
21718
  return $0;
21698
21719
  }
package/dist/main.mjs CHANGED
@@ -428,7 +428,7 @@ var require_lib = __commonJS({
428
428
  if (glob?.type === "PropertyGlob") {
429
429
  let prefix = children.slice(0, i);
430
430
  const parts = [];
431
- let hoistDec, refAssignment = [];
431
+ let hoistDec, refAssignment;
432
432
  if (prefix.length > 1) {
433
433
  const ref = {
434
434
  type: "Ref",
@@ -485,10 +485,9 @@ var require_lib = __commonJS({
485
485
  });
486
486
  }
487
487
  }
488
- const object = {
488
+ let object = {
489
489
  type: "ObjectExpression",
490
490
  children: [
491
- ...refAssignment,
492
491
  glob.object.children[0],
493
492
  ...parts,
494
493
  glob.object.children.at(-1)
@@ -496,6 +495,13 @@ var require_lib = __commonJS({
496
495
  properties: parts,
497
496
  hoistDec
498
497
  };
498
+ if (refAssignment) {
499
+ object = {
500
+ type: "ParenthesizedExpression",
501
+ children: ["(", ...refAssignment, object, ")"],
502
+ expression: object
503
+ };
504
+ }
499
505
  if (i === children.length - 1)
500
506
  return object;
501
507
  return processCallMemberExpression({
@@ -655,12 +661,12 @@ var require_lib = __commonJS({
655
661
  } else {
656
662
  endIndex = i + 1;
657
663
  }
658
- results = results.concat(first, ...binops.slice(start, endIndex));
664
+ results.push(first, ...binops.slice(start, endIndex).flat());
659
665
  first = [exp].concat(binops.slice(index + 1, endIndex));
660
666
  start = endIndex;
661
667
  });
662
668
  } else {
663
- results = results.concat(first, ...binops.slice(start, i + 1));
669
+ results.push(first, ...binops.slice(start, i + 1).flat());
664
670
  start = i + 1;
665
671
  }
666
672
  chains.length = 0;
@@ -1169,7 +1175,9 @@ var require_lib = __commonJS({
1169
1175
  }
1170
1176
  function convertMethodToFunction(method) {
1171
1177
  const { signature, block } = method;
1172
- let { modifier } = signature;
1178
+ let { modifier, optional } = signature;
1179
+ if (optional)
1180
+ return;
1173
1181
  if (modifier) {
1174
1182
  if (modifier.get || modifier.set) {
1175
1183
  return;
@@ -1334,7 +1342,7 @@ var require_lib = __commonJS({
1334
1342
  };
1335
1343
  }
1336
1344
  function implicitFunctionBlock(f) {
1337
- if (f.abstract || f.block)
1345
+ if (f.abstract || f.block || f.signature?.optional)
1338
1346
  return;
1339
1347
  const { name, parent } = f;
1340
1348
  const expressions = parent?.expressions ?? parent?.elements;
@@ -1575,11 +1583,20 @@ var require_lib = __commonJS({
1575
1583
  });
1576
1584
  break;
1577
1585
  }
1578
- case "ConditionFragment":
1586
+ case "ConditionFragment": {
1587
+ let { children } = pattern;
1588
+ if (children.length) {
1589
+ let [first, ...rest] = children;
1590
+ let [ws, ...op] = first;
1591
+ ws = [" "].concat(ws);
1592
+ first = [ws, ...op];
1593
+ children = [first, ...rest];
1594
+ }
1579
1595
  conditions.push(
1580
- [ref, " ", pattern.children]
1596
+ processBinaryOpExpression([ref, children])
1581
1597
  );
1582
1598
  break;
1599
+ }
1583
1600
  case "RegularExpressionLiteral": {
1584
1601
  conditions.push(
1585
1602
  ["typeof ", ref, " === 'string'"],
@@ -8199,7 +8216,7 @@ ${input.slice(result.pos)}
8199
8216
  return {
8200
8217
  type: "BlockStatement",
8201
8218
  expressions,
8202
- children: [$1, expressions, $2],
8219
+ children: [$1, $2, expressions, $3, $4],
8203
8220
  bare: false,
8204
8221
  empty: true
8205
8222
  };
@@ -8267,8 +8284,8 @@ ${input.slice(result.pos)}
8267
8284
  return result;
8268
8285
  }
8269
8286
  }
8270
- var Block$0 = ExplicitBlock;
8271
- var Block$1 = ImplicitNestedBlock;
8287
+ var Block$0 = ImplicitNestedBlock;
8288
+ var Block$1 = ExplicitBlock;
8272
8289
  var Block$2 = ThenClause;
8273
8290
  var Block$3 = $TS($S($E(_), $N(EOS), Statement), function($skip, $loc, $0, $1, $2, $3) {
8274
8291
  var ws = $1;
@@ -10273,20 +10290,24 @@ ${input.slice(result.pos)}
10273
10290
  parameters
10274
10291
  };
10275
10292
  });
10276
- var MethodSignature$1 = $TS($S($E(MethodModifier), ClassElementName, $E(_), NonEmptyParameters, $E(ReturnTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10293
+ var MethodSignature$1 = $TS($S($E(MethodModifier), ClassElementName, $E(_), $E(QuestionMark), $E(_), NonEmptyParameters, $E(ReturnTypeSuffix)), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
10277
10294
  var modifier = $1;
10278
10295
  var name = $2;
10279
- var parameters = $4;
10280
- var returnType = $5;
10296
+ var optional = $4;
10297
+ var parameters = $6;
10298
+ var returnType = $7;
10281
10299
  if (name.name) {
10282
10300
  name = name.name;
10283
10301
  } else if (name.token) {
10284
10302
  name = name.token.match(/^(?:"|')/) ? name.token.slice(1, -1) : name.token;
10285
10303
  }
10304
+ if (optional)
10305
+ $0[3] = optional = { ...optional, ts: true };
10286
10306
  return {
10287
10307
  type: "MethodSignature",
10288
10308
  children: $0,
10289
10309
  name,
10310
+ optional,
10290
10311
  modifier,
10291
10312
  returnType,
10292
10313
  parameters
@@ -21689,8 +21710,8 @@ ${input.slice(result.pos)}
21689
21710
  return result;
21690
21711
  }
21691
21712
  }
21692
- var FunctionType$0 = $TS($S(Parameters, __, TypeArrowFunction, $E(Type)), function($skip, $loc, $0, $1, $2, $3, $4) {
21693
- var type = $4;
21713
+ var FunctionType$0 = $TS($S($E($S(New, $E(_))), Parameters, __, TypeArrowFunction, $E(Type)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
21714
+ var type = $5;
21694
21715
  if (type) {
21695
21716
  return $0;
21696
21717
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielx/civet",
3
- "version": "0.6.10",
3
+ "version": "0.6.12",
4
4
  "description": "CoffeeScript style syntax for TypeScript",
5
5
  "main": "dist/main.js",
6
6
  "module": "dist/main.mjs",