@es-joy/jsoe 0.24.3 → 0.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/.ncurc.cjs +2 -2
  3. package/CHANGES.md +51 -0
  4. package/README.md +23 -13
  5. package/badges/coverage-badge.svg +1 -1
  6. package/dist/eslint.config.d.ts +3 -0
  7. package/dist/eslint.config.d.ts.map +1 -0
  8. package/dist/formatAndTypeChoices.d.ts +28 -30
  9. package/dist/formatAndTypeChoices.d.ts.map +1 -1
  10. package/dist/formats/indexedDBKey.d.ts.map +1 -1
  11. package/dist/formats/schema.d.ts +46 -3
  12. package/dist/formats/schema.d.ts.map +1 -1
  13. package/dist/formats/structuredCloning.d.ts +3 -0
  14. package/dist/formats/structuredCloning.d.ts.map +1 -1
  15. package/dist/formats.d.ts +24 -6
  16. package/dist/formats.d.ts.map +1 -1
  17. package/dist/fundamentalTypes/BooleanObjectType.d.ts.map +1 -1
  18. package/dist/fundamentalTypes/NumberObjectType.d.ts.map +1 -1
  19. package/dist/fundamentalTypes/StringObjectType.d.ts.map +1 -1
  20. package/dist/fundamentalTypes/arrayReferenceType.d.ts.map +1 -1
  21. package/dist/fundamentalTypes/arrayType.d.ts +7 -0
  22. package/dist/fundamentalTypes/arrayType.d.ts.map +1 -1
  23. package/dist/fundamentalTypes/bigintObjectType.d.ts.map +1 -1
  24. package/dist/fundamentalTypes/bigintType.d.ts +10 -0
  25. package/dist/fundamentalTypes/bigintType.d.ts.map +1 -1
  26. package/dist/fundamentalTypes/blobType.d.ts.map +1 -1
  27. package/dist/fundamentalTypes/booleanType.d.ts.map +1 -1
  28. package/dist/fundamentalTypes/catchType.d.ts +2 -2
  29. package/dist/fundamentalTypes/catchType.d.ts.map +1 -1
  30. package/dist/fundamentalTypes/dateType.d.ts.map +1 -1
  31. package/dist/fundamentalTypes/domexceptionType.d.ts.map +1 -1
  32. package/dist/fundamentalTypes/enumType.d.ts +2 -2
  33. package/dist/fundamentalTypes/enumType.d.ts.map +1 -1
  34. package/dist/fundamentalTypes/errorType.d.ts.map +1 -1
  35. package/dist/fundamentalTypes/fileType.d.ts +6 -0
  36. package/dist/fundamentalTypes/fileType.d.ts.map +1 -1
  37. package/dist/fundamentalTypes/functionType.d.ts.map +1 -1
  38. package/dist/fundamentalTypes/literalType.d.ts +3 -2
  39. package/dist/fundamentalTypes/literalType.d.ts.map +1 -1
  40. package/dist/fundamentalTypes/looseRecordType.d.ts +6 -0
  41. package/dist/fundamentalTypes/looseRecordType.d.ts.map +1 -0
  42. package/dist/fundamentalTypes/nanType.d.ts.map +1 -1
  43. package/dist/fundamentalTypes/neverType.d.ts +2 -2
  44. package/dist/fundamentalTypes/neverType.d.ts.map +1 -1
  45. package/dist/fundamentalTypes/noneditableType.d.ts.map +1 -1
  46. package/dist/fundamentalTypes/nullType.d.ts.map +1 -1
  47. package/dist/fundamentalTypes/numberType.d.ts.map +1 -1
  48. package/dist/fundamentalTypes/promiseType.d.ts.map +1 -1
  49. package/dist/fundamentalTypes/regexpType.d.ts.map +1 -1
  50. package/dist/fundamentalTypes/stringType.d.ts.map +1 -1
  51. package/dist/fundamentalTypes/symbolType.d.ts.map +1 -1
  52. package/dist/fundamentalTypes/undefinedType.d.ts.map +1 -1
  53. package/dist/fundamentalTypes/voidType.d.ts +2 -2
  54. package/dist/fundamentalTypes/voidType.d.ts.map +1 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +6 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/rollup.config.d.ts +30 -0
  59. package/dist/rollup.config.d.ts.map +1 -0
  60. package/dist/server.d.ts +2 -0
  61. package/dist/server.d.ts.map +1 -0
  62. package/dist/src/formatAndTypeChoices.d.ts +108 -0
  63. package/dist/src/formatAndTypeChoices.d.ts.map +1 -0
  64. package/dist/src/formats/arbitraryJS.d.ts +4 -0
  65. package/dist/src/formats/arbitraryJS.d.ts.map +1 -0
  66. package/dist/src/formats/indexedDBKey.d.ts +4 -0
  67. package/dist/src/formats/indexedDBKey.d.ts.map +1 -0
  68. package/dist/src/formats/json.d.ts +4 -0
  69. package/dist/src/formats/json.d.ts.map +1 -0
  70. package/dist/src/formats/schema.d.ts +17 -0
  71. package/dist/src/formats/schema.d.ts.map +1 -0
  72. package/dist/src/formats/structuredCloning.d.ts +19 -0
  73. package/dist/src/formats/structuredCloning.d.ts.map +1 -0
  74. package/dist/src/formats.d.ts +135 -0
  75. package/dist/src/formats.d.ts.map +1 -0
  76. package/dist/src/fundamentalTypes/BooleanObjectType.d.ts +8 -0
  77. package/dist/src/fundamentalTypes/BooleanObjectType.d.ts.map +1 -0
  78. package/dist/src/fundamentalTypes/NumberObjectType.d.ts +6 -0
  79. package/dist/src/fundamentalTypes/NumberObjectType.d.ts.map +1 -0
  80. package/dist/src/fundamentalTypes/StringObjectType.d.ts +6 -0
  81. package/dist/src/fundamentalTypes/StringObjectType.d.ts.map +1 -0
  82. package/dist/src/fundamentalTypes/arrayReferenceType.d.ts +8 -0
  83. package/dist/src/fundamentalTypes/arrayReferenceType.d.ts.map +1 -0
  84. package/dist/src/fundamentalTypes/arrayType.d.ts +29 -0
  85. package/dist/src/fundamentalTypes/arrayType.d.ts.map +1 -0
  86. package/dist/src/fundamentalTypes/bigintObjectType.d.ts +6 -0
  87. package/dist/src/fundamentalTypes/bigintObjectType.d.ts.map +1 -0
  88. package/dist/src/fundamentalTypes/bigintType.d.ts +6 -0
  89. package/dist/src/fundamentalTypes/bigintType.d.ts.map +1 -0
  90. package/dist/src/fundamentalTypes/blobType.d.ts +11 -0
  91. package/dist/src/fundamentalTypes/blobType.d.ts.map +1 -0
  92. package/dist/src/fundamentalTypes/booleanType.d.ts +8 -0
  93. package/dist/src/fundamentalTypes/booleanType.d.ts.map +1 -0
  94. package/dist/src/fundamentalTypes/catchType.d.ts +6 -0
  95. package/dist/src/fundamentalTypes/catchType.d.ts.map +1 -0
  96. package/dist/src/fundamentalTypes/dateType.d.ts +26 -0
  97. package/dist/src/fundamentalTypes/dateType.d.ts.map +1 -0
  98. package/dist/src/fundamentalTypes/domexceptionType.d.ts +6 -0
  99. package/dist/src/fundamentalTypes/domexceptionType.d.ts.map +1 -0
  100. package/dist/src/fundamentalTypes/enumType.d.ts +6 -0
  101. package/dist/src/fundamentalTypes/enumType.d.ts.map +1 -0
  102. package/dist/src/fundamentalTypes/errorType.d.ts +6 -0
  103. package/dist/src/fundamentalTypes/errorType.d.ts.map +1 -0
  104. package/dist/src/fundamentalTypes/fileType.d.ts +13 -0
  105. package/dist/src/fundamentalTypes/fileType.d.ts.map +1 -0
  106. package/dist/src/fundamentalTypes/filelistType.d.ts +6 -0
  107. package/dist/src/fundamentalTypes/filelistType.d.ts.map +1 -0
  108. package/dist/src/fundamentalTypes/functionType.d.ts +7 -0
  109. package/dist/src/fundamentalTypes/functionType.d.ts.map +1 -0
  110. package/dist/src/fundamentalTypes/literalType.d.ts +6 -0
  111. package/dist/src/fundamentalTypes/literalType.d.ts.map +1 -0
  112. package/dist/src/fundamentalTypes/mapType.d.ts +6 -0
  113. package/dist/src/fundamentalTypes/mapType.d.ts.map +1 -0
  114. package/dist/src/fundamentalTypes/nanType.d.ts +6 -0
  115. package/dist/src/fundamentalTypes/nanType.d.ts.map +1 -0
  116. package/dist/src/fundamentalTypes/neverType.d.ts +6 -0
  117. package/dist/src/fundamentalTypes/neverType.d.ts.map +1 -0
  118. package/dist/src/fundamentalTypes/noneditableType.d.ts +6 -0
  119. package/dist/src/fundamentalTypes/noneditableType.d.ts.map +1 -0
  120. package/dist/src/fundamentalTypes/nullType.d.ts +6 -0
  121. package/dist/src/fundamentalTypes/nullType.d.ts.map +1 -0
  122. package/dist/src/fundamentalTypes/numberType.d.ts +6 -0
  123. package/dist/src/fundamentalTypes/numberType.d.ts.map +1 -0
  124. package/dist/src/fundamentalTypes/objectReferenceType.d.ts +8 -0
  125. package/dist/src/fundamentalTypes/objectReferenceType.d.ts.map +1 -0
  126. package/dist/src/fundamentalTypes/objectType.d.ts +6 -0
  127. package/dist/src/fundamentalTypes/objectType.d.ts.map +1 -0
  128. package/dist/src/fundamentalTypes/promiseType.d.ts +6 -0
  129. package/dist/src/fundamentalTypes/promiseType.d.ts.map +1 -0
  130. package/dist/src/fundamentalTypes/recordType.d.ts +6 -0
  131. package/dist/src/fundamentalTypes/recordType.d.ts.map +1 -0
  132. package/dist/src/fundamentalTypes/regexpType.d.ts +8 -0
  133. package/dist/src/fundamentalTypes/regexpType.d.ts.map +1 -0
  134. package/dist/src/fundamentalTypes/setType.d.ts +6 -0
  135. package/dist/src/fundamentalTypes/setType.d.ts.map +1 -0
  136. package/dist/src/fundamentalTypes/sparseUndefinedType.d.ts +6 -0
  137. package/dist/src/fundamentalTypes/sparseUndefinedType.d.ts.map +1 -0
  138. package/dist/src/fundamentalTypes/stringType.d.ts +6 -0
  139. package/dist/src/fundamentalTypes/stringType.d.ts.map +1 -0
  140. package/dist/src/fundamentalTypes/symbolType.d.ts +8 -0
  141. package/dist/src/fundamentalTypes/symbolType.d.ts.map +1 -0
  142. package/dist/src/fundamentalTypes/tupleType.d.ts +6 -0
  143. package/dist/src/fundamentalTypes/tupleType.d.ts.map +1 -0
  144. package/dist/src/fundamentalTypes/undefinedType.d.ts +6 -0
  145. package/dist/src/fundamentalTypes/undefinedType.d.ts.map +1 -0
  146. package/dist/src/fundamentalTypes/voidType.d.ts +6 -0
  147. package/dist/src/fundamentalTypes/voidType.d.ts.map +1 -0
  148. package/dist/src/index.d.ts +12 -0
  149. package/dist/src/index.d.ts.map +1 -0
  150. package/dist/src/subTypes/blobHTMLType.d.ts +20 -0
  151. package/dist/src/subTypes/blobHTMLType.d.ts.map +1 -0
  152. package/dist/src/subTypes/falseType.d.ts +8 -0
  153. package/dist/src/subTypes/falseType.d.ts.map +1 -0
  154. package/dist/src/subTypes/trueType.d.ts +8 -0
  155. package/dist/src/subTypes/trueType.d.ts.map +1 -0
  156. package/dist/src/superTypes/SpecialNumberType.d.ts +6 -0
  157. package/dist/src/superTypes/SpecialNumberType.d.ts.map +1 -0
  158. package/dist/src/superTypes/SpecialRealNumberType.d.ts +6 -0
  159. package/dist/src/superTypes/SpecialRealNumberType.d.ts.map +1 -0
  160. package/dist/src/superTypes/buffersourceType.d.ts +8 -0
  161. package/dist/src/superTypes/buffersourceType.d.ts.map +1 -0
  162. package/dist/src/superTypes/dommatrixType.d.ts +6 -0
  163. package/dist/src/superTypes/dommatrixType.d.ts.map +1 -0
  164. package/dist/src/superTypes/dompointType.d.ts +6 -0
  165. package/dist/src/superTypes/dompointType.d.ts.map +1 -0
  166. package/dist/src/superTypes/domrectType.d.ts +6 -0
  167. package/dist/src/superTypes/domrectType.d.ts.map +1 -0
  168. package/dist/src/superTypes/errorsSpecialType.d.ts +8 -0
  169. package/dist/src/superTypes/errorsSpecialType.d.ts.map +1 -0
  170. package/dist/src/typeChoices.d.ts +140 -0
  171. package/dist/src/typeChoices.d.ts.map +1 -0
  172. package/dist/src/types.d.ts +758 -0
  173. package/dist/src/types.d.ts.map +1 -0
  174. package/dist/src/utils/FileList.d.ts +26 -0
  175. package/dist/src/utils/FileList.d.ts.map +1 -0
  176. package/dist/src/utils/dialogs.d.ts +111 -0
  177. package/dist/src/utils/dialogs.d.ts.map +1 -0
  178. package/dist/src/utils/jsonPointer.d.ts +46 -0
  179. package/dist/src/utils/jsonPointer.d.ts.map +1 -0
  180. package/dist/src/utils/media.d.ts +18 -0
  181. package/dist/src/utils/media.d.ts.map +1 -0
  182. package/dist/src/utils/objects.d.ts +16 -0
  183. package/dist/src/utils/objects.d.ts.map +1 -0
  184. package/dist/src/utils/templateUtils.d.ts +59 -0
  185. package/dist/src/utils/templateUtils.d.ts.map +1 -0
  186. package/dist/src/utils/types.d.ts +2 -0
  187. package/dist/src/utils/types.d.ts.map +1 -0
  188. package/dist/src/vendor-imports.d.ts +4 -0
  189. package/dist/src/vendor-imports.d.ts.map +1 -0
  190. package/dist/subTypes/blobHTMLType.d.ts.map +1 -1
  191. package/dist/superTypes/SpecialRealNumberType.d.ts.map +1 -1
  192. package/dist/superTypes/buffersourceType.d.ts.map +1 -1
  193. package/dist/superTypes/dommatrixType.d.ts.map +1 -1
  194. package/dist/superTypes/dompointType.d.ts.map +1 -1
  195. package/dist/superTypes/domrectType.d.ts.map +1 -1
  196. package/dist/superTypes/errorsSpecialType.d.ts.map +1 -1
  197. package/dist/typeChoices.d.ts +21 -87
  198. package/dist/typeChoices.d.ts.map +1 -1
  199. package/dist/types.d.ts +90 -64
  200. package/dist/types.d.ts.map +1 -1
  201. package/dist/utils/FileList.d.ts +4 -3
  202. package/dist/utils/FileList.d.ts.map +1 -1
  203. package/dist/utils/dialogs.d.ts +4 -4
  204. package/dist/utils/dialogs.d.ts.map +1 -1
  205. package/dist/utils/media.d.ts.map +1 -1
  206. package/dist/utils/schemaMeta.d.ts +92 -0
  207. package/dist/utils/schemaMeta.d.ts.map +1 -0
  208. package/dist/utils/templateUtils.d.ts +3 -3
  209. package/dist/utils/templateUtils.d.ts.map +1 -1
  210. package/dist/utils/timing.d.ts +2 -0
  211. package/dist/utils/timing.d.ts.map +1 -0
  212. package/dist/utils/types.d.ts +1 -0
  213. package/dist/utils/types.d.ts.map +1 -1
  214. package/dist/vendor-imports.d.ts +3 -1
  215. package/docs/proposals/schema-meta.md +233 -0
  216. package/eslint.config.js +51 -4
  217. package/licenseInfo.json +1 -1
  218. package/package.json +52 -42
  219. package/pnpm-workspace.yaml +57 -0
  220. package/rollup.config.js +20 -18
  221. package/server.js +3 -3
  222. package/src/deepEqual.js.map +1 -1
  223. package/src/formatAndTypeChoices.js +62 -58
  224. package/src/formats/indexedDBKey.js +3 -4
  225. package/src/formats/schema.js +824 -475
  226. package/src/formats/structuredCloning.js +189 -79
  227. package/src/formats.js +17 -5
  228. package/src/fundamentalTypes/BooleanObjectType.js +4 -5
  229. package/src/fundamentalTypes/NumberObjectType.js +4 -4
  230. package/src/fundamentalTypes/StringObjectType.js +3 -4
  231. package/src/fundamentalTypes/arrayReferenceType.js +0 -2
  232. package/src/fundamentalTypes/arrayType.js +624 -389
  233. package/src/fundamentalTypes/bigintObjectType.js +3 -2
  234. package/src/fundamentalTypes/bigintType.js +79 -17
  235. package/src/fundamentalTypes/blobType.js +35 -35
  236. package/src/fundamentalTypes/booleanType.js +16 -8
  237. package/src/fundamentalTypes/dateType.js +6 -8
  238. package/src/fundamentalTypes/domexceptionType.js +5 -4
  239. package/src/fundamentalTypes/errorType.js +39 -32
  240. package/src/fundamentalTypes/fileType.js +238 -52
  241. package/src/fundamentalTypes/functionType.js +61 -41
  242. package/src/fundamentalTypes/nanType.js +5 -4
  243. package/src/fundamentalTypes/noneditableType.js +4 -3
  244. package/src/fundamentalTypes/nullType.js +3 -2
  245. package/src/fundamentalTypes/numberType.js +72 -20
  246. package/src/fundamentalTypes/promiseType.js +16 -40
  247. package/src/fundamentalTypes/regexpType.js +7 -13
  248. package/src/fundamentalTypes/stringType.js +176 -110
  249. package/src/fundamentalTypes/symbolType.js +3 -2
  250. package/src/fundamentalTypes/undefinedType.js +3 -2
  251. package/src/index.js +6 -5
  252. package/src/jsoe.css +107 -8
  253. package/src/subTypes/blobHTMLType.js +23 -10
  254. package/src/superTypes/SpecialNumberType.js +6 -6
  255. package/src/superTypes/SpecialRealNumberType.js +10 -9
  256. package/src/superTypes/buffersourceType.js +86 -75
  257. package/src/superTypes/dommatrixType.js +6 -5
  258. package/src/superTypes/dompointType.js +6 -5
  259. package/src/superTypes/domrectType.js +6 -5
  260. package/src/superTypes/errorsSpecialType.js +54 -35
  261. package/src/typeChoices.js +399 -54
  262. package/src/types.js +157 -97
  263. package/src/utils/FileList.js +3 -3
  264. package/src/utils/dialogs.js +5 -7
  265. package/src/utils/jsonPointer.js +1 -1
  266. package/src/utils/media.js +1 -0
  267. package/src/utils/schemaMeta.js +257 -0
  268. package/src/utils/templateUtils.js +3 -3
  269. package/src/utils/timing.js +12 -0
  270. package/src/utils/types.js +19 -0
  271. package/src/vendor-imports.js +10 -2
  272. package/tsconfig.json +2 -0
  273. package/vendor/acorn/dist/acorn.d.mts +46 -5
  274. package/vendor/acorn/dist/acorn.d.ts +46 -5
  275. package/vendor/acorn/dist/acorn.js +394 -117
  276. package/vendor/acorn/dist/acorn.mjs +394 -117
  277. package/vendor/acorn/dist/bin.js +1 -1
  278. package/vendor/jamilih/dist/{jml-es.js → jml.mjs} +590 -312
  279. package/vendor/jamilih/package.json +1 -1
  280. package/vendor/mime/dist/types/other.js +719 -0
  281. package/vendor/mime/dist/types/standard.js +366 -0
  282. package/vendor/typeson-registry/dist/index.js +519 -99
  283. package/vendor/zod/classic/checks.d.ts +1 -0
  284. package/vendor/zod/classic/checks.js +1 -0
  285. package/vendor/zod/classic/coerce.d.ts +17 -0
  286. package/vendor/zod/classic/coerce.js +17 -0
  287. package/vendor/zod/classic/compat.d.ts +48 -0
  288. package/vendor/zod/classic/compat.js +31 -0
  289. package/vendor/zod/classic/deep-partial.d.ts +14 -0
  290. package/vendor/zod/classic/deep-partial.js +13 -0
  291. package/vendor/zod/classic/errors.d.ts +29 -0
  292. package/vendor/zod/classic/errors.js +57 -0
  293. package/vendor/zod/classic/external.d.ts +19 -0
  294. package/vendor/zod/classic/external.js +17 -0
  295. package/vendor/zod/classic/from-json-schema.d.ts +12 -0
  296. package/vendor/zod/classic/from-json-schema.js +660 -0
  297. package/vendor/zod/classic/in-out.d.ts +8 -0
  298. package/vendor/zod/classic/in-out.js +36 -0
  299. package/vendor/zod/classic/index.d.ts +3 -0
  300. package/vendor/zod/classic/index.js +4 -0
  301. package/vendor/zod/classic/iso.d.ts +7 -0
  302. package/vendor/zod/classic/iso.js +15 -0
  303. package/vendor/zod/classic/package.json +7 -0
  304. package/vendor/zod/classic/parse.d.ts +44 -0
  305. package/vendor/zod/classic/parse.js +16 -0
  306. package/vendor/zod/classic/schemas.d.ts +802 -0
  307. package/vendor/zod/classic/schemas.js +1491 -0
  308. package/vendor/zod/core/api.d.ts +329 -0
  309. package/vendor/zod/core/api.js +1104 -0
  310. package/vendor/zod/core/checks.d.ts +278 -0
  311. package/vendor/zod/core/checks.js +581 -0
  312. package/vendor/zod/core/compile.d.ts +51 -0
  313. package/vendor/zod/core/compile.js +1783 -0
  314. package/vendor/zod/core/core.d.ts +82 -0
  315. package/vendor/zod/core/core.js +141 -0
  316. package/vendor/zod/core/doc.d.ts +16 -0
  317. package/vendor/zod/core/doc.js +33 -0
  318. package/vendor/zod/core/errors.d.ts +225 -0
  319. package/vendor/zod/core/errors.js +270 -0
  320. package/vendor/zod/core/index.d.ts +19 -0
  321. package/vendor/zod/core/index.js +19 -0
  322. package/vendor/zod/core/json-schema-generator.d.ts +65 -0
  323. package/vendor/zod/core/json-schema-generator.js +99 -0
  324. package/vendor/zod/core/json-schema-processors.d.ts +49 -0
  325. package/vendor/zod/core/json-schema-processors.js +747 -0
  326. package/vendor/zod/core/json-schema.d.ts +89 -0
  327. package/vendor/zod/core/memoizer.d.ts +15 -0
  328. package/vendor/zod/core/memoizer.js +265 -0
  329. package/vendor/zod/core/package.json +7 -0
  330. package/vendor/zod/core/parse.d.ts +52 -0
  331. package/vendor/zod/core/parse.js +154 -0
  332. package/vendor/zod/core/regexes.d.ts +87 -0
  333. package/vendor/zod/core/regexes.js +150 -0
  334. package/vendor/zod/core/registries.d.ts +35 -0
  335. package/vendor/zod/core/registries.js +51 -0
  336. package/vendor/zod/core/schemas.d.ts +1253 -0
  337. package/vendor/zod/core/schemas.js +2440 -0
  338. package/vendor/zod/core/standard-schema.d.ts +126 -0
  339. package/vendor/zod/core/to-json-schema.d.ts +153 -0
  340. package/vendor/zod/core/to-json-schema.js +650 -0
  341. package/vendor/zod/core/util.d.ts +257 -0
  342. package/vendor/zod/core/util.js +846 -0
  343. package/vendor/zod/core/versions.d.ts +5 -0
  344. package/vendor/zod/core/versions.js +5 -0
  345. package/vendor/zod/core/visit.d.ts +30 -0
  346. package/vendor/zod/core/visit.js +169 -0
  347. package/vendor/zod/index.d.ts +3 -0
  348. package/vendor/zod/index.js +4 -0
  349. package/vendor/zod/locales/ar.d.ts +4 -0
  350. package/vendor/zod/locales/ar.js +109 -0
  351. package/vendor/zod/locales/az.d.ts +4 -0
  352. package/vendor/zod/locales/az.js +108 -0
  353. package/vendor/zod/locales/be.d.ts +4 -0
  354. package/vendor/zod/locales/be.js +166 -0
  355. package/vendor/zod/locales/bg.d.ts +4 -0
  356. package/vendor/zod/locales/bg.js +123 -0
  357. package/vendor/zod/locales/bn.d.ts +4 -0
  358. package/vendor/zod/locales/bn.js +111 -0
  359. package/vendor/zod/locales/ca.d.ts +4 -0
  360. package/vendor/zod/locales/ca.js +110 -0
  361. package/vendor/zod/locales/ckb.d.ts +4 -0
  362. package/vendor/zod/locales/ckb.js +131 -0
  363. package/vendor/zod/locales/cs.d.ts +4 -0
  364. package/vendor/zod/locales/cs.js +114 -0
  365. package/vendor/zod/locales/da.d.ts +4 -0
  366. package/vendor/zod/locales/da.js +118 -0
  367. package/vendor/zod/locales/de.d.ts +4 -0
  368. package/vendor/zod/locales/de.js +111 -0
  369. package/vendor/zod/locales/el.d.ts +4 -0
  370. package/vendor/zod/locales/el.js +110 -0
  371. package/vendor/zod/locales/en.d.ts +4 -0
  372. package/vendor/zod/locales/en.js +123 -0
  373. package/vendor/zod/locales/eo.d.ts +4 -0
  374. package/vendor/zod/locales/eo.js +112 -0
  375. package/vendor/zod/locales/es.d.ts +4 -0
  376. package/vendor/zod/locales/es.js +134 -0
  377. package/vendor/zod/locales/fa.d.ts +4 -0
  378. package/vendor/zod/locales/fa.js +117 -0
  379. package/vendor/zod/locales/fi.d.ts +4 -0
  380. package/vendor/zod/locales/fi.js +115 -0
  381. package/vendor/zod/locales/fr-CA.d.ts +4 -0
  382. package/vendor/zod/locales/fr-CA.js +110 -0
  383. package/vendor/zod/locales/fr.d.ts +4 -0
  384. package/vendor/zod/locales/fr.js +127 -0
  385. package/vendor/zod/locales/gu.d.ts +4 -0
  386. package/vendor/zod/locales/gu.js +111 -0
  387. package/vendor/zod/locales/he.d.ts +4 -0
  388. package/vendor/zod/locales/he.js +219 -0
  389. package/vendor/zod/locales/hi.d.ts +4 -0
  390. package/vendor/zod/locales/hi.js +109 -0
  391. package/vendor/zod/locales/hr.d.ts +4 -0
  392. package/vendor/zod/locales/hr.js +124 -0
  393. package/vendor/zod/locales/hu.d.ts +4 -0
  394. package/vendor/zod/locales/hu.js +111 -0
  395. package/vendor/zod/locales/hy.d.ts +4 -0
  396. package/vendor/zod/locales/hy.js +156 -0
  397. package/vendor/zod/locales/id.d.ts +4 -0
  398. package/vendor/zod/locales/id.js +109 -0
  399. package/vendor/zod/locales/index.d.ts +62 -0
  400. package/vendor/zod/locales/index.js +62 -0
  401. package/vendor/zod/locales/is.d.ts +4 -0
  402. package/vendor/zod/locales/is.js +112 -0
  403. package/vendor/zod/locales/it.d.ts +4 -0
  404. package/vendor/zod/locales/it.js +111 -0
  405. package/vendor/zod/locales/ja.d.ts +4 -0
  406. package/vendor/zod/locales/ja.js +110 -0
  407. package/vendor/zod/locales/ka.d.ts +4 -0
  408. package/vendor/zod/locales/ka.js +115 -0
  409. package/vendor/zod/locales/kh.d.ts +5 -0
  410. package/vendor/zod/locales/kh.js +5 -0
  411. package/vendor/zod/locales/km.d.ts +4 -0
  412. package/vendor/zod/locales/km.js +113 -0
  413. package/vendor/zod/locales/kn.d.ts +4 -0
  414. package/vendor/zod/locales/kn.js +114 -0
  415. package/vendor/zod/locales/ko.d.ts +4 -0
  416. package/vendor/zod/locales/ko.js +114 -0
  417. package/vendor/zod/locales/lt.d.ts +4 -0
  418. package/vendor/zod/locales/lt.js +205 -0
  419. package/vendor/zod/locales/mk.d.ts +4 -0
  420. package/vendor/zod/locales/mk.js +112 -0
  421. package/vendor/zod/locales/ms.d.ts +4 -0
  422. package/vendor/zod/locales/ms.js +110 -0
  423. package/vendor/zod/locales/ne.d.ts +4 -0
  424. package/vendor/zod/locales/ne.js +109 -0
  425. package/vendor/zod/locales/nl.d.ts +4 -0
  426. package/vendor/zod/locales/nl.js +113 -0
  427. package/vendor/zod/locales/nn.d.ts +4 -0
  428. package/vendor/zod/locales/nn.js +111 -0
  429. package/vendor/zod/locales/no.d.ts +4 -0
  430. package/vendor/zod/locales/no.js +111 -0
  431. package/vendor/zod/locales/ota.d.ts +4 -0
  432. package/vendor/zod/locales/ota.js +112 -0
  433. package/vendor/zod/locales/package.json +7 -0
  434. package/vendor/zod/locales/pl.d.ts +4 -0
  435. package/vendor/zod/locales/pl.js +112 -0
  436. package/vendor/zod/locales/ps.d.ts +4 -0
  437. package/vendor/zod/locales/ps.js +117 -0
  438. package/vendor/zod/locales/pt-BR.d.ts +4 -0
  439. package/vendor/zod/locales/pt-BR.js +141 -0
  440. package/vendor/zod/locales/pt.d.ts +4 -0
  441. package/vendor/zod/locales/pt.js +140 -0
  442. package/vendor/zod/locales/ro.d.ts +4 -0
  443. package/vendor/zod/locales/ro.js +120 -0
  444. package/vendor/zod/locales/ru.d.ts +4 -0
  445. package/vendor/zod/locales/ru.js +166 -0
  446. package/vendor/zod/locales/sk.d.ts +4 -0
  447. package/vendor/zod/locales/sk.js +114 -0
  448. package/vendor/zod/locales/sl.d.ts +4 -0
  449. package/vendor/zod/locales/sl.js +112 -0
  450. package/vendor/zod/locales/sv.d.ts +4 -0
  451. package/vendor/zod/locales/sv.js +113 -0
  452. package/vendor/zod/locales/ta.d.ts +4 -0
  453. package/vendor/zod/locales/ta.js +113 -0
  454. package/vendor/zod/locales/th.d.ts +4 -0
  455. package/vendor/zod/locales/th.js +113 -0
  456. package/vendor/zod/locales/tk.d.ts +4 -0
  457. package/vendor/zod/locales/tk.js +105 -0
  458. package/vendor/zod/locales/tr.d.ts +4 -0
  459. package/vendor/zod/locales/tr.js +108 -0
  460. package/vendor/zod/locales/ua.d.ts +5 -0
  461. package/vendor/zod/locales/ua.js +5 -0
  462. package/vendor/zod/locales/uk.d.ts +4 -0
  463. package/vendor/zod/locales/uk.js +111 -0
  464. package/vendor/zod/locales/ur.d.ts +4 -0
  465. package/vendor/zod/locales/ur.js +113 -0
  466. package/vendor/zod/locales/uz.d.ts +4 -0
  467. package/vendor/zod/locales/uz.js +111 -0
  468. package/vendor/zod/locales/vi.d.ts +4 -0
  469. package/vendor/zod/locales/vi.js +111 -0
  470. package/vendor/zod/locales/yo.d.ts +4 -0
  471. package/vendor/zod/locales/yo.js +110 -0
  472. package/vendor/zod/locales/zh-CN.d.ts +4 -0
  473. package/vendor/zod/locales/zh-CN.js +112 -0
  474. package/vendor/zod/locales/zh-TW.d.ts +4 -0
  475. package/vendor/zod/locales/zh-TW.js +110 -0
  476. package/vendor/zod/mini/checks.d.ts +1 -0
  477. package/vendor/zod/mini/checks.js +1 -0
  478. package/vendor/zod/mini/coerce.d.ts +7 -0
  479. package/vendor/zod/mini/coerce.js +22 -0
  480. package/vendor/zod/mini/deep-partial.d.ts +14 -0
  481. package/vendor/zod/mini/deep-partial.js +13 -0
  482. package/vendor/zod/mini/external.d.ts +16 -0
  483. package/vendor/zod/mini/external.js +16 -0
  484. package/vendor/zod/mini/in-out.d.ts +8 -0
  485. package/vendor/zod/mini/in-out.js +36 -0
  486. package/vendor/zod/mini/index.d.ts +3 -0
  487. package/vendor/zod/mini/index.js +3 -0
  488. package/vendor/zod/mini/iso.d.ts +22 -0
  489. package/vendor/zod/mini/iso.js +34 -0
  490. package/vendor/zod/mini/package.json +7 -0
  491. package/vendor/zod/mini/parse.d.ts +1 -0
  492. package/vendor/zod/mini/parse.js +1 -0
  493. package/vendor/zod/mini/schemas.d.ts +475 -0
  494. package/vendor/zod/mini/schemas.js +987 -0
  495. package/vendor/zod/package.json +7 -0
  496. package/vendor/zodexy/dist/esm/index.js +1274 -0
  497. package/vendor/zodexy/dist/index.js +1088 -0
  498. package/vendor/zodexy/dist/schema.zodexy.json +1036 -0
  499. package/dist/fundamentalTypes/nativeEnumType.d.ts +0 -6
  500. package/dist/fundamentalTypes/nativeEnumType.d.ts.map +0 -1
  501. package/src/fundamentalTypes/catchType.js +0 -140
  502. package/src/fundamentalTypes/enumType.js +0 -52
  503. package/src/fundamentalTypes/literalType.js +0 -81
  504. package/src/fundamentalTypes/nativeEnumType.js +0 -157
  505. package/src/fundamentalTypes/neverType.js +0 -49
  506. package/src/fundamentalTypes/recordType.js +0 -42
  507. package/src/fundamentalTypes/tupleType.js +0 -39
  508. package/src/fundamentalTypes/voidType.js +0 -48
  509. package/vendor/zod/lib/index.mjs +0 -4236
  510. package/vendor/zodex/dist/esm/dezerialize.d.ts +0 -26
  511. package/vendor/zodex/dist/esm/dezerialize.js +0 -393
  512. package/vendor/zodex/dist/esm/index.d.ts +0 -9
  513. package/vendor/zodex/dist/esm/index.js +0 -4
  514. package/vendor/zodex/dist/esm/infer.d.ts +0 -29
  515. package/vendor/zodex/dist/esm/package.json +0 -1
  516. package/vendor/zodex/dist/esm/types.d.ts +0 -201
  517. package/vendor/zodex/dist/esm/types.js +0 -13
  518. package/vendor/zodex/dist/esm/ui.d.ts +0 -23
  519. package/vendor/zodex/dist/esm/ui.js +0 -10
  520. package/vendor/zodex/dist/esm/zerialize.d.ts +0 -50
  521. package/vendor/zodex/dist/esm/zerialize.js +0 -417
  522. package/vendor/zodex/dist/esm/zod-types.d.ts +0 -11
  523. /package/vendor/{zodex/dist/esm/infer.js → zod/core/json-schema.js} +0 -0
  524. /package/vendor/{zodex/dist/esm/zod-types.js → zod/core/standard-schema.js} +0 -0
