@es-joy/jsoe 0.24.3 → 0.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/.ncurc.cjs +2 -2
  3. package/CHANGES.md +51 -0
  4. package/README.md +23 -13
  5. package/badges/coverage-badge.svg +1 -1
  6. package/dist/eslint.config.d.ts +3 -0
  7. package/dist/eslint.config.d.ts.map +1 -0
  8. package/dist/formatAndTypeChoices.d.ts +28 -30
  9. package/dist/formatAndTypeChoices.d.ts.map +1 -1
  10. package/dist/formats/indexedDBKey.d.ts.map +1 -1
  11. package/dist/formats/schema.d.ts +46 -3
  12. package/dist/formats/schema.d.ts.map +1 -1
  13. package/dist/formats/structuredCloning.d.ts +3 -0
  14. package/dist/formats/structuredCloning.d.ts.map +1 -1
  15. package/dist/formats.d.ts +24 -6
  16. package/dist/formats.d.ts.map +1 -1
  17. package/dist/fundamentalTypes/BooleanObjectType.d.ts.map +1 -1
  18. package/dist/fundamentalTypes/NumberObjectType.d.ts.map +1 -1
  19. package/dist/fundamentalTypes/StringObjectType.d.ts.map +1 -1
  20. package/dist/fundamentalTypes/arrayReferenceType.d.ts.map +1 -1
  21. package/dist/fundamentalTypes/arrayType.d.ts +7 -0
  22. package/dist/fundamentalTypes/arrayType.d.ts.map +1 -1
  23. package/dist/fundamentalTypes/bigintObjectType.d.ts.map +1 -1
  24. package/dist/fundamentalTypes/bigintType.d.ts +10 -0
  25. package/dist/fundamentalTypes/bigintType.d.ts.map +1 -1
  26. package/dist/fundamentalTypes/blobType.d.ts.map +1 -1
  27. package/dist/fundamentalTypes/booleanType.d.ts.map +1 -1
  28. package/dist/fundamentalTypes/catchType.d.ts +2 -2
  29. package/dist/fundamentalTypes/catchType.d.ts.map +1 -1
  30. package/dist/fundamentalTypes/dateType.d.ts.map +1 -1
  31. package/dist/fundamentalTypes/domexceptionType.d.ts.map +1 -1
  32. package/dist/fundamentalTypes/enumType.d.ts +2 -2
  33. package/dist/fundamentalTypes/enumType.d.ts.map +1 -1
  34. package/dist/fundamentalTypes/errorType.d.ts.map +1 -1
  35. package/dist/fundamentalTypes/fileType.d.ts +6 -0
  36. package/dist/fundamentalTypes/fileType.d.ts.map +1 -1
  37. package/dist/fundamentalTypes/functionType.d.ts.map +1 -1
  38. package/dist/fundamentalTypes/literalType.d.ts +3 -2
  39. package/dist/fundamentalTypes/literalType.d.ts.map +1 -1
  40. package/dist/fundamentalTypes/looseRecordType.d.ts +6 -0
  41. package/dist/fundamentalTypes/looseRecordType.d.ts.map +1 -0
  42. package/dist/fundamentalTypes/nanType.d.ts.map +1 -1
  43. package/dist/fundamentalTypes/neverType.d.ts +2 -2
  44. package/dist/fundamentalTypes/neverType.d.ts.map +1 -1
  45. package/dist/fundamentalTypes/noneditableType.d.ts.map +1 -1
  46. package/dist/fundamentalTypes/nullType.d.ts.map +1 -1
  47. package/dist/fundamentalTypes/numberType.d.ts.map +1 -1
  48. package/dist/fundamentalTypes/promiseType.d.ts.map +1 -1
  49. package/dist/fundamentalTypes/regexpType.d.ts.map +1 -1
  50. package/dist/fundamentalTypes/stringType.d.ts.map +1 -1
  51. package/dist/fundamentalTypes/symbolType.d.ts.map +1 -1
  52. package/dist/fundamentalTypes/undefinedType.d.ts.map +1 -1
  53. package/dist/fundamentalTypes/voidType.d.ts +2 -2
  54. package/dist/fundamentalTypes/voidType.d.ts.map +1 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +6 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/rollup.config.d.ts +30 -0
  59. package/dist/rollup.config.d.ts.map +1 -0
  60. package/dist/server.d.ts +2 -0
  61. package/dist/server.d.ts.map +1 -0
  62. package/dist/src/formatAndTypeChoices.d.ts +108 -0
  63. package/dist/src/formatAndTypeChoices.d.ts.map +1 -0
  64. package/dist/src/formats/arbitraryJS.d.ts +4 -0
  65. package/dist/src/formats/arbitraryJS.d.ts.map +1 -0
  66. package/dist/src/formats/indexedDBKey.d.ts +4 -0
  67. package/dist/src/formats/indexedDBKey.d.ts.map +1 -0
  68. package/dist/src/formats/json.d.ts +4 -0
  69. package/dist/src/formats/json.d.ts.map +1 -0
  70. package/dist/src/formats/schema.d.ts +17 -0
  71. package/dist/src/formats/schema.d.ts.map +1 -0
  72. package/dist/src/formats/structuredCloning.d.ts +19 -0
  73. package/dist/src/formats/structuredCloning.d.ts.map +1 -0
  74. package/dist/src/formats.d.ts +135 -0
  75. package/dist/src/formats.d.ts.map +1 -0
  76. package/dist/src/fundamentalTypes/BooleanObjectType.d.ts +8 -0
  77. package/dist/src/fundamentalTypes/BooleanObjectType.d.ts.map +1 -0
  78. package/dist/src/fundamentalTypes/NumberObjectType.d.ts +6 -0
  79. package/dist/src/fundamentalTypes/NumberObjectType.d.ts.map +1 -0
  80. package/dist/src/fundamentalTypes/StringObjectType.d.ts +6 -0
  81. package/dist/src/fundamentalTypes/StringObjectType.d.ts.map +1 -0
  82. package/dist/src/fundamentalTypes/arrayReferenceType.d.ts +8 -0
  83. package/dist/src/fundamentalTypes/arrayReferenceType.d.ts.map +1 -0
  84. package/dist/src/fundamentalTypes/arrayType.d.ts +29 -0
  85. package/dist/src/fundamentalTypes/arrayType.d.ts.map +1 -0
  86. package/dist/src/fundamentalTypes/bigintObjectType.d.ts +6 -0
  87. package/dist/src/fundamentalTypes/bigintObjectType.d.ts.map +1 -0
  88. package/dist/src/fundamentalTypes/bigintType.d.ts +6 -0
  89. package/dist/src/fundamentalTypes/bigintType.d.ts.map +1 -0
  90. package/dist/src/fundamentalTypes/blobType.d.ts +11 -0
  91. package/dist/src/fundamentalTypes/blobType.d.ts.map +1 -0
  92. package/dist/src/fundamentalTypes/booleanType.d.ts +8 -0
  93. package/dist/src/fundamentalTypes/booleanType.d.ts.map +1 -0
  94. package/dist/src/fundamentalTypes/catchType.d.ts +6 -0
  95. package/dist/src/fundamentalTypes/catchType.d.ts.map +1 -0
  96. package/dist/src/fundamentalTypes/dateType.d.ts +26 -0
  97. package/dist/src/fundamentalTypes/dateType.d.ts.map +1 -0
  98. package/dist/src/fundamentalTypes/domexceptionType.d.ts +6 -0
  99. package/dist/src/fundamentalTypes/domexceptionType.d.ts.map +1 -0
  100. package/dist/src/fundamentalTypes/enumType.d.ts +6 -0
  101. package/dist/src/fundamentalTypes/enumType.d.ts.map +1 -0
  102. package/dist/src/fundamentalTypes/errorType.d.ts +6 -0
  103. package/dist/src/fundamentalTypes/errorType.d.ts.map +1 -0
  104. package/dist/src/fundamentalTypes/fileType.d.ts +13 -0
  105. package/dist/src/fundamentalTypes/fileType.d.ts.map +1 -0
  106. package/dist/src/fundamentalTypes/filelistType.d.ts +6 -0
  107. package/dist/src/fundamentalTypes/filelistType.d.ts.map +1 -0
  108. package/dist/src/fundamentalTypes/functionType.d.ts +7 -0
  109. package/dist/src/fundamentalTypes/functionType.d.ts.map +1 -0
  110. package/dist/src/fundamentalTypes/literalType.d.ts +6 -0
  111. package/dist/src/fundamentalTypes/literalType.d.ts.map +1 -0
  112. package/dist/src/fundamentalTypes/mapType.d.ts +6 -0
  113. package/dist/src/fundamentalTypes/mapType.d.ts.map +1 -0
  114. package/dist/src/fundamentalTypes/nanType.d.ts +6 -0
  115. package/dist/src/fundamentalTypes/nanType.d.ts.map +1 -0
  116. package/dist/src/fundamentalTypes/neverType.d.ts +6 -0
  117. package/dist/src/fundamentalTypes/neverType.d.ts.map +1 -0
  118. package/dist/src/fundamentalTypes/noneditableType.d.ts +6 -0
  119. package/dist/src/fundamentalTypes/noneditableType.d.ts.map +1 -0
  120. package/dist/src/fundamentalTypes/nullType.d.ts +6 -0
  121. package/dist/src/fundamentalTypes/nullType.d.ts.map +1 -0
  122. package/dist/src/fundamentalTypes/numberType.d.ts +6 -0
  123. package/dist/src/fundamentalTypes/numberType.d.ts.map +1 -0
  124. package/dist/src/fundamentalTypes/objectReferenceType.d.ts +8 -0
  125. package/dist/src/fundamentalTypes/objectReferenceType.d.ts.map +1 -0
  126. package/dist/src/fundamentalTypes/objectType.d.ts +6 -0
  127. package/dist/src/fundamentalTypes/objectType.d.ts.map +1 -0
  128. package/dist/src/fundamentalTypes/promiseType.d.ts +6 -0
  129. package/dist/src/fundamentalTypes/promiseType.d.ts.map +1 -0
  130. package/dist/src/fundamentalTypes/recordType.d.ts +6 -0
  131. package/dist/src/fundamentalTypes/recordType.d.ts.map +1 -0
  132. package/dist/src/fundamentalTypes/regexpType.d.ts +8 -0
  133. package/dist/src/fundamentalTypes/regexpType.d.ts.map +1 -0
  134. package/dist/src/fundamentalTypes/setType.d.ts +6 -0
  135. package/dist/src/fundamentalTypes/setType.d.ts.map +1 -0
  136. package/dist/src/fundamentalTypes/sparseUndefinedType.d.ts +6 -0
  137. package/dist/src/fundamentalTypes/sparseUndefinedType.d.ts.map +1 -0
  138. package/dist/src/fundamentalTypes/stringType.d.ts +6 -0
  139. package/dist/src/fundamentalTypes/stringType.d.ts.map +1 -0
  140. package/dist/src/fundamentalTypes/symbolType.d.ts +8 -0
  141. package/dist/src/fundamentalTypes/symbolType.d.ts.map +1 -0
  142. package/dist/src/fundamentalTypes/tupleType.d.ts +6 -0
  143. package/dist/src/fundamentalTypes/tupleType.d.ts.map +1 -0
  144. package/dist/src/fundamentalTypes/undefinedType.d.ts +6 -0
  145. package/dist/src/fundamentalTypes/undefinedType.d.ts.map +1 -0
  146. package/dist/src/fundamentalTypes/voidType.d.ts +6 -0
  147. package/dist/src/fundamentalTypes/voidType.d.ts.map +1 -0
  148. package/dist/src/index.d.ts +12 -0
  149. package/dist/src/index.d.ts.map +1 -0
  150. package/dist/src/subTypes/blobHTMLType.d.ts +20 -0
  151. package/dist/src/subTypes/blobHTMLType.d.ts.map +1 -0
  152. package/dist/src/subTypes/falseType.d.ts +8 -0
  153. package/dist/src/subTypes/falseType.d.ts.map +1 -0
  154. package/dist/src/subTypes/trueType.d.ts +8 -0
  155. package/dist/src/subTypes/trueType.d.ts.map +1 -0
  156. package/dist/src/superTypes/SpecialNumberType.d.ts +6 -0
  157. package/dist/src/superTypes/SpecialNumberType.d.ts.map +1 -0
  158. package/dist/src/superTypes/SpecialRealNumberType.d.ts +6 -0
  159. package/dist/src/superTypes/SpecialRealNumberType.d.ts.map +1 -0
  160. package/dist/src/superTypes/buffersourceType.d.ts +8 -0
  161. package/dist/src/superTypes/buffersourceType.d.ts.map +1 -0
  162. package/dist/src/superTypes/dommatrixType.d.ts +6 -0
  163. package/dist/src/superTypes/dommatrixType.d.ts.map +1 -0
  164. package/dist/src/superTypes/dompointType.d.ts +6 -0
  165. package/dist/src/superTypes/dompointType.d.ts.map +1 -0
  166. package/dist/src/superTypes/domrectType.d.ts +6 -0
  167. package/dist/src/superTypes/domrectType.d.ts.map +1 -0
  168. package/dist/src/superTypes/errorsSpecialType.d.ts +8 -0
  169. package/dist/src/superTypes/errorsSpecialType.d.ts.map +1 -0
  170. package/dist/src/typeChoices.d.ts +140 -0
  171. package/dist/src/typeChoices.d.ts.map +1 -0
  172. package/dist/src/types.d.ts +758 -0
  173. package/dist/src/types.d.ts.map +1 -0
  174. package/dist/src/utils/FileList.d.ts +26 -0
  175. package/dist/src/utils/FileList.d.ts.map +1 -0
  176. package/dist/src/utils/dialogs.d.ts +111 -0
  177. package/dist/src/utils/dialogs.d.ts.map +1 -0
  178. package/dist/src/utils/jsonPointer.d.ts +46 -0
  179. package/dist/src/utils/jsonPointer.d.ts.map +1 -0
  180. package/dist/src/utils/media.d.ts +18 -0
  181. package/dist/src/utils/media.d.ts.map +1 -0
  182. package/dist/src/utils/objects.d.ts +16 -0
  183. package/dist/src/utils/objects.d.ts.map +1 -0
  184. package/dist/src/utils/templateUtils.d.ts +59 -0
  185. package/dist/src/utils/templateUtils.d.ts.map +1 -0
  186. package/dist/src/utils/types.d.ts +2 -0
  187. package/dist/src/utils/types.d.ts.map +1 -0
  188. package/dist/src/vendor-imports.d.ts +4 -0
  189. package/dist/src/vendor-imports.d.ts.map +1 -0
  190. package/dist/subTypes/blobHTMLType.d.ts.map +1 -1
  191. package/dist/superTypes/SpecialRealNumberType.d.ts.map +1 -1
  192. package/dist/superTypes/buffersourceType.d.ts.map +1 -1
  193. package/dist/superTypes/dommatrixType.d.ts.map +1 -1
  194. package/dist/superTypes/dompointType.d.ts.map +1 -1
  195. package/dist/superTypes/domrectType.d.ts.map +1 -1
  196. package/dist/superTypes/errorsSpecialType.d.ts.map +1 -1
  197. package/dist/typeChoices.d.ts +21 -87
  198. package/dist/typeChoices.d.ts.map +1 -1
  199. package/dist/types.d.ts +90 -64
  200. package/dist/types.d.ts.map +1 -1
  201. package/dist/utils/FileList.d.ts +4 -3
  202. package/dist/utils/FileList.d.ts.map +1 -1
  203. package/dist/utils/dialogs.d.ts +4 -4
  204. package/dist/utils/dialogs.d.ts.map +1 -1
  205. package/dist/utils/media.d.ts.map +1 -1
  206. package/dist/utils/schemaMeta.d.ts +92 -0
  207. package/dist/utils/schemaMeta.d.ts.map +1 -0
  208. package/dist/utils/templateUtils.d.ts +3 -3
  209. package/dist/utils/templateUtils.d.ts.map +1 -1
  210. package/dist/utils/timing.d.ts +2 -0
  211. package/dist/utils/timing.d.ts.map +1 -0
  212. package/dist/utils/types.d.ts +1 -0
  213. package/dist/utils/types.d.ts.map +1 -1
  214. package/dist/vendor-imports.d.ts +3 -1
  215. package/docs/proposals/schema-meta.md +233 -0
  216. package/eslint.config.js +51 -4
  217. package/licenseInfo.json +1 -1
  218. package/package.json +52 -42
  219. package/pnpm-workspace.yaml +57 -0
  220. package/rollup.config.js +20 -18
  221. package/server.js +3 -3
  222. package/src/deepEqual.js.map +1 -1
  223. package/src/formatAndTypeChoices.js +62 -58
  224. package/src/formats/indexedDBKey.js +3 -4
  225. package/src/formats/schema.js +824 -475
  226. package/src/formats/structuredCloning.js +189 -79
  227. package/src/formats.js +17 -5
  228. package/src/fundamentalTypes/BooleanObjectType.js +4 -5
  229. package/src/fundamentalTypes/NumberObjectType.js +4 -4
  230. package/src/fundamentalTypes/StringObjectType.js +3 -4
  231. package/src/fundamentalTypes/arrayReferenceType.js +0 -2
  232. package/src/fundamentalTypes/arrayType.js +624 -389
  233. package/src/fundamentalTypes/bigintObjectType.js +3 -2
  234. package/src/fundamentalTypes/bigintType.js +79 -17
  235. package/src/fundamentalTypes/blobType.js +35 -35
  236. package/src/fundamentalTypes/booleanType.js +16 -8
  237. package/src/fundamentalTypes/dateType.js +6 -8
  238. package/src/fundamentalTypes/domexceptionType.js +5 -4
  239. package/src/fundamentalTypes/errorType.js +39 -32
  240. package/src/fundamentalTypes/fileType.js +238 -52
  241. package/src/fundamentalTypes/functionType.js +61 -41
  242. package/src/fundamentalTypes/nanType.js +5 -4
  243. package/src/fundamentalTypes/noneditableType.js +4 -3
  244. package/src/fundamentalTypes/nullType.js +3 -2
  245. package/src/fundamentalTypes/numberType.js +72 -20
  246. package/src/fundamentalTypes/promiseType.js +16 -40
  247. package/src/fundamentalTypes/regexpType.js +7 -13
  248. package/src/fundamentalTypes/stringType.js +176 -110
  249. package/src/fundamentalTypes/symbolType.js +3 -2
  250. package/src/fundamentalTypes/undefinedType.js +3 -2
  251. package/src/index.js +6 -5
  252. package/src/jsoe.css +107 -8
  253. package/src/subTypes/blobHTMLType.js +23 -10
  254. package/src/superTypes/SpecialNumberType.js +6 -6
  255. package/src/superTypes/SpecialRealNumberType.js +10 -9
  256. package/src/superTypes/buffersourceType.js +86 -75
  257. package/src/superTypes/dommatrixType.js +6 -5
  258. package/src/superTypes/dompointType.js +6 -5
  259. package/src/superTypes/domrectType.js +6 -5
  260. package/src/superTypes/errorsSpecialType.js +54 -35
  261. package/src/typeChoices.js +399 -54
  262. package/src/types.js +157 -97
  263. package/src/utils/FileList.js +3 -3
  264. package/src/utils/dialogs.js +5 -7
  265. package/src/utils/jsonPointer.js +1 -1
  266. package/src/utils/media.js +1 -0
  267. package/src/utils/schemaMeta.js +257 -0
  268. package/src/utils/templateUtils.js +3 -3
  269. package/src/utils/timing.js +12 -0
  270. package/src/utils/types.js +19 -0
  271. package/src/vendor-imports.js +10 -2
  272. package/tsconfig.json +2 -0
  273. package/vendor/acorn/dist/acorn.d.mts +46 -5
  274. package/vendor/acorn/dist/acorn.d.ts +46 -5
  275. package/vendor/acorn/dist/acorn.js +394 -117
  276. package/vendor/acorn/dist/acorn.mjs +394 -117
  277. package/vendor/acorn/dist/bin.js +1 -1
  278. package/vendor/jamilih/dist/{jml-es.js → jml.mjs} +590 -312
  279. package/vendor/jamilih/package.json +1 -1
  280. package/vendor/mime/dist/types/other.js +719 -0
  281. package/vendor/mime/dist/types/standard.js +366 -0
  282. package/vendor/typeson-registry/dist/index.js +519 -99
  283. package/vendor/zod/classic/checks.d.ts +1 -0
  284. package/vendor/zod/classic/checks.js +1 -0
  285. package/vendor/zod/classic/coerce.d.ts +17 -0
  286. package/vendor/zod/classic/coerce.js +17 -0
  287. package/vendor/zod/classic/compat.d.ts +48 -0
  288. package/vendor/zod/classic/compat.js +31 -0
  289. package/vendor/zod/classic/deep-partial.d.ts +14 -0
  290. package/vendor/zod/classic/deep-partial.js +13 -0
  291. package/vendor/zod/classic/errors.d.ts +29 -0
  292. package/vendor/zod/classic/errors.js +57 -0
  293. package/vendor/zod/classic/external.d.ts +19 -0
  294. package/vendor/zod/classic/external.js +17 -0
  295. package/vendor/zod/classic/from-json-schema.d.ts +12 -0
  296. package/vendor/zod/classic/from-json-schema.js +660 -0
  297. package/vendor/zod/classic/in-out.d.ts +8 -0
  298. package/vendor/zod/classic/in-out.js +36 -0
  299. package/vendor/zod/classic/index.d.ts +3 -0
  300. package/vendor/zod/classic/index.js +4 -0
  301. package/vendor/zod/classic/iso.d.ts +7 -0
  302. package/vendor/zod/classic/iso.js +15 -0
  303. package/vendor/zod/classic/package.json +7 -0
  304. package/vendor/zod/classic/parse.d.ts +44 -0
  305. package/vendor/zod/classic/parse.js +16 -0
  306. package/vendor/zod/classic/schemas.d.ts +802 -0
  307. package/vendor/zod/classic/schemas.js +1491 -0
  308. package/vendor/zod/core/api.d.ts +329 -0
  309. package/vendor/zod/core/api.js +1104 -0
  310. package/vendor/zod/core/checks.d.ts +278 -0
  311. package/vendor/zod/core/checks.js +581 -0
  312. package/vendor/zod/core/compile.d.ts +51 -0
  313. package/vendor/zod/core/compile.js +1783 -0
  314. package/vendor/zod/core/core.d.ts +82 -0
  315. package/vendor/zod/core/core.js +141 -0
  316. package/vendor/zod/core/doc.d.ts +16 -0
  317. package/vendor/zod/core/doc.js +33 -0
  318. package/vendor/zod/core/errors.d.ts +225 -0
  319. package/vendor/zod/core/errors.js +270 -0
  320. package/vendor/zod/core/index.d.ts +19 -0
  321. package/vendor/zod/core/index.js +19 -0
  322. package/vendor/zod/core/json-schema-generator.d.ts +65 -0
  323. package/vendor/zod/core/json-schema-generator.js +99 -0
  324. package/vendor/zod/core/json-schema-processors.d.ts +49 -0
  325. package/vendor/zod/core/json-schema-processors.js +747 -0
  326. package/vendor/zod/core/json-schema.d.ts +89 -0
  327. package/vendor/zod/core/memoizer.d.ts +15 -0
  328. package/vendor/zod/core/memoizer.js +265 -0
  329. package/vendor/zod/core/package.json +7 -0
  330. package/vendor/zod/core/parse.d.ts +52 -0
  331. package/vendor/zod/core/parse.js +154 -0
  332. package/vendor/zod/core/regexes.d.ts +87 -0
  333. package/vendor/zod/core/regexes.js +150 -0
  334. package/vendor/zod/core/registries.d.ts +35 -0
  335. package/vendor/zod/core/registries.js +51 -0
  336. package/vendor/zod/core/schemas.d.ts +1253 -0
  337. package/vendor/zod/core/schemas.js +2440 -0
  338. package/vendor/zod/core/standard-schema.d.ts +126 -0
  339. package/vendor/zod/core/to-json-schema.d.ts +153 -0
  340. package/vendor/zod/core/to-json-schema.js +650 -0
  341. package/vendor/zod/core/util.d.ts +257 -0
  342. package/vendor/zod/core/util.js +846 -0
  343. package/vendor/zod/core/versions.d.ts +5 -0
  344. package/vendor/zod/core/versions.js +5 -0
  345. package/vendor/zod/core/visit.d.ts +30 -0
  346. package/vendor/zod/core/visit.js +169 -0
  347. package/vendor/zod/index.d.ts +3 -0
  348. package/vendor/zod/index.js +4 -0
  349. package/vendor/zod/locales/ar.d.ts +4 -0
  350. package/vendor/zod/locales/ar.js +109 -0
  351. package/vendor/zod/locales/az.d.ts +4 -0
  352. package/vendor/zod/locales/az.js +108 -0
  353. package/vendor/zod/locales/be.d.ts +4 -0
  354. package/vendor/zod/locales/be.js +166 -0
  355. package/vendor/zod/locales/bg.d.ts +4 -0
  356. package/vendor/zod/locales/bg.js +123 -0
  357. package/vendor/zod/locales/bn.d.ts +4 -0
  358. package/vendor/zod/locales/bn.js +111 -0
  359. package/vendor/zod/locales/ca.d.ts +4 -0
  360. package/vendor/zod/locales/ca.js +110 -0
  361. package/vendor/zod/locales/ckb.d.ts +4 -0
  362. package/vendor/zod/locales/ckb.js +131 -0
  363. package/vendor/zod/locales/cs.d.ts +4 -0
  364. package/vendor/zod/locales/cs.js +114 -0
  365. package/vendor/zod/locales/da.d.ts +4 -0
  366. package/vendor/zod/locales/da.js +118 -0
  367. package/vendor/zod/locales/de.d.ts +4 -0
  368. package/vendor/zod/locales/de.js +111 -0
  369. package/vendor/zod/locales/el.d.ts +4 -0
  370. package/vendor/zod/locales/el.js +110 -0
  371. package/vendor/zod/locales/en.d.ts +4 -0
  372. package/vendor/zod/locales/en.js +123 -0
  373. package/vendor/zod/locales/eo.d.ts +4 -0
  374. package/vendor/zod/locales/eo.js +112 -0
  375. package/vendor/zod/locales/es.d.ts +4 -0
  376. package/vendor/zod/locales/es.js +134 -0
  377. package/vendor/zod/locales/fa.d.ts +4 -0
  378. package/vendor/zod/locales/fa.js +117 -0
  379. package/vendor/zod/locales/fi.d.ts +4 -0
  380. package/vendor/zod/locales/fi.js +115 -0
  381. package/vendor/zod/locales/fr-CA.d.ts +4 -0
  382. package/vendor/zod/locales/fr-CA.js +110 -0
  383. package/vendor/zod/locales/fr.d.ts +4 -0
  384. package/vendor/zod/locales/fr.js +127 -0
  385. package/vendor/zod/locales/gu.d.ts +4 -0
  386. package/vendor/zod/locales/gu.js +111 -0
  387. package/vendor/zod/locales/he.d.ts +4 -0
  388. package/vendor/zod/locales/he.js +219 -0
  389. package/vendor/zod/locales/hi.d.ts +4 -0
  390. package/vendor/zod/locales/hi.js +109 -0
  391. package/vendor/zod/locales/hr.d.ts +4 -0
  392. package/vendor/zod/locales/hr.js +124 -0
  393. package/vendor/zod/locales/hu.d.ts +4 -0
  394. package/vendor/zod/locales/hu.js +111 -0
  395. package/vendor/zod/locales/hy.d.ts +4 -0
  396. package/vendor/zod/locales/hy.js +156 -0
  397. package/vendor/zod/locales/id.d.ts +4 -0
  398. package/vendor/zod/locales/id.js +109 -0
  399. package/vendor/zod/locales/index.d.ts +62 -0
  400. package/vendor/zod/locales/index.js +62 -0
  401. package/vendor/zod/locales/is.d.ts +4 -0
  402. package/vendor/zod/locales/is.js +112 -0
  403. package/vendor/zod/locales/it.d.ts +4 -0
  404. package/vendor/zod/locales/it.js +111 -0
  405. package/vendor/zod/locales/ja.d.ts +4 -0
  406. package/vendor/zod/locales/ja.js +110 -0
  407. package/vendor/zod/locales/ka.d.ts +4 -0
  408. package/vendor/zod/locales/ka.js +115 -0
  409. package/vendor/zod/locales/kh.d.ts +5 -0
  410. package/vendor/zod/locales/kh.js +5 -0
  411. package/vendor/zod/locales/km.d.ts +4 -0
  412. package/vendor/zod/locales/km.js +113 -0
  413. package/vendor/zod/locales/kn.d.ts +4 -0
  414. package/vendor/zod/locales/kn.js +114 -0
  415. package/vendor/zod/locales/ko.d.ts +4 -0
  416. package/vendor/zod/locales/ko.js +114 -0
  417. package/vendor/zod/locales/lt.d.ts +4 -0
  418. package/vendor/zod/locales/lt.js +205 -0
  419. package/vendor/zod/locales/mk.d.ts +4 -0
  420. package/vendor/zod/locales/mk.js +112 -0
  421. package/vendor/zod/locales/ms.d.ts +4 -0
  422. package/vendor/zod/locales/ms.js +110 -0
  423. package/vendor/zod/locales/ne.d.ts +4 -0
  424. package/vendor/zod/locales/ne.js +109 -0
  425. package/vendor/zod/locales/nl.d.ts +4 -0
  426. package/vendor/zod/locales/nl.js +113 -0
  427. package/vendor/zod/locales/nn.d.ts +4 -0
  428. package/vendor/zod/locales/nn.js +111 -0
  429. package/vendor/zod/locales/no.d.ts +4 -0
  430. package/vendor/zod/locales/no.js +111 -0
  431. package/vendor/zod/locales/ota.d.ts +4 -0
  432. package/vendor/zod/locales/ota.js +112 -0
  433. package/vendor/zod/locales/package.json +7 -0
  434. package/vendor/zod/locales/pl.d.ts +4 -0
  435. package/vendor/zod/locales/pl.js +112 -0
  436. package/vendor/zod/locales/ps.d.ts +4 -0
  437. package/vendor/zod/locales/ps.js +117 -0
  438. package/vendor/zod/locales/pt-BR.d.ts +4 -0
  439. package/vendor/zod/locales/pt-BR.js +141 -0
  440. package/vendor/zod/locales/pt.d.ts +4 -0
  441. package/vendor/zod/locales/pt.js +140 -0
  442. package/vendor/zod/locales/ro.d.ts +4 -0
  443. package/vendor/zod/locales/ro.js +120 -0
  444. package/vendor/zod/locales/ru.d.ts +4 -0
  445. package/vendor/zod/locales/ru.js +166 -0
  446. package/vendor/zod/locales/sk.d.ts +4 -0
  447. package/vendor/zod/locales/sk.js +114 -0
  448. package/vendor/zod/locales/sl.d.ts +4 -0
  449. package/vendor/zod/locales/sl.js +112 -0
  450. package/vendor/zod/locales/sv.d.ts +4 -0
  451. package/vendor/zod/locales/sv.js +113 -0
  452. package/vendor/zod/locales/ta.d.ts +4 -0
  453. package/vendor/zod/locales/ta.js +113 -0
  454. package/vendor/zod/locales/th.d.ts +4 -0
  455. package/vendor/zod/locales/th.js +113 -0
  456. package/vendor/zod/locales/tk.d.ts +4 -0
  457. package/vendor/zod/locales/tk.js +105 -0
  458. package/vendor/zod/locales/tr.d.ts +4 -0
  459. package/vendor/zod/locales/tr.js +108 -0
  460. package/vendor/zod/locales/ua.d.ts +5 -0
  461. package/vendor/zod/locales/ua.js +5 -0
  462. package/vendor/zod/locales/uk.d.ts +4 -0
  463. package/vendor/zod/locales/uk.js +111 -0
  464. package/vendor/zod/locales/ur.d.ts +4 -0
  465. package/vendor/zod/locales/ur.js +113 -0
  466. package/vendor/zod/locales/uz.d.ts +4 -0
  467. package/vendor/zod/locales/uz.js +111 -0
  468. package/vendor/zod/locales/vi.d.ts +4 -0
  469. package/vendor/zod/locales/vi.js +111 -0
  470. package/vendor/zod/locales/yo.d.ts +4 -0
  471. package/vendor/zod/locales/yo.js +110 -0
  472. package/vendor/zod/locales/zh-CN.d.ts +4 -0
  473. package/vendor/zod/locales/zh-CN.js +112 -0
  474. package/vendor/zod/locales/zh-TW.d.ts +4 -0
  475. package/vendor/zod/locales/zh-TW.js +110 -0
  476. package/vendor/zod/mini/checks.d.ts +1 -0
  477. package/vendor/zod/mini/checks.js +1 -0
  478. package/vendor/zod/mini/coerce.d.ts +7 -0
  479. package/vendor/zod/mini/coerce.js +22 -0
  480. package/vendor/zod/mini/deep-partial.d.ts +14 -0
  481. package/vendor/zod/mini/deep-partial.js +13 -0
  482. package/vendor/zod/mini/external.d.ts +16 -0
  483. package/vendor/zod/mini/external.js +16 -0
  484. package/vendor/zod/mini/in-out.d.ts +8 -0
  485. package/vendor/zod/mini/in-out.js +36 -0
  486. package/vendor/zod/mini/index.d.ts +3 -0
  487. package/vendor/zod/mini/index.js +3 -0
  488. package/vendor/zod/mini/iso.d.ts +22 -0
  489. package/vendor/zod/mini/iso.js +34 -0
  490. package/vendor/zod/mini/package.json +7 -0
  491. package/vendor/zod/mini/parse.d.ts +1 -0
  492. package/vendor/zod/mini/parse.js +1 -0
  493. package/vendor/zod/mini/schemas.d.ts +475 -0
  494. package/vendor/zod/mini/schemas.js +987 -0
  495. package/vendor/zod/package.json +7 -0
  496. package/vendor/zodexy/dist/esm/index.js +1274 -0
  497. package/vendor/zodexy/dist/index.js +1088 -0
  498. package/vendor/zodexy/dist/schema.zodexy.json +1036 -0
  499. package/dist/fundamentalTypes/nativeEnumType.d.ts +0 -6
  500. package/dist/fundamentalTypes/nativeEnumType.d.ts.map +0 -1
  501. package/src/fundamentalTypes/catchType.js +0 -140
  502. package/src/fundamentalTypes/enumType.js +0 -52
  503. package/src/fundamentalTypes/literalType.js +0 -81
  504. package/src/fundamentalTypes/nativeEnumType.js +0 -157
  505. package/src/fundamentalTypes/neverType.js +0 -49
  506. package/src/fundamentalTypes/recordType.js +0 -42
  507. package/src/fundamentalTypes/tupleType.js +0 -39
  508. package/src/fundamentalTypes/voidType.js +0 -48
  509. package/vendor/zod/lib/index.mjs +0 -4236
  510. package/vendor/zodex/dist/esm/dezerialize.d.ts +0 -26
  511. package/vendor/zodex/dist/esm/dezerialize.js +0 -393
  512. package/vendor/zodex/dist/esm/index.d.ts +0 -9
  513. package/vendor/zodex/dist/esm/index.js +0 -4
  514. package/vendor/zodex/dist/esm/infer.d.ts +0 -29
  515. package/vendor/zodex/dist/esm/package.json +0 -1
  516. package/vendor/zodex/dist/esm/types.d.ts +0 -201
  517. package/vendor/zodex/dist/esm/types.js +0 -13
  518. package/vendor/zodex/dist/esm/ui.d.ts +0 -23
  519. package/vendor/zodex/dist/esm/ui.js +0 -10
  520. package/vendor/zodex/dist/esm/zerialize.d.ts +0 -50
  521. package/vendor/zodex/dist/esm/zerialize.js +0 -417
  522. package/vendor/zodex/dist/esm/zod-types.d.ts +0 -11
  523. /package/vendor/{zodex/dist/esm/infer.js → zod/core/json-schema.js} +0 -0
  524. /package/vendor/{zodex/dist/esm/zod-types.js → zod/core/standard-schema.js} +0 -0
