@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
@@ -0,0 +1,257 @@
1
+ import {jml} from '../vendor-imports.js';
2
+
3
+ /**
4
+ * @typedef {import('../formats/schema.js').ZodexSchema} ZodexSchema
5
+ */
6
+
7
+ /**
8
+ * Metadata keys with dedicated handling; everything else on `meta` (other than
9
+ * the reserved `jsoe` directive namespace) is treated as custom metadata.
10
+ * @type {Set<string>}
11
+ */
12
+ const RESERVED = new Set(['title', 'description', 'id', 'deprecated']);
13
+
14
+ /**
15
+ * @param {unknown} val
16
+ * @returns {string}
17
+ */
18
+ function stringifyMetaValue (val) {
19
+ return typeof val === 'string' ? val : JSON.stringify(val);
20
+ }
21
+
22
+ /**
23
+ * Normalize the metadata carried on a serialized (zerialized) schema object,
24
+ * merging the legacy top-level `description` into the `meta` bag and applying
25
+ * jsoe's precedence rules.
26
+ *
27
+ * Precedence for the visible label is `meta.title` then `meta.description`
28
+ * then the top-level `description` (the last kept only while `.description`
29
+ * directly on a schema remains supported). `meta.description` is treated as
30
+ * tooltip-only long-form text only when `meta.title` is also present;
31
+ * otherwise it is already serving as the label.
32
+ * @param {ZodexSchema} [schemaObject]
33
+ * @returns {{
34
+ * label: string|undefined,
35
+ * longText: string|undefined,
36
+ * id: string|undefined,
37
+ * deprecated: boolean|string|undefined,
38
+ * custom: [string, unknown][],
39
+ * jsoe: {[key: string]: unknown}|undefined,
40
+ * rows: [string, string][],
41
+ * hasAny: boolean
42
+ * }}
43
+ */
44
+ export function resolveSchemaMeta (schemaObject) {
45
+ const obj = schemaObject && typeof schemaObject === 'object'
46
+ ? /** @type {{[key: string]: any}} */ (schemaObject)
47
+ : undefined;
48
+ const metaObj = obj && obj.meta && typeof obj.meta === 'object'
49
+ ? /** @type {{[key: string]: any}} */ (obj.meta)
50
+ : undefined;
51
+
52
+ const topDescription = typeof obj?.description === 'string'
53
+ ? obj.description
54
+ : undefined;
55
+ const metaTitle = typeof metaObj?.title === 'string'
56
+ ? metaObj.title
57
+ : undefined;
58
+ const metaDescription = typeof metaObj?.description === 'string'
59
+ ? metaObj.description
60
+ : undefined;
61
+ const id = typeof metaObj?.id === 'string' ? metaObj.id : undefined;
62
+ const deprecated = typeof metaObj?.deprecated === 'boolean' ||
63
+ typeof metaObj?.deprecated === 'string'
64
+ ? metaObj.deprecated
65
+ : undefined;
66
+ const jsoe = metaObj && metaObj.jsoe && typeof metaObj.jsoe === 'object'
67
+ ? /** @type {{[key: string]: unknown}} */ (metaObj.jsoe)
68
+ : undefined;
69
+
70
+ /** @type {[string, unknown][]} */
71
+ const custom = metaObj
72
+ ? Object.entries(metaObj).filter(([key]) => {
73
+ return !RESERVED.has(key) && key !== 'jsoe';
74
+ })
75
+ : [];
76
+
77
+ const label = metaTitle ?? metaDescription ?? topDescription;
78
+ const longText = metaTitle ? metaDescription : undefined;
79
+
80
+ /** @type {[string, string][]} */
81
+ const rows = [];
82
+ if (metaTitle) {
83
+ rows.push(['Title', metaTitle]);
84
+ }
85
+ // Keep the table self-describing even when the description doubles as the
86
+ // label (no `meta.title`).
87
+ const rowDescription = metaDescription ?? topDescription;
88
+ if (rowDescription) {
89
+ rows.push(['Description', rowDescription]);
90
+ }
91
+ if (id !== undefined) {
92
+ rows.push(['ID', id]);
93
+ }
94
+ if (deprecated !== undefined && deprecated !== false) {
95
+ rows.push([
96
+ 'Deprecated', deprecated === true ? 'yes' : String(deprecated)
97
+ ]);
98
+ }
99
+ for (const [key, val] of custom) {
100
+ rows.push([key, stringifyMetaValue(val)]);
101
+ }
102
+ if (jsoe) {
103
+ for (const [key, val] of Object.entries(jsoe)) {
104
+ rows.push([`jsoe.${key}`, stringifyMetaValue(val)]);
105
+ }
106
+ }
107
+
108
+ return {
109
+ label, longText, id, deprecated, custom, jsoe, rows,
110
+ hasAny: rows.length > 0
111
+ };
112
+ }
113
+
114
+ /**
115
+ * Terse call-site sugar for the visible label of a (sub)schema. Returns
116
+ * `undefined` when the schema carries no usable metadata, so callers keep
117
+ * their own `?? fallback`.
118
+ * @param {ZodexSchema} [schemaObject]
119
+ * @returns {string|undefined}
120
+ */
121
+ export function schemaLabel (schemaObject) {
122
+ return resolveSchemaMeta(schemaObject).label;
123
+ }
124
+
125
+ /**
126
+ * Whether a (sub)schema is marked deprecated via `meta.deprecated`.
127
+ * @param {ZodexSchema} [schemaObject]
128
+ * @returns {boolean}
129
+ */
130
+ export function isDeprecated (schemaObject) {
131
+ const {deprecated} = resolveSchemaMeta(schemaObject);
132
+ return deprecated !== undefined && deprecated !== false;
133
+ }
134
+
135
+ /**
136
+ * ` schema-deprecated` (leading space) when the schema is deprecated, else `''`
137
+ * — for appending to an existing `class` string.
138
+ * @param {ZodexSchema} [schemaObject]
139
+ * @returns {string}
140
+ */
141
+ export function deprecatedClassSuffix (schemaObject) {
142
+ return isDeprecated(schemaObject) ? ' schema-deprecated' : '';
143
+ }
144
+
145
+ /**
146
+ * The last element child of `el` that is not the appended schema-metadata
147
+ * affordance. Use this in place of `el.lastElementChild` wherever a type root
148
+ * is walked from its end, since `appendSchemaMeta` adds a trailing
149
+ * `span.schema-meta`.
150
+ * @param {Element} el
151
+ * @returns {Element|null}
152
+ */
153
+ export function lastTypeChild (el) {
154
+ let child = el.lastElementChild;
155
+ while (child && child.classList.contains('schema-meta')) {
156
+ child = child.previousElementSibling;
157
+ }
158
+ return child;
159
+ }
160
+
161
+ /**
162
+ * @param {[string, string][]} rows
163
+ * @returns {string}
164
+ */
165
+ export function metaTooltipText (rows) {
166
+ return rows.map(([key, val]) => {
167
+ return `${key}: ${val}`;
168
+ }).join('\n');
169
+ }
170
+
171
+ /**
172
+ * @param {[string, string][]} rows
173
+ * @returns {import('jamilih').JamilihArray}
174
+ */
175
+ export function metaTable (rows) {
176
+ return ['table', {class: 'schema-meta-table'}, [
177
+ ['tbody', rows.map(([key, val]) => {
178
+ return ['tr', [['th', [key]], ['td', [val]]]];
179
+ })]
180
+ ]];
181
+ }
182
+
183
+ /**
184
+ * Build the read-only metadata affordance (an info toggle that reveals a
185
+ * key/value table) and append it to a type's root element. A no-op when the
186
+ * schema carries no surfaced metadata.
187
+ *
188
+ * The table is created lazily on first toggle, so an untouched affordance adds
189
+ * no text to the root (the marker glyph comes from CSS, not a text node),
190
+ * keeping the DOM stable for tests and assistive tech.
191
+ *
192
+ * Rendered in both view and edit mode; it never mutates the schema (jsoe edits
193
+ * data conforming to a schema, not the schema guiding the session).
194
+ * @param {HTMLElement} root
195
+ * @param {ZodexSchema} [schemaObject]
196
+ * @returns {void}
197
+ */
198
+ export function appendSchemaMeta (root, schemaObject) {
199
+ const meta = resolveSchemaMeta(schemaObject);
200
+ if (!meta.hasAny) {
201
+ return;
202
+ }
203
+ if (meta.deprecated !== undefined && meta.deprecated !== false) {
204
+ root.classList.add('schema-deprecated');
205
+ }
206
+ /**
207
+ * @param {Event} e
208
+ * @returns {void}
209
+ */
210
+ const onToggle = (e) => {
211
+ e.preventDefault();
212
+ const toggle = /** @type {HTMLElement} */ (
213
+ /** @type {HTMLElement} */ (e.target).closest('.schema-meta-toggle')
214
+ );
215
+ let tbl = /** @type {HTMLElement|null} */ (toggle.nextElementSibling);
216
+ const show = !tbl || tbl.hidden;
217
+ if (!tbl) {
218
+ tbl = /** @type {HTMLElement} */ (jml(...metaTable(meta.rows)));
219
+ /** @type {HTMLElement} */ (toggle.parentElement).append(tbl);
220
+ }
221
+ tbl.hidden = !show;
222
+ toggle.setAttribute('aria-expanded', String(show));
223
+ };
224
+
225
+ /**
226
+ * @param {KeyboardEvent} e
227
+ * @returns {void}
228
+ */
229
+ const onKeydown = (e) => {
230
+ if (e.key === 'Enter' || e.key === ' ') {
231
+ onToggle(e);
232
+ }
233
+ };
234
+
235
+ // A `span[role=button]` rather than a real `<button>` so bare `getInput`
236
+ // selectors (`$e(root, 'button')` in `arrayType`/`noneditable`) never
237
+ // mistake the toggle for the type's own form control.
238
+ const affordanceSpec = /** @type {import('jamilih').JamilihArray} */ ([
239
+ 'span', {class: 'schema-meta'}, [
240
+ ['span', {
241
+ class: 'schema-meta-toggle',
242
+ role: 'button',
243
+ tabindex: '0',
244
+ 'aria-expanded': 'false',
245
+ 'aria-label': 'Schema metadata',
246
+ title: metaTooltipText(meta.rows),
247
+ $on: {click: onToggle, keydown: onKeydown}
248
+ }]
249
+ ]
250
+ ]);
251
+ // Appended last (not prepended): tests and internal code select the type's
252
+ // label via `root > span` / `root > *:first-child`, so the affordance must
253
+ // not become the first child. The few `arrayType` helpers that walk
254
+ // `root.lastElementChild` use `lastTypeChild()` to skip a trailing
255
+ // `.schema-meta`.
256
+ root.append(/** @type {HTMLElement} */ (jml(...affordanceSpec)));
257
+ }
@@ -1,6 +1,6 @@
1
- const nbsp = '\u00A0';
2
- const upArrow = '\u2191';
3
- const downArrow = '\u2193';
1
+ const nbsp = '\u{A0}';
2
+ const upArrow = '\u{2191}';
3
+ const downArrow = '\u{2193}';
4
4
  const U = {nbsp, upArrow, downArrow};