@@ -1,14 +1,14 @@
1
1
  // This file was generated. Do not modify manually!
2
- var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
2
+ var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 78, 5, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 199, 7, 137, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 55, 9, 266, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 233, 0, 3, 0, 8, 1, 6, 0, 475, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
3
3
 
4
4
  // This file was generated. Do not modify manually!
5
- var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
5
+ var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 7, 25, 39, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 5, 57, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 24, 43, 261, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 33, 24, 3, 24, 45, 74, 6, 0, 67, 12, 65, 1, 2, 0, 15, 4, 10, 7381, 42, 31, 98, 114, 8702, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 208, 30, 2, 2, 2, 1, 2, 6, 3, 4, 10, 1, 225, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4381, 3, 5773, 3, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 8489];
6
6
 
7
7
  // This file was generated. Do not modify manually!
8
- var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
8
+ var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1add\u1ae0-\u1aeb\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
9
9
 
10
10
  // This file was generated. Do not modify manually!
11
- var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
11
+ var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088f\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5c\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdc-\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7dc\ua7f1-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
12
12
 
13
13
  // These are a run-length and offset encoded representation of the
14
14
  // >0xffff code points that are a valid part of identifiers. The
@@ -333,9 +333,12 @@ var defaultOptions = {
333
333
  // for new syntax features.
334
334
  ecmaVersion: null,
335
335
  // `sourceType` indicates the mode the code should be parsed in.
336
- // Can be either `"script"` or `"module"`. This influences global
336
+ // Can be either `"script"`, `"module"` or `"commonjs"`. This influences global
337
337
  // strict mode and parsing of `import` and `export` declarations.
338
338
  sourceType: "script",
339
+ // When set to true, enable strict parsing mode even if `sourceType`
340
+ // is `"script"`.
341
+ strict: false,
339
342
  // `onInsertedSemicolon` can be a callback that will be called when
340
343
  // a semicolon is automatically inserted. It will be passed the
341
344
  // position of the inserted semicolon as an offset, and if
@@ -377,6 +380,11 @@ var defaultOptions = {
377
380
  // line being 1-based and column 0-based) will be attached to the
378
381
  // nodes.
379
382
  locations: false,
383
+ // Pass an optional `{line, column}` object to use for the start of
384
+ // the parse. This is mostly useful when using `parseExpressionAt`
385
+ // with `locations: true`, to prevent the parser from having to
386
+ // determine the line position at the start position.
387
+ startLocation: null,
380
388
  // A function can be passed as `onToken` option, which will
381
389
  // cause Acorn to call that function with object in the same
382
390
  // format as tokens returned from `tokenizer().getToken()`. Note
@@ -457,6 +465,9 @@ function getOptions(opts) {
457
465
  if (isArray(options.onComment))
458
466
  { options.onComment = pushComment(options, options.onComment); }
459
467
 
468
+ if (options.sourceType === "commonjs" && options.allowAwaitOutsideFunction)
469
+ { throw new Error("Cannot use allowAwaitOutsideFunction with sourceType: commonjs") }
470
+
460
471
  return options
461
472
  }
462
473
 
@@ -487,6 +498,8 @@ var
487
498
  SCOPE_SUPER = 64,
488
499
  SCOPE_DIRECT_SUPER = 128,
489
500
  SCOPE_CLASS_STATIC_BLOCK = 256,
501
+ SCOPE_CLASS_FIELD_INIT = 512,
502
+ SCOPE_SWITCH = 1024,
490
503
  SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK;
491
504
 
492
505
  function functionFlags(async, generator) {
@@ -525,13 +538,17 @@ var Parser = function Parser(options, input, startPos) {
525
538
  // Set up token state
526
539
 
527
540
  // The current position of the tokenizer in the input.
528
- if (startPos) {
529
- this.pos = startPos;
541
+ this.pos = startPos || 0;
542
+ this.curLine = 1;
543
+ if (options.startLocation) {
544
+ this.lineStart = this.pos - options.startLocation.column;
545
+ this.curLine = options.startLocation.line;
546
+ } else if (startPos) {
530
547
  this.lineStart = this.input.lastIndexOf("\n", startPos - 1) + 1;
531
- this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length;
548
+ if (this.options.locations)
549
+ { this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length; }
532
550
  } else {
533
- this.pos = this.lineStart = 0;
534
- this.curLine = 1;
551
+ this.lineStart = 0;
535
552
  }
536
553
 
537
554
  // Properties of the current token:
@@ -557,7 +574,7 @@ var Parser = function Parser(options, input, startPos) {
557
574
 
558
575
  // Figure out if it's a module code.
559
576
  this.inModule = options.sourceType === "module";
560
- this.strict = this.inModule || this.strictDirective(this.pos);
577
+ this.strict = this.inModule || options.strict === true || this.strictDirective(this.pos);
561
578
 
562
579
  // Used to signify the start of a potential arrow function
563
580
  this.potentialArrowAt = -1;
@@ -576,7 +593,12 @@ var Parser = function Parser(options, input, startPos) {
576
593
 
577
594
  // Scope tracking for duplicate variable names (see scope.js)
578
595
  this.scopeStack = [];
579
- this.enterScope(SCOPE_TOP);
596
+ this.enterScope(
597
+ this.options.sourceType === "commonjs"
598
+ // In commonjs, the top-level scope behaves like a function scope
599
+ ? SCOPE_FUNCTION
600
+ : SCOPE_TOP
601
+ );
580
602
 
581
603
  // For RegExp validation
582
604
  this.regexpState = null;
@@ -587,34 +609,42 @@ var Parser = function Parser(options, input, startPos) {
587
609
  this.privateNameStack = [];
588
610
  };
589
611
 
590
- var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },canAwait: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true },allowNewDotTarget: { configurable: true },inClassStaticBlock: { configurable: true } };
612
+ var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },canAwait: { configurable: true },allowReturn: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true },allowNewDotTarget: { configurable: true },allowUsing: { configurable: true },inClassStaticBlock: { configurable: true } };
591
613
 
592
614
  Parser.prototype.parse = function parse () {
615
+ var this$1$1 = this;
616
+
593
617
  var node = this.options.program || this.startNode();
594
618
  this.nextToken();
595
- return this.parseTopLevel(node)
619
+ return this.catchStackOverflow(function () { return this$1$1.parseTopLevel(node); })
596
620
  };
597
621
 
598
622
  prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };
