@es-joy/jsoe 0.24.3 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/.ncurc.cjs +2 -2
  3. package/CHANGES.md +47 -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 +373 -53
  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
@@ -5,16 +5,16 @@
5
5
  })(this, (function (exports) { 'use strict';
6
6
 
7
7
  // This file was generated. Do not modify manually!
8
- 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];
8
+ 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];
9
9
 
10
10
  // This file was generated. Do not modify manually!
11
- 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];
11
+ 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];
12
12
 
13
13
  // This file was generated. Do not modify manually!
14
- 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";
14
+ 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";
15
15
 
16
16
  // This file was generated. Do not modify manually!
17
- 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";
17
+ 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";
18
18
 
19
19
  // These are a run-length and offset encoded representation of the
20
20
  // >0xffff code points that are a valid part of identifiers. The
@@ -339,9 +339,12 @@
339
339
  // for new syntax features.
340
340
  ecmaVersion: null,
341
341
  // `sourceType` indicates the mode the code should be parsed in.
342
- // Can be either `"script"` or `"module"`. This influences global
342
+ // Can be either `"script"`, `"module"` or `"commonjs"`. This influences global
343
343
  // strict mode and parsing of `import` and `export` declarations.
344
344
  sourceType: "script",
345
+ // When set to true, enable strict parsing mode even if `sourceType`
346
+ // is `"script"`.
347
+ strict: false,
345
348
  // `onInsertedSemicolon` can be a callback that will be called when
346
349
  // a semicolon is automatically inserted. It will be passed the
347
350
  // position of the inserted semicolon as an offset, and if
@@ -383,6 +386,11 @@
383
386
  // line being 1-based and column 0-based) will be attached to the
384
387
  // nodes.
385
388
  locations: false,
389
+ // Pass an optional `{line, column}` object to use for the start of
390
+ // the parse. This is mostly useful when using `parseExpressionAt`
391
+ // with `locations: true`, to prevent the parser from having to
392
+ // determine the line position at the start position.
393
+ startLocation: null,
386
394
  // A function can be passed as `onToken` option, which will
387
395
  // cause Acorn to call that function with object in the same
388
396
  // format as tokens returned from `tokenizer().getToken()`. Note
@@ -463,6 +471,9 @@
463
471
  if (isArray(options.onComment))
464
472
  { options.onComment = pushComment(options, options.onComment); }
465
473
 
474
+ if (options.sourceType === "commonjs" && options.allowAwaitOutsideFunction)
475
+ { throw new Error("Cannot use allowAwaitOutsideFunction with sourceType: commonjs") }
476
+
466
477
  return options
467
478
  }
468
479
 
@@ -493,6 +504,8 @@
493
504
  SCOPE_SUPER = 64,
494
505
  SCOPE_DIRECT_SUPER = 128,
495
506
  SCOPE_CLASS_STATIC_BLOCK = 256,
507
+ SCOPE_CLASS_FIELD_INIT = 512,
508
+ SCOPE_SWITCH = 1024,
496
509
  SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK;
497
510
 
498
511
  function functionFlags(async, generator) {
@@ -531,13 +544,17 @@
531
544
  // Set up token state
532
545
 
533
546
  // The current position of the tokenizer in the input.
534
- if (startPos) {
535
- this.pos = startPos;
547
+ this.pos = startPos || 0;
548
+ this.curLine = 1;
549
+ if (options.startLocation) {
550
+ this.lineStart = this.pos - options.startLocation.column;
551
+ this.curLine = options.startLocation.line;
552
+ } else if (startPos) {
536
553
  this.lineStart = this.input.lastIndexOf("\n", startPos - 1) + 1;
537
- this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length;
554
+ if (this.options.locations)
555
+ { this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length; }
538
556
  } else {
539
- this.pos = this.lineStart = 0;
540
- this.curLine = 1;
557
+ this.lineStart = 0;
541
558
  }
542
559
 
543
560
  // Properties of the current token:
@@ -563,7 +580,7 @@
563
580
 
564
581
  // Figure out if it's a module code.
565
582
  this.inModule = options.sourceType === "module";
566
- this.strict = this.inModule || this.strictDirective(this.pos);
583
+ this.strict = this.inModule || options.strict === true || this.strictDirective(this.pos);
567
584
 
568
585
  // Used to signify the start of a potential arrow function
569
586
  this.potentialArrowAt = -1;
@@ -582,7 +599,12 @@
582
599
 
583
600
  // Scope tracking for duplicate variable names (see scope.js)
584
601
  this.scopeStack = [];
585
- this.enterScope(SCOPE_TOP);
602
+ this.enterScope(
603
+ this.options.sourceType === "commonjs"
604
+ // In commonjs, the top-level scope behaves like a function scope
605
+ ? SCOPE_FUNCTION
606
+ : SCOPE_TOP
607
+ );
586
608
 
587
609
  // For RegExp validation
588
610
  this.regexpState = null;
@@ -593,34 +615,42 @@
593
615
  this.privateNameStack = [];
594
616
  };
595
617
 
596
- 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 } };
618
+ 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 } };
597
619
 
598
620
  Parser.prototype.parse = function parse () {
621
+ var this$1$1 = this;
622
+
599
623
  var node = this.options.program || this.startNode();
600
624
  this.nextToken();
601
- return this.parseTopLevel(node)
625
+ return this.catchStackOverflow(function () { return this$1$1.parseTopLevel(node); })
602
626
  };
603
627
 
604
628
  prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };
605
629
 
606
- prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 && !this.currentVarScope().inClassFieldInit };
630
+ prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 };
607
631
 
608
- prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 && !this.currentVarScope().inClassFieldInit };
632
+ prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 };
609
633
 
