varlock 1.2.0 → 1.4.0

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.
Files changed (134) hide show
  1. package/dist/audit.command-PXY2ZGU2.js +16 -0
  2. package/dist/{audit.command-6TUJY57M.js.map → audit.command-PXY2ZGU2.js.map} +1 -1
  3. package/dist/auto-load.js +5 -5
  4. package/dist/{chunk-CWC3IAQM.js → chunk-2GZ4APXU.js} +29 -14
  5. package/dist/chunk-2GZ4APXU.js.map +1 -0
  6. package/dist/{chunk-2OIOYMYO.js → chunk-66VKZYD7.js} +6 -6
  7. package/dist/{chunk-2OIOYMYO.js.map → chunk-66VKZYD7.js.map} +1 -1
  8. package/dist/{chunk-BR3DT5Z5.js → chunk-7VERU3F7.js} +3 -3
  9. package/dist/{chunk-BR3DT5Z5.js.map → chunk-7VERU3F7.js.map} +1 -1
  10. package/dist/{chunk-KCUEK4TX.js → chunk-A5L3SRQS.js} +7 -7
  11. package/dist/{chunk-KCUEK4TX.js.map → chunk-A5L3SRQS.js.map} +1 -1
  12. package/dist/{chunk-5DUWGI2N.js → chunk-DIPEXEIL.js} +3 -3
  13. package/dist/{chunk-5DUWGI2N.js.map → chunk-DIPEXEIL.js.map} +1 -1
  14. package/dist/{chunk-2NQLWXPX.js → chunk-DQTUCLA7.js} +5 -5
  15. package/dist/{chunk-2NQLWXPX.js.map → chunk-DQTUCLA7.js.map} +1 -1
  16. package/dist/{chunk-VIUMRSUR.js → chunk-EGFAEO7L.js} +8 -8
  17. package/dist/{chunk-VIUMRSUR.js.map → chunk-EGFAEO7L.js.map} +1 -1
  18. package/dist/{chunk-FCSQRLIC.js → chunk-F64DA7XN.js} +6 -6
  19. package/dist/{chunk-FCSQRLIC.js.map → chunk-F64DA7XN.js.map} +1 -1
  20. package/dist/{chunk-6CCHLM3U.js → chunk-FA5SNEKN.js} +30 -12
  21. package/dist/chunk-FA5SNEKN.js.map +1 -0
  22. package/dist/{chunk-F6RTQ5QX.js → chunk-KFALDUEO.js} +3 -3
  23. package/dist/{chunk-F6RTQ5QX.js.map → chunk-KFALDUEO.js.map} +1 -1
  24. package/dist/{chunk-OA6PRICO.js → chunk-M6QE3D2O.js} +6 -6
  25. package/dist/{chunk-OA6PRICO.js.map → chunk-M6QE3D2O.js.map} +1 -1
  26. package/dist/{chunk-4A54P4EM.js → chunk-MGUGRIW2.js} +1185 -1152
  27. package/dist/chunk-MGUGRIW2.js.map +1 -0
  28. package/dist/{chunk-26E4E2MY.js → chunk-N7FJTNE5.js} +11 -5
  29. package/dist/chunk-N7FJTNE5.js.map +1 -0
  30. package/dist/chunk-NHNQJTPB.js +171 -0
  31. package/dist/chunk-NHNQJTPB.js.map +1 -0
  32. package/dist/{chunk-6PZXN47A.js → chunk-NZTQKZND.js} +4 -4
  33. package/dist/{chunk-6PZXN47A.js.map → chunk-NZTQKZND.js.map} +1 -1
  34. package/dist/{chunk-GURKQO4J.js → chunk-P4HNABAM.js} +103 -20
  35. package/dist/chunk-P4HNABAM.js.map +1 -0
  36. package/dist/{chunk-6CRDPEUT.js → chunk-PBWMMYWL.js} +685 -684
  37. package/dist/chunk-PBWMMYWL.js.map +1 -0
  38. package/dist/{chunk-H2JVYUHZ.js → chunk-Q4I7MXFB.js} +6 -6
  39. package/dist/{chunk-H2JVYUHZ.js.map → chunk-Q4I7MXFB.js.map} +1 -1
  40. package/dist/{chunk-GJ7PTJM4.js → chunk-Q7XUQDLE.js} +3 -3
  41. package/dist/{chunk-GJ7PTJM4.js.map → chunk-Q7XUQDLE.js.map} +1 -1
  42. package/dist/{chunk-R73FENLU.js → chunk-QDEAHBCB.js} +3 -3
  43. package/dist/{chunk-R73FENLU.js.map → chunk-QDEAHBCB.js.map} +1 -1
  44. package/dist/{chunk-2PBFWISH.js → chunk-ROZITJAP.js} +8 -8
  45. package/dist/chunk-ROZITJAP.js.map +1 -0
  46. package/dist/{chunk-35LTPRXV.js → chunk-RTKFINP6.js} +6 -6
  47. package/dist/{chunk-35LTPRXV.js.map → chunk-RTKFINP6.js.map} +1 -1
  48. package/dist/{chunk-QSYH5IDD.js → chunk-RWXFFQWH.js} +4 -4
  49. package/dist/{chunk-QSYH5IDD.js.map → chunk-RWXFFQWH.js.map} +1 -1
  50. package/dist/{chunk-LGEHJHB2.js → chunk-SX2NUZCL.js} +6 -5
  51. package/dist/{chunk-LGEHJHB2.js.map → chunk-SX2NUZCL.js.map} +1 -1
  52. package/dist/{chunk-A2JUQ2GK.js → chunk-T3NMDBCU.js} +6 -6
  53. package/dist/{chunk-A2JUQ2GK.js.map → chunk-T3NMDBCU.js.map} +1 -1
  54. package/dist/{chunk-MGWUDHT5.js → chunk-UUJK65RS.js} +11 -3
  55. package/dist/chunk-UUJK65RS.js.map +1 -0
  56. package/dist/{chunk-YHN6GZHR.js → chunk-YZCCCHDD.js} +6 -6
  57. package/dist/{chunk-YHN6GZHR.js.map → chunk-YZCCCHDD.js.map} +1 -1
  58. package/dist/{chunk-EE4UNY25.js → chunk-ZCYV47TZ.js} +8 -8
  59. package/dist/{chunk-EE4UNY25.js.map → chunk-ZCYV47TZ.js.map} +1 -1
  60. package/dist/cli/cli-executable.js +1547 -40
  61. package/dist/cli/cli-executable.js.map +1 -1
  62. package/dist/config-item-HMRJLPJY.js +7 -0
  63. package/dist/{config-item-7X6PUXJF.js.map → config-item-HMRJLPJY.js.map} +1 -1
  64. package/dist/dotenv-compat.js +5 -5
  65. package/dist/encrypt.command-7M34IUJY.js +14 -0
  66. package/dist/{encrypt.command-4E5SM5M6.js.map → encrypt.command-7M34IUJY.js.map} +1 -1
  67. package/dist/{env-graph-iNQyTcya.d.ts → env-graph-DImkUkjl.d.ts} +30 -19
  68. package/dist/explain.command-LZJOP4TM.js +15 -0
  69. package/dist/{explain.command-7FRFYSJJ.js.map → explain.command-LZJOP4TM.js.map} +1 -1
  70. package/dist/help.command-VIBYZWCF.js +5 -0
  71. package/dist/{help.command-7E52XAOO.js.map → help.command-VIBYZWCF.js.map} +1 -1
  72. package/dist/index.d.ts +2 -2
  73. package/dist/index.js +13 -14
  74. package/dist/index.js.map +1 -1
  75. package/dist/init.command-FFORG2JL.js +14 -0
  76. package/dist/{init.command-EMPZK5D3.js.map → init.command-FFORG2JL.js.map} +1 -1
  77. package/dist/install-plugin.command-SFNHDKVE.js +13 -0
  78. package/dist/{install-plugin.command-SYQAPBII.js.map → install-plugin.command-SFNHDKVE.js.map} +1 -1
  79. package/dist/load.command-V3C5H6CZ.js +15 -0
  80. package/dist/{load.command-R7UTXX2X.js.map → load.command-V3C5H6CZ.js.map} +1 -1
  81. package/dist/lock.command-QQV2S6NY.js +7 -0
  82. package/dist/{lock.command-4LTGMJA3.js.map → lock.command-QQV2S6NY.js.map} +1 -1
  83. package/dist/plugin-lib.d.ts +2 -2
  84. package/dist/plugin-lib.js +2 -2
  85. package/dist/printenv.command-2BIP7FCF.js +15 -0
  86. package/dist/{printenv.command-EVYMVYEZ.js.map → printenv.command-2BIP7FCF.js.map} +1 -1
  87. package/dist/reveal.command-7LHNCYS4.js +15 -0
  88. package/dist/{reveal.command-6IH7XDVT.js.map → reveal.command-7LHNCYS4.js.map} +1 -1
  89. package/dist/run.command-TRSRYDOM.js +16 -0
  90. package/dist/{run.command-WW2YKPUP.js.map → run.command-TRSRYDOM.js.map} +1 -1
  91. package/dist/runtime/env.d.ts +1 -1
  92. package/dist/runtime/env.js +1 -1
  93. package/dist/runtime/init-edge.cjs +9 -1
  94. package/dist/runtime/init-server.cjs +9 -1
  95. package/dist/runtime/patch-console.js +2 -2
  96. package/dist/runtime/patch-response.js +2 -2
  97. package/dist/runtime/patch-server-response.js +2 -2
  98. package/dist/scan.command-NMBEPFUC.js +16 -0
  99. package/dist/{scan.command-6PSWFMI5.js.map → scan.command-NMBEPFUC.js.map} +1 -1
  100. package/dist/telemetry.command-SMIT5ZZB.js +13 -0
  101. package/dist/{telemetry.command-ZD6XCRBZ.js.map → telemetry.command-SMIT5ZZB.js.map} +1 -1
  102. package/dist/typegen.command-C5KWLYPL.js +14 -0
  103. package/dist/{typegen.command-IKXM7OSU.js.map → typegen.command-C5KWLYPL.js.map} +1 -1
  104. package/native-bins/darwin/VarlockEnclave.app/Contents/CodeResources +0 -0
  105. package/native-bins/darwin/VarlockEnclave.app/Contents/MacOS/varlock-local-encrypt +0 -0
  106. package/native-bins/linux-arm64/varlock-local-encrypt +0 -0
  107. package/native-bins/linux-x64/varlock-local-encrypt +0 -0
  108. package/native-bins/win32-x64/varlock-local-encrypt.exe +0 -0
  109. package/package.json +4 -3
  110. package/dist/audit.command-6TUJY57M.js +0 -16
  111. package/dist/chunk-26E4E2MY.js.map +0 -1
  112. package/dist/chunk-2PBFWISH.js.map +0 -1
  113. package/dist/chunk-45N5EFNL.js +0 -136
  114. package/dist/chunk-45N5EFNL.js.map +0 -1
  115. package/dist/chunk-4A54P4EM.js.map +0 -1
  116. package/dist/chunk-6CCHLM3U.js.map +0 -1
  117. package/dist/chunk-6CRDPEUT.js.map +0 -1
  118. package/dist/chunk-CWC3IAQM.js.map +0 -1
  119. package/dist/chunk-GURKQO4J.js.map +0 -1
  120. package/dist/chunk-MGWUDHT5.js.map +0 -1
  121. package/dist/config-item-7X6PUXJF.js +0 -7
  122. package/dist/encrypt.command-4E5SM5M6.js +0 -14
  123. package/dist/explain.command-7FRFYSJJ.js +0 -15
  124. package/dist/help.command-7E52XAOO.js +0 -5
  125. package/dist/init.command-EMPZK5D3.js +0 -14
  126. package/dist/install-plugin.command-SYQAPBII.js +0 -13
  127. package/dist/load.command-R7UTXX2X.js +0 -15
  128. package/dist/lock.command-4LTGMJA3.js +0 -7
  129. package/dist/printenv.command-EVYMVYEZ.js +0 -15
  130. package/dist/reveal.command-6IH7XDVT.js +0 -15
  131. package/dist/run.command-WW2YKPUP.js +0 -16
  132. package/dist/scan.command-6PSWFMI5.js +0 -16
  133. package/dist/telemetry.command-ZD6XCRBZ.js +0 -13
  134. package/dist/typegen.command-IKXM7OSU.js +0 -15
@@ -1,6 +1,6 @@
1
1
  import { getUserVarlockDir, isWSL } from './chunk-O3WTD6L4.js';
2
2
  import { q, X, ut, nt, ot } from './chunk-IRXBCLL2.js';
3
- import { my_dash_default, SchemaError, createDebug, ResolutionError, CoercionError, ValidationError, activatePlugin, deactivatePlugin, VarlockError, EmptyRequiredValueError, ParseError, pluginProxy } from './chunk-6CCHLM3U.js';
3
+ import { my_dash_default, SchemaError, ResolutionError, createDebug, CoercionError, ValidationError, activatePlugin, LoadingError, VarlockError, deactivatePlugin, ParseError, EmptyRequiredValueError, pluginProxy } from './chunk-FA5SNEKN.js';
4
4
  import { __commonJS, __name, __toESM } from './chunk-6PEHRAEP.js';
5
5
  import { exec, spawn } from 'child_process';
6
6
  import { promisify } from 'util';
@@ -1984,7 +1984,7 @@ var require_semver2 = __commonJS({
1984
1984
  }
1985
1985
  });
1986
1986
 
1987
- // ../env-spec-parser/dist/chunk-AVMDB47P.mjs
1987
+ // ../env-spec-parser/dist/chunk-5ODZC3GU.mjs
1988
1988
  var __defProp = Object.defineProperty;
1989
1989
  var __name2 = /* @__PURE__ */ __name((target, value) => __defProp(target, "name", { value, configurable: true }), "__name");
1990
1990
  var VALID_NUMBER_REGEX = /^-?(0|([1-9][0-9]*))?(\.[0-9]+)?$/;
@@ -2142,9 +2142,9 @@ var ParsedEnvSpecFunctionCall = class {
2142
2142
  return this.data.name + this.data.args.toString();
2143
2143
  }
2144
2144
  };