599
623
 
600
- prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 && !this.currentVarScope().inClassFieldInit };
624
+ prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 };
601
625
 
602
- prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 && !this.currentVarScope().inClassFieldInit };
626
+ prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 };
603
627
 
604
628
  prototypeAccessors.canAwait.get = function () {
605
629
  for (var i = this.scopeStack.length - 1; i >= 0; i--) {
606
- var scope = this.scopeStack[i];
607
- if (scope.inClassFieldInit || scope.flags & SCOPE_CLASS_STATIC_BLOCK) { return false }
608
- if (scope.flags & SCOPE_FUNCTION) { return (scope.flags & SCOPE_ASYNC) > 0 }
630
+ var ref = this.scopeStack[i];
631
+ var flags = ref.flags;
632
+ if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT)) { return false }
633
+ if (flags & SCOPE_FUNCTION) { return (flags & SCOPE_ASYNC) > 0 }
609
634
  }
610
635
  return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction
611
636
  };
612
637
 
638
+ prototypeAccessors.allowReturn.get = function () {
639
+ if (this.inFunction) { return true }
640
+ if (this.options.allowReturnOutsideFunction && this.currentVarScope().flags & SCOPE_TOP) { return true }
641
+ return false
642
+ };
643
+
613
644
  prototypeAccessors.allowSuper.get = function () {
614
645
  var ref = this.currentThisScope();
615
646
  var flags = ref.flags;
616
- var inClassFieldInit = ref.inClassFieldInit;
617
- return (flags & SCOPE_SUPER) > 0 || inClassFieldInit || this.options.allowSuperOutsideMethod
647
+ return (flags & SCOPE_SUPER) > 0 || this.options.allowSuperOutsideMethod
618
648
  };