5
5
 
6
6
  /**
@@ -0,0 +1,12 @@
1
+ /* eslint-disable promise/avoid-new -- Primitive timing helper */
2
+
3
+ /**
4
+ * Resolves after a macrotask, letting the browser flush pending DOM work
5
+ * scheduled with `setTimeout(fn, 0)` (element insertion, layout-dependent
6
+ * building, etc.). Used to replace bare `setTimeout` deferrals with an
7
+ * awaitable form so callers can know when the deferred work has completed.
8
+ * @returns {Promise<void>}
9
+ */
10
+ export const tick = () => new Promise((resolve) => {
11
+ setTimeout(resolve, 0);
12
+ });
@@ -4,3 +4,22 @@
4
4
  export const isNullish = (obj) => {
5
5
  return obj === null || typeof obj === 'undefined';
6
6
  };
7
+
8
+ /**
9
+ * Zodex schema types which jsoe expands into a flat set of candidate leaf
10
+ * types and drives from a single type-choices control: `union` (anyOf), `xor`
11
+ * (exactly one), and `discriminatedUnion` (keyed by a literal field). They
12
+ * share `options` and, downstream, the same option-indexing logic.
13
+ * @type {readonly ['union', 'xor', 'discriminatedUnion']}
14
+ */
15
+ const unionLikeTypes = ['union', 'xor', 'discriminatedUnion'];
16
+
17
+ /**
18
+ * @param {string|undefined} type
19
+ * @returns {boolean}
20
+ */
21
+ export const isUnionLike = (type) => {
22
+ return unionLikeTypes.includes(
23
+ /** @type {typeof unionLikeTypes[number]} */ (type)
24
+ );
25
+ };
@@ -1,8 +1,11 @@
1
+ /* eslint-disable unicorn/no-barrel-files -- Convenient to toggle */
2
+
1
3
  export {jml, body, nbsp, $} from 'jamilih';