@@ -1,6 +1,7 @@
1
1
  /* globals sceditor -- No ESM version yet */
2
2
  import {jml} from '../vendor-imports.js';
3
3
  import {$e} from '../utils/templateUtils.js';
4
+ import {schemaLabel} from '../utils/schemaMeta.js';
4
5
 
5
6
  import dialogs from '../utils/dialogs.js';
6
7
  import {isNullish} from '../utils/types.js';
@@ -34,7 +35,7 @@ const blobHTMLType = {
34
35
  const pos = dataURI.indexOf(',');
35
36
  const mimeInfo = dataURI.slice(0, pos);
36
37
  const bytes = dataURI.slice(pos + 1);
37
- const [mimeString, encoding] = mimeInfo.split(':')[1].split(';');
38
+ const [mimeString, encoding] = mimeInfo.split(':', 2)[1].split(';', 2);
38
39
  let ab;
39
40
  if (encoding === 'base64') {
40
41
  const byteString = atob(bytes);
@@ -74,7 +75,7 @@ const blobHTMLType = {
74
75
  const result = await this.loadBlob(value);
75
76
  /** @type {SCEditorTextarea} */ (
76
77
  this.getInput({root})
77
- ).sceditorInstance.val(/** @type {string} */ (result));
78
+ ).sceditorInstance.val(result);
78
79
  // this.getInput({root}).value = result;
79
80
  },
80
81
  viewUI ({value, specificSchemaObject}) {
@@ -82,9 +83,9 @@ const blobHTMLType = {
82
83
  let val;
83
84
  const div = jml('div', {
84
85
  dataset: {type: 'blobHTML'},
85
- title: specificSchemaObject?.description ? 'HTML' : undefined
86
+ title: schemaLabel(specificSchemaObject) ? 'HTML' : undefined
86
87
  }, [
87
- specificSchemaObject?.description ?? 'HTML',
88
+ schemaLabel(specificSchemaObject) ?? 'HTML',
88
89
  ': ',
89
90
  ['button', {$on: {
90
91
  click () {
@@ -95,18 +96,16 @@ const blobHTMLType = {
95
96
  }
96
97
  }}, ['View source']]
97
98
  ]);
98
- // eslint-disable-next-line @stylistic/max-len -- Long
99
99
  // eslint-disable-next-line promise/prefer-await-to-then -- Not an async method
100
100
  this.loadBlob(value).then((
101
101
  result
102
102
  ) => {
103
- val = /** @type {string} */ (result);
103
+ val = result;
104
104
  jml('iframe', {
105
105
  sandbox: '',
106
106
  srcdoc: val
107
107
  }, div);
108
108
  return undefined;
109
- // eslint-disable-next-line @stylistic/max-len -- Long
110
109
  // eslint-disable-next-line promise/prefer-await-to-then -- Not an async method
111
110
  }).catch(
112
111
  /* istanbul ignore next -- How to simulate? */
@@ -137,13 +136,26 @@ const blobHTMLType = {
137
136
  'div',
138
137
  {
139
138
  dataset: {type: 'blobHTML'},
140
- title: specificSchemaObject?.description ?? 'Blob (HTML)'
139
+ title: schemaLabel(specificSchemaObject) ?? 'Blob (HTML)'
141
140
  },
142
141
  [
143
142
  textarea
144
143
  ]
145
144
  );
146
- setTimeout(() => {
145
+ // SCEditor builds a WYSIWYG iframe, which only works once `textarea` is
146
+ // connected to the document. The caller attaches `root` after the build
147
+ // pipeline returns, and re-parenting an SCEditor iframe reloads it, so we
148
+ // wait here for connection rather than initialising eagerly (or letting
149
+ // the build pipeline await us, which would deadlock).
150
+ let connectionTries = 0;
151
+ const createWhenConnected = () => {
152
+ if (!textarea.isConnected) {
153
+ /* istanbul ignore else -- Bounded guard against a never-attached UI */
154
+ if (connectionTries++ < 250) {
155
+ setTimeout(createWhenConnected, 20);
156
+ }
157
+ return;
158
+ }
147
159
  // Push onto these: https://www.sceditor.com/documentation/formats/xhtml/
148
160
  // sceditor.formats.xhtml.converters array
149
161
  // sceditor.formats.xhtml.allowedAttribs object
@@ -187,7 +199,8 @@ const blobHTMLType = {
187
199
  this
188
200
  ).setValue({root, value});
189
201
  }
190
- });
202
+ };
203
+ setTimeout(createWhenConnected, 0);
191
204
  return [root];
192
205
  }
193
206
  };
@@ -12,10 +12,10 @@ const SpecialNumberSuperType = {
12
12
  value: s === '-0'
13
13
  ? -0
14
14
  : s === 'NaN'
15
- ? Number.NaN
15
+ ? NaN
16
16
  : s === 'Infinity'
17
- ? Number.POSITIVE_INFINITY
18
- : Number.NEGATIVE_INFINITY
17
+ ? Infinity
18
+ : -Infinity
19
19
  };
20
20
  },
21
21
  getSelect ({root}) {
@@ -42,7 +42,7 @@ const SpecialNumberSuperType = {
42
42
  Object.is(value, -0) ? '-0' : String(value)
43
43
  ]];
44
44
  },