619
649
 
620
650
  prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };
@@ -622,10 +652,21 @@ prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThis
622
652
  prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };
623
653
 
624
654
  prototypeAccessors.allowNewDotTarget.get = function () {
625
- var ref = this.currentThisScope();
655
+ for (var i = this.scopeStack.length - 1; i >= 0; i--) {
656
+ var ref = this.scopeStack[i];
657
+ var flags = ref.flags;
658
+ if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT) ||
659
+ ((flags & SCOPE_FUNCTION) && !(flags & SCOPE_ARROW))) { return true }
660
+ }
661
+ return false
662
+ };
663
+
664
+ prototypeAccessors.allowUsing.get = function () {
665
+ var ref = this.currentScope();
626
666
  var flags = ref.flags;
627
- var inClassFieldInit = ref.inClassFieldInit;
628
- return (flags & (SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK)) > 0 || inClassFieldInit
667
+ if (flags & SCOPE_SWITCH) { return false }
668
+ if (!this.inModule && flags & SCOPE_TOP) { return false }
669
+ return true
629
670
  };
630
671
 
631
672
  prototypeAccessors.inClassStaticBlock.get = function () {
@@ -714,6 +755,17 @@ pp$9.eatContextual = function(name) {
714
755
  return true
715
756
  };
716
757
 
758
+ pp$9.catchStackOverflow = function(f) {
759
+ try {
760
+ return f()
761
+ } catch (e) {
762
+ if (e instanceof Error && (/\bstack\b.*\b(exceeded|overflow)\b/i.test(e.message) || /\btoo much recursion\b/i.test(e.message)))
763
+ { this.raise(this.start, "Not enough stack space to parse input"); }
764
+ else
765
+ { throw e }
766
+ }
767
+ };
768
+
717
769
  // Asserts that following token is given contextual keyword.
718
770
 
719
771
  pp$9.expectContextual = function(name) {
@@ -817,10 +869,10 @@ var pp$8 = Parser.prototype;
817
869
  // to its body instead of creating a new node.
818
870
 
819
871
  pp$8.parseTopLevel = function(node) {
820
- var exports = Object.create(null);
872
+ var exports$1 = Object.create(null);
821
873
  if (!node.body) { node.body = []; }
822
874
  while (this.type !== types$1.eof) {
823
- var stmt = this.parseStatement(null, true, exports);
875
+ var stmt = this.parseStatement(null, true, exports$1);
824
876
  node.body.push(stmt);
825
877
  }
826
878
  if (this.inModule)
@@ -832,7 +884,7 @@ pp$8.parseTopLevel = function(node) {
832
884
  } }
833
885
  this.adaptDirectivePrologue(node.body);
834
886
  this.next();
835
- node.sourceType = this.options.sourceType;
887
+ node.sourceType = this.options.sourceType === "commonjs" ? "script" : this.options.sourceType;
836
888
  return this.finishNode(node, "Program")
837
889
  };
838
890
 
@@ -842,7 +894,7 @@ pp$8.isLet = function(context) {
842
894
  if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false }
843
895
  skipWhiteSpace.lastIndex = this.pos;
844
896
  var skip = skipWhiteSpace.exec(this.input);
845
- var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);
897
+ var next = this.pos + skip[0].length, nextCh = this.fullCharCodeAt(next);
846
898
  // For ambiguous cases, determine if a LexicalDeclaration (or only a