610
634
  prototypeAccessors.canAwait.get = function () {
611
635
  for (var i = this.scopeStack.length - 1; i >= 0; i--) {
612
- var scope = this.scopeStack[i];
613
- if (scope.inClassFieldInit || scope.flags & SCOPE_CLASS_STATIC_BLOCK) { return false }
614
- if (scope.flags & SCOPE_FUNCTION) { return (scope.flags & SCOPE_ASYNC) > 0 }
636
+ var ref = this.scopeStack[i];
637
+ var flags = ref.flags;
638
+ if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT)) { return false }
639
+ if (flags & SCOPE_FUNCTION) { return (flags & SCOPE_ASYNC) > 0 }
615
640
  }
616
641
  return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction
617
642
  };
618
643
 
644
+ prototypeAccessors.allowReturn.get = function () {
645
+ if (this.inFunction) { return true }
646
+ if (this.options.allowReturnOutsideFunction && this.currentVarScope().flags & SCOPE_TOP) { return true }
647
+ return false
648
+ };
649
+
619
650
  prototypeAccessors.allowSuper.get = function () {
620
651
  var ref = this.currentThisScope();
621
652
  var flags = ref.flags;
622
- var inClassFieldInit = ref.inClassFieldInit;
623
- return (flags & SCOPE_SUPER) > 0 || inClassFieldInit || this.options.allowSuperOutsideMethod
653
+ return (flags & SCOPE_SUPER) > 0 || this.options.allowSuperOutsideMethod
624
654
  };
625
655
 
626
656
  prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };
@@ -628,10 +658,21 @@
628
658
  prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };
629
659
 
630
660
  prototypeAccessors.allowNewDotTarget.get = function () {
631
- var ref = this.currentThisScope();
661
+ for (var i = this.scopeStack.length - 1; i >= 0; i--) {
662
+ var ref = this.scopeStack[i];
663
+ var flags = ref.flags;
664
+ if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT) ||
665
+ ((flags & SCOPE_FUNCTION) && !(flags & SCOPE_ARROW))) { return true }
666
+ }
667
+ return false
668
+ };
669
+
670
+ prototypeAccessors.allowUsing.get = function () {
671
+ var ref = this.currentScope();
632
672
  var flags = ref.flags;
633
- var inClassFieldInit = ref.inClassFieldInit;
634
- return (flags & (SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK)) > 0 || inClassFieldInit
673
+ if (flags & SCOPE_SWITCH) { return false }
674
+ if (!this.inModule && flags & SCOPE_TOP) { return false }
675
+ return true
635
676
  };
636
677
 
637
678
  prototypeAccessors.inClassStaticBlock.get = function () {
@@ -720,6 +761,17 @@
720
761
  return true
721
762
  };
722
763
 
764
+ pp$9.catchStackOverflow = function(f) {
765
+ try {
766
+ return f()
767
+ } catch (e) {
768
+ if (e instanceof Error && (/\bstack\b.*\b(exceeded|overflow)\b/i.test(e.message) || /\btoo much recursion\b/i.test(e.message)))
769
+ { this.raise(this.start, "Not enough stack space to parse input"); }
770
+ else
771
+ { throw e }
772
+ }
773
+ };
774
+
723
775
  // Asserts that following token is given contextual keyword.
724
776
 
725
777
  pp$9.expectContextual = function(name) {
@@ -823,10 +875,10 @@
823
875
  // to its body instead of creating a new node.
824
876
 
825
877
  pp$8.parseTopLevel = function(node) {
826
- var exports = Object.create(null);
878
+ var exports$1 = Object.create(null);
827
879
  if (!node.body) { node.body = []; }
828
880
  while (this.type !== types$1.eof) {
829
- var stmt = this.parseStatement(null, true, exports);
881
+ var stmt = this.parseStatement(null, true, exports$1);
830
882
  node.body.push(stmt);
831
883
  }
832
884
  if (this.inModule)
@@ -838,7 +890,7 @@
838
890
  } }
839
891
  this.adaptDirectivePrologue(node.body);
840
892
  this.next();
841
- node.sourceType = this.options.sourceType;
893
+ node.sourceType = this.options.sourceType === "commonjs" ? "script" : this.options.sourceType;
842
894
  return this.finishNode(node, "Program")
843
895
  };
844
896
 
@@ -848,7 +900,7 @@
848
900
  if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false }
849
901
  skipWhiteSpace.lastIndex = this.pos;
850
902
  var skip = skipWhiteSpace.exec(this.input);
851
- var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);
903
+ var next = this.pos + skip[0].length, nextCh = this.fullCharCodeAt(next);
852
904
  // For ambiguous cases, determine if a LexicalDeclaration (or only a
853
905
  // Statement) is allowed here. If context is not empty then only a Statement
854
906
  // is allowed. However, `let [` is an explicit negative lookahead for
@@ -856,12 +908,13 @@
856
908
  if (nextCh === 91 || nextCh === 92) { return true } // '[', '\'
857
909
  if (context) { return false }
858
910
 
