@weborigami/language 0.3.4-jse.6 → 0.3.4-jse.8

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.
@@ -205,7 +205,7 @@ function peg$parse(input, options) {
205
205
  var peg$FAILED = {};
206
206
  var peg$source = options.grammarSource;
207
207
 
208
- var peg$startRuleFunctions = { __: peg$parse__, additiveExpression: peg$parseadditiveExpression, additiveOperator: peg$parseadditiveOperator, angleBracketLiteral: peg$parseangleBracketLiteral, angleBracketPath: peg$parseangleBracketPath, angleBracketKey: peg$parseangleBracketKey, angleBracketPathChar: peg$parseangleBracketPathChar, arguments: peg$parsearguments, arrayLiteral: peg$parsearrayLiteral, arrayEntries: peg$parsearrayEntries, arrayEntry: peg$parsearrayEntry, arrowFunction: peg$parsearrowFunction, bitwiseAndExpression: peg$parsebitwiseAndExpression, bitwiseAndOperator: peg$parsebitwiseAndOperator, bitwiseOrExpression: peg$parsebitwiseOrExpression, bitwiseOrOperator: peg$parsebitwiseOrOperator, bitwiseXorExpression: peg$parsebitwiseXorExpression, bitwiseXorOperator: peg$parsebitwiseXorOperator, callExpression: peg$parsecallExpression, commaExpression: peg$parsecommaExpression, comment: peg$parsecomment, computedPropertyAccess: peg$parsecomputedPropertyAccess, conditionalExpression: peg$parseconditionalExpression, digits: peg$parsedigits, doubleArrow: peg$parsedoubleArrow, doubleQuoteString: peg$parsedoubleQuoteString, doubleQuoteStringChar: peg$parsedoubleQuoteStringChar, ellipsis: peg$parseellipsis, equalityExpression: peg$parseequalityExpression, equalityOperator: peg$parseequalityOperator, escapedChar: peg$parseescapedChar, expectBacktick: peg$parseexpectBacktick, expectClosingBrace: peg$parseexpectClosingBrace, expectClosingBracket: peg$parseexpectClosingBracket, expectClosingParenthesis: peg$parseexpectClosingParenthesis, expectDoubleQuote: peg$parseexpectDoubleQuote, expectExpression: peg$parseexpectExpression, expectFrontDelimiter: peg$parseexpectFrontDelimiter, expectGuillemet: peg$parseexpectGuillemet, expectSingleQuote: peg$parseexpectSingleQuote, expectPipelineExpression: peg$parseexpectPipelineExpression, exponentiationExpression: peg$parseexponentiationExpression, expression: peg$parseexpression, floatLiteral: peg$parsefloatLiteral, frontDelimiter: peg$parsefrontDelimiter, frontMatterExpression: peg$parsefrontMatterExpression, frontMatterText: peg$parsefrontMatterText, frontMatterYaml: peg$parsefrontMatterYaml, group: peg$parsegroup, guillemetString: peg$parseguillemetString, guillemetStringChar: peg$parseguillemetStringChar, host: peg$parsehost, hostname: peg$parsehostname, identifier: peg$parseidentifier, identifierLiteral: peg$parseidentifierLiteral, identifierPart: peg$parseidentifierPart, identifierStart: peg$parseidentifierStart, implicitParenthesesCallExpression: peg$parseimplicitParenthesesCallExpression, implicitParensthesesArguments: peg$parseimplicitParensthesesArguments, inlineSpace: peg$parseinlineSpace, integerLiteral: peg$parseintegerLiteral, key: peg$parsekey, keyChar: peg$parsekeyChar, keyCharStart: peg$parsekeyCharStart, list: peg$parselist, logicalAndExpression: peg$parselogicalAndExpression, logicalOrExpression: peg$parselogicalOrExpression, minus: peg$parseminus, multiLineComment: peg$parsemultiLineComment, multiplicativeExpression: peg$parsemultiplicativeExpression, multiplicativeOperator: peg$parsemultiplicativeOperator, newExpression: peg$parsenewExpression, newLine: peg$parsenewLine, numericLiteral: peg$parsenumericLiteral, nullishCoalescingExpression: peg$parsenullishCoalescingExpression, objectLiteral: peg$parseobjectLiteral, objectEntries: peg$parseobjectEntries, objectEntry: peg$parseobjectEntry, objectGetter: peg$parseobjectGetter, objectHiddenKey: peg$parseobjectHiddenKey, objectKey: peg$parseobjectKey, objectProperty: peg$parseobjectProperty, objectShorthandProperty: peg$parseobjectShorthandProperty, objectPublicKey: peg$parseobjectPublicKey, optionalChaining: peg$parseoptionalChaining, parameter: peg$parseparameter, parameterList: peg$parseparameterList, parameterSingleton: peg$parseparameterSingleton, parenthesesArguments: peg$parseparenthesesArguments, pathArguments: peg$parsepathArguments, pathKeys: peg$parsepathKeys, pathLiteral: peg$parsepathLiteral, pathSegment: peg$parsepathSegment, pipelineExpression: peg$parsepipelineExpression, primary: peg$parseprimary, program: peg$parseprogram, propertyAccess: peg$parsepropertyAccess, regexFlags: peg$parseregexFlags, regexLiteral: peg$parseregexLiteral, regexLiteralChar: peg$parseregexLiteralChar, relationalExpression: peg$parserelationalExpression, relationalOperator: peg$parserelationalOperator, separator: peg$parseseparator, shebang: peg$parseshebang, shellMode: peg$parseshellMode, shiftExpression: peg$parseshiftExpression, shiftOperator: peg$parseshiftOperator, shorthandFunction: peg$parseshorthandFunction, singleArrow: peg$parsesingleArrow, singleLineComment: peg$parsesingleLineComment, singleQuoteString: peg$parsesingleQuoteString, singleQuoteStringChar: peg$parsesingleQuoteStringChar, slash: peg$parseslash, slashes: peg$parseslashes, slashFollows: peg$parseslashFollows, spreadElement: peg$parsespreadElement, stringLiteral: peg$parsestringLiteral, templateBody: peg$parsetemplateBody, templateBodyChar: peg$parsetemplateBodyChar, templateBodyText: peg$parsetemplateBodyText, templateDocument: peg$parsetemplateDocument, templateLiteral: peg$parsetemplateLiteral, templateLiteralChar: peg$parsetemplateLiteralChar, templateLiteralText: peg$parsetemplateLiteralText, templateSubstitution: peg$parsetemplateSubstitution, textChar: peg$parsetextChar, unaryExpression: peg$parseunaryExpression, uri: peg$parseuri, uriExpression: peg$parseuriExpression, uriKey: peg$parseuriKey, uriKeyChar: peg$parseuriKeyChar, uriPath: peg$parseuriPath, uriScheme: peg$parseuriScheme, unaryOperator: peg$parseunaryOperator, whitespace: peg$parsewhitespace, whitespaceWithNewLine: peg$parsewhitespaceWithNewLine };
208
+ var peg$startRuleFunctions = { __: peg$parse__, additiveExpression: peg$parseadditiveExpression, additiveOperator: peg$parseadditiveOperator, angleBracketLiteral: peg$parseangleBracketLiteral, angleBracketPath: peg$parseangleBracketPath, angleBracketKey: peg$parseangleBracketKey, angleBracketPathChar: peg$parseangleBracketPathChar, arguments: peg$parsearguments, arrayLiteral: peg$parsearrayLiteral, arrayEntries: peg$parsearrayEntries, arrayEntry: peg$parsearrayEntry, arrowFunction: peg$parsearrowFunction, bitwiseAndExpression: peg$parsebitwiseAndExpression, bitwiseAndOperator: peg$parsebitwiseAndOperator, bitwiseOrExpression: peg$parsebitwiseOrExpression, bitwiseOrOperator: peg$parsebitwiseOrOperator, bitwiseXorExpression: peg$parsebitwiseXorExpression, bitwiseXorOperator: peg$parsebitwiseXorOperator, callExpression: peg$parsecallExpression, commaExpression: peg$parsecommaExpression, comment: peg$parsecomment, computedPropertyAccess: peg$parsecomputedPropertyAccess, computedPropertySpace: peg$parsecomputedPropertySpace, conditionalExpression: peg$parseconditionalExpression, digits: peg$parsedigits, doubleArrow: peg$parsedoubleArrow, doubleQuoteString: peg$parsedoubleQuoteString, doubleQuoteStringChar: peg$parsedoubleQuoteStringChar, ellipsis: peg$parseellipsis, equalityExpression: peg$parseequalityExpression, equalityOperator: peg$parseequalityOperator, escapedChar: peg$parseescapedChar, expectBacktick: peg$parseexpectBacktick, expectClosingBrace: peg$parseexpectClosingBrace, expectClosingBracket: peg$parseexpectClosingBracket, expectClosingParenthesis: peg$parseexpectClosingParenthesis, expectDoubleQuote: peg$parseexpectDoubleQuote, expectExpression: peg$parseexpectExpression, expectFrontDelimiter: peg$parseexpectFrontDelimiter, expectGuillemet: peg$parseexpectGuillemet, expectSingleQuote: peg$parseexpectSingleQuote, expectPipelineExpression: peg$parseexpectPipelineExpression, expectUnaryExpression: peg$parseexpectUnaryExpression, exponentiationExpression: peg$parseexponentiationExpression, expression: peg$parseexpression, floatLiteral: peg$parsefloatLiteral, frontDelimiter: peg$parsefrontDelimiter, frontMatterExpression: peg$parsefrontMatterExpression, frontMatterText: peg$parsefrontMatterText, frontMatterYaml: peg$parsefrontMatterYaml, group: peg$parsegroup, guillemetString: peg$parseguillemetString, guillemetStringChar: peg$parseguillemetStringChar, host: peg$parsehost, hostname: peg$parsehostname, identifier: peg$parseidentifier, identifierLiteral: peg$parseidentifierLiteral, identifierPart: peg$parseidentifierPart, identifierStart: peg$parseidentifierStart, implicitParenthesesCallExpression: peg$parseimplicitParenthesesCallExpression, implicitParensthesesArguments: peg$parseimplicitParensthesesArguments, inlineSpace: peg$parseinlineSpace, integerLiteral: peg$parseintegerLiteral, key: peg$parsekey, keyChar: peg$parsekeyChar, keyCharStart: peg$parsekeyCharStart, list: peg$parselist, logicalAndExpression: peg$parselogicalAndExpression, logicalOrExpression: peg$parselogicalOrExpression, minus: peg$parseminus, multiLineComment: peg$parsemultiLineComment, multiplicativeExpression: peg$parsemultiplicativeExpression, multiplicativeOperator: peg$parsemultiplicativeOperator, newExpression: peg$parsenewExpression, newLine: peg$parsenewLine, numericLiteral: peg$parsenumericLiteral, nullishCoalescingExpression: peg$parsenullishCoalescingExpression, objectLiteral: peg$parseobjectLiteral, objectEntries: peg$parseobjectEntries, objectEntry: peg$parseobjectEntry, objectGetter: peg$parseobjectGetter, objectHiddenKey: peg$parseobjectHiddenKey, objectKey: peg$parseobjectKey, objectProperty: peg$parseobjectProperty, objectShorthandProperty: peg$parseobjectShorthandProperty, objectPublicKey: peg$parseobjectPublicKey, optionalChaining: peg$parseoptionalChaining, parameter: peg$parseparameter, parameterList: peg$parseparameterList, parameterSingleton: peg$parseparameterSingleton, parenthesesArguments: peg$parseparenthesesArguments, pathArguments: peg$parsepathArguments, pathKeys: peg$parsepathKeys, pathLiteral: peg$parsepathLiteral, pathSegment: peg$parsepathSegment, pipelineExpression: peg$parsepipelineExpression, primary: peg$parseprimary, program: peg$parseprogram, propertyAccess: peg$parsepropertyAccess, regexFlags: peg$parseregexFlags, regexLiteral: peg$parseregexLiteral, regexLiteralChar: peg$parseregexLiteralChar, relationalExpression: peg$parserelationalExpression, relationalOperator: peg$parserelationalOperator, separator: peg$parseseparator, shebang: peg$parseshebang, shellMode: peg$parseshellMode, shiftExpression: peg$parseshiftExpression, shiftOperator: peg$parseshiftOperator, shorthandFunction: peg$parseshorthandFunction, singleArrow: peg$parsesingleArrow, singleLineComment: peg$parsesingleLineComment, singleQuoteString: peg$parsesingleQuoteString, singleQuoteStringChar: peg$parsesingleQuoteStringChar, slash: peg$parseslash, slashes: peg$parseslashes, slashFollows: peg$parseslashFollows, spreadElement: peg$parsespreadElement, stringLiteral: peg$parsestringLiteral, templateBody: peg$parsetemplateBody, templateBodyChar: peg$parsetemplateBodyChar, templateBodyText: peg$parsetemplateBodyText, templateDocument: peg$parsetemplateDocument, templateLiteral: peg$parsetemplateLiteral, templateLiteralChar: peg$parsetemplateLiteralChar, templateLiteralText: peg$parsetemplateLiteralText, templateSubstitution: peg$parsetemplateSubstitution, textChar: peg$parsetextChar, unaryExpression: peg$parseunaryExpression, uri: peg$parseuri, uriExpression: peg$parseuriExpression, uriKey: peg$parseuriKey, uriKeyChar: peg$parseuriKeyChar, uriPath: peg$parseuriPath, uriScheme: peg$parseuriScheme, unaryOperator: peg$parseunaryOperator, whitespace: peg$parsewhitespace, whitespaceWithNewLine: peg$parsewhitespaceWithNewLine };
209
209
  var peg$startRuleFunction = peg$parse__;
210
210
 
211
211
  var peg$c0 = "+";
@@ -285,7 +285,7 @@ function peg$parse(input, options) {
285
285
  var peg$r7 = /^[gimuy]/;
286
286
  var peg$r8 = /^[^\/\n\r]/;
287
287
  var peg$r9 = /^[^\n\r]/;
288
- var peg$r10 = /^[^\/,)\]}s]/;
288
+ var peg$r10 = /^[^\/,)\]} \t]/;
289
289
  var peg$r11 = /^[a-z]/;