45
- editUI ({typeNamespace, value = Number.NaN}) {
45
+ editUI ({typeNamespace, value = NaN}) {
46
46
  return ['div', {dataset: {type: 'SpecialNumber'}}, [
47
47
  ['label', [
48
48
  'Special number: ',
@@ -53,10 +53,10 @@ const SpecialNumberSuperType = {
53
53
  value: 'NaN', selected: Number.isNaN(value)
54
54
  }, ['NaN']],
55
55
  ['option', {
56
- value: 'Infinity', selected: value === Number.POSITIVE_INFINITY
56
+ value: 'Infinity', selected: value === Infinity
57
57
  }, ['Infinity']],
58
58
  ['option', {
59
- value: '-Infinity', selected: value === Number.NEGATIVE_INFINITY
59
+ value: '-Infinity', selected: value === -Infinity
60
60
  }, ['-Infinity']],
61
61
  ['option', {
62
62
  value: '-0', selected: Object.is(value, -0)
@@ -1,4 +1,5 @@
1
1
  import {$e} from '../utils/templateUtils.js';
2
+ import {schemaLabel} from '../utils/schemaMeta.js';
2
3
 
3
4
  /**
4
5
  * @type {import('../types.js').SuperTypeObject}
@@ -8,16 +9,16 @@ const SpecialRealNumberSuperType = {
8
9
  childTypes: ['infinity', 'negativeInfinity', 'negativeZero'],
9
10
  stringRegex: /^(?:-?Infinity|-0)$/u,
10
11
  valueMatch (x) {
11
- return Object.is(x, -0) || x === Number.POSITIVE_INFINITY ||
12
- x === Number.NEGATIVE_INFINITY;
12
+ return Object.is(x, -0) || x === Infinity ||
13
+ x === -Infinity;
13
14
  },
14
15
  toValue (s) {
15
16
  return {
16
17
  value: s === '-0'
17
18
  ? -0
18
19
  : s === 'Infinity'
19
- ? Number.POSITIVE_INFINITY
20
- : Number.NEGATIVE_INFINITY
20
+ ? Infinity
21
+ : -Infinity
21
22
  };
22
23
  },
23
24
  getSelect ({root}) {
@@ -39,7 +40,7 @@ const SpecialRealNumberSuperType = {
39
40
  const isNegativeZero = Object.is(value, -0);
40
41
  return ['i', {
41
42
  dataset: {type: 'SpecialRealNumber'},
42
- title: specificSchemaObject?.description ?? (isNegativeZero
43
+ title: schemaLabel(specificSchemaObject) ?? (isNegativeZero
43
44
  ? '(negative zero)'
44
45
  : `(${String(value)})`)
45
46
  }, [
@@ -53,19 +54,19 @@ const SpecialRealNumberSuperType = {
53
54
  return /** @type {HTMLSelectElement} */ ($e(root, 'select'));
54
55
  },
55
56
  editUI ({
56
- typeNamespace, specificSchemaObject, value = Number.POSITIVE_INFINITY
57
+ typeNamespace, specificSchemaObject, value = Infinity
57
58
  }) {
58
59
  return ['div', {
59
60
  dataset: {type: 'SpecialRealNumber'},
60
- title: specificSchemaObject?.description ?? 'Special Real Number'
61
+ title: schemaLabel(specificSchemaObject) ?? 'Special Real Number'
61
62
  }, [
62
63
  ['label', [
63
64
  ['select', {name: `${typeNamespace}-SpecialRealNumber`}, [
64
65
  ['option', {
65
- value: 'Infinity', selected: value === Number.POSITIVE_INFINITY
66
+ value: 'Infinity', selected: value === Infinity
66
67
  }, ['Infinity']],
67
68
  ['option', {
68
- value: '-Infinity', selected: value === Number.NEGATIVE_INFINITY
69
+ value: '-Infinity', selected: value === -Infinity
69
70
  }, ['-Infinity']],
70
71
  ['option', {
71
72
  value: '-0', selected: Object.is(value, -0)
@@ -1,7 +1,21 @@
1
1
  import {$e, $$e} from '../utils/templateUtils.js';
2
+ import {schemaLabel} from '../utils/schemaMeta.js';
2
3
  import {jml, toStringTag} from '../vendor-imports.js';
3
4
  import dialogs from '../utils/dialogs.js';
4
5
 
6
+ /**
7
+ * Integer value of a numeric form field, matching the `parseInt` behavior this
8
+ * replaced: a blank field is `NaN` (so comparisons against it stay false),
9
+ * not `0` as `Number('')` / `Math.trunc(Number(''))` would give.
10
+ * @param {string} str
11
+ */
12
+ const toInteger = (str) => {
13
+ if (str.trim() === '') {
14
+ return NaN;
15
+ }
16
+ return Math.trunc(Number(str));
17
+ };
18
+
5
19
  const dataViewMethods = /** @type {const} */ ([
6
20
  'setInt8',
7
21
  'setUint8',
@@ -67,8 +81,8 @@ const getMinMaxForTypedArray = (typedArray) => {
67
81
  /**
68
82
  * @typedef {Int8Array|Uint8Array|Uint8ClampedArray|
69
83
  * Int16Array|Uint16Array|Int32Array|Uint32Array|
70
- * Float32Array|Float64Array|BigInt64Array|
71
- * BigUint64Array} TypedArrayInstance
84
+ * Float32Array|Float64Array|BigInt64Array|
85
+ * BigUint64Array} TypedArrayInstance
72
86
  */
73
87
 
74
88
  /**
@@ -187,7 +201,7 @@ const buffersourceType = {
187
201
  /** @type {DataView|undefined} */
188
202
  let view;
189
203
  if (bufferSourceClass === 'DataView' || dataViewMethods.some((method) => {
190
- return method in o;
204
+ return Object.hasOwn(o, method);
191
205
  })) {
192
206
  view = new DataView(buffer, dataViewByteOffset, dataViewByteLength);
193
207
  dataViewMethods.forEach((prop) => {
@@ -296,13 +310,13 @@ const buffersourceType = {
296
310
  return ['div', {dataset: {type: 'buffersource'}}, [
297
311
  ['b', {
298
312
  class: 'emphasis',
299
- title: specificSchemaObject?.description
313
+ title: schemaLabel(specificSchemaObject)
300
314
  ? (/^[aeiou]/iu).test(stringTag)
301
315
  ? `(an ${stringTag})`
302
316
  : `(a ${stringTag})`
303
317
  : undefined
304
318
  }, [
305
- specificSchemaObject?.description ?? stringTag
319
+ schemaLabel(specificSchemaObject) ?? stringTag
306
320
  ]],
307
321
  ['br'],
308
322
  ['b', ['Buffer byte length: ']],
@@ -362,12 +376,13 @@ const buffersourceType = {
362
376
  ...Array.from({
363
377
  length: typedArray.length
364
378
  }, (_v, key) => {
379
+ const typedArrayValue = typedArray[key];
365
380
  return jml('span', [
366
381
  ['b', [key]],
367
382
  ' ',
368
383
  ['span', [
369
- typedArray[key]
370
- ? String(typedArray[key])
384
+ typedArrayValue
385
+ ? String(typedArrayValue)
371
386
  : '0'
372
387
  ]],
373
388
  ' '
@@ -411,7 +426,7 @@ const buffersourceType = {
411
426
 
412
427
  const div = jml('div', {
413
428
  dataset: {type: 'buffersource'},
414
- title: specificSchemaObject?.description ?? 'BufferSource'
429
+ title: schemaLabel(specificSchemaObject) ?? 'BufferSource'
415
430
  }, [
416
431
  ['fieldset', {
417
432
  class: 'returnType',
@@ -428,10 +443,10 @@ const buffersourceType = {
428
443
  /** @type {BuildInstances} */
429
444
  $buildInstances () {
430
445
  const that = /**
431
- * @type {HTMLFieldSetElement & {
432
- * $buildInstances: BuildInstances
433
- * }}
434
- */ (this);
446
+ * @type {HTMLFieldSetElement & {
447
+ * $buildInstances: BuildInstances
448
+ * }}
449
+ */ (this);
435
450
  const ancestor = /** @type {HTMLDivElement} */ (that.parentElement);
436
451
  const {value} = /** @type {HTMLInputElement} */ ($e(
437
452
  that, `[name=${typeNamespace}-buffersource-returnType-${idx}]` +
@@ -448,8 +463,8 @@ const buffersourceType = {
448
463
  */ (
449
464
  $e(ancestor, '.byteLength')
450
465
  );
451
- const byteLengthVal = Number.parseInt(byteLength.value);
452
- const maxByteLength = Number.parseInt(
466
+ const byteLengthVal = toInteger(byteLength.value);
467
+ const maxByteLength = toInteger(
453
468
  /** @type {HTMLInputElement} */ (
454
469
  $e(ancestor, '.maxByteLength')
455
470
  ).value
@@ -465,7 +480,7 @@ const buffersourceType = {
465
480
  '.dataViewByteOffset'
466
481
  )).value;
467
482
  const dataViewByteOffset = dataViewByteOffsetVal
468
- ? Number.parseInt(dataViewByteOffsetVal)
483
+ ? toInteger(dataViewByteOffsetVal)
469
484
  : 0;
470
485
 
471
486
  const dataViewByteLengthVal = /** @type {HTMLInputElement} */ ($e(
@@ -473,7 +488,7 @@ const buffersourceType = {
473
488
  '.dataViewByteLength'
474
489
  )).value;
475
490
  const dataViewByteLength = dataViewByteLengthVal
476
- ? Number.parseInt(dataViewByteLengthVal)
491
+ ? toInteger(dataViewByteLengthVal)
477
492
  : undefined;
478
493
 
479
494
  const dataView = new DataView(
@@ -493,7 +508,7 @@ const buffersourceType = {
493
508
  '.typedArrayByteOffset'
494
509
  )).value;
495
510
  const typedArrayByteOffset = typedArrayByteOffsetVal
496
- ? Number.parseInt(typedArrayByteOffsetVal)
511
+ ? toInteger(typedArrayByteOffsetVal)
497
512
  : 0;
498
513
 
499
514
  const typedArrayLengthVal =
@@ -502,7 +517,7 @@ const buffersourceType = {
502
517
  '.typedArrayLength'
503
518
  )).value;
504
519
  const typedArrayLength = typedArrayLengthVal
505
- ? Number.parseInt(typedArrayLengthVal)
520
+ ? toInteger(typedArrayLengthVal)
506
521
  : byteLengthVal;
507
522
 
508
523
  const typedArray = new TypedArray(
@@ -730,7 +745,7 @@ const buffersourceType = {
730
745
  ));
731
746
  const val = that.value;
732
747
 
733
- if (Number.parseInt(val) > Number.MAX_SAFE_INTEGER) {
748
+ if (toInteger(val) > Number.MAX_SAFE_INTEGER) {
734
749
  that.setCustomValidity(
735
750
  'The ArrayBuffer length exceeds the maximum ' +
736
751
  'allowable size'
@@ -743,7 +758,7 @@ const buffersourceType = {
743
758
  that.reportValidity();
744
759
 
745
760
  if (
746
- Number.parseInt(val) > Number.parseInt(maxByteLength.value)
761
+ toInteger(val) > toInteger(maxByteLength.value)
747
762
  ) {
748
763
  maxByteLength.value = val;
749
764
  }
@@ -791,7 +806,7 @@ const buffersourceType = {
791
806
  ));
792
807
  const val = that.value;
793
808
  if (
794
- Number.parseInt(val) < Number.parseInt(byteLength.value)
809
+ toInteger(val) < toInteger(byteLength.value)
795
810
  ) {
796
811
  // byteLength.value = val;
797
812
  that.setCustomValidity(
@@ -824,16 +839,16 @@ const buffersourceType = {
824
839
  /** @type {CheckDataViewByteLength} */
825
840
  $checkDataViewByteLength (e) {
826
841
  const that = /**
827
- * @type {HTMLInputElement & {
828
- * $checkDataViewByteLength: CheckDataViewByteLength
829
- * }}
830
- */ (
842
+ * @type {HTMLInputElement & {
843
+ * $checkDataViewByteLength: CheckDataViewByteLength
844
+ * }}
845
+ */ (
831
846
  this
832
847
  );
833
848
  const greatGrandparent = /** @type {HTMLElement} */
834
849
  (that.parentElement?.parentElement?.parentElement);
835
850
 
836
- const byteOffset = Number.parseInt(
851
+ const byteOffset = toInteger(
837
852
  /** @type {HTMLInputElement} */ ($e(
838
853
  greatGrandparent,
839
854
  '.dataViewByteOffset'
@@ -846,15 +861,11 @@ const buffersourceType = {
846
861
  '.byteLength'
847
862
  )).value;
848
863
  const bufferByteLength = bufferByteLengthVal
849
- ? Number.parseInt(
850
- bufferByteLengthVal
851
- )
864
+ ? toInteger(bufferByteLengthVal)
852
865
  : 0;
853
866
 
854
867
  const byteLength = that.value
855
- ? Number.parseInt(
856
- that.value
857
- )
868
+ ? toInteger(that.value)
858
869
  : bufferByteLength;
859
870
 
860
871
  if (byteOffset + byteLength > bufferByteLength) {
@@ -929,10 +940,10 @@ const buffersourceType = {
929
940
  /** @type {CheckByteOffsetMultiple} */
930
941
  $checkByteOffsetMultiple (e) {
931
942
  const that = /**
932
- * @type {HTMLInputElement & {
933
- * $checkByteOffsetMultiple: CheckByteOffsetMultiple
934
- * }}
935
- */ (this);
943
+ * @type {HTMLInputElement & {
944
+ * $checkByteOffsetMultiple: CheckByteOffsetMultiple
945
+ * }}
946
+ */ (this);
936
947
  const ancestor = /** @type {HTMLElement} */ (
937
948
  that.
938
949
  parentElement?.parentElement?.parentElement?.parentElement
@@ -946,7 +957,7 @@ const buffersourceType = {
946
957
  /** @type {TypedArray} */ (value)
947
958
  );
948
959
  if (
949
- Number.parseInt(that.value) % TypedArray.BYTES_PER_ELEMENT
960
+ toInteger(that.value) % TypedArray.BYTES_PER_ELEMENT
950
961
  ) {
951
962
  that.setCustomValidity(
952
963
  'Byte offset must be a multiple of the typed ' +
@@ -1039,11 +1050,11 @@ const buffersourceType = {
1039
1050
  /** @type {CheckTypedArrayByteLength} */
1040
1051
  $checkTypedArrayByteLength (e) {
1041
1052
  const that = /**
1042
- * @type {HTMLSelectElement & {
1043
- * $setMinsAndMaxes: SetMinsAndMaxes,
1044
- * $checkTypedArrayByteLength: CheckTypedArrayByteLength
1045
- * }}
1046
- */ (this);
1053
+ * @type {HTMLSelectElement & {
1054
+ * $setMinsAndMaxes: SetMinsAndMaxes,
1055
+ * $checkTypedArrayByteLength: CheckTypedArrayByteLength
1056
+ * }}
1057
+ */ (this);
1047
1058
  const TypedArray = getTypedArray(
1048
1059
  /** @type {TypedArray} */ (that.value)
1049
1060
  );
@@ -1054,7 +1065,7 @@ const buffersourceType = {
1054
1065
  '.byteLength'
1055
1066
  ));
1056
1067
  const arrayBufferLength = byteLength.value
1057
- ? Number.parseInt(
1068
+ ? toInteger(
1058
1069
  byteLength.value
1059
1070
  )
1060
1071
  : 0;
@@ -1074,11 +1085,11 @@ const buffersourceType = {
1074
1085
  change (e) {
1075
1086
  const that =
1076
1087
  /**
1077
- * @type {HTMLSelectElement & {
1078
- * $setMinsAndMaxes: SetMinsAndMaxes,
1079
- * $checkTypedArrayByteLength: CheckTypedArrayByteLength
1080
- * }}
1081
- */ (
1088
+ * @type {HTMLSelectElement & {
1089
+ * $setMinsAndMaxes: SetMinsAndMaxes,
1090
+ * $checkTypedArrayByteLength: CheckTypedArrayByteLength
1091
+ * }}
1092
+ */ (
1082
1093
  this
1083
1094
  );
1084
1095
 
@@ -1154,11 +1165,11 @@ const buffersourceType = {
1154
1165
  /** @type {CheckBufferBounds} */
1155
1166
  $checkBufferBounds (e) {
1156
1167
  const that = /**
1157
- * @type {HTMLInputElement & {
1158
- * $checkBufferBounds: CheckBufferBounds,
1159
- * $buildTypedArray: BuildTypedArray
1160
- * }}
1161
- */ (this);
1168
+ * @type {HTMLInputElement & {
1169
+ * $checkBufferBounds: CheckBufferBounds,
1170
+ * $buildTypedArray: BuildTypedArray
1171
+ * }}
1172
+ */ (this);
1162
1173
 
1163
1174
  const ancestor = /** @type {HTMLElement} */ (
1164
1175
  that.parentElement?.parentElement?.parentElement
@@ -1169,13 +1180,13 @@ const buffersourceType = {
1169
1180
  '.byteLength'
1170
1181
  )).value;
1171
1182
  const bufferByteLength = bufferByteLengthVal
1172
- ? Number.parseInt(
1183
+ ? toInteger(
1173
1184
  bufferByteLengthVal
1174
1185
  )
1175
1186
  : 0;
1176
1187
 
1177
1188
  const length = that.value
1178
- ? Number.parseInt(that.value)
1189
+ ? toInteger(that.value)
1179
1190
  : bufferByteLength;
1180
1191
 
1181
1192
  const {value} = /** @type {HTMLSelectElement} */ (
@@ -1192,7 +1203,7 @@ const buffersourceType = {
1192
1203
  '.typedArrayByteOffset'
1193
1204
  )).value;
1194
1205
  const typedArrayByteOffset = typedArrayByteOffsetVal
1195
- ? Number.parseInt(typedArrayByteOffsetVal)
1206
+ ? toInteger(typedArrayByteOffsetVal)
1196
1207
  : 0;
1197
1208
 
1198
1209
  if (
@@ -1221,12 +1232,12 @@ const buffersourceType = {
1221
1232
  /** @type {BuildTypedArray} */
1222
1233
  $buildTypedArray () {
1223
1234
  const that = /**
1224
- * @type {HTMLInputElement & {
1225
- * $checkBufferBounds: CheckBufferBounds,
1226
- * $buildTypedArray: BuildTypedArray
1227
- * }}
1228
- */ (this);
1229
- const length = Number.parseInt(that.value);
1235
+ * @type {HTMLInputElement & {
1236
+ * $checkBufferBounds: CheckBufferBounds,
1237
+ * $buildTypedArray: BuildTypedArray
1238
+ * }}
1239
+ */ (this);
1240
+ const length = toInteger(that.value);
1230
1241
  const grandparent = /** @type {HTMLElement} */ (
1231
1242
  that.parentElement?.parentElement
1232
1243
  );
@@ -1255,7 +1266,7 @@ const buffersourceType = {
1255
1266
  input.dataset.bigint === 'true'
1256
1267
  ? BigInt(input.value)
1257
1268
  : Number(input.value)
1258
- ], Number.parseInt(
1269
+ ], toInteger(
1259
1270
  /** @type {string} */ (input.dataset.key)
1260
1271
  ));
1261
1272
  });
@@ -1269,6 +1280,7 @@ const buffersourceType = {
1269
1280
  typedArrayArea.textContent = '';
1270
1281
  typedArrayArea.append(
1271
1282
  ...Array.from({length}, (_v, key) => {
1283
+ const typedArrayValue = bufferByteLength.$typedArray[key];
1272
1284
  return jml('label', [
1273
1285
  key,
1274
1286
  ' ',
@@ -1281,8 +1293,8 @@ const buffersourceType = {
1281
1293
  pattern: value.startsWith('Float')
1282
1294
  ? String.raw`\d+(?:\.\d+)?`
1283
1295
  : String.raw`\d+`,
1284
- value: bufferByteLength.$typedArray[key]
1285
- ? String(bufferByteLength.$typedArray[key])
1296
+ value: typedArrayValue
1297
+ ? String(typedArrayValue)
1286
1298
  : '0',
1287
1299
  min, max
1288
1300
  }],
@@ -1304,19 +1316,20 @@ const buffersourceType = {
1304
1316
  */ (
1305
1317
  this
1306
1318
  );
1307
- const grandparent = /** @type {HTMLElement} */ (
1308
- this.parentElement?.parentElement
1309
- );
1310
1319
 
1311
1320
  if (!that.$checkBufferBounds(e)) {
1312
1321
  return;
1313
1322
  }
1314
1323
 
1324
+ const grandparent = /** @type {HTMLElement} */ (
1325
+ this.parentElement?.parentElement
1326
+ );
1327
+
1315
1328
  const {value} = /** @type {HTMLSelectElement} */ (
1316
1329
  $e(grandparent, '.buffersource-typedArrays-init')
1317
1330
  );
1318
1331
 
1319
- const length = Number.parseInt(that.value);
1332
+ const length = toInteger(that.value);
1320
1333
  try {
1321
1334
  const TypedArray = getTypedArray(
1322
1335
  /** @type {TypedArray} */ (value)
@@ -1411,14 +1424,14 @@ const buffersourceType = {
1411
1424
  this.parentElement
1412
1425
  );
1413
1426
  const dataViewMethod =
1414
- /** @type {dataViewMethods[number]} */ (
1427
+ /** @type {typeof dataViewMethods[number]} */ (
1415
1428
  /** @type {HTMLSelectElement} */ (
1416
1429
  ancestor.previousElementSibling
1417
1430
  )?.value
1418
1431
  );
1419
1432
 
1420
1433
  const dataViewSetByteOffset =
1421
- Number.parseInt(/** @type {HTMLInputElement} */ ($e(
1434
+ toInteger(/** @type {HTMLInputElement} */ ($e(
1422
1435
  ancestor,
1423
1436
  '.dataViewSetByteOffset'
1424
1437
  )).value);
@@ -1483,9 +1496,7 @@ const buffersourceType = {
1483
1496
  }, [
1484
1497
  ['option', {value: ''}, ['(Select a data view method)']],
1485
1498
  ...dataViewMethods.map((dataViewMethod) => {
1486
- return /** @type {import('jamilih').JamilihArray} */ (
1487
- ['option', [dataViewMethod]]
1488
- );
1499
+ return ['option', [dataViewMethod]];
1489
1500
  })
1490
1501
  ]],
1491
1502
  ' ',
@@ -1493,7 +1504,7 @@ const buffersourceType = {
1493
1504
  ]]
1494
1505
  ]);
1495
1506
 
1496
- if (this.setValue && value) {
1507
+ if (value && this.setValue) {
1497
1508
  this.setValue({root: div, value});
1498
1509
  } else {
1499
1510
  const byteLength =
@@ -1,4 +1,5 @@
1
1
  import {$e} from '../utils/templateUtils.js';
2
+ import {schemaLabel} from '../utils/schemaMeta.js';
2
3
  import {toStringTag} from '../vendor-imports.js';
3
4
 
4
5
  let idx = 0;
@@ -230,11 +231,11 @@ const dommatrixType = {
230
231
  return ['div', {dataset: {type: 'dommatrix'}}, [
231
232
  ['b', {
232
233
  class: 'emphasis',
233
- title: specificSchemaObject?.description
234
+ title: schemaLabel(specificSchemaObject)
234
235
  ? `(a \`${(isReadWrite ? 'DOMMatrix' : 'DOMMatrixReadOnly')}\`)`
235
236
  : undefined
236
237
  }, [
237
- specificSchemaObject?.description ??
238
+ schemaLabel(specificSchemaObject) ??
238
239
  (isReadWrite ? 'DOMMatrix' : 'DOMMatrixReadOnly')
239
240
  ]],
240
241
  value.is2D
@@ -318,8 +319,8 @@ const dommatrixType = {
318
319
 
319
320
  return ['div', {
320
321
  dataset: {type: 'dommatrix'},
321
- title: specificSchemaObject?.description ?? 'DOMMatrix'
322
- }, /** @type {import('jamilih').JamilihChildren} */ ([
322
+ title: schemaLabel(specificSchemaObject) ?? 'DOMMatrix'
323
+ }, [
323
324
  ['div', [
324
325
  ['label', [
325
326
  ['input', {
@@ -422,7 +423,7 @@ const dommatrixType = {
422
423
  ]]
423
424
  ];
424
425
  })).slice(1)]
425
- ])];
426
+ ]];
426
427
  }
427
428
  };
428
429