859
- if (nextCh === 123 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true } // '{', astral
860
- if (isIdentifierStart(nextCh, true)) {
861
- var pos = next + 1;
862
- while (isIdentifierChar(nextCh = this.input.charCodeAt(pos), true)) { ++pos; }
863
- if (nextCh === 92 || nextCh > 0xd7ff && nextCh < 0xdc00) { return true }
864
- var ident = this.input.slice(next, pos);
911
+ if (nextCh === 123) { return true } // '{'
912
+ if (isIdentifierStart(nextCh)) {
913
+ var start = next;
914
+ do { next += nextCh <= 0xffff ? 1 : 2; }
915
+ while (isIdentifierChar(nextCh = this.fullCharCodeAt(next)))
916
+ if (nextCh === 92) { return true }
917
+ var ident = this.input.slice(start, next);
865
918
  if (!keywordRelationalOperator.test(ident)) { return true }
866
919
  }
867
920
  return false
@@ -880,7 +933,61 @@
880
933
  return !lineBreak.test(this.input.slice(this.pos, next)) &&
881
934
  this.input.slice(next, next + 8) === "function" &&
882
935
  (next + 8 === this.input.length ||
883
- !(isIdentifierChar(after = this.input.charCodeAt(next + 8)) || after > 0xd7ff && after < 0xdc00))
936
+ !(isIdentifierChar(after = this.fullCharCodeAt(next + 8)) || after === 92 /* '\' */))
937
+ };
938
+
939
+ pp$8.isUsingKeyword = function(isAwaitUsing, isFor) {
940
+ if (this.options.ecmaVersion < 17 || !this.isContextual(isAwaitUsing ? "await" : "using"))
941
+ { return false }
942
+
943
+ skipWhiteSpace.lastIndex = this.pos;
944
+ var skip = skipWhiteSpace.exec(this.input);
945
+ var next = this.pos + skip[0].length;
946
+
947
+ if (lineBreak.test(this.input.slice(this.pos, next))) { return false }
948
+
949
+ if (isAwaitUsing) {
950
+ var usingEndPos = next + 5 /* using */, after;
951
+ if (this.input.slice(next, usingEndPos) !== "using" ||
952
+ usingEndPos === this.input.length ||
953
+ isIdentifierChar(after = this.fullCharCodeAt(usingEndPos)) ||
954
+ after === 92 /* '\' */
955
+ ) { return false }
956
+
957
+ skipWhiteSpace.lastIndex = usingEndPos;
958
+ var skipAfterUsing = skipWhiteSpace.exec(this.input);
959
+ next = usingEndPos + skipAfterUsing[0].length;
960
+ if (skipAfterUsing && lineBreak.test(this.input.slice(usingEndPos, next))) { return false }
961
+ }
962
+
963
+ var ch = this.fullCharCodeAt(next);
964
+ if (!isIdentifierStart(ch) && ch !== 92 /* '\' */) { return false }
965
+ var idStart = next;
966
+ do { next += ch <= 0xffff ? 1 : 2; }
967
+ while (isIdentifierChar(ch = this.fullCharCodeAt(next)))
968
+ if (ch === 92) { return true }
969
+ var id = this.input.slice(idStart, next);
970
+ if (keywordRelationalOperator.test(id)) { return false }
971
+ if (isFor && !isAwaitUsing && id === "of") {
972
+ // Look ahead for using declaration with initializer, i.e., `for (using of = ...)`
973
+ skipWhiteSpace.lastIndex = next;
974
+ var skipAfterOf = skipWhiteSpace.exec(this.input);
975
+ next = next + skipAfterOf[0].length;
976
+ if (this.input.charCodeAt(next) !== 61 /* '=' */ ||
977
+ // Check for ==, === and => operators
978
+ (ch = this.input.charCodeAt(next + 1)) === 61 /* '=' */ || ch === 62 /* '>' */) {
979
+ return false
980
+ }
981
+ }
982
+ return true
983
+ };
984
+
985
+ pp$8.isAwaitUsing = function(isFor) {
986
+ return this.isUsingKeyword(true, isFor)
987
+ };
988
+
989
+ pp$8.isUsing = function(isFor) {
990
+ return this.isUsingKeyword(false, isFor)
884
991
  };
885
992
 
886
993
  // Parse a single statement.
@@ -890,7 +997,7 @@
890
997
  // `if (foo) /blah/.exec(foo)`, where looking at the previous token
891
998
  // does not help.
892
999
 
893
- pp$8.parseStatement = function(context, topLevel, exports) {
1000
+ pp$8.parseStatement = function(context, topLevel, exports$1) {
894
1001
  var starttype = this.type, node = this.startNode(), kind;
895
1002
 
896
1003
  if (this.isLet(context)) {
@@ -945,7 +1052,7 @@
945
1052
  if (!this.inModule)
946
1053
  { this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); }
947
1054
  }
948
- return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports)
1055
+ return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports$1)
949
1056
 
950
1057
  // If the statement does not start with a statement keyword or a
951
1058
  // brace, it's an ExpressionStatement or LabeledStatement. We
@@ -959,6 +1066,27 @@
959
1066
  return this.parseFunctionStatement(node, true, !context)
960
1067
  }
961
1068
 