2145
- var ParsedEnvSpecDecorator = class {
2145
+ var ParsedEnvSpecDecorator = class _ParsedEnvSpecDecorator {
2146
2146
  static {
2147
- __name(this, "ParsedEnvSpecDecorator");
2147
+ __name(this, "_ParsedEnvSpecDecorator");
2148
2148
  }
2149
2149
  constructor(data) {
2150
2150
  this.data = data;
@@ -2162,9 +2162,16 @@ var ParsedEnvSpecDecorator = class {
2162
2162
  __name2(this, "ParsedEnvSpecDecorator");
2163
2163
  }
2164
2164
  value;
2165
+ static VALID_NAME_RE = /^[a-zA-Z][a-zA-Z0-9_]*$/;
2165
2166
  get name() {
2166
2167
  return this.data.name;
2167
2168
  }
2169
+ get hasInvalidName() {
2170
+ return !_ParsedEnvSpecDecorator.VALID_NAME_RE.test(this.data.name);
2171
+ }
2172
+ get strayText() {
2173
+ return this.data.strayText;
2174
+ }
2168
2175
  get isBareFnCall() {
2169
2176
  return !!this.data.isBareFnCall;
2170
2177
  }
@@ -2816,36 +2823,37 @@ function peg$parse(input, options) {
2816
2823
  const peg$c2 = "=";
2817
2824
  const peg$c3 = "#";
2818
2825
  const peg$c4 = "@";
2819
- const peg$c5 = ":";
2820
- const peg$c6 = "(";
2821
- const peg$c7 = ",";
2822
- const peg$c8 = ")";
2823
- const peg$c9 = '\\"';
2824
- const peg$c10 = "\\'";
2825
- const peg$c11 = "\\`";
2826
- const peg$c12 = '"""';
2827
- const peg$c13 = '\\"""';
2828
- const peg$c14 = "```";
2829
- const peg$c15 = "\\```";
2826
+ const peg$c5 = "(";
2827
+ const peg$c6 = ",";
2828
+ const peg$c7 = ")";
2829
+ const peg$c8 = '\\"';
2830
+ const peg$c9 = "\\'";
2831
+ const peg$c10 = "\\`";
2832
+ const peg$c11 = '"""';
2833
+ const peg$c12 = '\\"""';
2834
+ const peg$c13 = "```";
2835
+ const peg$c14 = "\\```";
2830
2836
  const peg$r0 = /^[a-zA-Z_]/;
2831
2837
  const peg$r1 = /^[a-zA-Z0-9_.\-]/;
2832
2838
  const peg$r2 = /^[^\n]/;
2833
- const peg$r3 = /^[a-zA-Z]/;
2834
- const peg$r4 = /^[@#]/;
2835
- const peg$r5 = /^[a-zA-Z0-9_]/;
2836
- const peg$r6 = /^[^ \n,)]/;
2837
- const peg$r7 = /^[ \t]/;
2838
- const peg$r8 = /^[ \t\n]/;
2839
- const peg$r9 = /^[\-=*#]/;
2840
- const peg$r10 = /^['"`]/;
2841
- const peg$r11 = /^[^#\n]/;
2842
- const peg$r12 = /^[^# \n]/;
2843
- const peg$r13 = /^["]/;
2844
- const peg$r14 = /^[^"\n]/;
2845
- const peg$r15 = /^[']/;
2846
- const peg$r16 = /^[^'\n]/;
2847
- const peg$r17 = /^[`]/;
2848
- const peg$r18 = /^[^`\n]/;
2839
+ const peg$r3 = /^[^ \t@#\n]/;
2840
+ const peg$r4 = /^[^ \t@\n]/;
2841
+ const peg$r5 = /^[a-zA-Z]/;
2842
+ const peg$r6 = /^[^ \t\n=()#@]/;
2843
+ const peg$r7 = /^[^ \n,)]/;
2844
+ const peg$r8 = /^[ \t]/;
2845
+ const peg$r9 = /^[a-zA-Z0-9_]/;
2846
+ const peg$r10 = /^[ \t\n]/;
2847
+ const peg$r11 = /^[\-=*#]/;
2848
+ const peg$r12 = /^['"`]/;
2849
+ const peg$r13 = /^[^#\n]/;
2850
+ const peg$r14 = /^[^# \n]/;
2851
+ const peg$r15 = /^["]/;
2852
+ const peg$r16 = /^[^"\n]/;
2853
+ const peg$r17 = /^[']/;
2854
+ const peg$r18 = /^[^'\n]/;
2855
+ const peg$r19 = /^[`]/;
2856
+ const peg$r20 = /^[^`\n]/;
2849
2857
  const peg$e0 = peg$literalExpectation("\n", false);
2850
2858
  const peg$e1 = peg$literalExpectation("export ", false);
2851
2859
  const peg$e2 = peg$literalExpectation("=", false);
@@ -2854,34 +2862,35 @@ function peg$parse(input, options) {
2854
2862
  const peg$e5 = peg$literalExpectation("#", false);
2855
2863
  const peg$e6 = peg$literalExpectation("@", false);
2856
2864
  const peg$e7 = peg$classExpectation(["\n"], true, false, false);
2857
- const peg$e8 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false, false);
2858
- const peg$e9 = peg$literalExpectation(":", false);
2859
- const peg$e10 = peg$classExpectation(["@", "#"], false, false, false);
2860
- const peg$e11 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "_"], false, false, false);
2865
+ const peg$e8 = peg$classExpectation([" ", " ", "@", "#", "\n"], true, false, false);
2866
+ const peg$e9 = peg$classExpectation([" ", " ", "@", "\n"], true, false, false);
2867
+ const peg$e10 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false, false);
2868
+ const peg$e11 = peg$classExpectation([" ", " ", "\n", "=", "(", ")", "#", "@"], true, false, false);
2861
2869
  const peg$e12 = peg$literalExpectation("(", false);
2862
2870
  const peg$e13 = peg$literalExpectation(",", false);
2863
2871
  const peg$e14 = peg$literalExpectation(")", false);
2864
2872
  const peg$e15 = peg$classExpectation([" ", "\n", ",", ")"], true, false, false);
2865
2873
  const peg$e16 = peg$classExpectation([" ", " "], false, false, false);
2866
- const peg$e17 = peg$classExpectation([" ", " ", "\n"], false, false, false);
2867
- const peg$e18 = peg$classExpectation(["-", "=", "*", "#"], false, false, false);
2868
- const peg$e19 = peg$classExpectation(["'", '"', "`"], false, false, false);
2869
- const peg$e20 = peg$classExpectation(["#", "\n"], true, false, false);
2870
- const peg$e21 = peg$classExpectation(["#", " ", "\n"], true, false, false);
2871
- const peg$e22 = peg$classExpectation(['"'], false, false, false);
2872
- const peg$e23 = peg$literalExpectation('\\"', false);
2873
- const peg$e24 = peg$classExpectation(['"', "\n"], true, false, false);
2874
- const peg$e25 = peg$classExpectation(["'"], false, false, false);
2875
- const peg$e26 = peg$literalExpectation("\\'", false);
2876
- const peg$e27 = peg$classExpectation(["'", "\n"], true, false, false);
2877
- const peg$e28 = peg$classExpectation(["`"], false, false, false);
2878
- const peg$e29 = peg$literalExpectation("\\`", false);
2879
- const peg$e30 = peg$classExpectation(["`", "\n"], true, false, false);
2880
- const peg$e31 = peg$literalExpectation('"""', false);
2881
- const peg$e32 = peg$literalExpectation('\\"""', false);
2882
- const peg$e33 = peg$literalExpectation("```", false);
2883
- const peg$e34 = peg$literalExpectation("\\```", false);
2884
- const peg$e35 = peg$anyExpectation();
2874
+ const peg$e17 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "_"], false, false, false);
2875
+ const peg$e18 = peg$classExpectation([" ", " ", "\n"], false, false, false);
2876
+ const peg$e19 = peg$classExpectation(["-", "=", "*", "#"], false, false, false);
2877
+ const peg$e20 = peg$classExpectation(["'", '"', "`"], false, false, false);
2878
+ const peg$e21 = peg$classExpectation(["#", "\n"], true, false, false);
2879
+ const peg$e22 = peg$classExpectation(["#", " ", "\n"], true, false, false);
2880
+ const peg$e23 = peg$classExpectation(['"'], false, false, false);
2881
+ const peg$e24 = peg$literalExpectation('\\"', false);
2882
+ const peg$e25 = peg$classExpectation(['"', "\n"], true, false, false);
2883
+ const peg$e26 = peg$classExpectation(["'"], false, false, false);
2884
+ const peg$e27 = peg$literalExpectation("\\'", false);
2885
+ const peg$e28 = peg$classExpectation(["'", "\n"], true, false, false);
2886
+ const peg$e29 = peg$classExpectation(["`"], false, false, false);
2887
+ const peg$e30 = peg$literalExpectation("\\`", false);
2888
+ const peg$e31 = peg$classExpectation(["`", "\n"], true, false, false);
2889
+ const peg$e32 = peg$literalExpectation('"""', false);
2890
+ const peg$e33 = peg$literalExpectation('\\"""', false);
2891
+ const peg$e34 = peg$literalExpectation("```", false);
2892
+ const peg$e35 = peg$literalExpectation("\\```", false);
2893
+ const peg$e36 = peg$anyExpectation();
2885
2894
  function peg$f0() {
2886
2895
  return new ParsedEnvSpecBlankLine({ _location: location() });
2887
2896
  }
@@ -2921,19 +2930,29 @@ function peg$parse(input, options) {
2921
2930
  }
2922
2931
  __name(peg$f4, "peg$f4");
2923
2932
  __name2(peg$f4, "peg$f4");
2924
- function peg$f5(leadingSpace, contents) {
2925
- return new ParsedEnvSpecComment({ contents, leadingSpace, _location: location() });
2926
- }
2927
- __name(peg$f5, "peg$f5");
2928
- __name2(peg$f5, "peg$f5");
2929
- function peg$f6(leadingSpace, first, rest, postComment) {
2933
+ function peg$f5(leadingSpace, first, rest, postComment) {
2934
+ const allDecorators = [first];
2935
+ let lastDecorator = first;
2936
+ for (const item of rest) {
2937
+ if (item instanceof ParsedEnvSpecDecorator) {
2938
+ allDecorators.push(item);
2939
+ lastDecorator = item;
2940
+ } else {
2941
+ lastDecorator.data.strayText = item;
2942
+ }
2943
+ }
2930
2944
  return new ParsedEnvSpecDecoratorComment({
2931
- decorators: [first, ...rest],
2945
+ decorators: allDecorators,
2932
2946
  leadingSpace,
2933
2947
  postComment,
2934
2948
  _location: location()
2935
2949
  });
2936
2950
  }
2951
+ __name(peg$f5, "peg$f5");
2952
+ __name2(peg$f5, "peg$f5");
2953
+ function peg$f6(first, rest) {
2954
+ return [first, ...rest].join(" ");
2955
+ }
2937
2956
  __name(peg$f6, "peg$f6");
2938
2957
  __name2(peg$f6, "peg$f6");
2939
2958
  function peg$f7(name, val) {
@@ -3292,12 +3311,9 @@ function peg$parse(input, options) {
3292
3311
  s0 = peg$currPos;
3293
3312
  s1 = [];
3294
3313
  s2 = peg$currPos;
3295
- s3 = peg$parseIgnoredDecoratorComment();
3314
+ s3 = peg$parseDecoratorComment();
3296
3315
  if (s3 === peg$FAILED) {
3297
- s3 = peg$parseDecoratorComment();
3298
- if (s3 === peg$FAILED) {
3299
- s3 = peg$parseComment();
3300
- }
3316
+ s3 = peg$parseComment();
3301
3317
  }
3302
3318
  if (s3 !== peg$FAILED) {
3303
3319
  if (input.charCodeAt(peg$currPos) === 10) {
@@ -3322,12 +3338,9 @@ function peg$parse(input, options) {
3322
3338
  while (s2 !== peg$FAILED) {
3323
3339
  s1.push(s2);
3324
3340
  s2 = peg$currPos;
3325
- s3 = peg$parseIgnoredDecoratorComment();
3341
+ s3 = peg$parseDecoratorComment();
3326
3342
  if (s3 === peg$FAILED) {
3327
- s3 = peg$parseDecoratorComment();
3328
- if (s3 === peg$FAILED) {
3329
- s3 = peg$parseComment();
3330
- }
3343
+ s3 = peg$parseComment();
3331
3344
  }
3332
3345
  if (s3 !== peg$FAILED) {
3333
3346
  if (input.charCodeAt(peg$currPos) === 10) {
@@ -3392,12 +3405,9 @@ function peg$parse(input, options) {
3392
3405
  }
3393
3406
  peg$parse_();
3394
3407
  s9 = peg$currPos;
3395
- s10 = peg$parseIgnoredDecoratorComment();
3408
+ s10 = peg$parseDecoratorComment();
3396
3409
  if (s10 === peg$FAILED) {
3397
- s10 = peg$parseDecoratorComment();
3398
- if (s10 === peg$FAILED) {
3399
- s10 = peg$parseComment();
3400
- }
3410
+ s10 = peg$parseComment();
3401
3411
  }
3402
3412
  if (s10 !== peg$FAILED) {
3403
3413
  s9 = s10;
@@ -3500,12 +3510,9 @@ function peg$parse(input, options) {
3500
3510
  s0 = peg$currPos;
3501
3511
  s1 = [];
3502
3512
  s2 = peg$currPos;
3503
- s3 = peg$parseIgnoredDecoratorComment();
3513
+ s3 = peg$parseDecoratorComment();
3504
3514
  if (s3 === peg$FAILED) {
3505
- s3 = peg$parseDecoratorComment();
3506
- if (s3 === peg$FAILED) {
3507
- s3 = peg$parseComment();
3508
- }
3515
+ s3 = peg$parseComment();
3509
3516
  }
3510
3517
  if (s3 !== peg$FAILED) {
3511
3518
  s4 = peg$parse_n();
@@ -3523,12 +3530,9 @@ function peg$parse(input, options) {
3523
3530
  while (s2 !== peg$FAILED) {
3524
3531
  s1.push(s2);
3525
3532
  s2 = peg$currPos;
3526
- s3 = peg$parseIgnoredDecoratorComment();
3533
+ s3 = peg$parseDecoratorComment();
3527
3534
  if (s3 === peg$FAILED) {
3528
- s3 = peg$parseDecoratorComment();
3529
- if (s3 === peg$FAILED) {
3530
- s3 = peg$parseComment();
3531
- }
3535
+ s3 = peg$parseComment();
3532
3536
  }
3533
3537
  if (s3 !== peg$FAILED) {
3534
3538
  s4 = peg$parse_n();
@@ -3662,8 +3666,8 @@ function peg$parse(input, options) {
3662
3666
  }
3663
3667
  __name(peg$parseComment, "peg$parseComment");
3664
3668
  __name2(peg$parseComment, "peg$parseComment");
3665
- function peg$parseIgnoredDecoratorComment() {
3666
- let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
3669
+ function peg$parseDecoratorComment() {
3670
+ let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
3667
3671
  s0 = peg$currPos;
3668
3672
  if (input.charCodeAt(peg$currPos) === 35) {
3669
3673
  s1 = peg$c3;
@@ -3678,104 +3682,168 @@ function peg$parse(input, options) {
3678
3682
  s2 = peg$currPos;
3679
3683
  s3 = peg$parse_();
3680
3684
  s2 = input.substring(s2, peg$currPos);
3681
- s3 = peg$currPos;
3682
- s4 = peg$currPos;
3683
- if (input.charCodeAt(peg$currPos) === 64) {
3684
- s5 = peg$c4;
3685
- peg$currPos++;
3686
- } else {
3687
- s5 = peg$FAILED;
3688
- if (peg$silentFails === 0) {
3689
- peg$fail(peg$e6);
3690
- }
3691
- }
3692
- if (s5 !== peg$FAILED) {
3693
- s6 = [];
3694
- s7 = input.charAt(peg$currPos);
3695
- if (peg$r3.test(s7)) {
3696
- peg$currPos++;
3697
- } else {
3698
- s7 = peg$FAILED;
3699
- if (peg$silentFails === 0) {
3700
- peg$fail(peg$e8);
3685
+ s3 = peg$parseDecorator();
3686
+ if (s3 !== peg$FAILED) {
3687
+ s4 = [];
3688
+ s5 = peg$currPos;
3689
+ s6 = peg$parse__();
3690
+ if (s6 !== peg$FAILED) {
3691
+ s7 = peg$parseDecoratorOrText();
3692
+ if (s7 !== peg$FAILED) {
3693
+ s5 = s7;
3694
+ } else {
3695
+ peg$currPos = s5;
3696
+ s5 = peg$FAILED;
3701
3697
  }
3698
+ } else {
3699
+ peg$currPos = s5;
3700
+ s5 = peg$FAILED;
3702
3701
  }
3703
- if (s7 !== peg$FAILED) {
3704
- while (s7 !== peg$FAILED) {
3705
- s6.push(s7);
3706
- s7 = input.charAt(peg$currPos);
3707
- if (peg$r3.test(s7)) {
3708
- peg$currPos++;
3702
+ while (s5 !== peg$FAILED) {
3703
+ s4.push(s5);
3704
+ s5 = peg$currPos;
3705
+ s6 = peg$parse__();
3706
+ if (s6 !== peg$FAILED) {
3707
+ s7 = peg$parseDecoratorOrText();
3708
+ if (s7 !== peg$FAILED) {
3709
+ s5 = s7;
3709
3710
  } else {
3710
- s7 = peg$FAILED;
3711
- if (peg$silentFails === 0) {
3712
- peg$fail(peg$e8);
3713
- }
3711
+ peg$currPos = s5;
3712
+ s5 = peg$FAILED;
3714
3713
  }
3714
+ } else {
3715
+ peg$currPos = s5;
3716
+ s5 = peg$FAILED;
3715
3717
  }
3718
+ }
3719
+ s5 = peg$currPos;
3720
+ s6 = peg$parse_();
3721
+ s7 = peg$currPos;
3722
+ s8 = peg$currPos;
3723
+ if (input.charCodeAt(peg$currPos) === 35) {
3724
+ s9 = peg$c3;
3725
+ peg$currPos++;
3716
3726
  } else {
3717
- s6 = peg$FAILED;
3727
+ s9 = peg$FAILED;
3728
+ if (peg$silentFails === 0) {
3729
+ peg$fail(peg$e5);
3730
+ }
3718
3731
  }
3719
- if (s6 !== peg$FAILED) {
3720
- if (input.charCodeAt(peg$currPos) === 58) {
3721
- s7 = peg$c5;
3732
+ if (s9 !== peg$FAILED) {
3733
+ s10 = [];
3734
+ s11 = input.charAt(peg$currPos);
3735
+ if (peg$r2.test(s11)) {
3722
3736
  peg$currPos++;
3723
3737
  } else {
3724
- s7 = peg$FAILED;
3738
+ s11 = peg$FAILED;
3725
3739
  if (peg$silentFails === 0) {
3726
- peg$fail(peg$e9);
3740
+ peg$fail(peg$e7);
3727
3741
  }
3728
3742
  }
3729
- if (s7 !== peg$FAILED) {
3730
- s8 = [];
3731
- s9 = input.charAt(peg$currPos);
3732
- if (peg$r2.test(s9)) {
3743
+ while (s11 !== peg$FAILED) {
3744
+ s10.push(s11);
3745
+ s11 = input.charAt(peg$currPos);
3746
+ if (peg$r2.test(s11)) {
3733
3747
  peg$currPos++;
3734
3748
  } else {
3735
- s9 = peg$FAILED;
3749
+ s11 = peg$FAILED;
3736
3750
  if (peg$silentFails === 0) {
3737
3751
  peg$fail(peg$e7);
3738
3752
  }
3739
3753
  }
3740
- while (s9 !== peg$FAILED) {
3741
- s8.push(s9);
3742
- s9 = input.charAt(peg$currPos);
3743
- if (peg$r2.test(s9)) {
3744
- peg$currPos++;
3745
- } else {
3746
- s9 = peg$FAILED;
3747
- if (peg$silentFails === 0) {
3748
- peg$fail(peg$e7);
3749
- }
3750
- }
3751
- }
3752
- s5 = [s5, s6, s7, s8];
3753
- s4 = s5;
3754
- } else {
3755
- peg$currPos = s4;
3756
- s4 = peg$FAILED;
3757
3754
  }
3755
+ s9 = [s9, s10];
3756
+ s8 = s9;
3758
3757
  } else {
3759
- peg$currPos = s4;
3760
- s4 = peg$FAILED;
3758
+ peg$currPos = s8;
3759
+ s8 = peg$FAILED;
3761
3760
  }
3761
+ if (s8 !== peg$FAILED) {
3762
+ s7 = input.substring(s7, peg$currPos);
3763
+ } else {
3764
+ s7 = s8;
3765
+ }
3766
+ if (s7 !== peg$FAILED) {
3767
+ s5 = s7;
3768
+ } else {
3769
+ peg$currPos = s5;
3770
+ s5 = peg$FAILED;
3771
+ }
3772
+ if (s5 === peg$FAILED) {
3773
+ s5 = null;
3774
+ }
3775
+ s6 = peg$parse_();
3776
+ peg$savedPos = s0;
3777
+ s0 = peg$f5(s2, s3, s4, s5);
3762
3778
  } else {
3763
- peg$currPos = s4;
3764
- s4 = peg$FAILED;
3779
+ peg$currPos = s0;
3780
+ s0 = peg$FAILED;
3765
3781
  }
3766
- if (s4 === peg$FAILED) {
3767
- s4 = peg$currPos;
3768
- if (input.charCodeAt(peg$currPos) === 64) {
3769
- s5 = peg$c4;
3782
+ } else {
3783
+ peg$currPos = s0;
3784
+ s0 = peg$FAILED;
3785
+ }
3786
+ return s0;
3787
+ }
3788
+ __name(peg$parseDecoratorComment, "peg$parseDecoratorComment");
3789
+ __name2(peg$parseDecoratorComment, "peg$parseDecoratorComment");
3790
+ function peg$parseDecoratorOrText() {
3791
+ let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
3792
+ s0 = peg$parseDecorator();
3793
+ if (s0 === peg$FAILED) {
3794
+ s0 = peg$currPos;
3795
+ s1 = peg$currPos;
3796
+ s2 = peg$currPos;
3797
+ s3 = input.charAt(peg$currPos);
3798
+ if (peg$r3.test(s3)) {
3799
+ peg$currPos++;
3800
+ } else {
3801
+ s3 = peg$FAILED;
3802
+ if (peg$silentFails === 0) {
3803
+ peg$fail(peg$e8);
3804
+ }
3805
+ }
3806
+ if (s3 !== peg$FAILED) {
3807
+ s4 = [];
3808
+ s5 = input.charAt(peg$currPos);
3809
+ if (peg$r4.test(s5)) {
3770
3810
  peg$currPos++;
3771
3811
  } else {
3772
3812
  s5 = peg$FAILED;
3773
3813
  if (peg$silentFails === 0) {
3774
- peg$fail(peg$e6);
3814
+ peg$fail(peg$e9);
3775
3815
  }
3776
3816
  }
3777
- if (s5 !== peg$FAILED) {
3778
- s6 = [];
3817
+ while (s5 !== peg$FAILED) {
3818
+ s4.push(s5);
3819
+ s5 = input.charAt(peg$currPos);
3820
+ if (peg$r4.test(s5)) {
3821
+ peg$currPos++;
3822
+ } else {
3823
+ s5 = peg$FAILED;
3824
+ if (peg$silentFails === 0) {
3825
+ peg$fail(peg$e9);
3826
+ }
3827
+ }
3828
+ }
3829
+ s3 = [s3, s4];
3830
+ s2 = s3;
3831
+ } else {
3832
+ peg$currPos = s2;
3833
+ s2 = peg$FAILED;
3834
+ }
3835
+ if (s2 !== peg$FAILED) {
3836
+ s1 = input.substring(s1, peg$currPos);
3837
+ } else {
3838
+ s1 = s2;
3839
+ }
3840
+ if (s1 !== peg$FAILED) {
3841
+ s2 = [];
3842
+ s3 = peg$currPos;
3843
+ s4 = peg$parse__();
3844
+ if (s4 !== peg$FAILED) {
3845
+ s5 = peg$currPos;
3846
+ s6 = peg$currPos;
3779
3847
  s7 = input.charAt(peg$currPos);
3780
3848
  if (peg$r3.test(s7)) {
3781
3849
  peg$currPos++;
@@ -3786,213 +3854,121 @@ function peg$parse(input, options) {
3786
3854
  }
3787
3855
  }
3788
3856
  if (s7 !== peg$FAILED) {
3789
- while (s7 !== peg$FAILED) {
3790
- s6.push(s7);
3791
- s7 = input.charAt(peg$currPos);
3792
- if (peg$r3.test(s7)) {
3857
+ s8 = [];
3858
+ s9 = input.charAt(peg$currPos);
3859
+ if (peg$r4.test(s9)) {
3860
+ peg$currPos++;
3861
+ } else {
3862
+ s9 = peg$FAILED;
3863
+ if (peg$silentFails === 0) {
3864
+ peg$fail(peg$e9);
3865
+ }
3866
+ }
3867
+ while (s9 !== peg$FAILED) {
3868
+ s8.push(s9);
3869
+ s9 = input.charAt(peg$currPos);
3870
+ if (peg$r4.test(s9)) {
3793
3871
  peg$currPos++;
3794
3872
  } else {
3795
- s7 = peg$FAILED;
3873
+ s9 = peg$FAILED;
3796
3874
  if (peg$silentFails === 0) {
3797
- peg$fail(peg$e8);
3875
+ peg$fail(peg$e9);
3798
3876
  }
3799
3877
  }
3800
3878
  }
3879
+ s7 = [s7, s8];
3880
+ s6 = s7;
3801
3881
  } else {
3882
+ peg$currPos = s6;
3802
3883
  s6 = peg$FAILED;
3803
3884
  }
3804
3885
  if (s6 !== peg$FAILED) {
3805
- s7 = peg$parse__();
3886
+ s5 = input.substring(s5, peg$currPos);
3887
+ } else {
3888
+ s5 = s6;
3889
+ }
3890
+ if (s5 !== peg$FAILED) {
3891
+ s3 = s5;
3892
+ } else {
3893
+ peg$currPos = s3;
3894
+ s3 = peg$FAILED;
3895
+ }
3896
+ } else {
3897
+ peg$currPos = s3;
3898
+ s3 = peg$FAILED;
3899
+ }
3900
+ while (s3 !== peg$FAILED) {
3901
+ s2.push(s3);
3902
+ s3 = peg$currPos;
3903
+ s4 = peg$parse__();
3904
+ if (s4 !== peg$FAILED) {
3905
+ s5 = peg$currPos;
3906
+ s6 = peg$currPos;
3907
+ s7 = input.charAt(peg$currPos);
3908
+ if (peg$r3.test(s7)) {
3909
+ peg$currPos++;
3910
+ } else {
3911
+ s7 = peg$FAILED;
3912
+ if (peg$silentFails === 0) {
3913
+ peg$fail(peg$e8);
3914
+ }
3915
+ }
3806
3916
  if (s7 !== peg$FAILED) {
3807
- s8 = peg$currPos;
3808
- peg$silentFails++;
3917
+ s8 = [];
3809
3918
  s9 = input.charAt(peg$currPos);
3810
3919
  if (peg$r4.test(s9)) {
3811
3920
  peg$currPos++;
3812
3921
  } else {
3813
3922
  s9 = peg$FAILED;
3814
3923
  if (peg$silentFails === 0) {
3815
- peg$fail(peg$e10);
3924
+ peg$fail(peg$e9);
3816
3925
  }
3817
3926
  }
3818
- peg$silentFails--;
3819
- if (s9 === peg$FAILED) {
3820
- s8 = void 0;
3821
- } else {
3822
- peg$currPos = s8;
3823
- s8 = peg$FAILED;
3824
- }
3825
- if (s8 !== peg$FAILED) {
3826
- s9 = [];
3827
- s10 = input.charAt(peg$currPos);
3828
- if (peg$r2.test(s10)) {
3927
+ while (s9 !== peg$FAILED) {
3928
+ s8.push(s9);
3929
+ s9 = input.charAt(peg$currPos);
3930
+ if (peg$r4.test(s9)) {
3829
3931
  peg$currPos++;
3830
3932
  } else {
3831
- s10 = peg$FAILED;
3933
+ s9 = peg$FAILED;
3832
3934
  if (peg$silentFails === 0) {
3833
- peg$fail(peg$e7);
3935
+ peg$fail(peg$e9);
3834
3936
  }
3835
3937
  }
3836
- while (s10 !== peg$FAILED) {
3837
- s9.push(s10);
3838
- s10 = input.charAt(peg$currPos);
3839
- if (peg$r2.test(s10)) {
3840
- peg$currPos++;
3841
- } else {
3842
- s10 = peg$FAILED;
3843
- if (peg$silentFails === 0) {
3844
- peg$fail(peg$e7);
3845
- }
3846
- }
3847
- }
3848
- s5 = [s5, s6, s7, s8, s9];
3849
- s4 = s5;
3850
- } else {
3851
- peg$currPos = s4;
3852
- s4 = peg$FAILED;
3853
3938
  }
3939
+ s7 = [s7, s8];
3940
+ s6 = s7;
3854
3941
  } else {
3855
- peg$currPos = s4;
3856
- s4 = peg$FAILED;
3942
+ peg$currPos = s6;
3943
+ s6 = peg$FAILED;
3857
3944
  }
3858
- } else {
3859
- peg$currPos = s4;
3860
- s4 = peg$FAILED;
3861
- }
3862
- } else {
3863
- peg$currPos = s4;
3864
- s4 = peg$FAILED;
3865
- }
3866
- }
3867
- if (s4 !== peg$FAILED) {
3868
- s3 = input.substring(s3, peg$currPos);
3869
- } else {
3870
- s3 = s4;
3871
- }
3872
- if (s3 !== peg$FAILED) {
3873
- peg$savedPos = s0;
3874
- s0 = peg$f5(s2, s3);
3875
- } else {
3876
- peg$currPos = s0;
3877
- s0 = peg$FAILED;
3878
- }
3879
- } else {
3880
- peg$currPos = s0;
3881
- s0 = peg$FAILED;
3882
- }
3883
- return s0;
3884
- }
3885
- __name(peg$parseIgnoredDecoratorComment, "peg$parseIgnoredDecoratorComment");
3886
- __name2(peg$parseIgnoredDecoratorComment, "peg$parseIgnoredDecoratorComment");
3887
- function peg$parseDecoratorComment() {
3888
- let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
3889
- s0 = peg$currPos;
3890
- if (input.charCodeAt(peg$currPos) === 35) {
3891
- s1 = peg$c3;
3892
- peg$currPos++;
3893
- } else {
3894
- s1 = peg$FAILED;
3895
- if (peg$silentFails === 0) {
3896
- peg$fail(peg$e5);
3897
- }
3898
- }
3899
- if (s1 !== peg$FAILED) {
3900
- s2 = peg$currPos;
3901
- s3 = peg$parse_();
3902
- s2 = input.substring(s2, peg$currPos);
3903
- s3 = peg$parseDecorator();
3904
- if (s3 !== peg$FAILED) {
3905
- s4 = [];
3906
- s5 = peg$currPos;
3907
- s6 = peg$parse__();
3908
- if (s6 !== peg$FAILED) {
3909
- s7 = peg$parseDecorator();
3910
- if (s7 !== peg$FAILED) {
3911
- s5 = s7;
3912
- } else {
3913
- peg$currPos = s5;
3914
- s5 = peg$FAILED;
3915
- }
3916
- } else {
3917
- peg$currPos = s5;
3918
- s5 = peg$FAILED;
3919
- }
3920
- while (s5 !== peg$FAILED) {
3921
- s4.push(s5);
3922
- s5 = peg$currPos;
3923
- s6 = peg$parse__();
3924
- if (s6 !== peg$FAILED) {
3925
- s7 = peg$parseDecorator();
3926
- if (s7 !== peg$FAILED) {
3927
- s5 = s7;
3945
+ if (s6 !== peg$FAILED) {
3946
+ s5 = input.substring(s5, peg$currPos);
3928
3947
  } else {
3929
- peg$currPos = s5;
3930
- s5 = peg$FAILED;
3931
- }
3932
- } else {
3933
- peg$currPos = s5;
3934
- s5 = peg$FAILED;
3935
- }
3936
- }
3937
- s5 = peg$parse_();
3938
- s6 = peg$currPos;
3939
- s7 = peg$currPos;
3940
- if (input.charCodeAt(peg$currPos) === 35) {
3941
- s8 = peg$c3;
3942
- peg$currPos++;
3943
- } else {
3944
- s8 = peg$FAILED;
3945
- if (peg$silentFails === 0) {
3946
- peg$fail(peg$e5);
3947
- }
3948
- }
3949
- if (s8 !== peg$FAILED) {
3950
- s9 = [];
3951
- s10 = input.charAt(peg$currPos);
3952
- if (peg$r2.test(s10)) {
3953
- peg$currPos++;
3954
- } else {
3955
- s10 = peg$FAILED;
3956
- if (peg$silentFails === 0) {
3957
- peg$fail(peg$e7);
3948
+ s5 = s6;
3958
3949
  }
3959
- }
3960
- while (s10 !== peg$FAILED) {
3961
- s9.push(s10);
3962
- s10 = input.charAt(peg$currPos);
3963
- if (peg$r2.test(s10)) {
3964
- peg$currPos++;
3950
+ if (s5 !== peg$FAILED) {
3951
+ s3 = s5;
3965
3952
  } else {
3966
- s10 = peg$FAILED;
3967
- if (peg$silentFails === 0) {
3968
- peg$fail(peg$e7);
3969
- }
3953
+ peg$currPos = s3;
3954
+ s3 = peg$FAILED;
3970
3955
  }
3956
+ } else {
3957
+ peg$currPos = s3;
3958
+ s3 = peg$FAILED;
3971
3959
  }
3972
- s8 = [s8, s9];
3973
- s7 = s8;
3974
- } else {
3975
- peg$currPos = s7;
3976
- s7 = peg$FAILED;
3977
- }
3978
- if (s7 === peg$FAILED) {
3979
- s7 = null;
3980
3960
  }
3981
- s6 = input.substring(s6, peg$currPos);
3982
3961
  peg$savedPos = s0;
3983
- s0 = peg$f6(s2, s3, s4, s6);
3962
+ s0 = peg$f6(s1, s2);
3984
3963
  } else {
3985
3964
  peg$currPos = s0;
3986
3965
  s0 = peg$FAILED;
3987
3966
  }
3988
- } else {
3989
- peg$currPos = s0;
3990
- s0 = peg$FAILED;
3991
3967
  }
3992
3968
  return s0;
3993
3969
  }
3994
- __name(peg$parseDecoratorComment, "peg$parseDecoratorComment");
3995
- __name2(peg$parseDecoratorComment, "peg$parseDecoratorComment");
3970
+ __name(peg$parseDecoratorOrText, "peg$parseDecoratorOrText");
3971
+ __name2(peg$parseDecoratorOrText, "peg$parseDecoratorOrText");
3996
3972
  function peg$parseDecorator() {
3997
3973
  let s0, s1, s2, s3, s4, s5;
3998
3974
  s0 = peg$currPos;
@@ -4056,18 +4032,18 @@ function peg$parse(input, options) {
4056
4032
  s0 = peg$currPos;
4057
4033
  s1 = peg$currPos;
4058
4034
  s2 = input.charAt(peg$currPos);
4059
- if (peg$r3.test(s2)) {
4035
+ if (peg$r5.test(s2)) {
4060
4036
  peg$currPos++;
4061
4037
  } else {
4062
4038
  s2 = peg$FAILED;
4063
4039
  if (peg$silentFails === 0) {
4064
- peg$fail(peg$e8);
4040
+ peg$fail(peg$e10);
4065
4041
  }
4066
4042
  }
4067
4043
  if (s2 !== peg$FAILED) {
4068
4044
  s3 = [];
4069
4045
  s4 = input.charAt(peg$currPos);
4070
- if (peg$r5.test(s4)) {
4046
+ if (peg$r6.test(s4)) {
4071
4047
  peg$currPos++;
4072
4048
  } else {
4073
4049
  s4 = peg$FAILED;
@@ -4078,7 +4054,7 @@ function peg$parse(input, options) {
4078
4054
  while (s4 !== peg$FAILED) {
4079
4055
  s3.push(s4);
4080
4056
  s4 = input.charAt(peg$currPos);
4081
- if (peg$r5.test(s4)) {
4057
+ if (peg$r6.test(s4)) {
4082
4058
  peg$currPos++;
4083
4059
  } else {
4084
4060
  s4 = peg$FAILED;
@@ -4140,7 +4116,7 @@ function peg$parse(input, options) {
4140
4116
  let s0, s1, s3, s4, s5, s6, s7, s8, s9;
4141
4117
  s0 = peg$currPos;
4142
4118
  if (input.charCodeAt(peg$currPos) === 40) {
4143
- s1 = peg$c6;
4119
+ s1 = peg$c5;
4144
4120
  peg$currPos++;
4145
4121
  } else {
4146
4122
  s1 = peg$FAILED;
@@ -4190,7 +4166,7 @@ function peg$parse(input, options) {
4190
4166
  s6 = peg$currPos;
4191
4167
  s7 = peg$parse_decWs();
4192
4168
  if (input.charCodeAt(peg$currPos) === 44) {
4193
- s8 = peg$c7;
4169
+ s8 = peg$c6;
4194
4170
  peg$currPos++;
4195
4171
  } else {
4196
4172
  s8 = peg$FAILED;
@@ -4261,7 +4237,7 @@ function peg$parse(input, options) {
4261
4237
  s4 = peg$currPos;
4262
4238
  s5 = peg$parse_decWs();
4263
4239
  if (input.charCodeAt(peg$currPos) === 44) {
4264
- s6 = peg$c7;
4240
+ s6 = peg$c6;
4265
4241
  peg$currPos++;
4266
4242
  } else {
4267
4243
  s6 = peg$FAILED;
@@ -4281,7 +4257,7 @@ function peg$parse(input, options) {
4281
4257
  }
4282
4258
  s5 = peg$parse_decWs();
4283
4259
  if (input.charCodeAt(peg$currPos) === 41) {
4284
- s6 = peg$c8;
4260
+ s6 = peg$c7;
4285
4261
  peg$currPos++;
4286
4262
  } else {
4287
4263
  s6 = peg$FAILED;
@@ -4314,7 +4290,7 @@ function peg$parse(input, options) {
4314
4290
  s1 = peg$currPos;
4315
4291
  s2 = [];
4316
4292
  s3 = input.charAt(peg$currPos);
4317
- if (peg$r6.test(s3)) {
4293
+ if (peg$r7.test(s3)) {
4318
4294
  peg$currPos++;
4319
4295
  } else {
4320
4296
  s3 = peg$FAILED;
@@ -4326,7 +4302,7 @@ function peg$parse(input, options) {
4326
4302
  while (s3 !== peg$FAILED) {
4327
4303
  s2.push(s3);
4328
4304
  s3 = input.charAt(peg$currPos);
4329
- if (peg$r6.test(s3)) {
4305
+ if (peg$r7.test(s3)) {
4330
4306
  peg$currPos++;
4331
4307
  } else {
4332
4308
  s3 = peg$FAILED;
@@ -4358,7 +4334,7 @@ function peg$parse(input, options) {
4358
4334
  let s0, s1, s2, s3, s4, s5, s6;
4359
4335
  s0 = [];
4360
4336
  s1 = input.charAt(peg$currPos);
4361
- if (peg$r7.test(s1)) {
4337
+ if (peg$r8.test(s1)) {
4362
4338
  peg$currPos++;
4363
4339
  } else {
4364
4340
  s1 = peg$FAILED;
@@ -4380,7 +4356,7 @@ function peg$parse(input, options) {
4380
4356
  if (s2 !== peg$FAILED) {
4381
4357
  s3 = [];
4382
4358
  s4 = input.charAt(peg$currPos);
4383
- if (peg$r7.test(s4)) {
4359
+ if (peg$r8.test(s4)) {
4384
4360
  peg$currPos++;
4385
4361
  } else {
4386
4362
  s4 = peg$FAILED;
@@ -4391,7 +4367,7 @@ function peg$parse(input, options) {
4391
4367
  while (s4 !== peg$FAILED) {
4392
4368
  s3.push(s4);
4393
4369
  s4 = input.charAt(peg$currPos);
4394
- if (peg$r7.test(s4)) {
4370
+ if (peg$r8.test(s4)) {
4395
4371
  peg$currPos++;
4396
4372
  } else {
4397
4373
  s4 = peg$FAILED;
@@ -4412,7 +4388,7 @@ function peg$parse(input, options) {
4412
4388
  if (s4 !== peg$FAILED) {
4413
4389
  s5 = [];
4414
4390
  s6 = input.charAt(peg$currPos);
4415
- if (peg$r7.test(s6)) {
4391
+ if (peg$r8.test(s6)) {
4416
4392
  peg$currPos++;
4417
4393
  } else {
4418
4394
  s6 = peg$FAILED;
@@ -4423,7 +4399,7 @@ function peg$parse(input, options) {
4423
4399
  while (s6 !== peg$FAILED) {
4424
4400
  s5.push(s6);
4425
4401
  s6 = input.charAt(peg$currPos);
4426
- if (peg$r7.test(s6)) {
4402
+ if (peg$r8.test(s6)) {
4427
4403
  peg$currPos++;
4428
4404
  } else {
4429
4405
  s6 = peg$FAILED;
@@ -4446,7 +4422,7 @@ function peg$parse(input, options) {
4446
4422
  while (s1 !== peg$FAILED) {
4447
4423
  s0.push(s1);
4448
4424
  s1 = input.charAt(peg$currPos);
4449
- if (peg$r7.test(s1)) {
4425
+ if (peg$r8.test(s1)) {
4450
4426
  peg$currPos++;
4451
4427
  } else {
4452
4428
  s1 = peg$FAILED;
@@ -4468,7 +4444,7 @@ function peg$parse(input, options) {
4468
4444
  if (s2 !== peg$FAILED) {
4469
4445
  s3 = [];
4470
4446
  s4 = input.charAt(peg$currPos);
4471
- if (peg$r7.test(s4)) {
4447
+ if (peg$r8.test(s4)) {
4472
4448
  peg$currPos++;
4473
4449
  } else {
4474
4450
  s4 = peg$FAILED;
@@ -4479,7 +4455,7 @@ function peg$parse(input, options) {
4479
4455
  while (s4 !== peg$FAILED) {
4480
4456
  s3.push(s4);
4481
4457
  s4 = input.charAt(peg$currPos);
4482
- if (peg$r7.test(s4)) {
4458
+ if (peg$r8.test(s4)) {
4483
4459
  peg$currPos++;
4484
4460
  } else {
4485
4461
  s4 = peg$FAILED;
@@ -4500,7 +4476,7 @@ function peg$parse(input, options) {
4500
4476
  if (s4 !== peg$FAILED) {
4501
4477
  s5 = [];
4502
4478
  s6 = input.charAt(peg$currPos);
4503
- if (peg$r7.test(s6)) {
4479
+ if (peg$r8.test(s6)) {
4504
4480
  peg$currPos++;
4505
4481
  } else {
4506
4482
  s6 = peg$FAILED;
@@ -4511,7 +4487,7 @@ function peg$parse(input, options) {
4511
4487
  while (s6 !== peg$FAILED) {
4512
4488
  s5.push(s6);
4513
4489
  s6 = input.charAt(peg$currPos);
4514
- if (peg$r7.test(s6)) {
4490
+ if (peg$r8.test(s6)) {
4515
4491
  peg$currPos++;
4516
4492
  } else {
4517
4493
  s6 = peg$FAILED;
@@ -4562,34 +4538,34 @@ function peg$parse(input, options) {
4562
4538
  s0 = peg$currPos;
4563
4539
  s1 = peg$currPos;
4564
4540
  s2 = input.charAt(peg$currPos);
4565
- if (peg$r3.test(s2)) {
4541
+ if (peg$r5.test(s2)) {
4566
4542
  peg$currPos++;
4567
4543
  } else {
4568
4544
  s2 = peg$FAILED;
4569
4545
  if (peg$silentFails === 0) {
4570
- peg$fail(peg$e8);
4546
+ peg$fail(peg$e10);
4571
4547
  }
4572
4548
  }
4573
4549
  if (s2 !== peg$FAILED) {
4574
4550
  s3 = [];
4575
4551
  s4 = input.charAt(peg$currPos);
4576
- if (peg$r5.test(s4)) {
4552
+ if (peg$r9.test(s4)) {
4577
4553
  peg$currPos++;
4578
4554
  } else {
4579
4555
  s4 = peg$FAILED;
4580
4556
  if (peg$silentFails === 0) {
4581
- peg$fail(peg$e11);
4557
+ peg$fail(peg$e17);
4582
4558
  }
4583
4559
  }
4584
4560
  while (s4 !== peg$FAILED) {
4585
4561
  s3.push(s4);
4586
4562
  s4 = input.charAt(peg$currPos);
4587
- if (peg$r5.test(s4)) {
4563
+ if (peg$r9.test(s4)) {
4588
4564
  peg$currPos++;
4589
4565
  } else {
4590
4566
  s4 = peg$FAILED;
4591
4567
  if (peg$silentFails === 0) {
4592
- peg$fail(peg$e11);
4568
+ peg$fail(peg$e17);
4593
4569
  }
4594
4570
  }
4595
4571
  }
@@ -4612,7 +4588,7 @@ function peg$parse(input, options) {
4612
4588
  let s0, s1, s3, s4, s5, s6, s7, s8, s9;
4613
4589
  s0 = peg$currPos;
4614
4590
  if (input.charCodeAt(peg$currPos) === 40) {
4615
- s1 = peg$c6;
4591
+ s1 = peg$c5;
4616
4592
  peg$currPos++;
4617
4593
  } else {
4618
4594
  s1 = peg$FAILED;
@@ -4662,7 +4638,7 @@ function peg$parse(input, options) {
4662
4638
  s6 = peg$currPos;
4663
4639
  s7 = peg$parse_valWs();
4664
4640
  if (input.charCodeAt(peg$currPos) === 44) {
4665
- s8 = peg$c7;
4641
+ s8 = peg$c6;
4666
4642
  peg$currPos++;
4667
4643
  } else {
4668
4644
  s8 = peg$FAILED;
@@ -4733,7 +4709,7 @@ function peg$parse(input, options) {
4733
4709
  s4 = peg$currPos;
4734
4710
  s5 = peg$parse_valWs();
4735
4711
  if (input.charCodeAt(peg$currPos) === 44) {
4736
- s6 = peg$c7;
4712
+ s6 = peg$c6;
4737
4713
  peg$currPos++;
4738
4714
  } else {
4739
4715
  s6 = peg$FAILED;
@@ -4753,7 +4729,7 @@ function peg$parse(input, options) {
4753
4729
  }
4754
4730
  s5 = peg$parse_valWs();
4755
4731
  if (input.charCodeAt(peg$currPos) === 41) {
4756
- s6 = peg$c8;
4732
+ s6 = peg$c7;
4757
4733
  peg$currPos++;
4758
4734
  } else {
4759
4735
  s6 = peg$FAILED;
@@ -4781,34 +4757,34 @@ function peg$parse(input, options) {
4781
4757
  s0 = peg$currPos;
4782
4758
  s1 = peg$currPos;
4783
4759
  s2 = input.charAt(peg$currPos);
4784
- if (peg$r3.test(s2)) {
4760
+ if (peg$r5.test(s2)) {
4785
4761
  peg$currPos++;
4786
4762
  } else {
4787
4763
  s2 = peg$FAILED;
4788
4764
  if (peg$silentFails === 0) {
4789
- peg$fail(peg$e8);
4765
+ peg$fail(peg$e10);
4790
4766
  }
4791
4767
  }
4792
4768
  if (s2 !== peg$FAILED) {
4793
4769
  s3 = [];
4794
4770
  s4 = input.charAt(peg$currPos);
4795
- if (peg$r5.test(s4)) {
4771
+ if (peg$r9.test(s4)) {
4796
4772
  peg$currPos++;
4797
4773
  } else {
4798
4774
  s4 = peg$FAILED;
4799
4775
  if (peg$silentFails === 0) {
4800
- peg$fail(peg$e11);
4776
+ peg$fail(peg$e17);
4801
4777
  }
4802
4778
  }
4803
4779
  while (s4 !== peg$FAILED) {
4804
4780
  s3.push(s4);
4805
4781
  s4 = input.charAt(peg$currPos);
4806
- if (peg$r5.test(s4)) {
4782
+ if (peg$r9.test(s4)) {
4807
4783
  peg$currPos++;
4808
4784
  } else {
4809
4785
  s4 = peg$FAILED;
4810
4786
  if (peg$silentFails === 0) {
4811
- peg$fail(peg$e11);
4787
+ peg$fail(peg$e17);
4812
4788
  }
4813
4789
  }
4814
4790
  }
@@ -4837,7 +4813,7 @@ function peg$parse(input, options) {
4837
4813
  s1 = peg$currPos;
4838
4814
  s2 = [];
4839
4815
  s3 = input.charAt(peg$currPos);
4840
- if (peg$r6.test(s3)) {
4816
+ if (peg$r7.test(s3)) {
4841
4817
  peg$currPos++;
4842
4818
  } else {
4843
4819
  s3 = peg$FAILED;
@@ -4849,7 +4825,7 @@ function peg$parse(input, options) {
4849
4825
  while (s3 !== peg$FAILED) {
4850
4826
  s2.push(s3);
4851
4827
  s3 = input.charAt(peg$currPos);
4852
- if (peg$r6.test(s3)) {
4828
+ if (peg$r7.test(s3)) {
4853
4829
  peg$currPos++;
4854
4830
  } else {
4855
4831
  s3 = peg$FAILED;
@@ -4881,23 +4857,23 @@ function peg$parse(input, options) {
4881
4857
  let s0, s1;
4882
4858
  s0 = [];
4883
4859
  s1 = input.charAt(peg$currPos);
4884
- if (peg$r8.test(s1)) {
4860
+ if (peg$r10.test(s1)) {
4885
4861
  peg$currPos++;
4886
4862
  } else {
4887
4863
  s1 = peg$FAILED;
4888
4864
  if (peg$silentFails === 0) {
4889
- peg$fail(peg$e17);
4865
+ peg$fail(peg$e18);
4890
4866
  }
4891
4867
  }
4892
4868
  while (s1 !== peg$FAILED) {
4893
4869
  s0.push(s1);
4894
4870
  s1 = input.charAt(peg$currPos);
4895
- if (peg$r8.test(s1)) {
4871
+ if (peg$r10.test(s1)) {
4896
4872
  peg$currPos++;
4897
4873
  } else {
4898
4874
  s1 = peg$FAILED;
4899
4875
  if (peg$silentFails === 0) {
4900
- peg$fail(peg$e17);
4876
+ peg$fail(peg$e18);
4901
4877
  }
4902
4878
  }
4903
4879
  }
@@ -4926,23 +4902,23 @@ function peg$parse(input, options) {
4926
4902
  s5 = peg$currPos;
4927
4903
  s6 = [];
4928
4904
  s7 = input.charAt(peg$currPos);
4929
- if (peg$r9.test(s7)) {
4905
+ if (peg$r11.test(s7)) {
4930
4906
  peg$currPos++;
4931
4907
  } else {
4932
4908
  s7 = peg$FAILED;
4933
4909
  if (peg$silentFails === 0) {
4934
- peg$fail(peg$e18);
4910
+ peg$fail(peg$e19);
4935
4911
  }
4936
4912
  }
4937
4913
  while (s7 !== peg$FAILED) {
4938
4914
  s6.push(s7);
4939
4915
  s7 = input.charAt(peg$currPos);
4940
- if (peg$r9.test(s7)) {
4916
+ if (peg$r11.test(s7)) {
4941
4917
  peg$currPos++;
4942
4918
  } else {
4943
4919
  s7 = peg$FAILED;
4944
4920
  if (peg$silentFails === 0) {
4945
- peg$fail(peg$e18);
4921
+ peg$fail(peg$e19);
4946
4922
  }
4947
4923
  }
4948
4924
  }
@@ -5016,12 +4992,12 @@ function peg$parse(input, options) {
5016
4992
  s4 = peg$currPos;
5017
4993
  peg$silentFails++;
5018
4994
  s5 = input.charAt(peg$currPos);
5019
- if (peg$r10.test(s5)) {
4995
+ if (peg$r12.test(s5)) {
5020
4996
  peg$currPos++;
5021
4997
  } else {
5022
4998
  s5 = peg$FAILED;
5023
4999
  if (peg$silentFails === 0) {
5024
- peg$fail(peg$e19);
5000
+ peg$fail(peg$e20);
5025
5001
  }
5026
5002
  }
5027
5003
  peg$silentFails--;
@@ -5034,24 +5010,24 @@ function peg$parse(input, options) {
5034
5010
  if (s4 !== peg$FAILED) {
5035
5011
  s5 = [];
5036
5012
  s6 = input.charAt(peg$currPos);
5037
- if (peg$r11.test(s6)) {
5013
+ if (peg$r13.test(s6)) {
5038
5014
  peg$currPos++;
5039
5015
  } else {
5040
5016
  s6 = peg$FAILED;
5041
5017
  if (peg$silentFails === 0) {
5042
- peg$fail(peg$e20);
5018
+ peg$fail(peg$e21);
5043
5019
  }
5044
5020
  }
5045
5021
  if (s6 !== peg$FAILED) {
5046
5022
  while (s6 !== peg$FAILED) {
5047
5023
  s5.push(s6);
5048
5024
  s6 = input.charAt(peg$currPos);
5049
- if (peg$r11.test(s6)) {
5025
+ if (peg$r13.test(s6)) {
5050
5026
  peg$currPos++;
5051
5027
  } else {
5052
5028
  s6 = peg$FAILED;
5053
5029
  if (peg$silentFails === 0) {
5054
- peg$fail(peg$e20);
5030
+ peg$fail(peg$e21);
5055
5031
  }
5056
5032
  }
5057
5033
  }
@@ -5091,12 +5067,12 @@ function peg$parse(input, options) {
5091
5067
  s3 = peg$currPos;
5092
5068
  peg$silentFails++;
5093
5069
  s4 = input.charAt(peg$currPos);
5094
- if (peg$r10.test(s4)) {
5070
+ if (peg$r12.test(s4)) {
5095
5071
  peg$currPos++;
5096
5072
  } else {
5097
5073
  s4 = peg$FAILED;
5098
5074
  if (peg$silentFails === 0) {
5099
- peg$fail(peg$e19);
5075
+ peg$fail(peg$e20);
5100
5076
  }
5101
5077
  }
5102
5078
  peg$silentFails--;
@@ -5109,24 +5085,24 @@ function peg$parse(input, options) {
5109
5085
  if (s3 !== peg$FAILED) {
5110
5086
  s4 = [];
5111
5087
  s5 = input.charAt(peg$currPos);
5112
- if (peg$r12.test(s5)) {
5088
+ if (peg$r14.test(s5)) {
5113
5089
  peg$currPos++;
5114
5090
  } else {
5115
5091
  s5 = peg$FAILED;
5116
5092
  if (peg$silentFails === 0) {
5117
- peg$fail(peg$e21);
5093
+ peg$fail(peg$e22);
5118
5094
  }
5119
5095
  }
5120
5096
  if (s5 !== peg$FAILED) {
5121
5097
  while (s5 !== peg$FAILED) {
5122
5098
  s4.push(s5);
5123
5099
  s5 = input.charAt(peg$currPos);
5124
- if (peg$r12.test(s5)) {
5100
+ if (peg$r14.test(s5)) {
5125
5101
  peg$currPos++;
5126
5102
  } else {
5127
5103
  s5 = peg$FAILED;
5128
5104
  if (peg$silentFails === 0) {
5129
- peg$fail(peg$e21);
5105
+ peg$fail(peg$e22);
5130
5106
  }
5131
5107
  }
5132
5108
  }
@@ -5175,66 +5151,66 @@ function peg$parse(input, options) {
5175
5151
  let s0, s1, s2, s3;
5176
5152
  s0 = peg$currPos;
5177
5153
  s1 = input.charAt(peg$currPos);
5178
- if (peg$r13.test(s1)) {
5154
+ if (peg$r15.test(s1)) {
5179
5155
  peg$currPos++;
5180
5156
  } else {
5181
5157
  s1 = peg$FAILED;
5182
5158
  if (peg$silentFails === 0) {
5183
- peg$fail(peg$e22);
5159
+ peg$fail(peg$e23);
5184
5160
  }
5185
5161
  }
5186
5162
  if (s1 !== peg$FAILED) {
5187
5163
  s2 = [];
5188
- if (input.substr(peg$currPos, 2) === peg$c9) {
5189
- s3 = peg$c9;
5164
+ if (input.substr(peg$currPos, 2) === peg$c8) {
5165
+ s3 = peg$c8;
5190
5166
  peg$currPos += 2;
5191
5167
  } else {
5192
5168
  s3 = peg$FAILED;
5193
5169
  if (peg$silentFails === 0) {
5194
- peg$fail(peg$e23);
5170
+ peg$fail(peg$e24);
5195
5171
  }
5196
5172
  }
5197
5173
  if (s3 === peg$FAILED) {
5198
5174
  s3 = input.charAt(peg$currPos);
5199
- if (peg$r14.test(s3)) {
5175
+ if (peg$r16.test(s3)) {
5200
5176
  peg$currPos++;
5201
5177
  } else {
5202
5178
  s3 = peg$FAILED;
5203
5179
  if (peg$silentFails === 0) {
5204
- peg$fail(peg$e24);
5180
+ peg$fail(peg$e25);
5205
5181
  }
5206
5182
  }
5207
5183
  }
5208
5184
  while (s3 !== peg$FAILED) {
5209
5185
  s2.push(s3);
5210
- if (input.substr(peg$currPos, 2) === peg$c9) {
5211
- s3 = peg$c9;
5186
+ if (input.substr(peg$currPos, 2) === peg$c8) {
5187
+ s3 = peg$c8;
5212
5188
  peg$currPos += 2;
5213
5189
  } else {
5214
5190
  s3 = peg$FAILED;
5215
5191
  if (peg$silentFails === 0) {
5216
- peg$fail(peg$e23);
5192
+ peg$fail(peg$e24);
5217
5193
  }
5218
5194
  }
5219
5195
  if (s3 === peg$FAILED) {
5220
5196
  s3 = input.charAt(peg$currPos);
5221
- if (peg$r14.test(s3)) {
5197
+ if (peg$r16.test(s3)) {
5222
5198
  peg$currPos++;
5223
5199
  } else {
5224
5200
  s3 = peg$FAILED;
5225
5201
  if (peg$silentFails === 0) {
5226
- peg$fail(peg$e24);
5202
+ peg$fail(peg$e25);
5227
5203
  }
5228
5204
  }
5229
5205
  }
5230
5206
  }
5231
5207
  s3 = input.charAt(peg$currPos);
5232
- if (peg$r13.test(s3)) {
5208
+ if (peg$r15.test(s3)) {
5233
5209
  peg$currPos++;
5234
5210
  } else {
5235
5211
  s3 = peg$FAILED;
5236
5212
  if (peg$silentFails === 0) {
5237
- peg$fail(peg$e22);
5213
+ peg$fail(peg$e23);
5238
5214
  }
5239
5215
  }
5240
5216
  if (s3 !== peg$FAILED) {
@@ -5256,66 +5232,66 @@ function peg$parse(input, options) {
5256
5232
  let s0, s1, s2, s3;
5257
5233
  s0 = peg$currPos;
5258
5234
  s1 = input.charAt(peg$currPos);
5259
- if (peg$r15.test(s1)) {
5235
+ if (peg$r17.test(s1)) {
5260
5236
  peg$currPos++;
5261
5237
  } else {
5262
5238
  s1 = peg$FAILED;
5263
5239
  if (peg$silentFails === 0) {
5264
- peg$fail(peg$e25);
5240
+ peg$fail(peg$e26);
5265
5241
  }
5266
5242
  }
5267
5243
  if (s1 !== peg$FAILED) {
5268
5244
  s2 = [];
5269
- if (input.substr(peg$currPos, 2) === peg$c10) {
5270
- s3 = peg$c10;
5245
+ if (input.substr(peg$currPos, 2) === peg$c9) {
5246
+ s3 = peg$c9;
5271
5247
  peg$currPos += 2;
5272
5248
  } else {
5273
5249
  s3 = peg$FAILED;
5274
5250
  if (peg$silentFails === 0) {
5275
- peg$fail(peg$e26);
5251
+ peg$fail(peg$e27);
5276
5252
  }
5277
5253
  }
5278
5254
  if (s3 === peg$FAILED) {
5279
5255
  s3 = input.charAt(peg$currPos);
5280
- if (peg$r16.test(s3)) {
5256
+ if (peg$r18.test(s3)) {
5281
5257
  peg$currPos++;
5282
5258
  } else {
5283
5259
  s3 = peg$FAILED;
5284
5260
  if (peg$silentFails === 0) {
5285
- peg$fail(peg$e27);
5261
+ peg$fail(peg$e28);
5286
5262
  }
5287
5263
  }
5288
5264
  }
5289
5265
  while (s3 !== peg$FAILED) {
5290
5266
  s2.push(s3);
5291
- if (input.substr(peg$currPos, 2) === peg$c10) {
5292
- s3 = peg$c10;
5267
+ if (input.substr(peg$currPos, 2) === peg$c9) {
5268
+ s3 = peg$c9;
5293
5269
  peg$currPos += 2;
5294
5270
  } else {
5295
5271
  s3 = peg$FAILED;
5296
5272
  if (peg$silentFails === 0) {
5297
- peg$fail(peg$e26);
5273
+ peg$fail(peg$e27);
5298
5274
  }
5299
5275
  }
5300
5276
  if (s3 === peg$FAILED) {
5301
5277
  s3 = input.charAt(peg$currPos);
5302
- if (peg$r16.test(s3)) {
5278
+ if (peg$r18.test(s3)) {
5303
5279
  peg$currPos++;
5304
5280
  } else {
5305
5281
  s3 = peg$FAILED;
5306
5282
  if (peg$silentFails === 0) {
5307
- peg$fail(peg$e27);
5283
+ peg$fail(peg$e28);
5308
5284
  }
5309
5285
  }
5310
5286
  }
5311
5287
  }
5312
5288
  s3 = input.charAt(peg$currPos);
5313
- if (peg$r15.test(s3)) {
5289
+ if (peg$r17.test(s3)) {
5314
5290
  peg$currPos++;
5315
5291
  } else {
5316
5292
  s3 = peg$FAILED;
5317
5293
  if (peg$silentFails === 0) {
5318
- peg$fail(peg$e25);
5294
+ peg$fail(peg$e26);
5319
5295
  }
5320
5296
  }
5321
5297
  if (s3 !== peg$FAILED) {
@@ -5337,66 +5313,66 @@ function peg$parse(input, options) {
5337
5313
  let s0, s1, s2, s3;
5338
5314
  s0 = peg$currPos;
5339
5315
  s1 = input.charAt(peg$currPos);
5340
- if (peg$r17.test(s1)) {
5316
+ if (peg$r19.test(s1)) {
5341
5317
  peg$currPos++;
5342
5318
  } else {
5343
5319
  s1 = peg$FAILED;
5344
5320
  if (peg$silentFails === 0) {
5345
- peg$fail(peg$e28);
5321
+ peg$fail(peg$e29);
5346
5322
  }
5347
5323
  }
5348
5324
  if (s1 !== peg$FAILED) {
5349
5325
  s2 = [];
5350
- if (input.substr(peg$currPos, 2) === peg$c11) {
5351
- s3 = peg$c11;
5326
+ if (input.substr(peg$currPos, 2) === peg$c10) {
5327
+ s3 = peg$c10;
5352
5328
  peg$currPos += 2;
5353
5329
  } else {
5354
5330
  s3 = peg$FAILED;
5355
5331
  if (peg$silentFails === 0) {
5356
- peg$fail(peg$e29);
5332
+ peg$fail(peg$e30);
5357
5333
  }
5358
5334
  }
5359
5335
  if (s3 === peg$FAILED) {
5360
5336
  s3 = input.charAt(peg$currPos);
5361
- if (peg$r18.test(s3)) {
5337
+ if (peg$r20.test(s3)) {
5362
5338
  peg$currPos++;
5363
5339
  } else {
5364
5340
  s3 = peg$FAILED;
5365
5341
  if (peg$silentFails === 0) {
5366
- peg$fail(peg$e30);
5342
+ peg$fail(peg$e31);
5367
5343
  }
5368
5344
  }
5369
5345
  }
5370
5346
  while (s3 !== peg$FAILED) {
5371
5347
  s2.push(s3);
5372
- if (input.substr(peg$currPos, 2) === peg$c11) {
5373
- s3 = peg$c11;
5348
+ if (input.substr(peg$currPos, 2) === peg$c10) {
5349
+ s3 = peg$c10;
5374
5350
  peg$currPos += 2;
5375
5351
  } else {
5376
5352
  s3 = peg$FAILED;
5377
5353
  if (peg$silentFails === 0) {
5378
- peg$fail(peg$e29);
5354
+ peg$fail(peg$e30);
5379
5355
  }
5380
5356
  }
5381
5357
  if (s3 === peg$FAILED) {
5382
5358
  s3 = input.charAt(peg$currPos);
5383
- if (peg$r18.test(s3)) {
5359
+ if (peg$r20.test(s3)) {
5384
5360
  peg$currPos++;
5385
5361
  } else {
5386
5362
  s3 = peg$FAILED;
5387
5363
  if (peg$silentFails === 0) {
5388
- peg$fail(peg$e30);
5364
+ peg$fail(peg$e31);
5389
5365
  }
5390
5366
  }
5391
5367
  }
5392
5368
  }
5393
5369
  s3 = input.charAt(peg$currPos);
5394
- if (peg$r17.test(s3)) {
5370
+ if (peg$r19.test(s3)) {
5395
5371
  peg$currPos++;
5396
5372
  } else {
5397
5373
  s3 = peg$FAILED;
5398
5374
  if (peg$silentFails === 0) {
5399
- peg$fail(peg$e28);
5375
+ peg$fail(peg$e29);
5400
5376
  }
5401
5377
  }
5402
5378
  if (s3 !== peg$FAILED) {
@@ -5434,57 +5410,57 @@ function peg$parse(input, options) {
5434
5410
  let s0, s1, s2, s3, s4, s5;
5435
5411
  s0 = peg$currPos;
5436
5412
  s1 = input.charAt(peg$currPos);
5437
- if (peg$r15.test(s1)) {
5413
+ if (peg$r17.test(s1)) {
5438
5414
  peg$currPos++;
5439
5415
  } else {
5440
5416
  s1 = peg$FAILED;
5441
5417
  if (peg$silentFails === 0) {
5442
- peg$fail(peg$e25);
5418
+ peg$fail(peg$e26);
5443
5419
  }
5444
5420
  }
5445
5421
  if (s1 !== peg$FAILED) {
5446
5422
  s2 = [];
5447
5423
  s3 = peg$currPos;
5448
5424
  s4 = [];
5449
- if (input.substr(peg$currPos, 2) === peg$c10) {
5450
- s5 = peg$c10;
5425
+ if (input.substr(peg$currPos, 2) === peg$c9) {
5426
+ s5 = peg$c9;
5451
5427
  peg$currPos += 2;
5452
5428
  } else {
5453
5429
  s5 = peg$FAILED;
5454
5430
  if (peg$silentFails === 0) {
5455
- peg$fail(peg$e26);
5431
+ peg$fail(peg$e27);
5456
5432
  }
5457
5433
  }
5458
5434
  if (s5 === peg$FAILED) {
5459
5435
  s5 = input.charAt(peg$currPos);
5460
- if (peg$r16.test(s5)) {
5436
+ if (peg$r18.test(s5)) {
5461
5437
  peg$currPos++;
5462
5438
  } else {
5463
5439
  s5 = peg$FAILED;
5464
5440
  if (peg$silentFails === 0) {
5465
- peg$fail(peg$e27);
5441
+ peg$fail(peg$e28);
5466
5442
  }
5467
5443
  }
5468
5444
  }
5469
5445
  while (s5 !== peg$FAILED) {
5470
5446
  s4.push(s5);
5471
- if (input.substr(peg$currPos, 2) === peg$c10) {
5472
- s5 = peg$c10;
5447
+ if (input.substr(peg$currPos, 2) === peg$c9) {
5448
+ s5 = peg$c9;
5473
5449
  peg$currPos += 2;
5474
5450
  } else {
5475
5451
  s5 = peg$FAILED;
5476
5452
  if (peg$silentFails === 0) {
5477
- peg$fail(peg$e26);
5453
+ peg$fail(peg$e27);
5478
5454
  }
5479
5455
  }
5480
5456
  if (s5 === peg$FAILED) {
5481
5457
  s5 = input.charAt(peg$currPos);
5482
- if (peg$r16.test(s5)) {
5458
+ if (peg$r18.test(s5)) {
5483
5459
  peg$currPos++;
5484
5460
  } else {
5485
5461
  s5 = peg$FAILED;
5486
5462
  if (peg$silentFails === 0) {
5487
- peg$fail(peg$e27);
5463
+ peg$fail(peg$e28);
5488
5464
  }
5489
5465
  }
5490
5466
  }
@@ -5510,45 +5486,45 @@ function peg$parse(input, options) {
5510
5486
  s2.push(s3);
5511
5487
  s3 = peg$currPos;
5512
5488
  s4 = [];
5513
- if (input.substr(peg$currPos, 2) === peg$c10) {
5514
- s5 = peg$c10;
5489
+ if (input.substr(peg$currPos, 2) === peg$c9) {
5490
+ s5 = peg$c9;
5515
5491
  peg$currPos += 2;
5516
5492
  } else {
5517
5493
  s5 = peg$FAILED;
5518
5494
  if (peg$silentFails === 0) {
5519
- peg$fail(peg$e26);
5495
+ peg$fail(peg$e27);
5520
5496
  }
5521
5497
  }
5522
5498
  if (s5 === peg$FAILED) {
5523
5499
  s5 = input.charAt(peg$currPos);
5524
- if (peg$r16.test(s5)) {
5500
+ if (peg$r18.test(s5)) {
5525
5501
  peg$currPos++;
5526
5502
  } else {
5527
5503
  s5 = peg$FAILED;
5528
5504
  if (peg$silentFails === 0) {
5529
- peg$fail(peg$e27);
5505
+ peg$fail(peg$e28);
5530
5506
  }
5531
5507
  }
5532
5508
  }
5533
5509
  while (s5 !== peg$FAILED) {
5534
5510
  s4.push(s5);
5535
- if (input.substr(peg$currPos, 2) === peg$c10) {
5536
- s5 = peg$c10;
5511
+ if (input.substr(peg$currPos, 2) === peg$c9) {
5512
+ s5 = peg$c9;
5537
5513
  peg$currPos += 2;
5538
5514
  } else {
5539
5515
  s5 = peg$FAILED;
5540
5516
  if (peg$silentFails === 0) {
5541
- peg$fail(peg$e26);
5517
+ peg$fail(peg$e27);
5542
5518
  }
5543
5519
  }
5544
5520
  if (s5 === peg$FAILED) {
5545
5521
  s5 = input.charAt(peg$currPos);
5546
- if (peg$r16.test(s5)) {
5522
+ if (peg$r18.test(s5)) {
5547
5523
  peg$currPos++;
5548
5524
  } else {
5549
5525
  s5 = peg$FAILED;
5550
5526
  if (peg$silentFails === 0) {
5551
- peg$fail(peg$e27);
5527
+ peg$fail(peg$e28);
5552
5528
  }
5553
5529
  }
5554
5530
  }
@@ -5575,56 +5551,56 @@ function peg$parse(input, options) {
5575
5551
  }
5576
5552
  if (s2 !== peg$FAILED) {
5577
5553
  s3 = [];
5578
- if (input.substr(peg$currPos, 2) === peg$c10) {
5579
- s4 = peg$c10;
5554
+ if (input.substr(peg$currPos, 2) === peg$c9) {
5555
+ s4 = peg$c9;
5580
5556
  peg$currPos += 2;
5581
5557
  } else {
5582
5558
  s4 = peg$FAILED;
5583
5559
  if (peg$silentFails === 0) {
5584
- peg$fail(peg$e26);
5560
+ peg$fail(peg$e27);
5585
5561
  }
5586
5562
  }
5587
5563
  if (s4 === peg$FAILED) {
5588
5564
  s4 = input.charAt(peg$currPos);
5589
- if (peg$r16.test(s4)) {
5565
+ if (peg$r18.test(s4)) {
5590
5566
  peg$currPos++;
5591
5567
  } else {
5592
5568
  s4 = peg$FAILED;
5593
5569
  if (peg$silentFails === 0) {
5594
- peg$fail(peg$e27);
5570
+ peg$fail(peg$e28);
5595
5571
  }
5596
5572
  }
5597
5573
  }
5598
5574
  while (s4 !== peg$FAILED) {
5599
5575
  s3.push(s4);
5600
- if (input.substr(peg$currPos, 2) === peg$c10) {
5601
- s4 = peg$c10;
5576
+ if (input.substr(peg$currPos, 2) === peg$c9) {
5577
+ s4 = peg$c9;
5602
5578
  peg$currPos += 2;
5603
5579
  } else {
5604
5580
  s4 = peg$FAILED;
5605
5581
  if (peg$silentFails === 0) {
5606
- peg$fail(peg$e26);
5582
+ peg$fail(peg$e27);
5607
5583
  }
5608
5584
  }
5609
5585
  if (s4 === peg$FAILED) {
5610
5586
  s4 = input.charAt(peg$currPos);
5611
- if (peg$r16.test(s4)) {
5587
+ if (peg$r18.test(s4)) {
5612
5588
  peg$currPos++;
5613
5589
  } else {
5614
5590
  s4 = peg$FAILED;
5615
5591
  if (peg$silentFails === 0) {
5616
- peg$fail(peg$e27);
5592
+ peg$fail(peg$e28);
5617
5593
  }
5618
5594
  }
5619
5595
  }
5620
5596
  }
5621
5597
  s4 = input.charAt(peg$currPos);
5622
- if (peg$r15.test(s4)) {
5598
+ if (peg$r17.test(s4)) {
5623
5599
  peg$currPos++;
5624
5600
  } else {
5625
5601
  s4 = peg$FAILED;
5626
5602
  if (peg$silentFails === 0) {
5627
- peg$fail(peg$e25);
5603
+ peg$fail(peg$e26);
5628
5604
  }
5629
5605
  }
5630
5606
  if (s4 !== peg$FAILED) {
@@ -5650,57 +5626,57 @@ function peg$parse(input, options) {
5650
5626
  let s0, s1, s2, s3, s4, s5;
5651
5627
  s0 = peg$currPos;
5652
5628
  s1 = input.charAt(peg$currPos);
5653
- if (peg$r13.test(s1)) {
5629
+ if (peg$r15.test(s1)) {
5654
5630
  peg$currPos++;
5655
5631
  } else {
5656
5632
  s1 = peg$FAILED;
5657
5633
  if (peg$silentFails === 0) {
5658
- peg$fail(peg$e22);
5634
+ peg$fail(peg$e23);
5659
5635
  }
5660
5636
  }
5661
5637
  if (s1 !== peg$FAILED) {
5662
5638
  s2 = [];
5663
5639
  s3 = peg$currPos;
5664
5640
  s4 = [];
5665
- if (input.substr(peg$currPos, 2) === peg$c9) {
5666
- s5 = peg$c9;
5641
+ if (input.substr(peg$currPos, 2) === peg$c8) {
5642
+ s5 = peg$c8;
5667
5643
  peg$currPos += 2;
5668
5644
  } else {
5669
5645
  s5 = peg$FAILED;
5670
5646
  if (peg$silentFails === 0) {
5671
- peg$fail(peg$e23);
5647
+ peg$fail(peg$e24);
5672
5648
  }
5673
5649
  }
5674
5650
  if (s5 === peg$FAILED) {
5675
5651
  s5 = input.charAt(peg$currPos);
5676
- if (peg$r14.test(s5)) {
5652
+ if (peg$r16.test(s5)) {
5677
5653
  peg$currPos++;
5678
5654
  } else {
5679
5655
  s5 = peg$FAILED;
5680
5656
  if (peg$silentFails === 0) {
5681
- peg$fail(peg$e24);
5657
+ peg$fail(peg$e25);
5682
5658
  }
5683
5659
  }
5684
5660
  }
5685
5661
  while (s5 !== peg$FAILED) {
5686
5662
  s4.push(s5);
5687
- if (input.substr(peg$currPos, 2) === peg$c9) {
5688
- s5 = peg$c9;
5663
+ if (input.substr(peg$currPos, 2) === peg$c8) {
5664
+ s5 = peg$c8;
5689
5665
  peg$currPos += 2;
5690
5666
  } else {
5691
5667
  s5 = peg$FAILED;
5692
5668
  if (peg$silentFails === 0) {
5693
- peg$fail(peg$e23);
5669
+ peg$fail(peg$e24);
5694
5670
  }
5695
5671
  }
5696
5672
  if (s5 === peg$FAILED) {
5697
5673
  s5 = input.charAt(peg$currPos);
5698
- if (peg$r14.test(s5)) {
5674
+ if (peg$r16.test(s5)) {
5699
5675
  peg$currPos++;
5700
5676
  } else {
5701
5677
  s5 = peg$FAILED;
5702
5678
  if (peg$silentFails === 0) {
5703
- peg$fail(peg$e24);
5679
+ peg$fail(peg$e25);
5704
5680
  }
5705
5681
  }
5706
5682
  }
@@ -5726,45 +5702,45 @@ function peg$parse(input, options) {
5726
5702
  s2.push(s3);
5727
5703
  s3 = peg$currPos;
5728
5704
  s4 = [];
5729
- if (input.substr(peg$currPos, 2) === peg$c9) {
5730
- s5 = peg$c9;
5705
+ if (input.substr(peg$currPos, 2) === peg$c8) {
5706
+ s5 = peg$c8;
5731
5707
  peg$currPos += 2;
5732
5708
  } else {
5733
5709
  s5 = peg$FAILED;
5734
5710
  if (peg$silentFails === 0) {
5735
- peg$fail(peg$e23);
5711
+ peg$fail(peg$e24);
5736
5712
  }
5737
5713
  }
5738
5714
  if (s5 === peg$FAILED) {
5739
5715
  s5 = input.charAt(peg$currPos);
5740
- if (peg$r14.test(s5)) {
5716
+ if (peg$r16.test(s5)) {
5741
5717
  peg$currPos++;
5742
5718
  } else {
5743
5719
  s5 = peg$FAILED;
5744
5720
  if (peg$silentFails === 0) {
5745
- peg$fail(peg$e24);
5721
+ peg$fail(peg$e25);
5746
5722
  }
5747
5723
  }
5748
5724
  }
5749
5725
  while (s5 !== peg$FAILED) {
5750
5726
  s4.push(s5);
5751
- if (input.substr(peg$currPos, 2) === peg$c9) {
5752
- s5 = peg$c9;
5727
+ if (input.substr(peg$currPos, 2) === peg$c8) {
5728
+ s5 = peg$c8;
5753
5729
  peg$currPos += 2;
5754
5730
  } else {
5755
5731
  s5 = peg$FAILED;
5756
5732
  if (peg$silentFails === 0) {
5757
- peg$fail(peg$e23);
5733
+ peg$fail(peg$e24);
5758
5734
  }
5759
5735
  }
5760
5736
  if (s5 === peg$FAILED) {
5761
5737
  s5 = input.charAt(peg$currPos);
5762
- if (peg$r14.test(s5)) {
5738
+ if (peg$r16.test(s5)) {
5763
5739
  peg$currPos++;
5764
5740
  } else {
5765
5741
  s5 = peg$FAILED;
5766
5742
  if (peg$silentFails === 0) {
5767
- peg$fail(peg$e24);
5743
+ peg$fail(peg$e25);
5768
5744
  }
5769
5745
  }
5770
5746
  }
@@ -5791,56 +5767,56 @@ function peg$parse(input, options) {
5791
5767
  }
5792
5768
  if (s2 !== peg$FAILED) {
5793
5769
  s3 = [];
5794
- if (input.substr(peg$currPos, 2) === peg$c9) {
5795
- s4 = peg$c9;
5770
+ if (input.substr(peg$currPos, 2) === peg$c8) {
5771
+ s4 = peg$c8;
5796
5772
  peg$currPos += 2;
5797
5773
  } else {
5798
5774
  s4 = peg$FAILED;
5799
5775
  if (peg$silentFails === 0) {
5800
- peg$fail(peg$e23);
5776
+ peg$fail(peg$e24);
5801
5777
  }
5802
5778
  }
5803
5779
  if (s4 === peg$FAILED) {
5804
5780
  s4 = input.charAt(peg$currPos);
5805
- if (peg$r14.test(s4)) {
5781
+ if (peg$r16.test(s4)) {
5806
5782
  peg$currPos++;
5807
5783
  } else {
5808
5784
  s4 = peg$FAILED;
5809
5785
  if (peg$silentFails === 0) {
5810
- peg$fail(peg$e24);
5786
+ peg$fail(peg$e25);
5811
5787
  }
5812
5788
  }
5813
5789
  }
5814
5790
  while (s4 !== peg$FAILED) {
5815
5791
  s3.push(s4);
5816
- if (input.substr(peg$currPos, 2) === peg$c9) {
5817
- s4 = peg$c9;
5792
+ if (input.substr(peg$currPos, 2) === peg$c8) {
5793
+ s4 = peg$c8;
5818
5794
  peg$currPos += 2;
5819
5795
  } else {
5820
5796
  s4 = peg$FAILED;
5821
5797
  if (peg$silentFails === 0) {
5822
- peg$fail(peg$e23);
5798
+ peg$fail(peg$e24);
5823
5799
  }
5824
5800
  }
5825
5801
  if (s4 === peg$FAILED) {
5826
5802
  s4 = input.charAt(peg$currPos);
5827
- if (peg$r14.test(s4)) {
5803
+ if (peg$r16.test(s4)) {
5828
5804
  peg$currPos++;
5829
5805
  } else {
5830
5806
  s4 = peg$FAILED;
5831
5807
  if (peg$silentFails === 0) {
5832
- peg$fail(peg$e24);
5808
+ peg$fail(peg$e25);
5833
5809
  }
5834
5810
  }
5835
5811
  }
5836
5812
  }
5837
5813
  s4 = input.charAt(peg$currPos);
5838
- if (peg$r13.test(s4)) {
5814
+ if (peg$r15.test(s4)) {
5839
5815
  peg$currPos++;
5840
5816
  } else {
5841
5817
  s4 = peg$FAILED;
5842
5818
  if (peg$silentFails === 0) {
5843
- peg$fail(peg$e22);
5819
+ peg$fail(peg$e23);
5844
5820
  }
5845
5821
  }
5846
5822
  if (s4 !== peg$FAILED) {
@@ -5865,39 +5841,39 @@ function peg$parse(input, options) {
5865
5841
  function peg$parsetripleDQuotedMultiLineString() {
5866
5842
  let s0, s1, s2, s3, s4, s5, s6, s7;
5867
5843
  s0 = peg$currPos;
5868
- if (input.substr(peg$currPos, 3) === peg$c12) {
5869
- s1 = peg$c12;
5844
+ if (input.substr(peg$currPos, 3) === peg$c11) {
5845
+ s1 = peg$c11;
5870
5846
  peg$currPos += 3;
5871
5847
  } else {
5872
5848
  s1 = peg$FAILED;
5873
5849
  if (peg$silentFails === 0) {
5874
- peg$fail(peg$e31);
5850
+ peg$fail(peg$e32);
5875
5851
  }
5876
5852
  }
5877
5853
  if (s1 !== peg$FAILED) {
5878
5854
  s2 = [];
5879
5855
  s3 = peg$currPos;
5880
5856
  s4 = [];
5881
- if (input.substr(peg$currPos, 4) === peg$c13) {
5882
- s5 = peg$c13;
5857
+ if (input.substr(peg$currPos, 4) === peg$c12) {
5858
+ s5 = peg$c12;
5883
5859
  peg$currPos += 4;
5884
5860
  } else {
5885
5861
  s5 = peg$FAILED;
5886
5862
  if (peg$silentFails === 0) {
5887
- peg$fail(peg$e32);
5863
+ peg$fail(peg$e33);
5888
5864
  }
5889
5865
  }
5890
5866
  if (s5 === peg$FAILED) {
5891
5867
  s5 = peg$currPos;
5892
5868
  s6 = peg$currPos;
5893
5869
  peg$silentFails++;
5894
- if (input.substr(peg$currPos, 3) === peg$c12) {
5895
- s7 = peg$c12;
5870
+ if (input.substr(peg$currPos, 3) === peg$c11) {
5871
+ s7 = peg$c11;
5896
5872
  peg$currPos += 3;
5897
5873
  } else {
5898
5874
  s7 = peg$FAILED;
5899
5875
  if (peg$silentFails === 0) {
5900
- peg$fail(peg$e31);
5876
+ peg$fail(peg$e32);
5901
5877
  }
5902
5878
  }
5903
5879
  peg$silentFails--;
@@ -5931,26 +5907,26 @@ function peg$parse(input, options) {
5931
5907
  }
5932
5908
  while (s5 !== peg$FAILED) {
5933
5909
  s4.push(s5);
5934
- if (input.substr(peg$currPos, 4) === peg$c13) {
5935
- s5 = peg$c13;
5910
+ if (input.substr(peg$currPos, 4) === peg$c12) {
5911
+ s5 = peg$c12;
5936
5912
  peg$currPos += 4;
5937
5913
  } else {
5938
5914
  s5 = peg$FAILED;
5939
5915
  if (peg$silentFails === 0) {
5940
- peg$fail(peg$e32);
5916
+ peg$fail(peg$e33);
5941
5917
  }
5942
5918
  }
5943
5919
  if (s5 === peg$FAILED) {
5944
5920
  s5 = peg$currPos;
5945
5921
  s6 = peg$currPos;
5946
5922
  peg$silentFails++;
5947
- if (input.substr(peg$currPos, 3) === peg$c12) {
5948
- s7 = peg$c12;
5923
+ if (input.substr(peg$currPos, 3) === peg$c11) {
5924
+ s7 = peg$c11;
5949
5925
  peg$currPos += 3;
5950
5926
  } else {
5951
5927
  s7 = peg$FAILED;
5952
5928
  if (peg$silentFails === 0) {
5953
- peg$fail(peg$e31);
5929
+ peg$fail(peg$e32);
5954
5930
  }
5955
5931
  }
5956
5932
  peg$silentFails--;
@@ -6004,26 +5980,26 @@ function peg$parse(input, options) {
6004
5980
  s2.push(s3);
6005
5981
  s3 = peg$currPos;
6006
5982
  s4 = [];
6007
- if (input.substr(peg$currPos, 4) === peg$c13) {
6008
- s5 = peg$c13;
5983
+ if (input.substr(peg$currPos, 4) === peg$c12) {
5984
+ s5 = peg$c12;
6009
5985
  peg$currPos += 4;
6010
5986
  } else {
6011
5987
  s5 = peg$FAILED;
6012
5988
  if (peg$silentFails === 0) {
6013
- peg$fail(peg$e32);
5989
+ peg$fail(peg$e33);
6014
5990
  }
6015
5991
  }
6016
5992
  if (s5 === peg$FAILED) {
6017
5993
  s5 = peg$currPos;
6018
5994
  s6 = peg$currPos;
6019
5995
  peg$silentFails++;
6020
- if (input.substr(peg$currPos, 3) === peg$c12) {
6021
- s7 = peg$c12;
5996
+ if (input.substr(peg$currPos, 3) === peg$c11) {
5997
+ s7 = peg$c11;
6022
5998
  peg$currPos += 3;
6023
5999
  } else {
6024
6000
  s7 = peg$FAILED;
6025
6001
  if (peg$silentFails === 0) {
6026
- peg$fail(peg$e31);
6002
+ peg$fail(peg$e32);
6027
6003
  }
6028
6004
  }
6029
6005
  peg$silentFails--;
@@ -6057,26 +6033,26 @@ function peg$parse(input, options) {
6057
6033
  }
6058
6034
  while (s5 !== peg$FAILED) {
6059
6035
  s4.push(s5);
6060
- if (input.substr(peg$currPos, 4) === peg$c13) {
6061
- s5 = peg$c13;
6036
+ if (input.substr(peg$currPos, 4) === peg$c12) {
6037
+ s5 = peg$c12;
6062
6038
  peg$currPos += 4;
6063
6039
  } else {
6064
6040
  s5 = peg$FAILED;
6065
6041
  if (peg$silentFails === 0) {
6066
- peg$fail(peg$e32);
6042
+ peg$fail(peg$e33);
6067
6043
  }
6068
6044
  }
6069
6045
  if (s5 === peg$FAILED) {
6070
6046
  s5 = peg$currPos;
6071
6047
  s6 = peg$currPos;
6072
6048
  peg$silentFails++;
6073
- if (input.substr(peg$currPos, 3) === peg$c12) {
6074
- s7 = peg$c12;
6049
+ if (input.substr(peg$currPos, 3) === peg$c11) {
6050
+ s7 = peg$c11;
6075
6051
  peg$currPos += 3;
6076
6052
  } else {
6077
6053
  s7 = peg$FAILED;
6078
6054
  if (peg$silentFails === 0) {
6079
- peg$fail(peg$e31);
6055
+ peg$fail(peg$e32);
6080
6056
  }
6081
6057
  }
6082
6058
  peg$silentFails--;
@@ -6131,26 +6107,26 @@ function peg$parse(input, options) {
6131
6107
  }
6132
6108
  if (s2 !== peg$FAILED) {
6133
6109
  s3 = [];
6134
- if (input.substr(peg$currPos, 4) === peg$c13) {
6135
- s4 = peg$c13;
6110
+ if (input.substr(peg$currPos, 4) === peg$c12) {
6111
+ s4 = peg$c12;
6136
6112
  peg$currPos += 4;
6137
6113
  } else {
6138
6114
  s4 = peg$FAILED;
6139
6115
  if (peg$silentFails === 0) {
6140
- peg$fail(peg$e32);
6116
+ peg$fail(peg$e33);
6141
6117
  }
6142
6118
  }
6143
6119
  if (s4 === peg$FAILED) {
6144
6120
  s4 = peg$currPos;
6145
6121
  s5 = peg$currPos;
6146
6122
  peg$silentFails++;
6147
- if (input.substr(peg$currPos, 3) === peg$c12) {
6148
- s6 = peg$c12;
6123
+ if (input.substr(peg$currPos, 3) === peg$c11) {
6124
+ s6 = peg$c11;
6149
6125
  peg$currPos += 3;
6150
6126
  } else {
6151
6127
  s6 = peg$FAILED;
6152
6128
  if (peg$silentFails === 0) {
6153
- peg$fail(peg$e31);
6129
+ peg$fail(peg$e32);
6154
6130
  }
6155
6131
  }
6156
6132
  peg$silentFails--;
@@ -6184,26 +6160,26 @@ function peg$parse(input, options) {
6184
6160
  }
6185
6161
  while (s4 !== peg$FAILED) {
6186
6162
  s3.push(s4);
6187
- if (input.substr(peg$currPos, 4) === peg$c13) {
6188
- s4 = peg$c13;
6163
+ if (input.substr(peg$currPos, 4) === peg$c12) {
6164
+ s4 = peg$c12;
6189
6165
  peg$currPos += 4;
6190
6166
  } else {
6191
6167
  s4 = peg$FAILED;
6192
6168
  if (peg$silentFails === 0) {
6193
- peg$fail(peg$e32);
6169
+ peg$fail(peg$e33);
6194
6170
  }
6195
6171
  }
6196
6172
  if (s4 === peg$FAILED) {
6197
6173
  s4 = peg$currPos;
6198
6174
  s5 = peg$currPos;
6199
6175
  peg$silentFails++;
6200
- if (input.substr(peg$currPos, 3) === peg$c12) {
6201
- s6 = peg$c12;
6176
+ if (input.substr(peg$currPos, 3) === peg$c11) {
6177
+ s6 = peg$c11;
6202
6178
  peg$currPos += 3;
6203
6179
  } else {
6204
6180
  s6 = peg$FAILED;
6205
6181
  if (peg$silentFails === 0) {
6206
- peg$fail(peg$e31);
6182
+ peg$fail(peg$e32);
6207
6183
  }
6208
6184
  }
6209
6185
  peg$silentFails--;
@@ -6236,13 +6212,13 @@ function peg$parse(input, options) {
6236
6212
  }
6237
6213
  }
6238
6214
  }
6239
- if (input.substr(peg$currPos, 3) === peg$c12) {
6240
- s4 = peg$c12;
6215
+ if (input.substr(peg$currPos, 3) === peg$c11) {
6216
+ s4 = peg$c11;
6241
6217
  peg$currPos += 3;
6242
6218
  } else {
6243
6219
  s4 = peg$FAILED;
6244
6220
  if (peg$silentFails === 0) {
6245
- peg$fail(peg$e31);
6221
+ peg$fail(peg$e32);
6246
6222
  }
6247
6223
  }
6248
6224
  if (s4 !== peg$FAILED) {
@@ -6267,39 +6243,39 @@ function peg$parse(input, options) {
6267
6243
  function peg$parsetripleBQuotedMultiLineString() {
6268
6244
  let s0, s1, s2, s3, s4, s5, s6, s7;
6269
6245
  s0 = peg$currPos;
6270
- if (input.substr(peg$currPos, 3) === peg$c14) {
6271
- s1 = peg$c14;
6246
+ if (input.substr(peg$currPos, 3) === peg$c13) {
6247
+ s1 = peg$c13;
6272
6248
  peg$currPos += 3;
6273
6249
  } else {
6274
6250
  s1 = peg$FAILED;
6275
6251
  if (peg$silentFails === 0) {
6276
- peg$fail(peg$e33);
6252
+ peg$fail(peg$e34);
6277
6253
  }
6278
6254
  }
6279
6255
  if (s1 !== peg$FAILED) {
6280
6256
  s2 = [];
6281
6257
  s3 = peg$currPos;
6282
6258
  s4 = [];
6283
- if (input.substr(peg$currPos, 4) === peg$c15) {
6284
- s5 = peg$c15;
6259
+ if (input.substr(peg$currPos, 4) === peg$c14) {
6260
+ s5 = peg$c14;
6285
6261
  peg$currPos += 4;
6286
6262
  } else {
6287
6263
  s5 = peg$FAILED;
6288
6264
  if (peg$silentFails === 0) {
6289
- peg$fail(peg$e34);
6265
+ peg$fail(peg$e35);
6290
6266
  }
6291
6267
  }
6292
6268
  if (s5 === peg$FAILED) {
6293
6269
  s5 = peg$currPos;
6294
6270
  s6 = peg$currPos;
6295
6271
  peg$silentFails++;
6296
- if (input.substr(peg$currPos, 3) === peg$c14) {
6297
- s7 = peg$c14;
6272
+ if (input.substr(peg$currPos, 3) === peg$c13) {
6273
+ s7 = peg$c13;
6298
6274
  peg$currPos += 3;
6299
6275
  } else {
6300
6276
  s7 = peg$FAILED;
6301
6277
  if (peg$silentFails === 0) {
6302
- peg$fail(peg$e33);
6278
+ peg$fail(peg$e34);
6303
6279
  }
6304
6280
  }
6305
6281
  peg$silentFails--;
@@ -6333,26 +6309,26 @@ function peg$parse(input, options) {
6333
6309
  }
6334
6310
  while (s5 !== peg$FAILED) {
6335
6311
  s4.push(s5);
6336
- if (input.substr(peg$currPos, 4) === peg$c15) {
6337
- s5 = peg$c15;
6312
+ if (input.substr(peg$currPos, 4) === peg$c14) {
6313
+ s5 = peg$c14;
6338
6314
  peg$currPos += 4;
6339
6315
  } else {
6340
6316
  s5 = peg$FAILED;
6341
6317
  if (peg$silentFails === 0) {
6342
- peg$fail(peg$e34);
6318
+ peg$fail(peg$e35);
6343
6319
  }
6344
6320
  }
6345
6321
  if (s5 === peg$FAILED) {
6346
6322
  s5 = peg$currPos;
6347
6323
  s6 = peg$currPos;
6348
6324
  peg$silentFails++;
6349
- if (input.substr(peg$currPos, 3) === peg$c14) {
6350
- s7 = peg$c14;
6325
+ if (input.substr(peg$currPos, 3) === peg$c13) {
6326
+ s7 = peg$c13;
6351
6327
  peg$currPos += 3;
6352
6328
  } else {
6353
6329
  s7 = peg$FAILED;
6354
6330
  if (peg$silentFails === 0) {
6355
- peg$fail(peg$e33);
6331
+ peg$fail(peg$e34);
6356
6332
  }
6357
6333
  }
6358
6334
  peg$silentFails--;
@@ -6406,26 +6382,26 @@ function peg$parse(input, options) {
6406
6382
  s2.push(s3);
6407
6383
  s3 = peg$currPos;
6408
6384
  s4 = [];
6409
- if (input.substr(peg$currPos, 4) === peg$c15) {
6410
- s5 = peg$c15;
6385
+ if (input.substr(peg$currPos, 4) === peg$c14) {
6386
+ s5 = peg$c14;
6411
6387
  peg$currPos += 4;
6412
6388
  } else {
6413
6389
  s5 = peg$FAILED;
6414
6390
  if (peg$silentFails === 0) {
6415
- peg$fail(peg$e34);
6391
+ peg$fail(peg$e35);
6416
6392
  }
6417
6393
  }
6418
6394
  if (s5 === peg$FAILED) {
6419
6395
  s5 = peg$currPos;
6420
6396
  s6 = peg$currPos;
6421
6397
  peg$silentFails++;
6422
- if (input.substr(peg$currPos, 3) === peg$c14) {
6423
- s7 = peg$c14;
6398
+ if (input.substr(peg$currPos, 3) === peg$c13) {
6399
+ s7 = peg$c13;
6424
6400
  peg$currPos += 3;
6425
6401
  } else {
6426
6402
  s7 = peg$FAILED;
6427
6403
  if (peg$silentFails === 0) {
6428
- peg$fail(peg$e33);
6404
+ peg$fail(peg$e34);
6429
6405
  }
6430
6406
  }
6431
6407
  peg$silentFails--;
@@ -6459,26 +6435,26 @@ function peg$parse(input, options) {
6459
6435
  }
6460
6436
  while (s5 !== peg$FAILED) {
6461
6437
  s4.push(s5);
6462
- if (input.substr(peg$currPos, 4) === peg$c15) {
6463
- s5 = peg$c15;
6438
+ if (input.substr(peg$currPos, 4) === peg$c14) {
6439
+ s5 = peg$c14;
6464
6440
  peg$currPos += 4;
6465
6441
  } else {
6466
6442
  s5 = peg$FAILED;
6467
6443
  if (peg$silentFails === 0) {
6468
- peg$fail(peg$e34);
6444
+ peg$fail(peg$e35);
6469
6445
  }
6470
6446
  }
6471
6447
  if (s5 === peg$FAILED) {
6472
6448
  s5 = peg$currPos;
6473
6449
  s6 = peg$currPos;
6474
6450
  peg$silentFails++;
6475
- if (input.substr(peg$currPos, 3) === peg$c14) {
6476
- s7 = peg$c14;
6451
+ if (input.substr(peg$currPos, 3) === peg$c13) {
6452
+ s7 = peg$c13;
6477
6453
  peg$currPos += 3;
6478
6454
  } else {
6479
6455
  s7 = peg$FAILED;
6480
6456
  if (peg$silentFails === 0) {
6481
- peg$fail(peg$e33);
6457
+ peg$fail(peg$e34);
6482
6458
  }
6483
6459
  }
6484
6460
  peg$silentFails--;
@@ -6533,26 +6509,26 @@ function peg$parse(input, options) {
6533
6509
  }
6534
6510
  if (s2 !== peg$FAILED) {
6535
6511
  s3 = [];
6536
- if (input.substr(peg$currPos, 4) === peg$c15) {
6537
- s4 = peg$c15;
6512
+ if (input.substr(peg$currPos, 4) === peg$c14) {
6513
+ s4 = peg$c14;
6538
6514
  peg$currPos += 4;
6539
6515
  } else {
6540
6516
  s4 = peg$FAILED;
6541
6517
  if (peg$silentFails === 0) {
6542
- peg$fail(peg$e34);
6518
+ peg$fail(peg$e35);
6543
6519
  }
6544
6520
  }
6545
6521
  if (s4 === peg$FAILED) {
6546
6522
  s4 = peg$currPos;
6547
6523
  s5 = peg$currPos;
6548
6524
  peg$silentFails++;
6549
- if (input.substr(peg$currPos, 3) === peg$c14) {
6550
- s6 = peg$c14;
6525
+ if (input.substr(peg$currPos, 3) === peg$c13) {
6526
+ s6 = peg$c13;
6551
6527
  peg$currPos += 3;
6552
6528
  } else {
6553
6529
  s6 = peg$FAILED;
6554
6530
  if (peg$silentFails === 0) {
6555
- peg$fail(peg$e33);
6531
+ peg$fail(peg$e34);
6556
6532
  }
6557
6533
  }
6558
6534
  peg$silentFails--;
@@ -6586,26 +6562,26 @@ function peg$parse(input, options) {
6586
6562
  }
6587
6563
  while (s4 !== peg$FAILED) {
6588
6564
  s3.push(s4);
6589
- if (input.substr(peg$currPos, 4) === peg$c15) {
6590
- s4 = peg$c15;
6565
+ if (input.substr(peg$currPos, 4) === peg$c14) {
6566
+ s4 = peg$c14;
6591
6567
  peg$currPos += 4;
6592
6568
  } else {
6593
6569
  s4 = peg$FAILED;
6594
6570
  if (peg$silentFails === 0) {
6595
- peg$fail(peg$e34);
6571
+ peg$fail(peg$e35);
6596
6572
  }
6597
6573
  }
6598
6574
  if (s4 === peg$FAILED) {
6599
6575
  s4 = peg$currPos;
6600
6576
  s5 = peg$currPos;
6601
6577
  peg$silentFails++;
6602
- if (input.substr(peg$currPos, 3) === peg$c14) {
6603
- s6 = peg$c14;
6578
+ if (input.substr(peg$currPos, 3) === peg$c13) {
6579
+ s6 = peg$c13;
6604
6580
  peg$currPos += 3;
6605
6581
  } else {
6606
6582
  s6 = peg$FAILED;
6607
6583
  if (peg$silentFails === 0) {
6608
- peg$fail(peg$e33);
6584
+ peg$fail(peg$e34);
6609
6585
  }
6610
6586
  }
6611
6587
  peg$silentFails--;
@@ -6638,13 +6614,13 @@ function peg$parse(input, options) {
6638
6614
  }
6639
6615
  }
6640
6616
  }
6641
- if (input.substr(peg$currPos, 3) === peg$c14) {
6642
- s4 = peg$c14;
6617
+ if (input.substr(peg$currPos, 3) === peg$c13) {
6618
+ s4 = peg$c13;
6643
6619
  peg$currPos += 3;
6644
6620
  } else {
6645
6621
  s4 = peg$FAILED;
6646
6622
  if (peg$silentFails === 0) {
6647
- peg$fail(peg$e33);
6623
+ peg$fail(peg$e34);
6648
6624
  }
6649
6625
  }
6650
6626
  if (s4 !== peg$FAILED) {
@@ -6686,7 +6662,7 @@ function peg$parse(input, options) {
6686
6662
  } else {
6687
6663
  s1 = peg$FAILED;
6688
6664
  if (peg$silentFails === 0) {
6689
- peg$fail(peg$e35);
6665
+ peg$fail(peg$e36);
6690
6666
  }
6691
6667
  }
6692
6668
  peg$silentFails--;
@@ -6705,7 +6681,7 @@ function peg$parse(input, options) {
6705
6681
  let s0, s1;
6706
6682
  s0 = [];
6707
6683
  s1 = input.charAt(peg$currPos);
6708
- if (peg$r7.test(s1)) {
6684
+ if (peg$r8.test(s1)) {
6709
6685
  peg$currPos++;
6710
6686
  } else {
6711
6687
  s1 = peg$FAILED;
@@ -6716,7 +6692,7 @@ function peg$parse(input, options) {
6716
6692
  while (s1 !== peg$FAILED) {
6717
6693
  s0.push(s1);
6718
6694
  s1 = input.charAt(peg$currPos);
6719
- if (peg$r7.test(s1)) {
6695
+ if (peg$r8.test(s1)) {
6720
6696
  peg$currPos++;
6721
6697
  } else {
6722
6698
  s1 = peg$FAILED;
@@ -6733,7 +6709,7 @@ function peg$parse(input, options) {
6733
6709
  let s0, s1;
6734
6710
  s0 = [];
6735
6711
  s1 = input.charAt(peg$currPos);
6736
- if (peg$r7.test(s1)) {
6712
+ if (peg$r8.test(s1)) {
6737
6713
  peg$currPos++;
6738
6714
  } else {
6739
6715
  s1 = peg$FAILED;
@@ -6745,7 +6721,7 @@ function peg$parse(input, options) {
6745
6721
  while (s1 !== peg$FAILED) {
6746
6722
  s0.push(s1);
6747
6723
  s1 = input.charAt(peg$currPos);
6748
- if (peg$r7.test(s1)) {
6724
+ if (peg$r8.test(s1)) {
6749
6725
  peg$currPos++;
6750
6726
  } else {
6751
6727
  s1 = peg$FAILED;
@@ -7864,7 +7840,7 @@ var EnvGraph = class {
7864
7840
  registerResolver(resolverClass) {
7865
7841
  const fnName = resolverClass.fnName;
7866
7842
  if (fnName in this.registeredResolverFunctions) {
7867
- throw new Error(`Resolver ${fnName} already registered`);
7843
+ throw new SchemaError(`Resolver ${fnName} already registered`);
7868
7844
  }
7869
7845
  this.registeredResolverFunctions[fnName] = resolverClass;
7870
7846
  }
@@ -7872,7 +7848,7 @@ var EnvGraph = class {
7872
7848
  registerDataType(factory) {
7873
7849
  const name = factory.dataTypeName;
7874
7850
  if (name in this.dataTypesRegistry) {
7875
- throw new Error(`Data type "${name}" already registered`);
7851
+ throw new SchemaError(`Data type "${name}" already registered`);
7876
7852
  }
7877
7853
  this.dataTypesRegistry[factory.dataTypeName] = factory;
7878
7854
  }
@@ -7880,7 +7856,7 @@ var EnvGraph = class {
7880
7856
  registerItemDecorator(decoratorDef) {
7881
7857
  const name = decoratorDef.name;
7882
7858
  if (name in this.itemDecoratorsRegistry) {
7883
- throw new Error(`Item decorator "${name}" already registered`);
7859
+ throw new SchemaError(`Item decorator "${name}" already registered`);
7884
7860
  }
7885
7861
  this.itemDecoratorsRegistry[decoratorDef.name] = decoratorDef;
7886
7862
  }
@@ -7888,7 +7864,7 @@ var EnvGraph = class {
7888
7864
  registerRootDecorator(decoratorDef) {
7889
7865
  const name = decoratorDef.name;
7890
7866
  if (name in this.itemDecoratorsRegistry) {
7891
- throw new Error(`Root decorator "${name}" already registered`);
7867
+ throw new SchemaError(`Root decorator "${name}" already registered`);
7892
7868
  }
7893
7869
  this.rootDecoratorsRegistry[decoratorDef.name] = decoratorDef;
7894
7870
  }
@@ -7976,12 +7952,12 @@ var EnvGraph = class {
7976
7952
  for (const key in this.configSchema) {
7977
7953
  if (isBuiltinVar(key)) this.registerBuiltinVar(key);
7978
7954
  }
7979
- let processingError = false;
7955
+ let hasErrors = false;
7980
7956
  for (const source of this.sortedDataSources) {
7981
7957
  if (source.disabled) continue;
7982
7958
  for (const decInstance of source.rootDecorators) {
7983
7959
  await decInstance.process();
7984
- if (decInstance.schemaErrors.some((e) => !e.isWarning)) processingError = true;
7960
+ if (decInstance.schemaErrors.some((e) => !e.isWarning)) hasErrors = true;
7985
7961
  }
7986
7962
  }
7987
7963
  for (const plugin of this.plugins) {
@@ -7990,9 +7966,9 @@ var EnvGraph = class {
7990
7966
  for (const itemKey in this.configSchema) {
7991
7967
  const item = this.configSchema[itemKey];
7992
7968
  await item.process();
7993
- if (item.errors.some((e) => !e.isWarning)) processingError = true;
7969
+ if (item.errors.some((e) => !e.isWarning)) hasErrors = true;
7994
7970
  }
7995
- if (processingError) return;
7971
+ if (hasErrors) return;
7996
7972
  const cycles = findGraphCycles(this.graphAdjacencyList);
7997
7973
  for (const cycleItemKeys of cycles) {
7998
7974
  for (const itemKey of cycleItemKeys) {
@@ -8007,19 +7983,20 @@ var EnvGraph = class {
8007
7983
  for (const source of this.sortedDataSources) {
8008
7984
  if (source.disabled) continue;
8009
7985
  for (const decInstance of source.rootDecorators) {
8010
- if (!decInstance.decValueResolver) throw new Error("expected decorator value resolver");
7986
+ if (!decInstance.decValueResolver) continue;
8011
7987
  await this.resolveEnvValues(decInstance.decValueResolver.deps);
8012
7988
  try {
8013
7989
  await decInstance.execute();
8014
7990
  } catch (err) {
8015
7991
  const errLocation = err.more?.location || getErrorLocation(source, decInstance.parsedDecorator);
8016
- decInstance._executionError = new SchemaError(
7992
+ decInstance._errors.push(new ResolutionError(
8017
7993
  err,
8018
7994
  {
7995
+ severity: "fatal",
8019
7996
  location: errLocation,
8020
7997
  ...err.tip && { tip: err.tip }
8021
7998
  }
8022
- );
7999
+ ));
8023
8000
  }
8024
8001
  }
8025
8002
  }
@@ -8131,13 +8108,7 @@ var EnvGraph = class {
8131
8108
  const errors = {};
8132
8109
  const rootErrors = [];
8133
8110
  for (const source of this.sortedDataSources) {
8134
- if (source.loadingError) {
8135
- rootErrors.push(`${source.label}: ${source.loadingError.message}`);
8136
- }
8137
- for (const err of source.schemaErrors) {
8138
- rootErrors.push(`${source.label}: ${err.message}`);
8139
- }
8140
- for (const err of source.resolutionErrors) {
8111
+ for (const err of source.errors.filter((e) => !e.isWarning)) {
8141
8112
  rootErrors.push(`${source.label}: ${err.message}`);
8142
8113
  }
8143
8114
  }
@@ -8737,7 +8708,10 @@ __name(loadPluginModuleCJS, "loadPluginModuleCJS");
8737
8708
  async function loadPluginModuleESM(filePath) {
8738
8709
  {
8739
8710
  const fileUrl = pathToFileURL(filePath).href;
8740
- await import(`${fileUrl}?t=${Date.now()}`);
8711
+ await import(
8712
+ /* webpackIgnore: true */
8713
+ `${fileUrl}?t=${Date.now()}`
8714
+ );
8741
8715
  }
8742
8716
  }
8743
8717
  __name(loadPluginModuleESM, "loadPluginModuleESM");
@@ -8908,7 +8882,7 @@ var VarlockPlugin = class {
8908
8882
  loadPluginModuleCJS(this.pluginFilePath);
8909
8883
  }
8910
8884
  } catch (err) {
8911
- this.loadingError = err;
8885
+ this.loadingError = err instanceof VarlockError ? err : new LoadingError(err);
8912
8886
  } finally {
8913
8887
  if (hadGlobalPlugin) {
8914
8888
  Object.defineProperty(globalThis, "plugin", {
@@ -8969,12 +8943,12 @@ async function registerPluginInGraph(graph, plugin, pluginDecorator) {
8969
8943
  if (possibleMatchingPlugin.version === plugin.version) {
8970
8944
  const installedInSources = possibleMatchingPlugin.installDecoratorInstances.map((dec) => dec.dataSource);
8971
8945
  if (installedInSources.includes(pluginDecorator.dataSource)) {
8972
- pluginDecorator._schemaErrors.push(new SchemaError(`Plugin ${plugin.name} already installed in this data source`));
8946
+ pluginDecorator._errors.push(new SchemaError(`Plugin ${plugin.name} already installed in this data source`));
8973
8947
  return;
8974
8948
  }
8975
8949
  existingPlugin = possibleMatchingPlugin;
8976
8950
  } else {
8977
- pluginDecorator._schemaErrors.push(new SchemaError(`Plugin ${plugin.name} version conflict: tried to install version ${plugin.version} but version ${possibleMatchingPlugin.version} is already installed`));
8951
+ pluginDecorator._errors.push(new SchemaError(`Plugin ${plugin.name} version conflict: tried to install version ${plugin.version} but version ${possibleMatchingPlugin.version} is already installed`));
8978
8952
  return;
8979
8953
  }
8980
8954
  }
@@ -9097,7 +9071,7 @@ async function processPluginInstallDecorators(dataSource) {
9097
9071
  const installPluginDecorators = dataSource.getRootDecFns("plugin");
9098
9072
  if (installPluginDecorators.length) {
9099
9073
  if (!(dataSource instanceof FileBasedDataSource)) {
9100
- dataSource._loadingError = new Error("@plugin can only be used from a file-based data source");
9074
+ dataSource._errors.push(new SchemaError("@plugin can only be used from a file-based data source"));
9101
9075
  return;
9102
9076
  }
9103
9077
  const dataSourceDir = path3.dirname(dataSource.fullPath);
@@ -9220,7 +9194,7 @@ ${ansis_default.yellow("\u26A0")} Third-party plugin download requested
9220
9194
  const plugin = await initPluginFromLocalPath(pluginSrcPath);
9221
9195
  await registerPluginInGraph(graph, plugin, pluginDecorator);
9222
9196
  } catch (err) {
9223
- pluginDecorator._schemaErrors.push(err);
9197
+ pluginDecorator._errors.push(err instanceof SchemaError ? err : new SchemaError(err));
9224
9198
  continue;
9225
9199
  }
9226
9200
  }
@@ -9383,7 +9357,7 @@ var EnvGraphDataSource2 = class {
9383
9357
  }
9384
9358
  const disabledVal = await disabledDec.resolve();
9385
9359
  if (!my_dash_default.isBoolean(disabledVal)) {
9386
- this._loadingError = new Error("expected @disable to be boolean value");
9360
+ this._errors.push(new LoadingError("expected @disable to be boolean value"));
9387
9361
  return;
9388
9362
  }
9389
9363
  this._disabled = disabledVal;
@@ -9399,7 +9373,7 @@ var EnvGraphDataSource2 = class {
9399
9373
  if (existingItem?.isResolved && itemDef.parsedValue !== void 0) {
9400
9374
  const isMatchingStatic = itemDef.parsedValue instanceof ParsedEnvSpecStaticValue && itemDef.parsedValue.unescapedValue === existingItem.resolvedValue;
9401
9375
  if (!isMatchingStatic) {
9402
- this._schemaErrors.push(new SchemaError(
9376
+ this._errors.push(new SchemaError(
9403
9377
  `"${itemKey}" was already resolved during early initialization (used by @currentEnv, @import, or @disable) and cannot be redefined by ${this.label}`
9404
9378
  ));
9405
9379
  continue;
@@ -9410,7 +9384,7 @@ var EnvGraphDataSource2 = class {
9410
9384
  const currentEnvDec = this.getRootDec("currentEnv");
9411
9385
  const envFlagDec = this.getRootDec("envFlag");
9412
9386
  if (currentEnvDec && envFlagDec) {
9413
- this._loadingError = new Error("Cannot use both @currentEnv and @envFlag decorators");
9387
+ this._errors.push(new LoadingError("Cannot use both @currentEnv and @envFlag decorators"));
9414
9388
  }
9415
9389
  let envFlagItemKey;
9416
9390
  let skipCurrentEnvProcessing = false;
@@ -9444,7 +9418,7 @@ var EnvGraphDataSource2 = class {
9444
9418
  }
9445
9419
  if (envFlagItemKey) {
9446
9420
  if (!this.configItemDefs[envFlagItemKey] && !isBuiltinVar(envFlagItemKey)) {
9447
- this._loadingError = new Error(`environment flag "${envFlagItemKey}" must be defined within this schema`);
9421
+ this._errors.push(new LoadingError(`environment flag "${envFlagItemKey}" must be defined within this schema`));
9448
9422
  return;
9449
9423
  }
9450
9424
  if (isBuiltinVar(envFlagItemKey)) {
@@ -9528,7 +9502,7 @@ var EnvGraphDataSource2 = class {
9528
9502
  const dirExists = Object.keys(this.graph.virtualImports).some((p) => p.startsWith(fullImportPath));
9529
9503
  if (!dirExists && allowMissing) continue;
9530
9504
  if (!dirExists) {
9531
- this._loadingError = new Error(`Virtual directory import ${fullImportPath} not found`);
9505
+ this._errors.push(new LoadingError(`Virtual directory import ${fullImportPath} not found`));
9532
9506
  return;
9533
9507
  }
9534
9508
  const dirChild = new DirectoryDataSource(fullImportPath);
@@ -9542,7 +9516,7 @@ var EnvGraphDataSource2 = class {
9542
9516
  const fileExists = this.graph.virtualImports[fullImportPath];
9543
9517
  if (!fileExists && allowMissing) continue;
9544
9518
  if (!fileExists) {
9545
- this._loadingError = new Error(`Virtual import ${fullImportPath} not found`);
9519
+ this._errors.push(new LoadingError(`Virtual import ${fullImportPath} not found`));
9546
9520
  return;
9547
9521
  }
9548
9522
  const fileChild = new DotEnvFileDataSource(fullImportPath, {
@@ -9556,7 +9530,7 @@ var EnvGraphDataSource2 = class {
9556
9530
  });
9557
9531
  if (!fsStat && allowMissing) continue;
9558
9532
  if (!fsStat) {
9559
- this._loadingError = new Error(`Import path does not exist: ${fullImportPath}`);
9533
+ this._errors.push(new LoadingError(`Import path does not exist: ${fullImportPath}`));
9560
9534
  return;
9561
9535
  }
9562
9536
  if (importPath.endsWith("/")) {
@@ -9569,15 +9543,15 @@ var EnvGraphDataSource2 = class {
9569
9543
  });
9570
9544
  this.graph.recordLoadedImportPath(fullImportPath, dirChild);
9571
9545
  } else {
9572
- this._loadingError = new Error(`Imported path ending with "/" is not a directory: ${fullImportPath}`);
9546
+ this._errors.push(new LoadingError(`Imported path ending with "/" is not a directory: ${fullImportPath}`));
9573
9547
  return;
9574
9548
  }
9575
9549
  } else {
9576
9550
  if (fsStat.isDirectory()) {
9577
- this._loadingError = new Error('Imported path is a directory, add trailing "/" to import');
9551
+ this._errors.push(new LoadingError('Imported path is a directory, add trailing "/" to import'));
9578
9552
  return;
9579
9553
  } else if (!fileName.startsWith(".env.")) {
9580
- this._loadingError = new Error("imported file must be a .env.* file");
9554
+ this._errors.push(new LoadingError("imported file must be a .env.* file"));
9581
9555
  return;
9582
9556
  }
9583
9557
  const fileChild = new DotEnvFileDataSource(fullImportPath);
@@ -9590,17 +9564,17 @@ var EnvGraphDataSource2 = class {
9590
9564
  }
9591
9565
  }
9592
9566
  } else if (importPath.startsWith("http://") || importPath.startsWith("https://")) {
9593
- this._loadingError = new Error("http imports not supported yet");
9567
+ this._errors.push(new LoadingError("http imports not supported yet"));
9594
9568
  return;
9595
9569
  } else if (importPath.startsWith("npm:")) {
9596
- this._loadingError = new Error("npm imports not supported yet");
9570
+ this._errors.push(new LoadingError("npm imports not supported yet"));
9597
9571
  return;
9598
9572
  } else {
9599
- this._loadingError = new Error("unsupported import type");
9573
+ this._errors.push(new LoadingError("unsupported import type"));
9600
9574
  return;
9601
9575
  }
9602
9576
  } catch (err) {
9603
- this._loadingError = err;
9577
+ this._errors.push(err instanceof LoadingError ? err : new LoadingError(err));
9604
9578
  return;
9605
9579
  }
9606
9580
  }
@@ -9619,10 +9593,11 @@ var EnvGraphDataSource2 = class {
9619
9593
  get disabled() {
9620
9594
  return this._disabled || this.parent?._disabled;
9621
9595
  }
9622
- /** an error encountered while loading/parsing the data source */
9623
- _loadingError;
9596
+ _errors = [];
9597
+ /** first loading/parse error on this data source (including plugin loading errors) */
9624
9598
  get loadingError() {
9625
- if (this._loadingError) return this._loadingError;
9599
+ const ownError = this._errors.find((e) => e instanceof LoadingError || e instanceof ParseError);
9600
+ if (ownError) return ownError;
9626
9601
  if (this.graph) {
9627
9602
  for (const plugin of this.graph.plugins) {
9628
9603
  if (plugin.loadingError) {
@@ -9636,18 +9611,30 @@ var EnvGraphDataSource2 = class {
9636
9611
  }
9637
9612
  return void 0;
9638
9613
  }
9639
- _schemaErrors = [];
9640
9614
  get schemaErrors() {
9641
- return my_dash_default.compact([
9642
- ...this._schemaErrors,
9615
+ return [
9616
+ ...this._errors.filter((e) => e instanceof SchemaError),
9643
9617
  ...this.rootDecorators.flatMap((d) => d.schemaErrors)
9644
- ]);
9618
+ ];
9645
9619
  }
9646
9620
  get resolutionErrors() {
9647
9621
  return my_dash_default.compact([...this.rootDecorators.flatMap((d) => d._executionError)]);
9648
9622
  }
9623
+ /** all errors from this data source (own + decorator schema + decorator execution + plugin loading) */
9624
+ get errors() {
9625
+ const errs = [
9626
+ ...this._errors,
9627
+ ...this.rootDecorators.flatMap((d) => d.schemaErrors),
9628
+ ...this.resolutionErrors
9629
+ ];
9630
+ const pluginErr = this.loadingError;
9631
+ if (pluginErr && !errs.includes(pluginErr)) {
9632
+ errs.push(pluginErr);
9633
+ }
9634
+ return errs;
9635
+ }
9649
9636
  get isValid() {
9650
- return !this.loadingError && !this.schemaErrors.some((e) => !e.isWarning) && !this.resolutionErrors.length;
9637
+ return this.errors.every((e) => e.isWarning);
9651
9638
  }
9652
9639
  configItemDefs = {};
9653
9640
  decorators = [];
@@ -9743,7 +9730,7 @@ var FileBasedDataSource = class extends EnvGraphDataSource2 {
9743
9730
  async _finishInit() {
9744
9731
  if (!this.rawContents) {
9745
9732
  if (!await pathExists(this.fullPath)) {
9746
- this._loadingError = new Error(`File does not exist: ${this.fullPath}`);
9733
+ this._errors.push(new LoadingError(`File does not exist: ${this.fullPath}`));
9747
9734
  return;
9748
9735
  }
9749
9736
  this.rawContents = await fs3.readFile(this.fullPath, "utf8");
@@ -9764,7 +9751,7 @@ var DotEnvFileDataSource = class extends FileBasedDataSource {
9764
9751
  this.parsedFile = await tryCatch(
9765
9752
  () => parseEnvSpecDotEnvFile(rawContents),
9766
9753
  (error) => {
9767
- this._loadingError = new ParseError(`Parse error: ${error.message}`, {
9754
+ const parseError = new ParseError(`Parse error: ${error.message}`, {
9768
9755
  location: {
9769
9756
  id: this.fullPath,
9770
9757
  lineNumber: error.location.start.line,
@@ -9772,7 +9759,8 @@ var DotEnvFileDataSource = class extends FileBasedDataSource {
9772
9759
  lineStr: rawContents.split("\n")[error.location.start.line - 1]
9773
9760
  }
9774
9761
  });
9775
- this._loadingError.cause = error;
9762
+ parseError.cause = error;
9763
+ this._errors.push(parseError);
9776
9764
  }
9777
9765
  );
9778
9766
  if (this.loadingError) return;
@@ -9792,13 +9780,13 @@ var DotEnvFileDataSource = class extends FileBasedDataSource {
9792
9780
  const seenRootDecs = /* @__PURE__ */ new Set();
9793
9781
  for (const dec of parsedFile.decoratorsArray) {
9794
9782
  if (dec.name in this.graph.itemDecoratorsRegistry) {
9795
- this._schemaErrors.push(new SchemaError(
9783
+ this._errors.push(new SchemaError(
9796
9784
  `Item decorator @${dec.name} cannot be used in the file header - it must be attached to a config item`,
9797
9785
  { location: this._locationFromParsed(dec) }
9798
9786
  ));
9799
- } else if (!dec.isBareFnCall) {
9787
+ } else if (!dec.isBareFnCall && !dec.hasInvalidName && dec.name in this.graph.rootDecoratorsRegistry) {
9800
9788
  if (seenRootDecs.has(dec.name)) {
9801
- this._schemaErrors.push(new SchemaError(
9789
+ this._errors.push(new SchemaError(
9802
9790
  `Root decorator @${dec.name} cannot be used more than once in the same file`,
9803
9791
  { location: this._locationFromParsed(dec) }
9804
9792
  ));
@@ -9810,7 +9798,7 @@ var DotEnvFileDataSource = class extends FileBasedDataSource {
9810
9798
  for (const comment of block.comments) {
9811
9799
  if (comment instanceof ParsedEnvSpecDecoratorComment) {
9812
9800
  for (const dec of comment.decorators) {
9813
- this._schemaErrors.push(new SchemaError(
9801
+ this._errors.push(new SchemaError(
9814
9802
  `Decorator @${dec.name} is in a detached comment block - decorators must be in the file header or attached directly to a config item (no blank lines between the decorator and the item)`,
9815
9803
  { location: this._locationFromParsed(dec) }
9816
9804
  ));
@@ -9871,9 +9859,9 @@ var DirectoryDataSource = class extends EnvGraphDataSource2 {
9871
9859
  if (this.schemaDataSource?._envFlagKey) {
9872
9860
  const envFlagKey = this.schemaDataSource._envFlagKey;
9873
9861
  if (this.isPartialImport && !this.importKeys?.includes(envFlagKey)) {
9874
- this._loadingError = new Error(
9862
+ this._errors.push(new LoadingError(
9875
9863
  `Imported directory has @currentEnv set to $${envFlagKey}, but "${envFlagKey}" is not included in the import list. Add "${envFlagKey}" to the @import() arguments.`
9876
- );
9864
+ ));
9877
9865
  return void 0;
9878
9866
  }
9879
9867
  const envFlagItem = this.graph.configSchema[envFlagKey];
@@ -9902,7 +9890,7 @@ var DirectoryDataSource = class extends EnvGraphDataSource2 {
9902
9890
  }
9903
9891
  await this.addAutoLoadedFile(".env.local");
9904
9892
  let currentEnv = await this._resolveCurrentEnv();
9905
- if (this._loadingError) return;
9893
+ if (this.loadingError) return;
9906
9894
  if (currentEnv) {
9907
9895
  await this._loadEnvSpecificFiles(currentEnv);
9908
9896
  }
@@ -9911,7 +9899,7 @@ var DirectoryDataSource = class extends EnvGraphDataSource2 {
9911
9899
  }
9912
9900
  if (!currentEnv) {
9913
9901
  currentEnv = await this._resolveCurrentEnv();
9914
- if (this._loadingError) return;
9902
+ if (this.loadingError) return;
9915
9903
  if (currentEnv) {
9916
9904
  const envSources = await this._loadEnvSpecificFiles(currentEnv);
9917
9905
  for (const source of envSources) {
@@ -9975,15 +9963,23 @@ var DecoratorInstance = class {
9975
9963
  get decValueResolver() {
9976
9964
  return this._decValueResolver;
9977
9965
  }
9978
- _schemaErrors = [];
9966
+ _errors = [];
9979
9967
  get schemaErrors() {
9980
9968
  return [
9981
- ...this._schemaErrors,
9969
+ ...this._errors.filter((e) => e instanceof SchemaError),
9982
9970
  ...this._decValueResolver?.schemaErrors || []
9983
9971
  ];
9984
9972
  }
9985
9973
  // error encountered during `execute` function
9986
- _executionError;
9974
+ get _executionError() {
9975
+ return this._errors.find((e) => e instanceof ResolutionError);
9976
+ }
9977
+ get errors() {
9978
+ return [
9979
+ ...this._errors,
9980
+ ...this._decValueResolver?.schemaErrors || []
9981
+ ];
9982
+ }
9987
9983
  decoratorDef;
9988
9984
  get incompatibleWith() {
9989
9985
  return this.decoratorDef?.incompatibleWith;
@@ -9998,6 +9994,15 @@ var DecoratorInstance = class {
9998
9994
  const decRegistry = this.isRootDecorator ? this.graph.rootDecoratorsRegistry : this.graph.itemDecoratorsRegistry;
9999
9995
  this.decoratorDef = decRegistry[this.name];
10000
9996
  if (!this.decoratorDef) {
9997
+ const commentLikeDecorators = ["todo", "see", "note"];
9998
+ const nameLower = this.name.toLowerCase().replace(/:$/, "");
9999
+ if (commentLikeDecorators.includes(nameLower)) {
10000
+ const hint = nameLower === "see" ? " - use @docs() to link documentation" : " - did you mean to write a comment?";
10001
+ throw new SchemaError(`@${this.name} is not a valid decorator${hint}`, { isWarning: true });
10002
+ }
10003
+ if (this.parsedDecorator.hasInvalidName) {
10004
+ throw new SchemaError(`"@${this.name}" is not a valid decorator name - only letters, numbers, and underscores are allowed`);
10005
+ }
10001
10006
  const otherRegistry = this.isRootDecorator ? this.graph.itemDecoratorsRegistry : this.graph.rootDecoratorsRegistry;
10002
10007
  if (otherRegistry[this.name]) {
10003
10008
  if (this.isRootDecorator) {
@@ -10006,7 +10011,13 @@ var DecoratorInstance = class {
10006
10011
  throw new SchemaError(`@${this.name} is a root decorator and cannot be attached to a config item - it must be in the file header (before the first config item)`);
10007
10012
  }
10008
10013
  }
10009
- throw new Error(`Unknown decorator: @${this.name}`);
10014
+ throw new SchemaError(`Unknown decorator: @${this.name}`);
10015
+ }
10016
+ if (this.parsedDecorator.strayText) {
10017
+ this._errors.push(new SchemaError(
10018
+ `Unexpected text "${this.parsedDecorator.strayText}" after @${this.name} - use another # for trailing comments`,
10019
+ { isWarning: true }
10020
+ ));
10010
10021
  }
10011
10022
  if (this.decoratorDef.isFunction && !this.isFunctionCall) {
10012
10023
  throw new SchemaError(
@@ -10036,7 +10047,7 @@ var DecoratorInstance = class {
10036
10047
  this.processedData = await this.decoratorDef.process?.(this.decValueResolver);
10037
10048
  }
10038
10049
  } catch (e) {
10039
- this._schemaErrors.push(e instanceof SchemaError ? e : new SchemaError(e));
10050
+ this._errors.push(e instanceof SchemaError ? e : new SchemaError(e));
10040
10051
  }
10041
10052
  }
10042
10053
  async execute() {
@@ -10048,13 +10059,13 @@ var DecoratorInstance = class {
10048
10059
  if (this.isResolved) return this.resolvedValue;
10049
10060
  await this.process();
10050
10061
  if (!this.decValueResolver) {
10051
- if (this._schemaErrors.some((e) => !e.isWarning)) return;
10062
+ if (this._errors.length) return;
10052
10063
  throw new Error("expected decorator to have a value resolver");
10053
10064
  }
10054
10065
  try {
10055
10066
  this.resolvedValue = await this.decValueResolver.resolve();
10056
10067
  } catch (err) {
10057
- this._schemaErrors.push(err);
10068
+ this._errors.push(err);
10058
10069
  return;
10059
10070
  }
10060
10071
  this.isResolved = true;
@@ -10243,8 +10254,7 @@ var builtInRootDecorators = [
10243
10254
  if (enabledResolver !== void 0) {
10244
10255
  const enabledValue = await enabledResolver.resolve();
10245
10256
  if (!my_dash_default.isBoolean(enabledValue)) {
10246
- dataSource._loadingError = new SchemaError("@setValuesBulk: enabled must be a boolean");
10247
- return;
10257
+ throw new SchemaError("@setValuesBulk: enabled must be a boolean");
10248
10258
  }
10249
10259
  if (!enabledValue) return;
10250
10260
  }
@@ -10256,22 +10266,16 @@ var builtInRootDecorators = [
10256
10266
  return;
10257
10267
  }
10258
10268
  if (typeof dataString !== "string") {
10259
- dataSource._loadingError = new SchemaError("@setValuesBulk: data resolver must return a string");
10260
- return;
10269
+ throw new SchemaError("@setValuesBulk: data resolver must return a string");
10261
10270
  }
10262
10271
  const effectiveFormat = format || detectBulkFormat(dataString);
10263
10272
  let entries;
10264
- try {
10265
- if (effectiveFormat === "json") {
10266
- entries = parseJsonBulkValues(dataString);
10267
- } else {
10268
- entries = parseEnvBulkValues(dataString);
10269
- }
10270
- } catch (err) {
10271
- dataSource._loadingError = err instanceof SchemaError ? err : new SchemaError(err);
10272
- return;
10273
+ if (effectiveFormat === "json") {
10274
+ entries = parseJsonBulkValues(dataString);
10275
+ } else {
10276
+ entries = parseEnvBulkValues(dataString);
10273
10277
  }
10274
- const { ConfigItem: ConfigItem2 } = await import('./config-item-7X6PUXJF.js');
10278
+ const { ConfigItem: ConfigItem2 } = await import('./config-item-HMRJLPJY.js');
10275
10279
  for (const [key, entry] of Object.entries(entries)) {
10276
10280
  const existsInSchema = key in graph.configSchema;
10277
10281
  if (!existsInSchema && !createMissing) {
@@ -10387,7 +10391,7 @@ var Resolver = class {
10387
10391
  inferredType;
10388
10392
  /** reference to the parsed node that created this resolver, used for error location tracking */
10389
10393
  _parsedNode;
10390
- _schemaErrors = [];
10394
+ _errors = [];
10391
10395
  _depsObj = {};
10392
10396
  get childResolvers() {
10393
10397
  return [
@@ -10397,13 +10401,10 @@ var Resolver = class {
10397
10401
  }
10398
10402
  get schemaErrors() {
10399
10403
  return [
10400
- ...this._schemaErrors,
10404
+ ...this._errors,
10401
10405
  ...this.childResolvers.flatMap((r) => r.schemaErrors)
10402
10406
  ];
10403
10407
  }
10404
- set schemaErrors(v) {
10405
- throw new Error("set _schemaErrors instead");
10406
- }
10407
10408
  get depsObj() {
10408
10409
  const mergedDepsObj = { ...this._depsObj };
10409
10410
  this.childResolvers.forEach((r) => Object.assign(mergedDepsObj, r.depsObj));
@@ -10418,13 +10419,13 @@ var Resolver = class {
10418
10419
  this.parent = parent;
10419
10420
  const { argsSchema } = this.def;
10420
10421
  if (argsSchema?.type === "array" && this.objArgs !== void 0) {
10421
- this._schemaErrors.push(new SchemaError("Resolver does not support key-value args"));
10422
+ this._errors.push(new SchemaError("Resolver does not support key-value args"));
10422
10423
  } else if (argsSchema?.type === "object" && this.arrArgs !== void 0) {
10423
- this._schemaErrors.push(new SchemaError("Resolver expects only key-value args"));
10424
+ this._errors.push(new SchemaError("Resolver expects only key-value args"));
10424
10425
  }
10425
10426
  if (argsSchema?.arrayExactLength !== void 0) {
10426
10427
  if (this.arrArgs?.length !== argsSchema.arrayExactLength) {
10427
- this._schemaErrors.push(
10428
+ this._errors.push(
10428
10429
  new SchemaError(
10429
10430
  `expects exactly ${argsSchema.arrayExactLength} argument${argsSchema.arrayExactLength > 1 ? "s" : ""}`
10430
10431
  )
@@ -10433,7 +10434,7 @@ var Resolver = class {
10433
10434
  }
10434
10435
  if (argsSchema?.arrayMinLength !== void 0) {
10435
10436
  if ((this.arrArgs?.length ?? 0) < argsSchema.arrayMinLength) {
10436
- this._schemaErrors.push(
10437
+ this._errors.push(
10437
10438
  new SchemaError(
10438
10439
  `expects at least ${argsSchema.arrayMinLength} argument${argsSchema.arrayMinLength > 1 ? "s" : ""}`
10439
10440
  )
@@ -10442,7 +10443,7 @@ var Resolver = class {
10442
10443
  }
10443
10444
  if (argsSchema?.arrayMaxLength !== void 0) {
10444
10445
  if ((this.arrArgs?.length ?? 0) > argsSchema.arrayMaxLength) {
10445
- this._schemaErrors.push(
10446
+ this._errors.push(
10446
10447
  new SchemaError(`expects at most ${argsSchema.arrayMaxLength} argument${argsSchema.arrayMaxLength > 1 ? "s" : ""}`)
10447
10448
  );
10448
10449
  }
@@ -10450,28 +10451,28 @@ var Resolver = class {
10450
10451
  if (argsSchema?.objKeyMinLength !== void 0) {
10451
10452
  const objKeyLengths = Object.keys(this.objArgs || {}).length;
10452
10453
  if (objKeyLengths < argsSchema.objKeyMinLength) {
10453
- this._schemaErrors.push(
10454
+ this._errors.push(
10454
10455
  new SchemaError(
10455
10456
  `expects at least ${argsSchema.objKeyMinLength} key value arg${argsSchema.objKeyMinLength > 1 ? "s" : ""}`
10456
10457
  )
10457
10458
  );
10458
10459
  }
10459
10460
  }
10460
- if (this._schemaErrors.length === 0) {
10461
+ if (this._errors.length === 0) {
10461
10462
  try {
10462
10463
  this.meta = this.def.process?.call(this);
10463
10464
  } catch (error) {
10464
10465
  if (error instanceof SchemaError) {
10465
- this._schemaErrors.push(error);
10466
+ this._errors.push(error);
10466
10467
  } else if (error instanceof Error) {
10467
- this._schemaErrors.push(new SchemaError(error));
10468
+ this._errors.push(new SchemaError(error));
10468
10469
  } else {
10469
10470
  throw new Error(`Non-error thrown while processing resolver - ${error}`);
10470
10471
  }
10471
10472
  }
10472
10473
  }
10473
10474
  if (!this.def.name.startsWith("\0")) {
10474
- for (const e of this._schemaErrors) {
10475
+ for (const e of this._errors) {
10475
10476
  e.message = `${this.def.name}(): ${e.message}`;
10476
10477
  }
10477
10478
  }
@@ -10591,7 +10592,7 @@ var ErrorResolver = class extends Resolver {
10591
10592
  constructor(err) {
10592
10593
  super([]);
10593
10594
  this.err = err;
10594
- this._schemaErrors.push(err);
10595
+ this._errors.push(err);
10595
10596
  }
10596
10597
  static {
10597
10598
  __name(this, "ErrorResolver");
@@ -10738,7 +10739,7 @@ var RemapResolver = createResolver({
10738
10739
  if (Object.keys(this.objArgs).length === 0) {
10739
10740
  throw new SchemaError("expects at least 1 key=value remapping pair");
10740
10741
  }
10741
- this._schemaErrors.push(new SchemaError("key=value syntax is deprecated", {
10742
+ this._errors.push(new SchemaError("key=value syntax is deprecated", {
10742
10743
  isWarning: true,
10743
10744
  tip: "Use positional pairs instead: remap($VAR, match1, result1, match2, result2, ...)"
10744
10745
  }));
@@ -11530,14 +11531,14 @@ var ConfigItem = class {
11530
11531
  this.effectiveDecoratorFns[dec.name] ||= [];
11531
11532
  this.effectiveDecoratorFns[dec.name].push(dec);
11532
11533
  } else {
11533
- if (decKeysInThisDef.has(dec.name)) {
11534
- dec._schemaErrors.push(new SchemaError(`decorator @${dec.name} cannot be used twice in same definition`));
11534
+ if (decKeysInThisDef.has(dec.name) && !dec._errors.length) {
11535
+ dec._errors.push(new SchemaError(`decorator @${dec.name} cannot be used twice in same definition`));
11535
11536
  continue;
11536
11537
  }
11537
11538
  if (dec.incompatibleWith) {
11538
11539
  for (const otherDecName of dec.incompatibleWith) {
11539
11540
  if (allDecsInThisDef?.includes(otherDecName)) {
11540
- dec._schemaErrors.push(new SchemaError(`decorator @${dec.name} is incompatible with @${otherDecName} in the same definition`));
11541
+ dec._errors.push(new SchemaError(`decorator @${dec.name} is incompatible with @${otherDecName} in the same definition`));
11541
11542
  continue;
11542
11543
  }
11543
11544
  }
@@ -11614,7 +11615,7 @@ var ConfigItem = class {
11614
11615
  this._isRequiredDynamic = true;
11615
11616
  }
11616
11617
  const requiredDecoratorVal = await requiredDec.resolve();
11617
- if (requiredDec.schemaErrors.length) {
11618
+ if (requiredDec.schemaErrors.some((e) => !e.isWarning)) {
11618
11619
  this._isRequired = false;
11619
11620
  return;
11620
11621
  }
@@ -11671,7 +11672,7 @@ var ConfigItem = class {
11671
11672
  if (!sensitiveDec) continue;
11672
11673
  const usingPublic = sensitiveDec.name === "public";
11673
11674
  const sensitiveDecValue = await sensitiveDec.resolve();
11674
- if (sensitiveDec.schemaErrors.length) return;
11675
+ if (sensitiveDec.schemaErrors.some((e) => !e.isWarning)) return;
11675
11676
  if (![true, false, void 0].includes(sensitiveDecValue)) {
11676
11677
  throw new SchemaError("@sensitive/@public must resolve to a boolean or undefined");
11677
11678
  }
@@ -11865,7 +11866,7 @@ var ConfigItem = class {
11865
11866
  break;
11866
11867
  }
11867
11868
  const requiredDecoratorVal = await requiredDec.resolve();
11868
- if (requiredDec.schemaErrors.length) {
11869
+ if (requiredDec.schemaErrors.some((e) => !e.isWarning)) {
11869
11870
  isRequired = false;
11870
11871
  break;
11871
11872
  }
@@ -11908,7 +11909,7 @@ var ConfigItem = class {
11908
11909
  const usingPublic = sensitiveDec.name === "public";
11909
11910
  if (sensitiveDec.decValueResolver?.fnName !== "\0static") break;
11910
11911
  const sensitiveDecValue = await sensitiveDec.resolve();
11911
- if (sensitiveDec.schemaErrors.length) break;
11912
+ if (sensitiveDec.schemaErrors.some((e) => !e.isWarning)) break;
11912
11913
  if (![true, false, void 0].includes(sensitiveDecValue)) break;
11913
11914
  if (sensitiveDecValue !== void 0) {
11914
11915
  isSensitive = usingPublic ? !sensitiveDecValue : sensitiveDecValue;
@@ -12001,5 +12002,5 @@ var ConfigItem = class {
12001
12002
  };
12002
12003
 
12003
12004
  export { ConfigItem, DirectoryDataSource, DotEnvFileDataSource, EnvGraph, FileBasedDataSource, MultiplePathsContainerDataSource, ParsedEnvSpecFunctionCall, ParsedEnvSpecStaticValue, StaticValueResolver, ansis_default, createResolver, detectWorkspaceInfo, downloadPluginToCache, envSpecUpdater, multiselect, parseEnvSpecDotEnvFile, password, pathExists, prompts_default, require_semver2 as require_semver, runWithWorkspaceInfo, select, spawnAsync, tryCatch };
12004
- //# sourceMappingURL=chunk-6CRDPEUT.js.map
12005
- //# sourceMappingURL=chunk-6CRDPEUT.js.map
12005
+ //# sourceMappingURL=chunk-PBWMMYWL.js.map
12006
+ //# sourceMappingURL=chunk-PBWMMYWL.js.map