847
899
  // Statement) is allowed here. If context is not empty then only a Statement
848
900
  // is allowed. However, `let [` is an explicit negative lookahead for
@@ -850,12 +902,13 @@ pp$8.isLet = function(context) {
850
902
  if (nextCh === 91 || nextCh === 92) { return true } // '[', '\'
851
903
  if (context) { return false }
852
904
 
853
- if (nextCh === 123 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true } // '{', astral
854
- if (isIdentifierStart(nextCh, true)) {
855
- var pos = next + 1;
856
- while (isIdentifierChar(nextCh = this.input.charCodeAt(pos), true)) { ++pos; }
857
- if (nextCh === 92 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true }
858
- var ident = this.input.slice(next, pos);
905
+ if (nextCh === 123) { return true } // '{'
906
+ if (isIdentifierStart(nextCh)) {
907
+ var start = next;
908
+ do { next += nextCh <= 0xffff ? 1 : 2; }
909
+ while (isIdentifierChar(nextCh = this.fullCharCodeAt(next)))
910
+ if (nextCh === 92) { return true }
911
+ var ident = this.input.slice(start, next);
859
912
  if (!keywordRelationalOperator.test(ident)) { return true }
860
913
  }
861
914
  return false
@@ -874,7 +927,61 @@ pp$8.isAsyncFunction = function() {
874
927
  return !lineBreak.test(this.input.slice(this.pos, next)) &&
875
928
  this.input.slice(next, next + 8) === "function" &&
876
929
  (next + 8 === this.input.length ||
877
- !(isIdentifierChar(after = this.input.charCodeAt(next + 8)) || after > 0xd7ff && after < 0xdc00))
930
+ !(isIdentifierChar(after = this.fullCharCodeAt(next + 8)) || after === 92 /* '\' */))
931
+ };
932
+
933
+ pp$8.isUsingKeyword = function(isAwaitUsing, isFor) {
934
+ if (this.options.ecmaVersion < 17 || !this.isContextual(isAwaitUsing ? "await" : "using"))
935
+ { return false }
936
+
937
+ skipWhiteSpace.lastIndex = this.pos;
938
+ var skip = skipWhiteSpace.exec(this.input);
939
+ var next = this.pos + skip[0].length;
940
+
941
+ if (lineBreak.test(this.input.slice(this.pos, next))) { return false }
942
+
943
+ if (isAwaitUsing) {
944
+ var usingEndPos = next + 5 /* using */, after;
945
+ if (this.input.slice(next, usingEndPos) !== "using" ||
946
+ usingEndPos === this.input.length ||
947
+ isIdentifierChar(after = this.fullCharCodeAt(usingEndPos)) ||
948
+ after === 92 /* '\' */
949
+ ) { return false }
950
+
951
+ skipWhiteSpace.lastIndex = usingEndPos;
952
+ var skipAfterUsing = skipWhiteSpace.exec(this.input);
953
+ next = usingEndPos + skipAfterUsing[0].length;
954
+ if (skipAfterUsing && lineBreak.test(this.input.slice(usingEndPos, next))) { return false }
955
+ }
956
+
957
+ var ch = this.fullCharCodeAt(next);
958
+ if (!isIdentifierStart(ch) && ch !== 92 /* '\' */) { return false }
959
+ var idStart = next;
960
+ do { next += ch <= 0xffff ? 1 : 2; }
961
+ while (isIdentifierChar(ch = this.fullCharCodeAt(next)))
962
+ if (ch === 92) { return true }
963
+ var id = this.input.slice(idStart, next);
964
+ if (keywordRelationalOperator.test(id)) { return false }
965
+ if (isFor && !isAwaitUsing && id === "of") {
966
+ // Look ahead for using declaration with initializer, i.e., `for (using of = ...)`
967
+ skipWhiteSpace.lastIndex = next;
968
+ var skipAfterOf = skipWhiteSpace.exec(this.input);
969
+ next = next + skipAfterOf[0].length;
970
+ if (this.input.charCodeAt(next) !== 61 /* '=' */ ||
971
+ // Check for ==, === and => operators
972
+ (ch = this.input.charCodeAt(next + 1)) === 61 /* '=' */ || ch === 62 /* '>' */) {
973
+ return false
974
+ }
975
+ }
976
+ return true
977
+ };
978
+
979
+ pp$8.isAwaitUsing = function(isFor) {
980
+ return this.isUsingKeyword(true, isFor)
981
+ };
982
+
983
+ pp$8.isUsing = function(isFor) {
984
+ return this.isUsingKeyword(false, isFor)
878
985
  };
879
986
 
880
987
  // Parse a single statement.
@@ -884,7 +991,7 @@ pp$8.isAsyncFunction = function() {
884
991
  // `if (foo) /blah/.exec(foo)`, where looking at the previous token
885
992
  // does not help.
886
993
 
887
- pp$8.parseStatement = function(context, topLevel, exports) {
994
+ pp$8.parseStatement = function(context, topLevel, exports$1) {
888
995
  var starttype = this.type, node = this.startNode(), kind;
889
996
 
890
997
  if (this.isLet(context)) {
@@ -939,7 +1046,7 @@ pp$8.parseStatement = function(context, topLevel, exports) {
939
1046
  if (!this.inModule)
940
1047
  { this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); }
941
1048
  }
942
- return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports)
1049
+ return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports$1)
943
1050
 
944
1051
  // If the statement does not start with a statement keyword or a
945
1052
  // brace, it's an ExpressionStatement or LabeledStatement. We
@@ -953,6 +1060,27 @@ pp$8.parseStatement = function(context, topLevel, exports) {
953
1060
  return this.parseFunctionStatement(node, true, !context)
954
1061
  }
955
1062
 
1063
+ var usingKind = this.isAwaitUsing(false) ? "await using" : this.isUsing(false) ? "using" : null;
1064
+ if (usingKind) {
1065
+ if (!this.allowUsing) {
1066
+ this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script` or in the bare case statement");
1067
+ }
1068
+ if (context) {
1069
+ // Cases like `for (;;) using x = ...;`, `if (true) await using x = ...;`, etc. are not allowed.
1070
+ this.raise(this.start, "Using declaration is not allowed in single-statement positions");
1071
+ }
1072
+ if (usingKind === "await using") {
1073
+ if (!this.canAwait) {
1074
+ this.raise(this.start, "Await using cannot appear outside of async function");
1075
+ }
1076
+ this.next();
1077
+ }
1078
+ this.next();
1079
+ this.parseVar(node, false, usingKind);
1080
+ this.semicolon();
1081
+ return this.finishNode(node, "VariableDeclaration")
1082
+ }
1083
+
956
1084
  var maybeName = this.value, expr = this.parseExpression();
957
1085
  if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon))
958
1086
  { return this.parseLabeledStatement(node, maybeName, expr, context) }
@@ -1028,18 +1156,24 @@ pp$8.parseForStatement = function(node) {
1028
1156
  this.next();
1029
1157
  this.parseVar(init$1, true, kind);
1030
1158
  this.finishNode(init$1, "VariableDeclaration");
1031
- if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1) {
1032
- if (this.options.ecmaVersion >= 9) {
1033
- if (this.type === types$1._in) {
1034
- if (awaitAt > -1) { this.unexpected(awaitAt); }
1035
- } else { node.await = awaitAt > -1; }
1159
+ return this.parseForAfterInit(node, init$1, awaitAt)
1160
+ }
1161
+ var startsWithLet = this.isContextual("let"), isForOf = false;
1162
+
1163
+ var usingKind = this.isUsing(true) ? "using" : this.isAwaitUsing(true) ? "await using" : null;
1164
+ if (usingKind) {
1165
+ var init$2 = this.startNode();
1166
+ this.next();
1167
+ if (usingKind === "await using") {
1168
+ if (!this.canAwait) {
1169
+ this.raise(this.start, "Await using cannot appear outside of async function");
1036
1170
  }
1037
- return this.parseForIn(node, init$1)
1171
+ this.next();
1038
1172
  }
1039
- if (awaitAt > -1) { this.unexpected(awaitAt); }
1040
- return this.parseFor(node, init$1)
1173
+ this.parseVar(init$2, true, usingKind);
1174
+ this.finishNode(init$2, "VariableDeclaration");
1175
+ return this.parseForAfterInit(node, init$2, awaitAt)
1041
1176
  }
1042
- var startsWithLet = this.isContextual("let"), isForOf = false;
1043
1177
  var containsEsc = this.containsEsc;
1044
1178
  var refDestructuringErrors = new DestructuringErrors;
1045
1179
  var initPos = this.start;
@@ -1065,6 +1199,21 @@ pp$8.parseForStatement = function(node) {
1065
1199
  return this.parseFor(node, init)
1066
1200
  };
1067
1201
 
1202
+ // Helper method to parse for loop after variable initialization
1203
+ pp$8.parseForAfterInit = function(node, init, awaitAt) {
1204
+ if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1) {
1205
+ if (this.type === types$1._in) {
1206
+ if ((init.kind === "using" || init.kind === "await using") && !init.declarations[0].init) {
1207
+ this.raise(this.start, "Using declaration is not allowed in for-in loops");
1208
+ }
1209
+ if (this.options.ecmaVersion >= 9 && awaitAt > -1) { this.unexpected(awaitAt); }
1210
+ } else if (this.options.ecmaVersion >= 9) { node.await = awaitAt > -1; }
1211
+ return this.parseForIn(node, init)
1212
+ }
1213
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
1214
+ return this.parseFor(node, init)
1215
+ };
1216
+
1068
1217
  pp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) {
1069
1218
  this.next();
1070
1219
  return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)
@@ -1080,7 +1229,7 @@ pp$8.parseIfStatement = function(node) {
1080
1229
  };
1081
1230
 
1082
1231
  pp$8.parseReturnStatement = function(node) {
1083
- if (!this.inFunction && !this.options.allowReturnOutsideFunction)
1232
+ if (!this.allowReturn)
1084
1233
  { this.raise(this.start, "'return' outside of function"); }
1085
1234
  this.next();
1086
1235
 
@@ -1099,7 +1248,7 @@ pp$8.parseSwitchStatement = function(node) {
1099
1248
  node.cases = [];
1100
1249
  this.expect(types$1.braceL);
1101
1250
  this.labels.push(switchLabel);
1102
- this.enterScope(0);
1251
+ this.enterScope(SCOPE_SWITCH);
1103
1252
 
1104
1253
  // Statements under must be grouped (by label) in SwitchCase
1105
1254
  // nodes. `cur` is used to keep the node that we are currently
@@ -1321,6 +1470,8 @@ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
1321
1470
  decl.init = this.parseMaybeAssign(isFor);
1322
1471
  } else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
1323
1472
  this.unexpected();
1473
+ } else if (!allowMissingInitializer && (kind === "using" || kind === "await using") && this.options.ecmaVersion >= 17 && this.type !== types$1._in && !this.isContextual("of")) {
1474
+ this.raise(this.lastTokEnd, ("Missing initializer in " + kind + " declaration"));
1324
1475
  } else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
1325
1476
  this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
1326
1477
  } else {
@@ -1333,7 +1484,10 @@ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
1333
1484
  };
1334
1485
 
1335
1486
  pp$8.parseVarId = function(decl, kind) {
1336
- decl.id = this.parseBindingAtom();
1487
+ decl.id = kind === "using" || kind === "await using"
1488
+ ? this.parseIdent()
1489
+ : this.parseBindingAtom();
1490
+
1337
1491
  this.checkLValPattern(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
1338
1492
  };
1339
1493
 
@@ -1552,11 +1706,9 @@ pp$8.parseClassField = function(field) {
1552
1706
 
1553
1707
  if (this.eat(types$1.eq)) {
1554
1708
  // To raise SyntaxError if 'arguments' exists in the initializer.
1555
- var scope = this.currentThisScope();
1556
- var inClassFieldInit = scope.inClassFieldInit;
1557
- scope.inClassFieldInit = true;
1709
+ this.enterScope(SCOPE_CLASS_FIELD_INIT | SCOPE_SUPER);
1558
1710
  field.value = this.parseMaybeAssign();
1559
- scope.inClassFieldInit = inClassFieldInit;
1711
+ this.exitScope();
1560
1712
  } else {
1561
1713
  field.value = null;
1562
1714
  }
@@ -1660,11 +1812,11 @@ function checkKeyName(node, name) {
1660
1812
 
1661
1813
  // Parses module export declaration.
1662
1814
 
1663
- pp$8.parseExportAllDeclaration = function(node, exports) {
1815
+ pp$8.parseExportAllDeclaration = function(node, exports$1) {
1664
1816
  if (this.options.ecmaVersion >= 11) {
1665
1817
  if (this.eatContextual("as")) {
1666
1818
  node.exported = this.parseModuleExportName();
1667
- this.checkExport(exports, node.exported, this.lastTokStart);
1819
+ this.checkExport(exports$1, node.exported, this.lastTokStart);
1668
1820
  } else {
1669
1821
  node.exported = null;
1670
1822
  }
@@ -1672,18 +1824,20 @@ pp$8.parseExportAllDeclaration = function(node, exports) {
1672
1824
  this.expectContextual("from");
1673
1825
  if (this.type !== types$1.string) { this.unexpected(); }
1674
1826
  node.source = this.parseExprAtom();
1827
+ if (this.options.ecmaVersion >= 16)
1828
+ { node.attributes = this.parseWithClause(); }
1675
1829
  this.semicolon();
1676
1830
  return this.finishNode(node, "ExportAllDeclaration")
1677
1831
  };
1678
1832
 
1679
- pp$8.parseExport = function(node, exports) {
1833
+ pp$8.parseExport = function(node, exports$1) {
1680
1834
  this.next();
1681
1835
  // export * from '...'
1682
1836
  if (this.eat(types$1.star)) {
1683
- return this.parseExportAllDeclaration(node, exports)
1837
+ return this.parseExportAllDeclaration(node, exports$1)
1684
1838
  }
1685
1839
  if (this.eat(types$1._default)) { // export default ...
1686
- this.checkExport(exports, "default", this.lastTokStart);
1840
+ this.checkExport(exports$1, "default", this.lastTokStart);
1687
1841
  node.declaration = this.parseExportDefaultDeclaration();
1688
1842
  return this.finishNode(node, "ExportDefaultDeclaration")
1689
1843
  }
@@ -1691,17 +1845,21 @@ pp$8.parseExport = function(node, exports) {
1691
1845
  if (this.shouldParseExportStatement()) {
1692
1846
  node.declaration = this.parseExportDeclaration(node);
1693
1847
  if (node.declaration.type === "VariableDeclaration")
1694
- { this.checkVariableExport(exports, node.declaration.declarations); }
1848
+ { this.checkVariableExport(exports$1, node.declaration.declarations); }
1695
1849
  else
1696
- { this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
1850
+ { this.checkExport(exports$1, node.declaration.id, node.declaration.id.start); }
1697
1851
  node.specifiers = [];
1698
1852
  node.source = null;
1853
+ if (this.options.ecmaVersion >= 16)
1854
+ { node.attributes = []; }
1699
1855
  } else { // export { x, y as z } [from '...']
1700
1856
  node.declaration = null;
1701
- node.specifiers = this.parseExportSpecifiers(exports);
1857
+ node.specifiers = this.parseExportSpecifiers(exports$1);
1702
1858
  if (this.eatContextual("from")) {
1703
1859
  if (this.type !== types$1.string) { this.unexpected(); }
1704
1860
  node.source = this.parseExprAtom();
1861
+ if (this.options.ecmaVersion >= 16)
1862
+ { node.attributes = this.parseWithClause(); }
1705
1863
  } else {
1706
1864
  for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
1707
1865
  // check for keywords used as local names
@@ -1717,6 +1875,8 @@ pp$8.parseExport = function(node, exports) {
1717
1875
  }
1718
1876
 
1719
1877
  node.source = null;
1878
+ if (this.options.ecmaVersion >= 16)
1879
+ { node.attributes = []; }
1720
1880
  }
1721
1881
  this.semicolon();
1722
1882
  }
@@ -1744,47 +1904,47 @@ pp$8.parseExportDefaultDeclaration = function() {
1744
1904
  }
1745
1905
  };
1746
1906
 
1747
- pp$8.checkExport = function(exports, name, pos) {
1748
- if (!exports) { return }
1907
+ pp$8.checkExport = function(exports$1, name, pos) {
1908
+ if (!exports$1) { return }
1749
1909
  if (typeof name !== "string")
1750
1910
  { name = name.type === "Identifier" ? name.name : name.value; }
1751
- if (hasOwn(exports, name))
1911
+ if (hasOwn(exports$1, name))
1752
1912
  { this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
1753
- exports[name] = true;
1913
+ exports$1[name] = true;
1754
1914
  };
1755
1915
 
1756
- pp$8.checkPatternExport = function(exports, pat) {
1916
+ pp$8.checkPatternExport = function(exports$1, pat) {
1757
1917
  var type = pat.type;
1758
1918
  if (type === "Identifier")
1759
- { this.checkExport(exports, pat, pat.start); }
1919
+ { this.checkExport(exports$1, pat, pat.start); }
1760
1920
  else if (type === "ObjectPattern")
1761
1921
  { for (var i = 0, list = pat.properties; i < list.length; i += 1)
1762
1922
  {
1763
1923
  var prop = list[i];
1764
1924
 
1765
- this.checkPatternExport(exports, prop);
1925
+ this.checkPatternExport(exports$1, prop);
1766
1926
  } }
1767
1927
  else if (type === "ArrayPattern")
1768
1928
  { for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {
1769
1929
  var elt = list$1[i$1];
1770
1930
 
1771
- if (elt) { this.checkPatternExport(exports, elt); }
1931
+ if (elt) { this.checkPatternExport(exports$1, elt); }
1772
1932
  } }
1773
1933
  else if (type === "Property")
1774
- { this.checkPatternExport(exports, pat.value); }
1934
+ { this.checkPatternExport(exports$1, pat.value); }
1775
1935
  else if (type === "AssignmentPattern")
1776
- { this.checkPatternExport(exports, pat.left); }
1936
+ { this.checkPatternExport(exports$1, pat.left); }
1777
1937
  else if (type === "RestElement")
1778
- { this.checkPatternExport(exports, pat.argument); }
1938
+ { this.checkPatternExport(exports$1, pat.argument); }
1779
1939
  };
1780
1940
 
1781
- pp$8.checkVariableExport = function(exports, decls) {
1782
- if (!exports) { return }
1941
+ pp$8.checkVariableExport = function(exports$1, decls) {
1942
+ if (!exports$1) { return }
1783
1943
  for (var i = 0, list = decls; i < list.length; i += 1)
1784
1944
  {
1785
1945
  var decl = list[i];
1786
1946
 
1787
- this.checkPatternExport(exports, decl.id);
1947
+ this.checkPatternExport(exports$1, decl.id);
1788
1948
  }
1789
1949
  };
1790
1950
 
@@ -1799,13 +1959,13 @@ pp$8.shouldParseExportStatement = function() {
1799
1959
 
1800
1960
  // Parses a comma-separated list of module exports.
1801
1961
 
1802
- pp$8.parseExportSpecifier = function(exports) {
1962
+ pp$8.parseExportSpecifier = function(exports$1) {
1803
1963
  var node = this.startNode();
1804
1964
  node.local = this.parseModuleExportName();
1805
1965
 
1806
1966
  node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
1807
1967
  this.checkExport(
1808
- exports,
1968
+ exports$1,
1809
1969
  node.exported,
1810
1970
  node.exported.start
1811
1971
  );
@@ -1813,7 +1973,7 @@ pp$8.parseExportSpecifier = function(exports) {
1813
1973
  return this.finishNode(node, "ExportSpecifier")
1814
1974
  };
1815
1975
 
1816
- pp$8.parseExportSpecifiers = function(exports) {
1976
+ pp$8.parseExportSpecifiers = function(exports$1) {
1817
1977
  var nodes = [], first = true;
1818
1978
  // export { x, y as z } [from '...']
1819
1979
  this.expect(types$1.braceL);
@@ -1823,7 +1983,7 @@ pp$8.parseExportSpecifiers = function(exports) {
1823
1983
  if (this.afterTrailingComma(types$1.braceR)) { break }
1824
1984
  } else { first = false; }
1825
1985
 
1826
- nodes.push(this.parseExportSpecifier(exports));
1986
+ nodes.push(this.parseExportSpecifier(exports$1));
1827
1987
  }
1828
1988
  return nodes
1829
1989
  };
@@ -1842,6 +2002,8 @@ pp$8.parseImport = function(node) {
1842
2002
  this.expectContextual("from");
1843
2003
  node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();
1844
2004
  }
2005
+ if (this.options.ecmaVersion >= 16)
2006
+ { node.attributes = this.parseWithClause(); }
1845
2007
  this.semicolon();
1846
2008
  return this.finishNode(node, "ImportDeclaration")
1847
2009
  };
@@ -1902,6 +2064,41 @@ pp$8.parseImportSpecifiers = function() {
1902
2064
  return nodes
1903
2065
  };
1904
2066
 
2067
+ pp$8.parseWithClause = function() {
2068
+ var nodes = [];
2069
+ if (!this.eat(types$1._with)) {
2070
+ return nodes
2071
+ }
2072
+ this.expect(types$1.braceL);
2073
+ var attributeKeys = {};
2074
+ var first = true;
2075
+ while (!this.eat(types$1.braceR)) {
2076
+ if (!first) {
2077
+ this.expect(types$1.comma);
2078
+ if (this.afterTrailingComma(types$1.braceR)) { break }
2079
+ } else { first = false; }
2080
+
2081
+ var attr = this.parseImportAttribute();
2082
+ var keyName = attr.key.type === "Identifier" ? attr.key.name : attr.key.value;
2083
+ if (hasOwn(attributeKeys, keyName))
2084
+ { this.raiseRecoverable(attr.key.start, "Duplicate attribute key '" + keyName + "'"); }
2085
+ attributeKeys[keyName] = true;
2086
+ nodes.push(attr);
2087
+ }
2088
+ return nodes
2089
+ };
2090
+
2091
+ pp$8.parseImportAttribute = function() {
2092
+ var node = this.startNode();
2093
+ node.key = this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
2094
+ this.expect(types$1.colon);
2095
+ if (this.type !== types$1.string) {
2096
+ this.unexpected();
2097
+ }
2098
+ node.value = this.parseExprAtom();
2099
+ return this.finishNode(node, "ImportAttribute")
2100
+ };
2101
+
1905
2102
  pp$8.parseModuleExportName = function() {
1906
2103
  if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
1907
2104
  var stringLiteral = this.parseLiteral(this.value);
@@ -2517,15 +2714,19 @@ pp$5.checkPropClash = function(prop, propHash, refDestructuringErrors) {
2517
2714
  // delayed syntax error at correct position).
2518
2715
 
2519
2716
  pp$5.parseExpression = function(forInit, refDestructuringErrors) {
2520
- var startPos = this.start, startLoc = this.startLoc;
2521
- var expr = this.parseMaybeAssign(forInit, refDestructuringErrors);
2522
- if (this.type === types$1.comma) {
2523
- var node = this.startNodeAt(startPos, startLoc);
2524
- node.expressions = [expr];
2525
- while (this.eat(types$1.comma)) { node.expressions.push(this.parseMaybeAssign(forInit, refDestructuringErrors)); }
2526
- return this.finishNode(node, "SequenceExpression")
2527
- }
2528
- return expr
2717
+ var this$1$1 = this;
2718
+
2719
+ return this.catchStackOverflow(function () {
2720
+ var startPos = this$1$1.start, startLoc = this$1$1.startLoc;
2721
+ var expr = this$1$1.parseMaybeAssign(forInit, refDestructuringErrors);
2722
+ if (this$1$1.type === types$1.comma) {
2723
+ var node = this$1$1.startNodeAt(startPos, startLoc);
2724
+ node.expressions = [expr];
2725
+ while (this$1$1.eat(types$1.comma)) { node.expressions.push(this$1$1.parseMaybeAssign(forInit, refDestructuringErrors)); }
2726
+ return this$1$1.finishNode(node, "SequenceExpression")
2727
+ }
2728
+ return expr
2729
+ })
2529
2730
  };
2530
2731
 
2531
2732
  // Parse an assignment expression. This includes applications of
@@ -2590,7 +2791,7 @@ pp$5.parseMaybeConditional = function(forInit, refDestructuringErrors) {
2590
2791
  var startPos = this.start, startLoc = this.startLoc;
2591
2792
  var expr = this.parseExprOps(forInit, refDestructuringErrors);
2592
2793
  if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
2593
- if (this.eat(types$1.question)) {
2794
+ if (!(expr.type === "ArrowFunctionExpression" && expr.start === startPos) && this.eat(types$1.question)) {
2594
2795
  var node = this.startNodeAt(startPos, startLoc);
2595
2796
  node.test = expr;
2596
2797
  node.consequent = this.parseMaybeAssign();
@@ -2690,7 +2891,7 @@ pp$5.parseMaybeUnary = function(refDestructuringErrors, sawUnary, incDec, forIni
2690
2891
  }
2691
2892
  }
2692
2893
 
2693
- if (!incDec && this.eat(types$1.starstar)) {
2894
+ if (!incDec && !(expr.type === "ArrowFunctionExpression" && expr.start === startPos) && this.eat(types$1.starstar)) {
2694
2895
  if (sawUnary)
2695
2896
  { this.unexpected(this.lastTokStart); }
2696
2897
  else
@@ -2969,13 +3170,32 @@ pp$5.parseDynamicImport = function(node) {
2969
3170
  // Parse node.source.
2970
3171
  node.source = this.parseMaybeAssign();
2971
3172
 
2972
- // Verify ending.
2973
- if (!this.eat(types$1.parenR)) {
2974
- var errorPos = this.start;
2975
- if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
2976
- this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
3173
+ if (this.options.ecmaVersion >= 16) {
3174
+ if (!this.eat(types$1.parenR)) {
3175
+ this.expect(types$1.comma);
3176
+ if (!this.afterTrailingComma(types$1.parenR)) {
3177
+ node.options = this.parseMaybeAssign();
3178
+ if (!this.eat(types$1.parenR)) {
3179
+ this.expect(types$1.comma);
3180
+ if (!this.afterTrailingComma(types$1.parenR)) {
3181
+ this.unexpected();
3182
+ }
3183
+ }
3184
+ } else {
3185
+ node.options = null;
3186
+ }
2977
3187
  } else {
2978
- this.unexpected(errorPos);
3188
+ node.options = null;
3189
+ }
3190
+ } else {
3191
+ // Verify ending.
3192
+ if (!this.eat(types$1.parenR)) {
3193
+ var errorPos = this.start;
3194
+ if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
3195
+ this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
3196
+ } else {
3197
+ this.unexpected(errorPos);
3198
+ }
2979
3199
  }
2980
3200
  }
2981
3201
 
@@ -3002,7 +3222,8 @@ pp$5.parseLiteral = function(value) {
3002
3222
  var node = this.startNode();
3003
3223
  node.value = value;
3004
3224
  node.raw = this.input.slice(this.start, this.end);
3005
- if (node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1).replace(/_/g, ""); }
3225
+ if (node.raw.charCodeAt(node.raw.length - 1) === 110)
3226
+ { node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, ""); }
3006
3227
  this.next();
3007
3228
  return this.finishNode(node, "Literal")
3008
3229
  };
@@ -3122,6 +3343,8 @@ pp$5.parseNew = function() {
3122
3343
  }
3123
3344
  var startPos = this.start, startLoc = this.startLoc;
3124
3345
  node.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), startPos, startLoc, true, false);
3346
+ if (node.callee.type === "Super")
3347
+ { this.raiseRecoverable(startPos, "Invalid use of 'super'"); }
3125
3348
  if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); }
3126
3349
  else { node.arguments = empty; }
3127
3350
  return this.finishNode(node, "NewExpression")
@@ -3240,9 +3463,10 @@ pp$5.parseProperty = function(isPattern, refDestructuringErrors) {
3240
3463
  };
3241
3464
 
3242
3465
  pp$5.parseGetterSetter = function(prop) {
3243
- prop.kind = prop.key.name;
3466
+ var kind = prop.key.name;
3244
3467
  this.parsePropertyName(prop);
3245
3468
  prop.value = this.parseMethod(false);
3469
+ prop.kind = kind;
3246
3470
  var paramCount = prop.kind === "get" ? 0 : 1;
3247
3471
  if (prop.value.params.length !== paramCount) {
3248
3472
  var start = prop.value.start;
@@ -3265,9 +3489,9 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
3265
3489
  prop.kind = "init";
3266
3490
  } else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {
3267
3491
  if (isPattern) { this.unexpected(); }
3268
- prop.kind = "init";
3269
3492
  prop.method = true;
3270
3493
  prop.value = this.parseMethod(isGenerator, isAsync);
3494
+ prop.kind = "init";
3271
3495
  } else if (!isPattern && !containsEsc &&
3272
3496
  this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
3273
3497
  (prop.key.name === "get" || prop.key.name === "set") &&
@@ -3279,7 +3503,6 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
3279
3503
  this.checkUnreserved(prop.key);
3280
3504
  if (prop.key.name === "await" && !this.awaitIdentPos)
3281
3505
  { this.awaitIdentPos = startPos; }
3282
- prop.kind = "init";
3283
3506
  if (isPattern) {
3284
3507
  prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
3285
3508
  } else if (this.type === types$1.eq && refDestructuringErrors) {
@@ -3289,6 +3512,7 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
3289
3512
  } else {
3290
3513
  prop.value = this.copyNode(prop.key);
3291
3514
  }
3515
+ prop.kind = "init";
3292
3516
  prop.shorthand = true;
3293
3517
  } else { this.unexpected(); }
3294
3518
  };
@@ -3464,7 +3688,7 @@ pp$5.checkUnreserved = function(ref) {
3464
3688
  { this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); }
3465
3689
  if (this.inAsync && name === "await")
3466
3690
  { this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); }
3467
- if (this.currentThisScope().inClassFieldInit && name === "arguments")
3691
+ if (!(this.currentThisScope().flags & SCOPE_VAR) && name === "arguments")
3468
3692
  { this.raiseRecoverable(start, "Cannot use 'arguments' in class field initializer"); }
3469
3693
  if (this.inClassStaticBlock && (name === "arguments" || name === "await"))
3470
3694
  { this.raise(start, ("Cannot use " + name + " in class static initialization block")); }
@@ -3577,6 +3801,9 @@ var pp$4 = Parser.prototype;
3577
3801
  pp$4.raise = function(pos, message) {
3578
3802
  var loc = getLineInfo(this.input, pos);
3579
3803
  message += " (" + loc.line + ":" + loc.column + ")";
3804
+ if (this.sourceFile) {
3805
+ message += " in " + this.sourceFile;
3806
+ }
3580
3807
  var err = new SyntaxError(message);
3581
3808
  err.pos = pos; err.loc = loc; err.raisedAt = this.pos;
3582
3809
  throw err
@@ -3600,8 +3827,6 @@ var Scope = function Scope(flags) {
3600
3827
  this.lexical = [];
3601
3828
  // A list of lexically-declared FunctionDeclaration names in the current lexical scope
3602
3829
  this.functions = [];
3603
- // A switch to disallow the identifier reference 'arguments'
3604
- this.inClassFieldInit = false;
3605
3830
  };
3606
3831
 
3607
3832
  // The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.
@@ -3671,7 +3896,7 @@ pp$3.currentScope = function() {
3671
3896
  pp$3.currentVarScope = function() {
3672
3897
  for (var i = this.scopeStack.length - 1;; i--) {
3673
3898
  var scope = this.scopeStack[i];
3674
- if (scope.flags & SCOPE_VAR) { return scope }
3899
+ if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK)) { return scope }
3675
3900
  }
3676
3901
  };
3677
3902
 
@@ -3679,7 +3904,8 @@ pp$3.currentVarScope = function() {
3679
3904
  pp$3.currentThisScope = function() {
3680
3905
  for (var i = this.scopeStack.length - 1;; i--) {
3681
3906
  var scope = this.scopeStack[i];
3682
- if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) { return scope }
3907
+ if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK) &&
3908
+ !(scope.flags & SCOPE_ARROW)) { return scope }
3683
3909
  }
3684
3910
  };
3685
3911
 
@@ -3735,6 +3961,9 @@ pp$2.copyNode = function(node) {
3735
3961
  return newNode
3736
3962
  };
3737
3963
 
3964
+ // This file was generated by "bin/generate-unicode-script-values.js". Do not modify manually!
3965
+ var scriptValuesAddedInUnicode = "Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz";
3966
+
3738
3967
  // This file contains Unicode properties extracted from the ECMAScript specification.
3739
3968
  // The lists are extracted like so:
3740
3969
  // $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)
@@ -3777,7 +4006,7 @@ var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Han
3777
4006
  var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
3778
4007
  var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
3779
4008
  var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
3780
- var ecma14ScriptValues = ecma13ScriptValues + " Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz";
4009
+ var ecma14ScriptValues = ecma13ScriptValues + " " + scriptValuesAddedInUnicode;
3781
4010
 
3782
4011
  var unicodeScriptValues = {
3783
4012
  9: ecma9ScriptValues,
@@ -4202,12 +4431,41 @@ pp$1.regexp_eatReverseSolidusAtomEscape = function(state) {
4202
4431
  pp$1.regexp_eatUncapturingGroup = function(state) {
4203
4432
  var start = state.pos;
4204
4433
  if (state.eat(0x28 /* ( */)) {
4205
- if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {
4206
- this.regexp_disjunction(state);
4207
- if (state.eat(0x29 /* ) */)) {
4208
- return true
4434
+ if (state.eat(0x3F /* ? */)) {
4435
+ if (this.options.ecmaVersion >= 16) {
4436
+ var addModifiers = this.regexp_eatModifiers(state);
4437
+ var hasHyphen = state.eat(0x2D /* - */);
4438
+ if (addModifiers || hasHyphen) {
4439
+ for (var i = 0; i < addModifiers.length; i++) {
4440
+ var modifier = addModifiers.charAt(i);
4441
+ if (addModifiers.indexOf(modifier, i + 1) > -1) {
4442
+ state.raise("Duplicate regular expression modifiers");
4443
+ }
4444
+ }
4445
+ if (hasHyphen) {
4446
+ var removeModifiers = this.regexp_eatModifiers(state);
4447
+ if (!addModifiers && !removeModifiers && state.current() === 0x3A /* : */) {
4448
+ state.raise("Invalid regular expression modifiers");
4449
+ }
4450
+ for (var i$1 = 0; i$1 < removeModifiers.length; i$1++) {
4451
+ var modifier$1 = removeModifiers.charAt(i$1);
4452
+ if (
4453
+ removeModifiers.indexOf(modifier$1, i$1 + 1) > -1 ||
4454
+ addModifiers.indexOf(modifier$1) > -1
4455
+ ) {
4456
+ state.raise("Duplicate regular expression modifiers");
4457
+ }
4458
+ }
4459
+ }
4460
+ }
4461
+ }
4462
+ if (state.eat(0x3A /* : */)) {
4463
+ this.regexp_disjunction(state);
4464
+ if (state.eat(0x29 /* ) */)) {
4465
+ return true
4466
+ }
4467
+ state.raise("Unterminated group");
4209
4468
  }
4210
- state.raise("Unterminated group");
4211
4469
  }
4212
4470
  state.pos = start;
4213
4471
  }
@@ -4229,6 +4487,23 @@ pp$1.regexp_eatCapturingGroup = function(state) {
4229
4487
  }
4230
4488
  return false
4231
4489
  };
4490
+ // RegularExpressionModifiers ::
4491
+ // [empty]
4492
+ // RegularExpressionModifiers RegularExpressionModifier
4493
+ pp$1.regexp_eatModifiers = function(state) {
4494
+ var modifiers = "";
4495
+ var ch = 0;
4496
+ while ((ch = state.current()) !== -1 && isRegularExpressionModifier(ch)) {
4497
+ modifiers += codePointToString(ch);
4498
+ state.advance();
4499
+ }
4500
+ return modifiers
4501
+ };
4502
+ // RegularExpressionModifier :: one of
4503
+ // `i` `m` `s`
4504
+ function isRegularExpressionModifier(ch) {
4505
+ return ch === 0x69 /* i */ || ch === 0x6d /* m */ || ch === 0x73 /* s */
4506
+ }
4232
4507
 
4233
4508
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
4234
4509
  pp$1.regexp_eatExtendedAtom = function(state) {
@@ -5248,13 +5523,17 @@ pp.readToken = function(code) {
5248
5523
  return this.getTokenFromCode(code)
5249
5524
  };
5250
5525
 
5251
- pp.fullCharCodeAtPos = function() {
5252
- var code = this.input.charCodeAt(this.pos);
5526
+ pp.fullCharCodeAt = function(pos) {
5527
+ var code = this.input.charCodeAt(pos);
5253
5528
  if (code <= 0xd7ff || code >= 0xdc00) { return code }
5254
- var next = this.input.charCodeAt(this.pos + 1);
5529
+ var next = this.input.charCodeAt(pos + 1);
5255
5530
  return next <= 0xdbff || next >= 0xe000 ? code : (code << 10) + next - 0x35fdc00
5256
5531
  };
5257
5532
 
5533
+ pp.fullCharCodeAtPos = function() {
5534
+ return this.fullCharCodeAt(this.pos)
5535
+ };
5536
+
5258
5537
  pp.skipBlockComment = function() {
5259
5538
  var startLoc = this.options.onComment && this.curPosition();
5260
5539
  var start = this.pos, end = this.input.indexOf("*/", this.pos += 2);
@@ -5980,11 +6259,9 @@ pp.readWord = function() {
5980
6259
  // Please use the [github bug tracker][ghbt] to report issues.
5981
6260
  //
5982
6261
  // [ghbt]: https://github.com/acornjs/acorn/issues
5983
- //
5984
- // [walk]: util/walk.js
5985
6262
 
5986
6263
 
5987
- var version = "8.12.1";
6264
+ var version = "8.18.0";
5988
6265
 
5989
6266
  Parser.acorn = {
5990
6267
  Parser: Parser,