2
- // export {jml, body, nbsp, $} from '../node_modules/jamilih/dist/jml-es.js';
4
+ // export {jml, body, nbsp, $} from '../node_modules/jamilih/dist/jml.mjs';
3
5
 
4
6
  export {
5
- getJSONType, Typeson, unescapeKeyPathComponent, structuredCloningThrowing,
7
+ getJSONType, Typeson, unescapeKeyPathComponent,
8
+ structuredCloningForStorage,
6
9
  resurrectable, toStringTag, hasConstructorOf, symbol, promise
7
10
  } from 'typeson-registry';
8
11
  // } from '../node_modules/typeson-registry/dist/index.js';
@@ -11,3 +14,8 @@ export {
11
14
  parse as parseAcorn
12
15
  } from 'acorn';
13
16
  // } from '../node_modules/acorn/dist/acorn.mjs';
17
+
18
+ export {default as mimeStandardTypes} from 'mime/types/standard.js';
19
+ export {default as mimeOtherTypes} from 'mime/types/other.js';
20
+ // } from '../node_modules/mime/dist/types/standard.js';
21
+ // } from '../node_modules/mime/dist/types/other.js';
package/tsconfig.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "lib": ["es2023", "DOM"],
4
+ "skipLibCheck": true,
4
5
  "moduleResolution": "nodenext",