1069
+ var usingKind = this.isAwaitUsing(false) ? "await using" : this.isUsing(false) ? "using" : null;
1070
+ if (usingKind) {
1071
+ if (!this.allowUsing) {
1072
+ this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script` or in the bare case statement");
1073
+ }
1074
+ if (context) {
1075
+ // Cases like `for (;;) using x = ...;`, `if (true) await using x = ...;`, etc. are not allowed.
1076
+ this.raise(this.start, "Using declaration is not allowed in single-statement positions");
1077
+ }
1078
+ if (usingKind === "await using") {
1079
+ if (!this.canAwait) {
1080
+ this.raise(this.start, "Await using cannot appear outside of async function");
1081
+ }
1082
+ this.next();
1083
+ }
1084
+ this.next();
1085
+ this.parseVar(node, false, usingKind);
1086
+ this.semicolon();
1087
+ return this.finishNode(node, "VariableDeclaration")
1088
+ }
1089
+
962
1090
  var maybeName = this.value, expr = this.parseExpression();
963
1091
  if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon))
964
1092
  { return this.parseLabeledStatement(node, maybeName, expr, context) }
@@ -1034,18 +1162,24 @@
1034
1162
  this.next();
1035
1163
  this.parseVar(init$1, true, kind);
1036
1164
  this.finishNode(init$1, "VariableDeclaration");
1037
- if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1) {
1038
- if (this.options.ecmaVersion >= 9) {
1039
- if (this.type === types$1._in) {
1040
- if (awaitAt > -1) { this.unexpected(awaitAt); }
1041
- } else { node.await = awaitAt > -1; }
1165
+ return this.parseForAfterInit(node, init$1, awaitAt)
1166
+ }
1167
+ var startsWithLet = this.isContextual("let"), isForOf = false;
1168
+
1169
+ var usingKind = this.isUsing(true) ? "using" : this.isAwaitUsing(true) ? "await using" : null;
1170
+ if (usingKind) {
1171
+ var init$2 = this.startNode();
1172
+ this.next();
1173
+ if (usingKind === "await using") {
1174
+ if (!this.canAwait) {
1175
+ this.raise(this.start, "Await using cannot appear outside of async function");
1042
1176
  }
1043
- return this.parseForIn(node, init$1)
1177
+ this.next();
1044
1178
  }
1045
- if (awaitAt > -1) { this.unexpected(awaitAt); }
1046
- return this.parseFor(node, init$1)
1179
+ this.parseVar(init$2, true, usingKind);
1180
+ this.finishNode(init$2, "VariableDeclaration");
1181
+ return this.parseForAfterInit(node, init$2, awaitAt)
1047
1182
  }
1048
- var startsWithLet = this.isContextual("let"), isForOf = false;
1049
1183
  var containsEsc = this.containsEsc;
1050
1184
  var refDestructuringErrors = new DestructuringErrors;
1051
1185
  var initPos = this.start;
@@ -1071,6 +1205,21 @@
1071
1205
  return this.parseFor(node, init)
1072
1206
  };
1073
1207
 
1208
+ // Helper method to parse for loop after variable initialization
1209
+ pp$8.parseForAfterInit = function(node, init, awaitAt) {
1210
+ if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1) {
1211
+ if (this.type === types$1._in) {
1212
+ if ((init.kind === "using" || init.kind === "await using") && !init.declarations[0].init) {
1213
+ this.raise(this.start, "Using declaration is not allowed in for-in loops");
1214
+ }
1215
+ if (this.options.ecmaVersion >= 9 && awaitAt > -1) { this.unexpected(awaitAt); }
1216
+ } else if (this.options.ecmaVersion >= 9) { node.await = awaitAt > -1; }
1217
+ return this.parseForIn(node, init)
1218
+ }
1219
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
1220
+ return this.parseFor(node, init)
1221
+ };
1222
+
1074
1223
  pp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) {
1075
1224
  this.next();
1076
1225
  return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)
@@ -1086,7 +1235,7 @@
1086
1235
  };
1087
1236
 
1088
1237
  pp$8.parseReturnStatement = function(node) {
1089
- if (!this.inFunction && !this.options.allowReturnOutsideFunction)
1238
+ if (!this.allowReturn)
1090
1239
  { this.raise(this.start, "'return' outside of function"); }
1091
1240
  this.next();
1092
1241
 
@@ -1105,7 +1254,7 @@
1105
1254
  node.cases = [];
1106
1255
  this.expect(types$1.braceL);
1107
1256
  this.labels.push(switchLabel);
1108
- this.enterScope(0);
1257
+ this.enterScope(SCOPE_SWITCH);
1109
1258
 
1110
1259
  // Statements under must be grouped (by label) in SwitchCase
1111
1260
  // nodes. `cur` is used to keep the node that we are currently
@@ -1327,6 +1476,8 @@
1327
1476
  decl.init = this.parseMaybeAssign(isFor);
1328
1477
  } else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
1329
1478
  this.unexpected();
1479
+ } else if (!allowMissingInitializer && (kind === "using" || kind === "await using") && this.options.ecmaVersion >= 17 && this.type !== types$1._in && !this.isContextual("of")) {
1480
+ this.raise(this.lastTokEnd, ("Missing initializer in " + kind + " declaration"));
1330
1481
  } else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
1331
1482
  this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
1332
1483
  } else {
@@ -1339,7 +1490,10 @@
1339
1490
  };
1340
1491
 
1341
1492
  pp$8.parseVarId = function(decl, kind) {
1342
- decl.id = this.parseBindingAtom();
1493
+ decl.id = kind === "using" || kind === "await using"
1494
+ ? this.parseIdent()
1495
+ : this.parseBindingAtom();
1496
+
1343
1497
  this.checkLValPattern(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
1344
1498
  };
1345
1499
 
@@ -1558,11 +1712,9 @@
1558
1712
 
1559
1713
  if (this.eat(types$1.eq)) {
1560
1714
  // To raise SyntaxError if 'arguments' exists in the initializer.
1561
- var scope = this.currentThisScope();
1562
- var inClassFieldInit = scope.inClassFieldInit;
1563
- scope.inClassFieldInit = true;
1715
+ this.enterScope(SCOPE_CLASS_FIELD_INIT | SCOPE_SUPER);
1564
1716
  field.value = this.parseMaybeAssign();
1565
- scope.inClassFieldInit = inClassFieldInit;
1717
+ this.exitScope();
1566
1718
  } else {
1567
1719
  field.value = null;
1568
1720
  }
@@ -1666,11 +1818,11 @@
1666
1818
 
1667
1819
  // Parses module export declaration.
1668
1820
 
1669
- pp$8.parseExportAllDeclaration = function(node, exports) {
1821
+ pp$8.parseExportAllDeclaration = function(node, exports$1) {
1670
1822
  if (this.options.ecmaVersion >= 11) {
1671
1823
  if (this.eatContextual("as")) {
1672
1824
  node.exported = this.parseModuleExportName();
1673
- this.checkExport(exports, node.exported, this.lastTokStart);
1825
+ this.checkExport(exports$1, node.exported, this.lastTokStart);
1674
1826
  } else {
1675
1827
  node.exported = null;
1676
1828
  }
@@ -1678,18 +1830,20 @@
1678
1830
  this.expectContextual("from");
1679
1831
  if (this.type !== types$1.string) { this.unexpected(); }
1680
1832
  node.source = this.parseExprAtom();
1833
+ if (this.options.ecmaVersion >= 16)
1834
+ { node.attributes = this.parseWithClause(); }
1681
1835
  this.semicolon();
1682
1836
  return this.finishNode(node, "ExportAllDeclaration")
1683
1837
  };
1684
1838
 
1685
- pp$8.parseExport = function(node, exports) {
1839
+ pp$8.parseExport = function(node, exports$1) {
1686
1840
  this.next();
1687
1841
  // export * from '...'
1688
1842
  if (this.eat(types$1.star)) {
1689
- return this.parseExportAllDeclaration(node, exports)
1843
+ return this.parseExportAllDeclaration(node, exports$1)
1690
1844
  }
1691
1845
  if (this.eat(types$1._default)) { // export default ...
1692
- this.checkExport(exports, "default", this.lastTokStart);
1846
+ this.checkExport(exports$1, "default", this.lastTokStart);
1693
1847
  node.declaration = this.parseExportDefaultDeclaration();
1694
1848
  return this.finishNode(node, "ExportDefaultDeclaration")
1695
1849
  }
@@ -1697,17 +1851,21 @@
1697
1851
  if (this.shouldParseExportStatement()) {
1698
1852
  node.declaration = this.parseExportDeclaration(node);
1699
1853
  if (node.declaration.type === "VariableDeclaration")
1700
- { this.checkVariableExport(exports, node.declaration.declarations); }
1854
+ { this.checkVariableExport(exports$1, node.declaration.declarations); }
1701
1855
  else
1702
- { this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
1856
+ { this.checkExport(exports$1, node.declaration.id, node.declaration.id.start); }
1703
1857
  node.specifiers = [];
1704
1858
  node.source = null;
1859
+ if (this.options.ecmaVersion >= 16)
1860
+ { node.attributes = []; }
1705
1861
  } else { // export { x, y as z } [from '...']
1706
1862
  node.declaration = null;
1707
- node.specifiers = this.parseExportSpecifiers(exports);
1863
+ node.specifiers = this.parseExportSpecifiers(exports$1);
1708
1864
  if (this.eatContextual("from")) {
1709
1865
  if (this.type !== types$1.string) { this.unexpected(); }
1710
1866
  node.source = this.parseExprAtom();
1867
+ if (this.options.ecmaVersion >= 16)
1868
+ { node.attributes = this.parseWithClause(); }
1711
1869
  } else {
1712
1870
  for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
1713
1871
  // check for keywords used as local names
@@ -1723,6 +1881,8 @@
1723
1881
  }
1724
1882
 
1725
1883
  node.source = null;
1884
+ if (this.options.ecmaVersion >= 16)
1885
+ { node.attributes = []; }
1726
1886
  }
1727
1887
  this.semicolon();
1728
1888
  }
@@ -1750,47 +1910,47 @@
1750
1910
  }
1751
1911
  };
1752
1912
 
1753
- pp$8.checkExport = function(exports, name, pos) {
1754
- if (!exports) { return }
1913
+ pp$8.checkExport = function(exports$1, name, pos) {
1914
+ if (!exports$1) { return }
1755
1915
  if (typeof name !== "string")
1756
1916
  { name = name.type === "Identifier" ? name.name : name.value; }
1757
- if (hasOwn(exports, name))
1917
+ if (hasOwn(exports$1, name))
1758
1918
  { this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
1759
- exports[name] = true;
1919
+ exports$1[name] = true;
1760
1920
  };
1761
1921
 
1762
- pp$8.checkPatternExport = function(exports, pat) {
1922
+ pp$8.checkPatternExport = function(exports$1, pat) {
1763
1923
  var type = pat.type;
1764
1924
  if (type === "Identifier")
1765
- { this.checkExport(exports, pat, pat.start); }
1925
+ { this.checkExport(exports$1, pat, pat.start); }
1766
1926
  else if (type === "ObjectPattern")
1767
1927
  { for (var i = 0, list = pat.properties; i < list.length; i += 1)
1768
1928
  {
1769
1929
  var prop = list[i];
1770
1930
 
1771
- this.checkPatternExport(exports, prop);
1931
+ this.checkPatternExport(exports$1, prop);
1772
1932
  } }
1773
1933
  else if (type === "ArrayPattern")
1774
1934
  { for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {
1775
1935
  var elt = list$1[i$1];
1776
1936
 
1777
- if (elt) { this.checkPatternExport(exports, elt); }
1937
+ if (elt) { this.checkPatternExport(exports$1, elt); }
1778
1938
  } }
1779
1939
  else if (type === "Property")
1780
- { this.checkPatternExport(exports, pat.value); }
1940
+ { this.checkPatternExport(exports$1, pat.value); }
1781
1941
  else if (type === "AssignmentPattern")
1782
- { this.checkPatternExport(exports, pat.left); }
1942
+ { this.checkPatternExport(exports$1, pat.left); }
1783
1943
  else if (type === "RestElement")
1784
- { this.checkPatternExport(exports, pat.argument); }
1944
+ { this.checkPatternExport(exports$1, pat.argument); }
1785
1945
  };
1786
1946
 
1787
- pp$8.checkVariableExport = function(exports, decls) {
1788
- if (!exports) { return }
1947
+ pp$8.checkVariableExport = function(exports$1, decls) {
1948
+ if (!exports$1) { return }
1789
1949
  for (var i = 0, list = decls; i < list.length; i += 1)
1790
1950
  {
1791
1951
  var decl = list[i];
1792
1952
 
1793
- this.checkPatternExport(exports, decl.id);
1953
+ this.checkPatternExport(exports$1, decl.id);
1794
1954
  }
1795
1955
  };
1796
1956
 
@@ -1805,13 +1965,13 @@
1805
1965
 
1806
1966
  // Parses a comma-separated list of module exports.
1807
1967
 
1808
- pp$8.parseExportSpecifier = function(exports) {
1968
+ pp$8.parseExportSpecifier = function(exports$1) {
1809
1969
  var node = this.startNode();
1810
1970
  node.local = this.parseModuleExportName();
1811
1971
 
1812
1972
  node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
1813
1973
  this.checkExport(
1814
- exports,
1974
+ exports$1,
1815
1975
  node.exported,
1816
1976
  node.exported.start
1817
1977
  );
@@ -1819,7 +1979,7 @@
1819
1979
  return this.finishNode(node, "ExportSpecifier")
1820
1980
  };
1821
1981
 
1822
- pp$8.parseExportSpecifiers = function(exports) {
1982
+ pp$8.parseExportSpecifiers = function(exports$1) {
1823
1983
  var nodes = [], first = true;
1824
1984
  // export { x, y as z } [from '...']
1825
1985
  this.expect(types$1.braceL);
@@ -1829,7 +1989,7 @@
1829
1989
  if (this.afterTrailingComma(types$1.braceR)) { break }
1830
1990
  } else { first = false; }
1831
1991
 
1832
- nodes.push(this.parseExportSpecifier(exports));
1992
+ nodes.push(this.parseExportSpecifier(exports$1));
1833
1993
  }
1834
1994
  return nodes
1835
1995
  };
@@ -1848,6 +2008,8 @@
1848
2008
  this.expectContextual("from");
1849
2009
  node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();
1850
2010
  }
2011
+ if (this.options.ecmaVersion >= 16)
2012
+ { node.attributes = this.parseWithClause(); }
1851
2013
  this.semicolon();
1852
2014
  return this.finishNode(node, "ImportDeclaration")
1853
2015
  };
@@ -1908,6 +2070,41 @@
1908
2070
  return nodes
1909
2071
  };
1910
2072
 
2073
+ pp$8.parseWithClause = function() {
2074
+ var nodes = [];
2075
+ if (!this.eat(types$1._with)) {
2076
+ return nodes
2077
+ }
2078
+ this.expect(types$1.braceL);
2079
+ var attributeKeys = {};
2080
+ var first = true;
2081
+ while (!this.eat(types$1.braceR)) {
2082
+ if (!first) {
2083
+ this.expect(types$1.comma);
2084
+ if (this.afterTrailingComma(types$1.braceR)) { break }
2085
+ } else { first = false; }
2086
+
2087
+ var attr = this.parseImportAttribute();
2088
+ var keyName = attr.key.type === "Identifier" ? attr.key.name : attr.key.value;
2089
+ if (hasOwn(attributeKeys, keyName))
2090
+ { this.raiseRecoverable(attr.key.start, "Duplicate attribute key '" + keyName + "'"); }
2091
+ attributeKeys[keyName] = true;
2092
+ nodes.push(attr);
2093
+ }
2094
+ return nodes
2095
+ };
2096
+
2097
+ pp$8.parseImportAttribute = function() {
2098
+ var node = this.startNode();
2099
+ node.key = this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
2100
+ this.expect(types$1.colon);
2101
+ if (this.type !== types$1.string) {
2102
+ this.unexpected();
2103
+ }
2104
+ node.value = this.parseExprAtom();
2105
+ return this.finishNode(node, "ImportAttribute")
2106
+ };
2107
+
1911
2108
  pp$8.parseModuleExportName = function() {
1912
2109
  if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
1913
2110
  var stringLiteral = this.parseLiteral(this.value);
@@ -2523,15 +2720,19 @@
2523
2720
  // delayed syntax error at correct position).
2524
2721
 
2525
2722
  pp$5.parseExpression = function(forInit, refDestructuringErrors) {
2526
- var startPos = this.start, startLoc = this.startLoc;
2527
- var expr = this.parseMaybeAssign(forInit, refDestructuringErrors);
2528
- if (this.type === types$1.comma) {
2529
- var node = this.startNodeAt(startPos, startLoc);
2530
- node.expressions = [expr];
2531
- while (this.eat(types$1.comma)) { node.expressions.push(this.parseMaybeAssign(forInit, refDestructuringErrors)); }
2532
- return this.finishNode(node, "SequenceExpression")
2533
- }
2534
- return expr
2723
+ var this$1$1 = this;
2724
+
2725
+ return this.catchStackOverflow(function () {
2726
+ var startPos = this$1$1.start, startLoc = this$1$1.startLoc;
2727
+ var expr = this$1$1.parseMaybeAssign(forInit, refDestructuringErrors);
2728
+ if (this$1$1.type === types$1.comma) {
2729
+ var node = this$1$1.startNodeAt(startPos, startLoc);
2730
+ node.expressions = [expr];
2731
+ while (this$1$1.eat(types$1.comma)) { node.expressions.push(this$1$1.parseMaybeAssign(forInit, refDestructuringErrors)); }
2732
+ return this$1$1.finishNode(node, "SequenceExpression")
2733
+ }
2734
+ return expr
2735
+ })
2535
2736
  };
2536
2737
 
2537
2738
  // Parse an assignment expression. This includes applications of
@@ -2596,7 +2797,7 @@
2596
2797
  var startPos = this.start, startLoc = this.startLoc;
2597
2798
  var expr = this.parseExprOps(forInit, refDestructuringErrors);
2598
2799
  if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
2599
- if (this.eat(types$1.question)) {
2800
+ if (!(expr.type === "ArrowFunctionExpression" && expr.start === startPos) && this.eat(types$1.question)) {
2600
2801
  var node = this.startNodeAt(startPos, startLoc);
2601
2802
  node.test = expr;
2602
2803
  node.consequent = this.parseMaybeAssign();
@@ -2696,7 +2897,7 @@
2696
2897
  }
2697
2898
  }
2698
2899
 
2699
- if (!incDec && this.eat(types$1.starstar)) {
2900
+ if (!incDec && !(expr.type === "ArrowFunctionExpression" && expr.start === startPos) && this.eat(types$1.starstar)) {
2700
2901
  if (sawUnary)
2701
2902
  { this.unexpected(this.lastTokStart); }
2702
2903
  else
@@ -2975,13 +3176,32 @@
2975
3176
  // Parse node.source.
2976
3177
  node.source = this.parseMaybeAssign();
2977
3178
 
2978
- // Verify ending.
2979
- if (!this.eat(types$1.parenR)) {
2980
- var errorPos = this.start;
2981
- if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
2982
- this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
3179
+ if (this.options.ecmaVersion >= 16) {
3180
+ if (!this.eat(types$1.parenR)) {
3181
+ this.expect(types$1.comma);
3182
+ if (!this.afterTrailingComma(types$1.parenR)) {
3183
+ node.options = this.parseMaybeAssign();
3184
+ if (!this.eat(types$1.parenR)) {
3185
+ this.expect(types$1.comma);
3186
+ if (!this.afterTrailingComma(types$1.parenR)) {
3187
+ this.unexpected();
3188
+ }
3189
+ }
3190
+ } else {
3191
+ node.options = null;
3192
+ }
2983
3193
  } else {
2984
- this.unexpected(errorPos);
3194
+ node.options = null;
3195
+ }
3196
+ } else {
3197
+ // Verify ending.
3198
+ if (!this.eat(types$1.parenR)) {
3199
+ var errorPos = this.start;
3200
+ if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
3201
+ this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
3202
+ } else {
3203
+ this.unexpected(errorPos);
3204
+ }
2985
3205
  }
2986
3206
  }
2987
3207
 
@@ -3008,7 +3228,8 @@
3008
3228
  var node = this.startNode();
3009
3229
  node.value = value;
3010
3230
  node.raw = this.input.slice(this.start, this.end);
3011
- if (node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1).replace(/_/g, ""); }
3231
+ if (node.raw.charCodeAt(node.raw.length - 1) === 110)
3232
+ { node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, ""); }
3012
3233
  this.next();
3013
3234
  return this.finishNode(node, "Literal")
3014
3235
  };
@@ -3128,6 +3349,8 @@
3128
3349
  }
3129
3350
  var startPos = this.start, startLoc = this.startLoc;
3130
3351
  node.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), startPos, startLoc, true, false);
3352
+ if (node.callee.type === "Super")
3353
+ { this.raiseRecoverable(startPos, "Invalid use of 'super'"); }
3131
3354
  if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); }
3132
3355
  else { node.arguments = empty; }
3133
3356
  return this.finishNode(node, "NewExpression")
@@ -3246,9 +3469,10 @@
3246
3469
  };
3247
3470
 
3248
3471
  pp$5.parseGetterSetter = function(prop) {
3249
- prop.kind = prop.key.name;
3472
+ var kind = prop.key.name;
3250
3473
  this.parsePropertyName(prop);
3251
3474
  prop.value = this.parseMethod(false);
3475
+ prop.kind = kind;
3252
3476
  var paramCount = prop.kind === "get" ? 0 : 1;
3253
3477
  if (prop.value.params.length !== paramCount) {
3254
3478
  var start = prop.value.start;
@@ -3271,9 +3495,9 @@
3271
3495
  prop.kind = "init";
3272
3496
  } else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {
3273
3497
  if (isPattern) { this.unexpected(); }
3274
- prop.kind = "init";
3275
3498
  prop.method = true;
3276
3499
  prop.value = this.parseMethod(isGenerator, isAsync);
3500
+ prop.kind = "init";
3277
3501
  } else if (!isPattern && !containsEsc &&
3278
3502
  this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
3279
3503
  (prop.key.name === "get" || prop.key.name === "set") &&
@@ -3285,7 +3509,6 @@
3285
3509
  this.checkUnreserved(prop.key);
3286
3510
  if (prop.key.name === "await" && !this.awaitIdentPos)
3287
3511
  { this.awaitIdentPos = startPos; }
3288
- prop.kind = "init";
3289
3512
  if (isPattern) {
3290
3513
  prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
3291
3514
  } else if (this.type === types$1.eq && refDestructuringErrors) {
@@ -3295,6 +3518,7 @@
3295
3518
  } else {
3296
3519
  prop.value = this.copyNode(prop.key);
3297
3520
  }
3521
+ prop.kind = "init";
3298
3522
  prop.shorthand = true;
3299
3523
  } else { this.unexpected(); }
3300
3524
  };
@@ -3470,7 +3694,7 @@
3470
3694
  { this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); }
3471
3695
  if (this.inAsync && name === "await")
3472
3696
  { this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); }
3473
- if (this.currentThisScope().inClassFieldInit && name === "arguments")
3697
+ if (!(this.currentThisScope().flags & SCOPE_VAR) && name === "arguments")
3474
3698
  { this.raiseRecoverable(start, "Cannot use 'arguments' in class field initializer"); }
3475
3699
  if (this.inClassStaticBlock && (name === "arguments" || name === "await"))
3476
3700
  { this.raise(start, ("Cannot use " + name + " in class static initialization block")); }
@@ -3583,6 +3807,9 @@
3583
3807
  pp$4.raise = function(pos, message) {
3584
3808
  var loc = getLineInfo(this.input, pos);
3585
3809
  message += " (" + loc.line + ":" + loc.column + ")";
3810
+ if (this.sourceFile) {
3811
+ message += " in " + this.sourceFile;
3812
+ }
3586
3813
  var err = new SyntaxError(message);
3587
3814
  err.pos = pos; err.loc = loc; err.raisedAt = this.pos;
3588
3815
  throw err
@@ -3606,8 +3833,6 @@
3606
3833
  this.lexical = [];
3607
3834
  // A list of lexically-declared FunctionDeclaration names in the current lexical scope
3608
3835
  this.functions = [];
3609
- // A switch to disallow the identifier reference 'arguments'
3610
- this.inClassFieldInit = false;
3611
3836
  };
3612
3837
 
3613
3838
  // The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.
@@ -3677,7 +3902,7 @@
3677
3902
  pp$3.currentVarScope = function() {
3678
3903
  for (var i = this.scopeStack.length - 1;; i--) {
3679
3904
  var scope = this.scopeStack[i];
3680
- if (scope.flags & SCOPE_VAR) { return scope }
3905
+ if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK)) { return scope }
3681
3906
  }
3682
3907
  };
3683
3908
 
@@ -3685,7 +3910,8 @@
3685
3910
  pp$3.currentThisScope = function() {
3686
3911
  for (var i = this.scopeStack.length - 1;; i--) {
3687
3912
  var scope = this.scopeStack[i];
3688
- if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) { return scope }
3913
+ if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK) &&
3914
+ !(scope.flags & SCOPE_ARROW)) { return scope }
3689
3915
  }
3690
3916
  };
3691
3917
 
@@ -3741,6 +3967,9 @@
3741
3967
  return newNode
3742
3968
  };
3743
3969
 
3970
+ // This file was generated by "bin/generate-unicode-script-values.js". Do not modify manually!
3971
+ 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";
3972
+
3744
3973
  // This file contains Unicode properties extracted from the ECMAScript specification.
3745
3974
  // The lists are extracted like so:
3746
3975
  // $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)
@@ -3783,7 +4012,7 @@
3783
4012
  var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
3784
4013
  var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
3785
4014
  var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
3786
- var ecma14ScriptValues = ecma13ScriptValues + " Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz";
4015
+ var ecma14ScriptValues = ecma13ScriptValues + " " + scriptValuesAddedInUnicode;
3787
4016
 
3788
4017
  var unicodeScriptValues = {
3789
4018
  9: ecma9ScriptValues,
@@ -4208,12 +4437,41 @@
4208
4437
  pp$1.regexp_eatUncapturingGroup = function(state) {
4209
4438
  var start = state.pos;
4210
4439
  if (state.eat(0x28 /* ( */)) {
4211
- if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {
4212
- this.regexp_disjunction(state);
4213
- if (state.eat(0x29 /* ) */)) {
4214
- return true
4440
+ if (state.eat(0x3F /* ? */)) {
4441
+ if (this.options.ecmaVersion >= 16) {
4442
+ var addModifiers = this.regexp_eatModifiers(state);
4443
+ var hasHyphen = state.eat(0x2D /* - */);
4444
+ if (addModifiers || hasHyphen) {
4445
+ for (var i = 0; i < addModifiers.length; i++) {
4446
+ var modifier = addModifiers.charAt(i);
4447
+ if (addModifiers.indexOf(modifier, i + 1) > -1) {
4448
+ state.raise("Duplicate regular expression modifiers");
4449
+ }
4450
+ }
4451
+ if (hasHyphen) {
4452
+ var removeModifiers = this.regexp_eatModifiers(state);
4453
+ if (!addModifiers && !removeModifiers && state.current() === 0x3A /* : */) {
4454
+ state.raise("Invalid regular expression modifiers");
4455
+ }
4456
+ for (var i$1 = 0; i$1 < removeModifiers.length; i$1++) {
4457
+ var modifier$1 = removeModifiers.charAt(i$1);
4458
+ if (
4459
+ removeModifiers.indexOf(modifier$1, i$1 + 1) > -1 ||
4460
+ addModifiers.indexOf(modifier$1) > -1
4461
+ ) {
4462
+ state.raise("Duplicate regular expression modifiers");
4463
+ }
4464
+ }
4465
+ }
4466
+ }
4467
+ }
4468
+ if (state.eat(0x3A /* : */)) {
4469
+ this.regexp_disjunction(state);
4470
+ if (state.eat(0x29 /* ) */)) {
4471
+ return true
4472
+ }
4473
+ state.raise("Unterminated group");
4215
4474
  }
4216
- state.raise("Unterminated group");
4217
4475
  }
4218
4476
  state.pos = start;
4219
4477
  }
@@ -4235,6 +4493,23 @@
4235
4493
  }
4236
4494
  return false
4237
4495
  };
4496
+ // RegularExpressionModifiers ::
4497
+ // [empty]
4498
+ // RegularExpressionModifiers RegularExpressionModifier
4499
+ pp$1.regexp_eatModifiers = function(state) {
4500
+ var modifiers = "";
4501
+ var ch = 0;
4502
+ while ((ch = state.current()) !== -1 && isRegularExpressionModifier(ch)) {
4503
+ modifiers += codePointToString(ch);
4504
+ state.advance();
4505
+ }
4506
+ return modifiers
4507
+ };
4508
+ // RegularExpressionModifier :: one of
4509
+ // `i` `m` `s`
4510
+ function isRegularExpressionModifier(ch) {
4511
+ return ch === 0x69 /* i */ || ch === 0x6d /* m */ || ch === 0x73 /* s */
4512
+ }
4238
4513
 
4239
4514
  // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
4240
4515
  pp$1.regexp_eatExtendedAtom = function(state) {
@@ -5254,13 +5529,17 @@
5254
5529
  return this.getTokenFromCode(code)
5255
5530
  };
5256
5531
 
5257
- pp.fullCharCodeAtPos = function() {
5258
- var code = this.input.charCodeAt(this.pos);
5532
+ pp.fullCharCodeAt = function(pos) {
5533
+ var code = this.input.charCodeAt(pos);
5259
5534
  if (code <= 0xd7ff || code >= 0xdc00) { return code }
5260
- var next = this.input.charCodeAt(this.pos + 1);
5535
+ var next = this.input.charCodeAt(pos + 1);
5261
5536
  return next <= 0xdbff || next >= 0xe000 ? code : (code << 10) + next - 0x35fdc00
5262
5537
  };
5263
5538
 
5539
+ pp.fullCharCodeAtPos = function() {
5540
+ return this.fullCharCodeAt(this.pos)
5541
+ };
5542
+
5264
5543
  pp.skipBlockComment = function() {
5265
5544
  var startLoc = this.options.onComment && this.curPosition();
5266
5545
  var start = this.pos, end = this.input.indexOf("*/", this.pos += 2);
@@ -5986,11 +6265,9 @@
5986
6265
  // Please use the [github bug tracker][ghbt] to report issues.
5987
6266
  //
5988
6267
  // [ghbt]: https://github.com/acornjs/acorn/issues
5989
- //
5990
- // [walk]: util/walk.js
5991
6268
 
5992
6269
 
5993
- var version = "8.12.1";
6270
+ var version = "8.18.0";
5994
6271
 
5995
6272
  Parser.acorn = {
5996
6273
  Parser: Parser,