290
290
  var peg$r12 = /^[a-z0-9+-.]/;
291
291
  var peg$r13 = /^[:]/;
@@ -399,7 +399,7 @@ function peg$parse(input, options) {
399
399
  var peg$e105 = peg$otherExpectation("template document");
400
400
  var peg$e106 = peg$otherExpectation("template literal");
401
401
  var peg$e107 = peg$otherExpectation("template substitution");
402
- var peg$e108 = peg$classExpectation(["/", ",", ")", "]", "}", "s"], true, false);
402
+ var peg$e108 = peg$classExpectation(["/", ",", ")", "]", "}", " ", "\t"], true, false);
403
403
  var peg$e109 = peg$otherExpectation("slash-separated path");
404
404
  var peg$e110 = peg$classExpectation([["a", "z"]], false, false);
405
405
  var peg$e111 = peg$classExpectation([["a", "z"], ["0", "9"], ["+", "."]], false, false);
@@ -510,7 +510,7 @@ function peg$parse(input, options) {
510
510
  error("Expected closing quote");
511
511
  };
512
512
  var peg$f32 = function() {
513
- error("Expected an Origami expression");
513
+ error("Expected an expression");
514
514
  };
515
515
  var peg$f33 = function() {
516
516
  error("Expected \"---\"");
@@ -524,61 +524,64 @@ function peg$parse(input, options) {
524
524
  var peg$f36 = function() {
525
525
  error("Expected an expression");
526
526
  };
527
- var peg$f37 = function(left, right) {
527
+ var peg$f37 = function() {
528
+ error("Expected an expression");
529
+ };
530
+ var peg$f38 = function(left, right) {
528
531
  return right ? annotate([ops.exponentiation, left, right], location()) : left;
529
532
  };
530
- var peg$f38 = function() {
533
+ var peg$f39 = function() {
531
534
  return annotate([ops.literal, parseFloat(text())], location());
532
535
  };
533
- var peg$f39 = function() {
536
+ var peg$f40 = function() {
534
537
  return isOrigamiFrontMatter(input.slice(location().end.offset))
535
538
  };
536
- var peg$f40 = function(chars) {
539
+ var peg$f41 = function(chars) {
537
540
  return chars.join("");
538
541
  };
539
- var peg$f41 = function(yaml) {
542
+ var peg$f42 = function(yaml) {
540
543
  return makeYamlObject(yaml, location());
541
544
  };
542
- var peg$f42 = function(expression) {
545
+ var peg$f43 = function(expression) {
543
546
  return annotate(expression, location());
544
547
  };
545
- var peg$f43 = function(chars) {
548
+ var peg$f44 = function(chars) {
546
549
  return annotate([ops.literal, chars.join("")], location());
547
550
  };
548
- var peg$f44 = function(name, port, slashFollows) {
551
+ var peg$f45 = function(name, port, slashFollows) {
549
552
  const portText = port ? `:${port[1]}` : "";
550
553
  const slashText = slashFollows ? "/" : "";
551
554
  const host = name + portText + slashText;
552
555
  return annotate([ops.literal, host], location());
553
556
  };
554
- var peg$f45 = function() {
557
+ var peg$f46 = function() {
555
558
  return text();
556
559
  };
557
- var peg$f46 = function(id) {
560
+ var peg$f47 = function(id) {
558
561
  return id;
559
562
  };
560
- var peg$f47 = function(id) {
563
+ var peg$f48 = function(id) {
561
564
  return annotate([ops.literal, id], location());
562
565
  };
563
- var peg$f48 = function(char) { return char.match(/[$_\p{ID_Continue}]/u) };
564
- var peg$f49 = function(char) { return char.match(/[$_\p{ID_Start}]/u) };
565
- var peg$f50 = function(head, args) {
566
+ var peg$f49 = function(char) { return char.match(/[$_\p{ID_Continue}]/u) };
567
+ var peg$f50 = function(char) { return char.match(/[$_\p{ID_Start}]/u) };
568
+ var peg$f51 = function(head, args) {
566
569
  return args ? makeCall(head, args, location()) : head;
567
570
  };
568
- var peg$f51 = function(values) {
571
+ var peg$f52 = function(values) {
569
572
  return annotate(values, location());
570
573
  };
571
- var peg$f52 = function() {
574
+ var peg$f53 = function() {
572
575
  return annotate([ops.literal, parseInt(text())], location());
573
576
  };
574
- var peg$f53 = function() {
577
+ var peg$f54 = function() {
575
578
  return text();
576
579
  };
577
- var peg$f54 = function(char) { return char.match(/[$_\p{ID_Continue}]/u) };
578
- var peg$f55 = function(values) {
580
+ var peg$f55 = function(char) { return char.match(/[$_\p{ID_Continue}]/u) };
581
+ var peg$f56 = function(values) {
579
582
  return annotate(values, location());
580
583
  };
581
- var peg$f56 = function(head, tail) {
584
+ var peg$f57 = function(head, tail) {
582
585
  return tail.length === 0
583
586
  ? head
584
587
  : annotate(
@@ -586,7 +589,7 @@ function peg$parse(input, options) {
586
589
  location()
587
590
  );
588
591
  };
589
- var peg$f57 = function(head, tail) {
592
+ var peg$f58 = function(head, tail) {
590
593
  return tail.length === 0
591
594
  ? head
592
595
  : annotate(
@@ -594,19 +597,19 @@ function peg$parse(input, options) {
594
597
  location()
595
598
  );
596
599
  };
597
- var peg$f58 = function() { return null; };
598
- var peg$f59 = function(head, tail) {
600
+ var peg$f59 = function() { return null; };
601
+ var peg$f60 = function(head, tail) {
599
602
  return tail.reduce(makeBinaryOperation, head);
600
603
  };
601
- var peg$f60 = function(head, tail) {
604
+ var peg$f61 = function(head, tail) {
602
605
  const args = tail?.[0] !== undefined ? tail : [];
603
606
  return annotate([ops.construct, head, ...args], location());
604
607
  };
605
- var peg$f61 = function(head, tail) {
608
+ var peg$f62 = function(head, tail) {
606
609
  const args = tail?.[0] !== undefined ? tail : [];
607
610
  return annotate([ops.construct, head, ...args], location());
608
611
  };
609
- var peg$f62 = function(head, tail) {
612
+ var peg$f63 = function(head, tail) {
610
613
  return tail.length === 0
611
614
  ? head
612
615
  : annotate(
@@ -614,128 +617,133 @@ function peg$parse(input, options) {
614
617
  location()
615
618
  );
616
619
  };
617
- var peg$f63 = function(entries) {
620
+ var peg$f64 = function(entries) {
618
621
  return makeObject(entries ?? [], location());
619
622
  };
620
- var peg$f64 = function(entries) {
623
+ var peg$f65 = function(entries) {
621
624
  return annotate(entries, location());
622
625
  };
623
- var peg$f65 = function(key, pipeline) {
626
+ var peg$f66 = function(key, pipeline) {
624
627
  const getter = annotate([ops.getter, pipeline], location());
625
628
  return annotate([key, getter], location());
626
629
  };
627
- var peg$f66 = function(hiddenKey) { return hiddenKey.join(""); };
628
- var peg$f67 = function(key, pipeline) {
630
+ var peg$f67 = function(hiddenKey) { return hiddenKey.join(""); };
631
+ var peg$f68 = function(key, pipeline) {
629
632
  return annotate([key, pipeline], location());
630
633
  };
631
- var peg$f68 = function(key) {
634
+ var peg$f69 = function(key) {
632
635
  const reference = annotate([markers.reference, key], location());
633
636
  const traverse = annotate([markers.traverse, reference], location());
634
637
  return annotate([key, traverse], location());
635
638
  };
636
- var peg$f69 = function(path) {
639
+ var peg$f70 = function(path) {
637
640
  let lastKey = path.at(-1);
638
641
  if (lastKey instanceof Array) {
639
642
  lastKey = lastKey[1]; // get scope identifier or literal
640
643
  }
641
644
  return annotate([lastKey, path], location());
642
645
  };
643
- var peg$f70 = function(key, slash) {
646
+ var peg$f71 = function(key, slash) {
644
647
  return text();
645
648
  };
646
- var peg$f71 = function(string) {
649
+ var peg$f72 = function(string) {
647
650
  // Remove `ops.literal` from the string code
648
651
  return string[1];
649
652
  };
650
- var peg$f72 = function(property) {
653
+ var peg$f73 = function(property) {
651
654
  return annotate([ops.optionalTraverse, property], location());
652
655
  };
653
- var peg$f73 = function(key) {
656
+ var peg$f74 = function(key) {
654
657
  return annotate([ops.literal, key], location());
655
658
  };
656
- var peg$f74 = function(list) {
659
+ var peg$f75 = function(list) {
657
660
  return annotate(list, location());
658
661
  };
659
- var peg$f75 = function(param) {
662
+ var peg$f76 = function(param) {
660
663
  return annotate([param], location());
661
664
  };
662
- var peg$f76 = function(list) {
665
+ var peg$f77 = function(list) {
663
666
  return annotate(list ?? [undefined], location());
664
667
  };
665
- var peg$f77 = function(keys) {
668
+ var peg$f78 = function(keys) {
666
669
  const args = keys ?? [];
667
670
  return annotate([markers.traverse, ...args], location());
668
671
  };
669
- var peg$f78 = function(keys) {
672
+ var peg$f79 = function(keys) {
670
673
  return makePath(keys);
671
674
  };
672
- var peg$f79 = function(key) {
675
+ var peg$f80 = function(key) {
673
676
  return annotate([ops.literal, text()], location());
674
677
  };
675
- var peg$f80 = function() {
678
+ var peg$f81 = function() {
676
679
  return annotate([ops.literal, text()], location());
677
680
  };
678
- var peg$f81 = function(head, tail) {
681
+ var peg$f82 = function(head, tail) {
679
682
  return annotate(
680
683
  tail.reduce((arg, fn) => makePipeline(arg, fn, location()), head),
681
684
  location()
682
685
  );
683
686
  };
684
- var peg$f82 = function(property) {
687
+ var peg$f83 = function(property) {
685
688
  return annotate([markers.property, property], location());
686
689
  };
687
- var peg$f83 = function(flags) {
690
+ var peg$f84 = function(flags) {
688
691
  return flags.join("");
689
692
  };
690
- var peg$f84 = function(chars, flags) {
693
+ var peg$f85 = function(chars, flags) {
691
694
  const regex = new RegExp(chars.join(""), flags);
692
695
  return annotate([ops.literal, regex], location());
693
696
  };
694
- var peg$f85 = function(head, tail) {
697
+ var peg$f86 = function(head, tail) {
695
698
  return tail.reduce(makeBinaryOperation, head);
696
699
  };
697
- var peg$f86 = function() { return null; };
698
- var peg$f87 = function() { return options.mode === "shell" };
699
- var peg$f88 = function(head, tail) {
700
+ var peg$f87 = function() { return null; };
701
+ var peg$f88 = function() { return options.mode === "shell" };
702
+ var peg$f89 = function(head, tail) {
700
703
  return tail.reduce(makeBinaryOperation, head);
701
704
  };
702
- var peg$f89 = function(definition) {
705
+ var peg$f90 = function(definition) {
703
706
  const lambdaParameters = annotate(
704
707
  [annotate([ops.literal, "_"], location())],
705
708
  location()
706
709
  );
707
710
  return annotate([ops.lambda, lambdaParameters, definition], location());
708
711
  };
709
- var peg$f90 = function() { return null; };
710
- var peg$f91 = function(chars) {
712
+ var peg$f91 = function() { return null; };
713
+ var peg$f92 = function(chars) {
711
714
  return annotate([ops.literal, chars.join("")], location());
712
715
  };
713
- var peg$f92 = function() {
716
+ var peg$f93 = function() {
714
717
  return annotate([ops.literal, "/"], location());
715
718
  };
716
- var peg$f93 = function() {
719
+ var peg$f94 = function() {
717
720
  return annotate([ops.literal, "/"], location());
718
721
  };
719
- var peg$f94 = function() {
722
+ var peg$f95 = function() {
720
723
  return true;
721
724
  };
722
- var peg$f95 = function(value) {
725
+ var peg$f96 = function(value) {
723
726
  return annotate([ops.spread, value], location());
724
727
  };
725
- var peg$f96 = function(head, tail) {
728
+ var peg$f97 = function(head, tail) {
726
729
  return makeTemplate(ops.templateIndent, head, tail, location());
727
730
  };
728
- var peg$f97 = function(chars) {
731
+ var peg$f98 = function(chars) {
729
732
  return annotate([ops.literal, chars.join("")], location());
730
733
  };
731
- var peg$f98 = function(front, body) {
734
+ var peg$f99 = function(front, body) {
735
+ // TODO: Deprecate @template
732
736
  const macroName = text().includes("@template") ? "@template" : "_template";
737
+ if (macroName === "@template") {
738
+ // If the front matter is a macro, apply it to the body
739
+ console.warn("Warning: the @template() macro is deprecated. Use _template() instead.");
740
+ }
733
741
  return annotate(applyMacro(front, macroName, body), location());
734
742
  };
735
- var peg$f99 = function(front, body) {
743
+ var peg$f100 = function(front, body) {
736
744
  return makeDocument(front, body, location());
737
745
  };
738
- var peg$f100 = function(body) {
746
+ var peg$f101 = function(body) {
739
747
  if (options.front) {
740
748
  return makeDocument(options.front, body, location());
741
749
  }
@@ -745,39 +753,41 @@ function peg$parse(input, options) {
745
753
  );
746
754
  return annotate([ops.lambda, lambdaParameters, body], location());
747
755
  };
748
- var peg$f101 = function(head, tail) {
756
+ var peg$f102 = function(head, tail) {
749
757
  return makeTemplate(ops.templateTree, head, tail, location());
750
758
  };
751
- var peg$f102 = function(chars) {
759
+ var peg$f103 = function(chars) {
752
760
  return annotate([ops.literal, chars.join("")], location());
753
761
  };
754
- var peg$f103 = function(expression) {
762
+ var peg$f104 = function(expression) {
755
763
  return annotate(expression, location());
756
764
  };
757
- var peg$f104 = function(operator, expression) {
765
+ var peg$f105 = function(operator, expression) {
758
766
  return makeUnaryOperation(operator, expression, location());
759
767
  };
760
- var peg$f105 = function(scheme, host, path) {
768
+ var peg$f106 = function(scheme, host, path) {
761
769
  const rest = path ? path[1] : [];
762
770
  const keys = annotate([host, ...rest], location());
763
771
  return makeCall(scheme, keys, location());
764
772
  };
765
- var peg$f106 = function(scheme, keys) {
773
+ var peg$f107 = function(scheme, keys) {
766
774
  return makeCall(scheme, keys, location());
767
775
  };
768
- var peg$f107 = function(chars) {
776
+ var peg$f108 = function(chars) {
769
777
  return annotate([ops.literal, text()], location());
770
778
  };
771
- var peg$f108 = function() {
779
+ var peg$f109 = function() {
772
780
  // A single slash is a path key
773
781
  return annotate([ops.literal, ""], location());
774
782
  };
775
- var peg$f109 = function(keys) {
783
+ var peg$f110 = function(keys) {
776
784
  return annotate(keys, location());
777
785
  };
778
- var peg$f110 = function() {
786
+ var peg$f111 = function() {
779
787
  return annotate([markers.global, text()], location());
780
788
  };
789
+ var peg$f112 = function(char) { return /\s/.test(char); };
790
+ var peg$f113 = function(char) { return char; };
781
791
  var peg$currPos = options.peg$currPos | 0;
782
792
  var peg$savedPos = peg$currPos;
783
793
  var peg$posDetailsCache = [{ line: 1, column: 1 }];
@@ -1893,21 +1903,26 @@ function peg$parse(input, options) {
1893
1903
  var s0, s1, s2, s3, s4;
1894
1904
 
1895
1905
  s0 = peg$currPos;
1896
- s1 = peg$parse__();
1897
- if (input.charCodeAt(peg$currPos) === 91) {
1898
- s2 = peg$c6;
1899
- peg$currPos++;
1900
- } else {
1901
- s2 = peg$FAILED;
1902
- if (peg$silentFails === 0) { peg$fail(peg$e9); }
1903
- }
1904
- if (s2 !== peg$FAILED) {
1905
- s3 = peg$parseexpression();
1906
- if (s3 !== peg$FAILED) {
1907
- s4 = peg$parseexpectClosingBracket();
1908
- if (s4 !== peg$FAILED) {
1909
- peg$savedPos = s0;
1910
- s0 = peg$f16(s3);
1906
+ s1 = peg$parsecomputedPropertySpace();
1907
+ if (s1 !== peg$FAILED) {
1908
+ if (input.charCodeAt(peg$currPos) === 91) {
1909
+ s2 = peg$c6;
1910
+ peg$currPos++;
1911
+ } else {
1912
+ s2 = peg$FAILED;
1913
+ if (peg$silentFails === 0) { peg$fail(peg$e9); }
1914
+ }
1915
+ if (s2 !== peg$FAILED) {
1916
+ s3 = peg$parseexpectExpression();
1917
+ if (s3 !== peg$FAILED) {
1918
+ s4 = peg$parseexpectClosingBracket();
1919
+ if (s4 !== peg$FAILED) {
1920
+ peg$savedPos = s0;
1921
+ s0 = peg$f16(s3);
1922
+ } else {
1923
+ peg$currPos = s0;
1924
+ s0 = peg$FAILED;
1925
+ }
1911
1926
  } else {
1912
1927
  peg$currPos = s0;
1913
1928
  s0 = peg$FAILED;
@@ -1924,6 +1939,35 @@ function peg$parse(input, options) {
1924
1939
  return s0;
1925
1940
  }
1926
1941
 
1942
+ function peg$parsecomputedPropertySpace() {
1943
+ var s0, s1, s2;
1944
+
1945
+ s0 = peg$parseshellMode();
1946
+ if (s0 === peg$FAILED) {
1947
+ s0 = peg$currPos;
1948
+ s1 = peg$currPos;
1949
+ peg$silentFails++;
1950
+ s2 = peg$parseshellMode();
1951
+ peg$silentFails--;
1952
+ if (s2 === peg$FAILED) {
1953
+ s1 = undefined;
1954
+ } else {
1955
+ peg$currPos = s1;
1956
+ s1 = peg$FAILED;
1957
+ }
1958
+ if (s1 !== peg$FAILED) {
1959
+ s2 = peg$parse__();
1960
+ s1 = [s1, s2];
1961
+ s0 = s1;
1962
+ } else {
1963
+ peg$currPos = s0;
1964
+ s0 = peg$FAILED;
1965
+ }
1966
+ }
1967
+
1968
+ return s0;
1969
+ }
1970
+
1927
1971
  function peg$parseconditionalExpression() {
1928
1972
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
1929
1973
 
@@ -2665,6 +2709,30 @@ function peg$parse(input, options) {
2665
2709
  return s0;
2666
2710
  }
2667
2711
 
2712
+ function peg$parseexpectUnaryExpression() {
2713
+ var s0, s1;
2714
+
2715
+ s0 = peg$parseunaryExpression();
2716
+ if (s0 === peg$FAILED) {
2717
+ s0 = peg$currPos;
2718
+ if (input.length > peg$currPos) {
2719
+ s1 = input.charAt(peg$currPos);
2720
+ peg$currPos++;
2721
+ } else {
2722
+ s1 = peg$FAILED;
2723
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2724
+ }
2725
+ if (s1 === peg$FAILED) {
2726
+ s1 = null;
2727
+ }
2728
+ peg$savedPos = s0;
2729
+ s1 = peg$f37();
2730
+ s0 = s1;
2731
+ }
2732
+
2733
+ return s0;
2734
+ }
2735
+
2668
2736
  function peg$parseexponentiationExpression() {
2669
2737
  var s0, s1, s2, s3, s4, s5, s6;
2670
2738
 
@@ -2707,7 +2775,7 @@ function peg$parse(input, options) {
2707
2775
  s2 = null;
2708
2776
  }
2709
2777
  peg$savedPos = s0;
2710
- s0 = peg$f37(s1, s2);
2778
+ s0 = peg$f38(s1, s2);
2711
2779
  } else {
2712
2780
  peg$currPos = s0;
2713
2781
  s0 = peg$FAILED;
@@ -2753,7 +2821,7 @@ function peg$parse(input, options) {
2753
2821
  s3 = peg$parsedigits();
2754
2822
  if (s3 !== peg$FAILED) {
2755
2823
  peg$savedPos = s0;
2756
- s0 = peg$f38();
2824
+ s0 = peg$f39();
2757
2825
  } else {
2758
2826
  peg$currPos = s0;
2759
2827
  s0 = peg$FAILED;
@@ -2792,7 +2860,7 @@ function peg$parse(input, options) {
2792
2860
  s1 = peg$parsefrontDelimiter();
2793
2861
  if (s1 !== peg$FAILED) {
2794
2862
  peg$savedPos = peg$currPos;
2795
- s2 = peg$f39();
2863
+ s2 = peg$f40();
2796
2864
  if (s2) {
2797
2865
  s2 = undefined;
2798
2866
  } else {
@@ -2891,7 +2959,7 @@ function peg$parse(input, options) {
2891
2959
  }
2892
2960
  }
2893
2961
  peg$savedPos = s0;
2894
- s1 = peg$f40(s1);
2962
+ s1 = peg$f41(s1);
2895
2963
  s0 = s1;
2896
2964
 
2897
2965
  return s0;
@@ -2908,7 +2976,7 @@ function peg$parse(input, options) {
2908
2976
  s3 = peg$parsefrontDelimiter();
2909
2977
  if (s3 !== peg$FAILED) {
2910
2978
  peg$savedPos = s0;
2911
- s0 = peg$f41(s2);
2979
+ s0 = peg$f42(s2);
2912
2980
  } else {
2913
2981
  peg$currPos = s0;
2914
2982
  s0 = peg$FAILED;
@@ -2939,12 +3007,12 @@ function peg$parse(input, options) {
2939
3007
  if (peg$silentFails === 0) { peg$fail(peg$e11); }
2940
3008
  }
2941
3009
  if (s1 !== peg$FAILED) {
2942
- s2 = peg$parseexpression();
3010
+ s2 = peg$parseexpectExpression();
2943
3011
  if (s2 !== peg$FAILED) {
2944
3012
  s3 = peg$parseexpectClosingParenthesis();
2945
3013
  if (s3 !== peg$FAILED) {
2946
3014
  peg$savedPos = s0;
2947
- s0 = peg$f42(s2);
3015
+ s0 = peg$f43(s2);
2948
3016
  } else {
2949
3017
  peg$currPos = s0;
2950
3018
  s0 = peg$FAILED;
@@ -2988,7 +3056,7 @@ function peg$parse(input, options) {
2988
3056
  s3 = peg$parseexpectGuillemet();
2989
3057
  if (s3 !== peg$FAILED) {
2990
3058
  peg$savedPos = s0;
2991
- s0 = peg$f43(s2);
3059
+ s0 = peg$f44(s2);
2992
3060
  } else {
2993
3061
  peg$currPos = s0;
2994
3062
  s0 = peg$FAILED;
@@ -3080,7 +3148,7 @@ function peg$parse(input, options) {
3080
3148
  s3 = null;
3081
3149
  }
3082
3150
  peg$savedPos = s0;
3083
- s0 = peg$f44(s1, s2, s3);
3151
+ s0 = peg$f45(s1, s2, s3);
3084
3152
  } else {
3085
3153
  peg$currPos = s0;
3086
3154
  s0 = peg$FAILED;
@@ -3101,7 +3169,7 @@ function peg$parse(input, options) {
3101
3169
  s1 = peg$parsekey();
3102
3170
  if (s1 !== peg$FAILED) {
3103
3171
  peg$savedPos = s0;
3104
- s1 = peg$f45();
3172
+ s1 = peg$f46();
3105
3173
  }
3106
3174
  s0 = s1;
3107
3175
 
@@ -3135,7 +3203,7 @@ function peg$parse(input, options) {
3135
3203
  }
3136
3204
  if (s1 !== peg$FAILED) {
3137
3205
  peg$savedPos = s0;
3138
- s1 = peg$f46(s1);
3206
+ s1 = peg$f47(s1);
3139
3207
  }
3140
3208
  s0 = s1;
3141
3209
 
@@ -3149,7 +3217,7 @@ function peg$parse(input, options) {
3149
3217
  s1 = peg$parseidentifier();
3150
3218
  if (s1 !== peg$FAILED) {
3151
3219
  peg$savedPos = s0;
3152
- s1 = peg$f47(s1);
3220
+ s1 = peg$f48(s1);
3153
3221
  }
3154
3222
  s0 = s1;
3155
3223
 
@@ -3170,7 +3238,7 @@ function peg$parse(input, options) {
3170
3238
  }
3171
3239
  if (s1 !== peg$FAILED) {
3172
3240
  peg$savedPos = peg$currPos;
3173
- s2 = peg$f48(s1);
3241
+ s2 = peg$f49(s1);
3174
3242
  if (s2) {
3175
3243
  s2 = undefined;
3176
3244
  } else {
@@ -3210,7 +3278,7 @@ function peg$parse(input, options) {
3210
3278
  }
3211
3279
  if (s1 !== peg$FAILED) {
3212
3280
  peg$savedPos = peg$currPos;
3213
- s2 = peg$f49(s1);
3281
+ s2 = peg$f50(s1);
3214
3282
  if (s2) {
3215
3283
  s2 = undefined;
3216
3284
  } else {
@@ -3270,7 +3338,7 @@ function peg$parse(input, options) {
3270
3338
  s2 = null;
3271
3339
  }
3272
3340
  peg$savedPos = s0;
3273
- s0 = peg$f50(s1, s2);
3341
+ s0 = peg$f51(s1, s2);
3274
3342
  } else {
3275
3343
  peg$currPos = s0;
3276
3344
  s0 = peg$FAILED;
@@ -3321,7 +3389,7 @@ function peg$parse(input, options) {
3321
3389
  s3 = null;
3322
3390
  }
3323
3391
  peg$savedPos = s0;
3324
- s0 = peg$f51(s2);
3392
+ s0 = peg$f52(s2);
3325
3393
  } else {
3326
3394
  peg$currPos = s0;
3327
3395
  s0 = peg$FAILED;
@@ -3356,7 +3424,7 @@ function peg$parse(input, options) {
3356
3424
  s1 = peg$parsedigits();
3357
3425
  if (s1 !== peg$FAILED) {
3358
3426
  peg$savedPos = s0;
3359
- s1 = peg$f52();
3427
+ s1 = peg$f53();
3360
3428
  }
3361
3429
  s0 = s1;
3362
3430
  peg$silentFails--;
@@ -3381,7 +3449,7 @@ function peg$parse(input, options) {
3381
3449
  s3 = peg$parsekeyChar();
3382
3450
  }
3383
3451
  peg$savedPos = s0;
3384
- s0 = peg$f53();
3452
+ s0 = peg$f54();
3385
3453
  } else {
3386
3454
  peg$currPos = s0;
3387
3455
  s0 = peg$FAILED;
@@ -3432,7 +3500,7 @@ function peg$parse(input, options) {
3432
3500
  }
3433
3501
  if (s1 !== peg$FAILED) {
3434
3502
  peg$savedPos = peg$currPos;
3435
- s2 = peg$f54(s1);
3503
+ s2 = peg$f55(s1);
3436
3504
  if (s2) {
3437
3505
  s2 = undefined;
3438
3506
  } else {
@@ -3498,7 +3566,7 @@ function peg$parse(input, options) {
3498
3566
  s2 = null;
3499
3567
  }
3500
3568
  peg$savedPos = s0;
3501
- s0 = peg$f55(s1);
3569
+ s0 = peg$f56(s1);
3502
3570
  } else {
3503
3571
  peg$currPos = s0;
3504
3572
  s0 = peg$FAILED;
@@ -3567,7 +3635,7 @@ function peg$parse(input, options) {
3567
3635
  }
3568
3636
  }
3569
3637
  peg$savedPos = s0;
3570
- s0 = peg$f56(s1, s2);
3638
+ s0 = peg$f57(s1, s2);
3571
3639
  } else {
3572
3640
  peg$currPos = s0;
3573
3641
  s0 = peg$FAILED;
@@ -3631,7 +3699,7 @@ function peg$parse(input, options) {
3631
3699
  }
3632
3700
  }
3633
3701
  peg$savedPos = s0;
3634
- s0 = peg$f57(s1, s2);
3702
+ s0 = peg$f58(s1, s2);
3635
3703
  } else {
3636
3704
  peg$currPos = s0;
3637
3705
  s0 = peg$FAILED;
@@ -3800,7 +3868,7 @@ function peg$parse(input, options) {
3800
3868
  }
3801
3869
  if (s3 !== peg$FAILED) {
3802
3870
  peg$savedPos = s0;
3803
- s0 = peg$f58();
3871
+ s0 = peg$f59();
3804
3872
  } else {
3805
3873
  peg$currPos = s0;
3806
3874
  s0 = peg$FAILED;
@@ -3876,7 +3944,7 @@ function peg$parse(input, options) {
3876
3944
  }
3877
3945
  }
3878
3946
  peg$savedPos = s0;
3879
- s0 = peg$f59(s1, s2);
3947
+ s0 = peg$f60(s1, s2);
3880
3948
  } else {
3881
3949
  peg$currPos = s0;
3882
3950
  s0 = peg$FAILED;
@@ -3919,7 +3987,7 @@ function peg$parse(input, options) {
3919
3987
  s4 = null;
3920
3988
  }
3921
3989
  peg$savedPos = s0;
3922
- s0 = peg$f60(s3, s4);
3990
+ s0 = peg$f61(s3, s4);
3923
3991
  } else {
3924
3992
  peg$currPos = s0;
3925
3993
  s0 = peg$FAILED;
@@ -3943,7 +4011,7 @@ function peg$parse(input, options) {
3943
4011
  s3 = peg$parseparenthesesArguments();
3944
4012
  if (s3 !== peg$FAILED) {
3945
4013
  peg$savedPos = s0;
3946
- s0 = peg$f61(s2, s3);
4014
+ s0 = peg$f62(s2, s3);
3947
4015
  } else {
3948
4016
  peg$currPos = s0;
3949
4017
  s0 = peg$FAILED;
@@ -4065,7 +4133,7 @@ function peg$parse(input, options) {
4065
4133
  }
4066
4134
  }
4067
4135
  peg$savedPos = s0;
4068
- s0 = peg$f62(s1, s2);
4136
+ s0 = peg$f63(s1, s2);
4069
4137
  } else {
4070
4138
  peg$currPos = s0;
4071
4139
  s0 = peg$FAILED;
@@ -4096,7 +4164,7 @@ function peg$parse(input, options) {
4096
4164
  s5 = peg$parseexpectClosingBrace();
4097
4165
  if (s5 !== peg$FAILED) {
4098
4166
  peg$savedPos = s0;
4099
- s0 = peg$f63(s3);
4167
+ s0 = peg$f64(s3);
4100
4168
  } else {
4101
4169
  peg$currPos = s0;
4102
4170
  s0 = peg$FAILED;
@@ -4149,7 +4217,7 @@ function peg$parse(input, options) {
4149
4217
  s2 = null;
4150
4218
  }
4151
4219
  peg$savedPos = s0;
4152
- s0 = peg$f64(s1);
4220
+ s0 = peg$f65(s1);
4153
4221
  } else {
4154
4222
  peg$currPos = s0;
4155
4223
  s0 = peg$FAILED;
@@ -4195,7 +4263,7 @@ function peg$parse(input, options) {
4195
4263
  s5 = peg$parseexpectPipelineExpression();
4196
4264
  if (s5 !== peg$FAILED) {
4197
4265
  peg$savedPos = s0;
4198
- s0 = peg$f65(s1, s5);
4266
+ s0 = peg$f66(s1, s5);
4199
4267
  } else {
4200
4268
  peg$currPos = s0;
4201
4269
  s0 = peg$FAILED;
@@ -4256,7 +4324,7 @@ function peg$parse(input, options) {
4256
4324
  }
4257
4325
  if (s1 !== peg$FAILED) {
4258
4326
  peg$savedPos = s0;
4259
- s1 = peg$f66(s1);
4327
+ s1 = peg$f67(s1);
4260
4328
  }
4261
4329
  s0 = s1;
4262
4330
 
@@ -4300,7 +4368,7 @@ function peg$parse(input, options) {
4300
4368
  s5 = peg$parseexpectPipelineExpression();
4301
4369
  if (s5 !== peg$FAILED) {
4302
4370
  peg$savedPos = s0;
4303
- s0 = peg$f67(s1, s5);
4371
+ s0 = peg$f68(s1, s5);
4304
4372
  } else {
4305
4373
  peg$currPos = s0;
4306
4374
  s0 = peg$FAILED;
@@ -4330,7 +4398,7 @@ function peg$parse(input, options) {
4330
4398
  s1 = peg$parseobjectPublicKey();
4331
4399
  if (s1 !== peg$FAILED) {
4332
4400
  peg$savedPos = s0;
4333
- s1 = peg$f68(s1);
4401
+ s1 = peg$f69(s1);
4334
4402
  }
4335
4403
  s0 = s1;
4336
4404
  if (s0 === peg$FAILED) {
@@ -4338,7 +4406,7 @@ function peg$parse(input, options) {
4338
4406
  s1 = peg$parseangleBracketLiteral();
4339
4407
  if (s1 !== peg$FAILED) {
4340
4408
  peg$savedPos = s0;
4341
- s1 = peg$f69(s1);
4409
+ s1 = peg$f70(s1);
4342
4410
  }
4343
4411
  s0 = s1;
4344
4412
  }
@@ -4368,7 +4436,7 @@ function peg$parse(input, options) {
4368
4436
  s2 = null;
4369
4437
  }
4370
4438
  peg$savedPos = s0;
4371
- s0 = peg$f70(s1, s2);
4439
+ s0 = peg$f71(s1, s2);
4372
4440
  } else {
4373
4441
  peg$currPos = s0;
4374
4442
  s0 = peg$FAILED;
@@ -4378,7 +4446,7 @@ function peg$parse(input, options) {
4378
4446
  s1 = peg$parsestringLiteral();
4379
4447
  if (s1 !== peg$FAILED) {
4380
4448
  peg$savedPos = s0;
4381
- s1 = peg$f71(s1);
4449
+ s1 = peg$f72(s1);
4382
4450
  }
4383
4451
  s0 = s1;
4384
4452
  }
@@ -4403,7 +4471,7 @@ function peg$parse(input, options) {
4403
4471
  s4 = peg$parseidentifier();
4404
4472
  if (s4 !== peg$FAILED) {
4405
4473
  peg$savedPos = s0;
4406
- s0 = peg$f72(s4);
4474
+ s0 = peg$f73(s4);
4407
4475
  } else {
4408
4476
  peg$currPos = s0;
4409
4477
  s0 = peg$FAILED;
@@ -4423,7 +4491,7 @@ function peg$parse(input, options) {
4423
4491
  s1 = peg$parsekey();
4424
4492
  if (s1 !== peg$FAILED) {
4425
4493
  peg$savedPos = s0;
4426
- s1 = peg$f73(s1);
4494
+ s1 = peg$f74(s1);
4427
4495
  }
4428
4496
  s0 = s1;
4429
4497
 
@@ -4465,7 +4533,7 @@ function peg$parse(input, options) {
4465
4533
  s2 = null;
4466
4534
  }
4467
4535
  peg$savedPos = s0;
4468
- s0 = peg$f74(s1);
4536
+ s0 = peg$f75(s1);
4469
4537
  } else {
4470
4538
  peg$currPos = s0;
4471
4539
  s0 = peg$FAILED;
@@ -4481,7 +4549,7 @@ function peg$parse(input, options) {
4481
4549
  s1 = peg$parseparameter();
4482
4550
  if (s1 !== peg$FAILED) {
4483
4551
  peg$savedPos = s0;
4484
- s1 = peg$f75(s1);
4552
+ s1 = peg$f76(s1);
4485
4553
  }
4486
4554
  s0 = s1;
4487
4555
 
@@ -4510,7 +4578,7 @@ function peg$parse(input, options) {
4510
4578
  s5 = peg$parseexpectClosingParenthesis();
4511
4579
  if (s5 !== peg$FAILED) {
4512
4580
  peg$savedPos = s0;
4513
- s0 = peg$f76(s3);
4581
+ s0 = peg$f77(s3);
4514
4582
  } else {
4515
4583
  peg$currPos = s0;
4516
4584
  s0 = peg$FAILED;
@@ -4545,7 +4613,7 @@ function peg$parse(input, options) {
4545
4613
  s2 = null;
4546
4614
  }
4547
4615
  peg$savedPos = s0;
4548
- s0 = peg$f77(s2);
4616
+ s0 = peg$f78(s2);
4549
4617
  } else {
4550
4618
  peg$currPos = s0;
4551
4619
  s0 = peg$FAILED;
@@ -4581,7 +4649,7 @@ function peg$parse(input, options) {
4581
4649
  s1 = peg$parsepathKeys();
4582
4650
  if (s1 !== peg$FAILED) {
4583
4651
  peg$savedPos = s0;
4584
- s1 = peg$f78(s1);
4652
+ s1 = peg$f79(s1);
4585
4653
  }
4586
4654
  s0 = s1;
4587
4655
 
@@ -4605,7 +4673,7 @@ function peg$parse(input, options) {
4605
4673
  s2 = null;
4606
4674
  }
4607
4675
  peg$savedPos = s0;
4608
- s0 = peg$f79(s1);
4676
+ s0 = peg$f80(s1);
4609
4677
  } else {
4610
4678
  peg$currPos = s0;
4611
4679
  s0 = peg$FAILED;
@@ -4621,7 +4689,7 @@ function peg$parse(input, options) {
4621
4689
  }
4622
4690
  if (s1 !== peg$FAILED) {
4623
4691
  peg$savedPos = s0;
4624
- s1 = peg$f80();
4692
+ s1 = peg$f81();
4625
4693
  }
4626
4694
  s0 = s1;
4627
4695
  }
@@ -4672,7 +4740,7 @@ function peg$parse(input, options) {
4672
4740
  }
4673
4741
  }
4674
4742
  peg$savedPos = s0;
4675
- s0 = peg$f81(s1, s2);
4743
+ s0 = peg$f82(s1, s2);
4676
4744
  } else {
4677
4745
  peg$currPos = s0;
4678
4746
  s0 = peg$FAILED;
@@ -4777,7 +4845,7 @@ function peg$parse(input, options) {
4777
4845
  s4 = peg$parseidentifierLiteral();
4778
4846
  if (s4 !== peg$FAILED) {
4779
4847
  peg$savedPos = s0;
4780
- s0 = peg$f82(s4);
4848
+ s0 = peg$f83(s4);
4781
4849
  } else {
4782
4850
  peg$currPos = s0;
4783
4851
  s0 = peg$FAILED;
@@ -4813,7 +4881,7 @@ function peg$parse(input, options) {
4813
4881
  }
4814
4882
  }
4815
4883
  peg$savedPos = s0;
4816
- s1 = peg$f83(s1);
4884
+ s1 = peg$f84(s1);
4817
4885
  s0 = s1;
4818
4886
 
4819
4887
  return s0;
@@ -4847,7 +4915,7 @@ function peg$parse(input, options) {
4847
4915
  if (s3 !== peg$FAILED) {
4848
4916
  s4 = peg$parseregexFlags();
4849
4917
  peg$savedPos = s0;
4850
- s0 = peg$f84(s2, s4);
4918
+ s0 = peg$f85(s2, s4);
4851
4919
  } else {
4852
4920
  peg$currPos = s0;
4853
4921
  s0 = peg$FAILED;
@@ -4930,7 +4998,7 @@ function peg$parse(input, options) {
4930
4998
  }
4931
4999
  }
4932
5000
  peg$savedPos = s0;
4933
- s0 = peg$f85(s1, s2);
5001
+ s0 = peg$f86(s1, s2);
4934
5002
  } else {
4935
5003
  peg$currPos = s0;
4936
5004
  s0 = peg$FAILED;
@@ -5045,7 +5113,7 @@ function peg$parse(input, options) {
5045
5113
  }
5046
5114
  }
5047
5115
  peg$savedPos = s0;
5048
- s0 = peg$f86();
5116
+ s0 = peg$f87();
5049
5117
  } else {
5050
5118
  peg$currPos = s0;
5051
5119
  s0 = peg$FAILED;
@@ -5058,7 +5126,7 @@ function peg$parse(input, options) {
5058
5126
  var s0;
5059
5127
 
5060
5128
  peg$savedPos = peg$currPos;
5061
- s0 = peg$f87();
5129
+ s0 = peg$f88();
5062
5130
  if (s0) {
5063
5131
  s0 = undefined;
5064
5132
  } else {
@@ -5111,7 +5179,7 @@ function peg$parse(input, options) {
5111
5179
  }
5112
5180
  }
5113
5181
  peg$savedPos = s0;
5114
- s0 = peg$f88(s1, s2);
5182
+ s0 = peg$f89(s1, s2);
5115
5183
  } else {
5116
5184
  peg$currPos = s0;
5117
5185
  s0 = peg$FAILED;
@@ -5188,7 +5256,7 @@ function peg$parse(input, options) {
5188
5256
  s5 = peg$parseimplicitParenthesesCallExpression();
5189
5257
  if (s5 !== peg$FAILED) {
5190
5258
  peg$savedPos = s0;
5191
- s0 = peg$f89(s5);
5259
+ s0 = peg$f90(s5);
5192
5260
  } else {
5193
5261
  peg$currPos = s0;
5194
5262
  s0 = peg$FAILED;
@@ -5271,7 +5339,7 @@ function peg$parse(input, options) {
5271
5339
  }
5272
5340
  }
5273
5341
  peg$savedPos = s0;
5274
- s0 = peg$f90();
5342
+ s0 = peg$f91();
5275
5343
  } else {
5276
5344
  peg$currPos = s0;
5277
5345
  s0 = peg$FAILED;
@@ -5302,7 +5370,7 @@ function peg$parse(input, options) {
5302
5370
  s3 = peg$parseexpectSingleQuote();
5303
5371
  if (s3 !== peg$FAILED) {
5304
5372
  peg$savedPos = s0;
5305
- s0 = peg$f91(s2);
5373
+ s0 = peg$f92(s2);
5306
5374
  } else {
5307
5375
  peg$currPos = s0;
5308
5376
  s0 = peg$FAILED;
@@ -5366,7 +5434,7 @@ function peg$parse(input, options) {
5366
5434
  s1 = peg$parseslashFollows();
5367
5435
  if (s1 !== peg$FAILED) {
5368
5436
  peg$savedPos = s0;
5369
- s1 = peg$f92();
5437
+ s1 = peg$f93();
5370
5438
  }
5371
5439
  s0 = s1;
5372
5440
 
@@ -5401,7 +5469,7 @@ function peg$parse(input, options) {
5401
5469
  }
5402
5470
  if (s1 !== peg$FAILED) {
5403
5471
  peg$savedPos = s0;
5404
- s1 = peg$f93();
5472
+ s1 = peg$f94();
5405
5473
  }
5406
5474
  s0 = s1;
5407
5475
 
@@ -5430,7 +5498,7 @@ function peg$parse(input, options) {
5430
5498
  }
5431
5499
  if (s1 !== peg$FAILED) {
5432
5500
  peg$savedPos = s0;
5433
- s1 = peg$f94();
5501
+ s1 = peg$f95();
5434
5502
  }
5435
5503
  s0 = s1;
5436
5504
 
@@ -5447,7 +5515,7 @@ function peg$parse(input, options) {
5447
5515
  s3 = peg$parseexpectPipelineExpression();
5448
5516
  if (s3 !== peg$FAILED) {
5449
5517
  peg$savedPos = s0;
5450
- s0 = peg$f95(s3);
5518
+ s0 = peg$f96(s3);
5451
5519
  } else {
5452
5520
  peg$currPos = s0;
5453
5521
  s0 = peg$FAILED;
@@ -5524,7 +5592,7 @@ function peg$parse(input, options) {
5524
5592
  }
5525
5593
  }
5526
5594
  peg$savedPos = s0;
5527
- s0 = peg$f96(s1, s2);
5595
+ s0 = peg$f97(s1, s2);
5528
5596
  peg$silentFails--;
5529
5597
  s1 = peg$FAILED;
5530
5598
  if (peg$silentFails === 0) { peg$fail(peg$e102); }
@@ -5580,7 +5648,7 @@ function peg$parse(input, options) {
5580
5648
  s2 = peg$parsetemplateBodyChar();
5581
5649
  }
5582
5650
  peg$savedPos = s0;
5583
- s1 = peg$f97(s1);
5651
+ s1 = peg$f98(s1);
5584
5652
  s0 = s1;
5585
5653
  peg$silentFails--;
5586
5654
  s1 = peg$FAILED;
@@ -5599,7 +5667,7 @@ function peg$parse(input, options) {
5599
5667
  s2 = peg$parse__();
5600
5668
  s3 = peg$parsetemplateBody();
5601
5669
  peg$savedPos = s0;
5602
- s0 = peg$f98(s1, s3);
5670
+ s0 = peg$f99(s1, s3);
5603
5671
  } else {
5604
5672
  peg$currPos = s0;
5605
5673
  s0 = peg$FAILED;
@@ -5610,7 +5678,7 @@ function peg$parse(input, options) {
5610
5678
  if (s1 !== peg$FAILED) {
5611
5679
  s2 = peg$parsetemplateBody();
5612
5680
  peg$savedPos = s0;
5613
- s0 = peg$f99(s1, s2);
5681
+ s0 = peg$f100(s1, s2);
5614
5682
  } else {
5615
5683
  peg$currPos = s0;
5616
5684
  s0 = peg$FAILED;
@@ -5619,7 +5687,7 @@ function peg$parse(input, options) {
5619
5687
  s0 = peg$currPos;
5620
5688
  s1 = peg$parsetemplateBody();
5621
5689
  peg$savedPos = s0;
5622
- s1 = peg$f100(s1);
5690
+ s1 = peg$f101(s1);
5623
5691
  s0 = s1;
5624
5692
  }
5625
5693
  }
@@ -5673,7 +5741,7 @@ function peg$parse(input, options) {
5673
5741
  s4 = peg$parseexpectBacktick();
5674
5742
  if (s4 !== peg$FAILED) {
5675
5743
  peg$savedPos = s0;
5676
- s0 = peg$f101(s2, s3);
5744
+ s0 = peg$f102(s2, s3);
5677
5745
  } else {
5678
5746
  peg$currPos = s0;
5679
5747
  s0 = peg$FAILED;
@@ -5747,7 +5815,7 @@ function peg$parse(input, options) {
5747
5815
  s2 = peg$parsetemplateLiteralChar();
5748
5816
  }
5749
5817
  peg$savedPos = s0;
5750
- s1 = peg$f102(s1);
5818
+ s1 = peg$f103(s1);
5751
5819
  s0 = s1;
5752
5820
 
5753
5821
  return s0;
@@ -5777,7 +5845,7 @@ function peg$parse(input, options) {
5777
5845
  }
5778
5846
  if (s3 !== peg$FAILED) {
5779
5847
  peg$savedPos = s0;
5780
- s0 = peg$f103(s2);
5848
+ s0 = peg$f104(s2);
5781
5849
  } else {
5782
5850
  peg$currPos = s0;
5783
5851
  s0 = peg$FAILED;
@@ -5823,10 +5891,10 @@ function peg$parse(input, options) {
5823
5891
  s1 = peg$parseunaryOperator();
5824
5892
  if (s1 !== peg$FAILED) {
5825
5893
  s2 = peg$parse__();
5826
- s3 = peg$parseexpectExpression();
5894
+ s3 = peg$parseexpectUnaryExpression();
5827
5895
  if (s3 !== peg$FAILED) {
5828
5896
  peg$savedPos = s0;
5829
- s0 = peg$f104(s1, s3);
5897
+ s0 = peg$f105(s1, s3);
5830
5898
  } else {
5831
5899
  peg$currPos = s0;
5832
5900
  s0 = peg$FAILED;
@@ -5883,7 +5951,7 @@ function peg$parse(input, options) {
5883
5951
  s4 = null;
5884
5952
  }
5885
5953
  peg$savedPos = s0;
5886
- s0 = peg$f105(s1, s3, s4);
5954
+ s0 = peg$f106(s1, s3, s4);
5887
5955
  } else {
5888
5956
  peg$currPos = s0;
5889
5957
  s0 = peg$FAILED;
@@ -5903,7 +5971,7 @@ function peg$parse(input, options) {
5903
5971
  s2 = peg$parsepathKeys();
5904
5972
  if (s2 !== peg$FAILED) {
5905
5973
  peg$savedPos = s0;
5906
- s0 = peg$f106(s1, s2);
5974
+ s0 = peg$f107(s1, s2);
5907
5975
  } else {
5908
5976
  peg$currPos = s0;
5909
5977
  s0 = peg$FAILED;
@@ -5957,7 +6025,7 @@ function peg$parse(input, options) {
5957
6025
  s2 = null;
5958
6026
  }
5959
6027
  peg$savedPos = s0;
5960
- s0 = peg$f107(s1);
6028
+ s0 = peg$f108(s1);
5961
6029
  } else {
5962
6030
  peg$currPos = s0;
5963
6031
  s0 = peg$FAILED;
@@ -5973,7 +6041,7 @@ function peg$parse(input, options) {
5973
6041
  }
5974
6042
  if (s1 !== peg$FAILED) {
5975
6043
  peg$savedPos = s0;
5976
- s1 = peg$f108();
6044
+ s1 = peg$f109();
5977
6045
  }
5978
6046
  s0 = s1;
5979
6047
  }
@@ -6018,7 +6086,7 @@ function peg$parse(input, options) {
6018
6086
  }
6019
6087
  if (s1 !== peg$FAILED) {
6020
6088
  peg$savedPos = s0;
6021
- s1 = peg$f109(s1);
6089
+ s1 = peg$f110(s1);
6022
6090
  }
6023
6091
  s0 = s1;
6024
6092
  peg$silentFails--;
@@ -6069,7 +6137,7 @@ function peg$parse(input, options) {
6069
6137
  }
6070
6138
  if (s3 !== peg$FAILED) {
6071
6139
  peg$savedPos = s0;
6072
- s0 = peg$f110();
6140
+ s0 = peg$f111();
6073
6141
  } else {
6074
6142
  peg$currPos = s0;
6075
6143
  s0 = peg$FAILED;
@@ -6137,14 +6205,37 @@ function peg$parse(input, options) {
6137
6205
  }
6138
6206
 
6139
6207
  function peg$parsewhitespace() {
6140
- var s0;
6208
+ var s0, s1, s2;
6141
6209
 
6142
- s0 = peg$parseinlineSpace();
6143
- if (s0 === peg$FAILED) {
6144
- s0 = peg$parsenewLine();
6145
- if (s0 === peg$FAILED) {
6146
- s0 = peg$parsecomment();
6210
+ s0 = peg$currPos;
6211
+ if (input.length > peg$currPos) {
6212
+ s1 = input.charAt(peg$currPos);
6213
+ peg$currPos++;
6214
+ } else {
6215
+ s1 = peg$FAILED;
6216
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
6217
+ }
6218
+ if (s1 !== peg$FAILED) {
6219
+ peg$savedPos = peg$currPos;
6220
+ s2 = peg$f112(s1);
6221
+ if (s2) {
6222
+ s2 = undefined;
6223
+ } else {
6224
+ s2 = peg$FAILED;
6147
6225
  }
6226
+ if (s2 !== peg$FAILED) {
6227
+ peg$savedPos = s0;
6228
+ s0 = peg$f113(s1);
6229
+ } else {
6230
+ peg$currPos = s0;
6231
+ s0 = peg$FAILED;
6232
+ }
6233
+ } else {
6234
+ peg$currPos = s0;
6235
+ s0 = peg$FAILED;
6236
+ }
6237
+ if (s0 === peg$FAILED) {
6238
+ s0 = peg$parsecomment();
6148
6239
  }
6149
6240
 
6150
6241
  return s0;
@@ -6228,6 +6319,7 @@ const peg$allowedStartRules = [
6228
6319
  "commaExpression",
6229
6320
  "comment",
6230
6321
  "computedPropertyAccess",
6322
+ "computedPropertySpace",
6231
6323
  "conditionalExpression",
6232
6324
  "digits",
6233
6325
  "doubleArrow",
@@ -6247,6 +6339,7 @@ const peg$allowedStartRules = [
6247
6339
  "expectGuillemet",
6248
6340
  "expectSingleQuote",
6249
6341
  "expectPipelineExpression",
6342
+ "expectUnaryExpression",
6250
6343
  "exponentiationExpression",
6251
6344
  "expression",
6252
6345
  "floatLiteral",