5
6
  "module": "NodeNext",
6
7
  "allowJs": true,
@@ -11,6 +12,7 @@
11
12
  "emitDeclarationOnly": true,
12
13
  "strict": true,
13
14
  "target": "es2020",
15
+ "rootDir": "src",
14
16
  "outDir": "dist"
15
17
  },
16
18
  "include": ["src/**/*.js", "typings/sceditor.d.ts"],
@@ -169,7 +169,7 @@ export interface FunctionDeclaration extends Function {
169
169
  export interface VariableDeclaration extends Node {
170
170
  type: "VariableDeclaration"
171
171
  declarations: Array<VariableDeclarator>
172
- kind: "var" | "let" | "const"
172
+ kind: "var" | "let" | "const" | "using" | "await using"
173
173
  }
174
174
 
175
175
  export interface VariableDeclarator extends Node {
@@ -403,6 +403,7 @@ export interface ImportDeclaration extends Node {
403
403
  type: "ImportDeclaration"
404
404
  specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>
405
405
  source: Literal
406
+ attributes: Array<ImportAttribute>
406
407
  }
407
408
 
408
409
  export interface ImportSpecifier extends Node {
@@ -421,11 +422,18 @@ export interface ImportNamespaceSpecifier extends Node {
421
422
  local: Identifier
422
423
  }
423
424
 
425
+ export interface ImportAttribute extends Node {
426
+ type: "ImportAttribute"
427
+ key: Identifier | Literal
428
+ value: Literal
429
+ }
430
+
424
431
  export interface ExportNamedDeclaration extends Node {
425
432
  type: "ExportNamedDeclaration"
426
433
  declaration?: Declaration | null
427
434
  specifiers: Array<ExportSpecifier>
428
435
  source?: Literal | null
436
+ attributes: Array<ImportAttribute>
429
437
  }
430
438
 
431
439
  export interface ExportSpecifier extends Node {
@@ -454,6 +462,7 @@ export interface ExportAllDeclaration extends Node {
454
462
  type: "ExportAllDeclaration"
455
463
  source: Literal
456
464
  exported?: Identifier | Literal | null
465
+ attributes: Array<ImportAttribute>
457
466
  }
458
467
 
459
468
  export interface AwaitExpression extends Node {
@@ -469,6 +478,7 @@ export interface ChainExpression extends Node {
469
478
  export interface ImportExpression extends Node {
470
479
  type: "ImportExpression"
471
480
  source: Expression
481
+ options: Expression | null
472
482
  }
473
483
 
474
484
  export interface ParenthesizedExpression extends Node {
@@ -562,7 +572,24 @@ export type ModuleDeclaration =
562
572
  | ExportDefaultDeclaration
563
573
  | ExportAllDeclaration
564
574
 
565
- export type AnyNode = Statement | Expression | Declaration | ModuleDeclaration | Literal | Program | SwitchCase | CatchClause | Property | Super | SpreadElement | TemplateElement | AssignmentProperty | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | ClassBody | MethodDefinition | MetaProperty | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ExportSpecifier | AnonymousFunctionDeclaration | AnonymousClassDeclaration | PropertyDefinition | PrivateIdentifier | StaticBlock | VariableDeclarator
575
+ /**
576
+ * This interface is only used for defining {@link AnyNode}.
577
+ * It exists so that it can be extended by plugins:
578
+ *
579
+ * @example
580
+ * ```typescript
581
+ * declare module 'acorn' {
582
+ * interface NodeTypes {
583
+ * pluginName: FirstNode | SecondNode | ThirdNode | ... | LastNode
584
+ * }
585
+ * }
586
+ * ```
587
+ */
588
+ interface NodeTypes {
589
+ core: Statement | Expression | Declaration | ModuleDeclaration | Literal | Program | SwitchCase | CatchClause | Property | Super | SpreadElement | TemplateElement | AssignmentProperty | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | ClassBody | MethodDefinition | MetaProperty | ImportAttribute | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ExportSpecifier | AnonymousFunctionDeclaration | AnonymousClassDeclaration | PropertyDefinition | PrivateIdentifier | StaticBlock | VariableDeclarator
590
+ }
591
+
592
+ export type AnyNode = NodeTypes[keyof NodeTypes]
566
593
 
567
594
  export function parse(input: string, options: Options): Program
568
595
 
@@ -573,7 +600,7 @@ export function tokenizer(input: string, options: Options): {
573
600
  [Symbol.iterator](): Iterator<Token>
574
601
  }
575
602
 
576
- export type ecmaVersion = 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | "latest"
603
+ export type ecmaVersion = 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | "latest"
577
604
 
578
605
  export interface Options {
579
606
  /**
@@ -587,10 +614,16 @@ export interface Options {
587
614
 
588
615
  /**
589
616
  * `sourceType` indicates the mode the code should be parsed in.
590
- * Can be either `"script"` or `"module"`. This influences global
617
+ * Can be either `"script"`, `"module"` or `"commonjs"`. This influences global
591
618
  * strict mode and parsing of `import` and `export` declarations.
592
619
  */
593
- sourceType?: "script" | "module"
620
+ sourceType?: "script" | "module" | "commonjs"
621
+
622
+ /**
623
+ * When set to true, enable strict parsing mode even if `sourceType`
624
+ * is `"script"`.
625
+ */
626
+ strict?: boolean
594
627
 
595
628
  /**
596
629
  * a callback that will be called when a semicolon is automatically inserted.
@@ -660,6 +693,14 @@ export interface Options {
660
693
  */
661
694
  locations?: boolean
662
695
 
696
+ /**
697
+ * Pass an optional `{line, column}` object to use for the start of
698
+ * the parse. This is mostly useful when using `parseExpressionAt`
699
+ * with `locations: true`, to prevent the parser from having to
700
+ * determine the line position at the start position.
701
+ */
702
+ startLocation?: {line: number, column: number}
703
+
663
704
  /**
664
705
  * a callback that will cause Acorn to call that export function with object in the same
665
706
  * format as tokens returned from `tokenizer().getToken()`. Note
@@ -169,7 +169,7 @@ export interface FunctionDeclaration extends Function {
169
169
  export interface VariableDeclaration extends Node {
170
170
  type: "VariableDeclaration"
171
171
  declarations: Array<VariableDeclarator>
172
- kind: "var" | "let" | "const"
172
+ kind: "var" | "let" | "const" | "using" | "await using"
173
173
  }
174
174
 
175
175
  export interface VariableDeclarator extends Node {
@@ -403,6 +403,7 @@ export interface ImportDeclaration extends Node {
403
403
  type: "ImportDeclaration"
404
404
  specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>
405
405
  source: Literal
406
+ attributes: Array<ImportAttribute>
406
407
  }
407
408
 
408
409
  export interface ImportSpecifier extends Node {
@@ -421,11 +422,18 @@ export interface ImportNamespaceSpecifier extends Node {
421
422
  local: Identifier
422
423
  }
423
424
 
425
+ export interface ImportAttribute extends Node {
426
+ type: "ImportAttribute"
427
+ key: Identifier | Literal
428
+ value: Literal
429
+ }
430
+
424
431
  export interface ExportNamedDeclaration extends Node {
425
432
  type: "ExportNamedDeclaration"
426
433
  declaration?: Declaration | null
427
434
  specifiers: Array<ExportSpecifier>
428
435
  source?: Literal | null
436
+ attributes: Array<ImportAttribute>
429
437
  }
430
438
 
431
439
  export interface ExportSpecifier extends Node {
@@ -454,6 +462,7 @@ export interface ExportAllDeclaration extends Node {
454
462
  type: "ExportAllDeclaration"
455
463
  source: Literal
456
464
  exported?: Identifier | Literal | null
465
+ attributes: Array<ImportAttribute>
457
466
  }
458
467
 
459
468
  export interface AwaitExpression extends Node {
@@ -469,6 +478,7 @@ export interface ChainExpression extends Node {
469
478
  export interface ImportExpression extends Node {
470
479
  type: "ImportExpression"
471
480
  source: Expression
481
+ options: Expression | null
472
482
  }
473
483
 
474
484
  export interface ParenthesizedExpression extends Node {
@@ -562,7 +572,24 @@ export type ModuleDeclaration =
562
572
  | ExportDefaultDeclaration
563
573
  | ExportAllDeclaration
564
574
 
565
- export type AnyNode = Statement | Expression | Declaration | ModuleDeclaration | Literal | Program | SwitchCase | CatchClause | Property | Super | SpreadElement | TemplateElement | AssignmentProperty | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | ClassBody | MethodDefinition | MetaProperty | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ExportSpecifier | AnonymousFunctionDeclaration | AnonymousClassDeclaration | PropertyDefinition | PrivateIdentifier | StaticBlock | VariableDeclarator
575
+ /**
576
+ * This interface is only used for defining {@link AnyNode}.
577
+ * It exists so that it can be extended by plugins:
578
+ *
579
+ * @example
580
+ * ```typescript
581
+ * declare module 'acorn' {
582
+ * interface NodeTypes {
583
+ * pluginName: FirstNode | SecondNode | ThirdNode | ... | LastNode
584
+ * }
585
+ * }
586
+ * ```
587
+ */
588
+ interface NodeTypes {
589
+ core: Statement | Expression | Declaration | ModuleDeclaration | Literal | Program | SwitchCase | CatchClause | Property | Super | SpreadElement | TemplateElement | AssignmentProperty | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | ClassBody | MethodDefinition | MetaProperty | ImportAttribute | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ExportSpecifier | AnonymousFunctionDeclaration | AnonymousClassDeclaration | PropertyDefinition | PrivateIdentifier | StaticBlock | VariableDeclarator
590
+ }
591
+
592
+ export type AnyNode = NodeTypes[keyof NodeTypes]
566
593
 
567
594
  export function parse(input: string, options: Options): Program
568
595
 
@@ -573,7 +600,7 @@ export function tokenizer(input: string, options: Options): {
573
600
  [Symbol.iterator](): Iterator<Token>
574
601
  }
575
602
 
576
- export type ecmaVersion = 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | "latest"
603
+ export type ecmaVersion = 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | "latest"
577
604
 
578
605
  export interface Options {
579
606
  /**
@@ -587,10 +614,16 @@ export interface Options {
587
614
 
588
615
  /**
589
616
  * `sourceType` indicates the mode the code should be parsed in.
590
- * Can be either `"script"` or `"module"`. This influences global
617
+ * Can be either `"script"`, `"module"` or `"commonjs"`. This influences global
591
618
  * strict mode and parsing of `import` and `export` declarations.
592
619
  */
593
- sourceType?: "script" | "module"
620
+ sourceType?: "script" | "module" | "commonjs"
621
+
622
+ /**
623
+ * When set to true, enable strict parsing mode even if `sourceType`
624
+ * is `"script"`.
625
+ */
626
+ strict?: boolean
594
627
 
595
628
  /**
596
629
  * a callback that will be called when a semicolon is automatically inserted.
@@ -660,6 +693,14 @@ export interface Options {
660
693
  */
661
694
  locations?: boolean
662
695
 
696
+ /**
697
+ * Pass an optional `{line, column}` object to use for the start of
698
+ * the parse. This is mostly useful when using `parseExpressionAt`
699
+ * with `locations: true`, to prevent the parser from having to
700
+ * determine the line position at the start position.
701
+ */
702
+ startLocation?: {line: number, column: number}
703
+
663
704
  /**
664
705
  * a callback that will cause Acorn to call that export function with object in the same
665
706
  * format as tokens returned from `tokenizer().getToken()`. Note