@openclaw/firecrawl-plugin 2026.8.1-beta.2 → 2026.8.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 (854) hide show
  1. package/dist/api.js +1 -1
  2. package/dist/{firecrawl-client-Aw46OXVC.js → firecrawl-client-7vlACkO2.js} +75 -83
  3. package/dist/firecrawl-fetch-provider-dks9C772.js +85 -0
  4. package/dist/{firecrawl-free-search-provider-nqgr2mhw.js → firecrawl-free-search-provider-DF-3FKe3.js} +3 -7
  5. package/dist/index.js +4 -4
  6. package/dist/web-fetch-contract-api.js +2 -11
  7. package/dist/web-fetch-provider.js +1 -1
  8. package/dist/web-search-contract-api.js +2 -15
  9. package/dist/web-search-provider.js +1 -1
  10. package/node_modules/typebox/build/format/date.d.mts +1 -1
  11. package/node_modules/typebox/build/format/date.mjs +1 -1
  12. package/node_modules/typebox/build/format/date_time.d.mts +2 -2
  13. package/node_modules/typebox/build/format/date_time.mjs +3 -3
  14. package/node_modules/typebox/build/format/email.d.mts +1 -1
  15. package/node_modules/typebox/build/format/email.mjs +2 -2
  16. package/node_modules/typebox/build/format/hostname.mjs +2 -10
  17. package/node_modules/typebox/build/format/idn_email.d.mts +1 -1
  18. package/node_modules/typebox/build/format/idn_email.mjs +3 -3
  19. package/node_modules/typebox/build/format/idn_hostname.d.mts +1 -0
  20. package/node_modules/typebox/build/format/idn_hostname.mjs +3 -11
  21. package/node_modules/typebox/build/format/idna/format/bidi.d.mts +3 -0
  22. package/node_modules/typebox/build/format/idna/format/bidi.mjs +98 -0
  23. package/node_modules/typebox/build/format/idna/format/puny.d.mts +3 -0
  24. package/node_modules/typebox/build/format/idna/format/puny.mjs +144 -0
  25. package/node_modules/typebox/build/format/idna/hostname.d.mts +1 -0
  26. package/node_modules/typebox/build/format/idna/hostname.mjs +16 -0
  27. package/node_modules/typebox/build/format/idna/idn-hostname.d.mts +1 -0
  28. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +23 -0
  29. package/node_modules/typebox/build/format/idna/index.d.mts +2 -0
  30. package/node_modules/typebox/build/format/idna/index.mjs +2 -0
  31. package/node_modules/typebox/build/format/idna/label/ascii.d.mts +1 -0
  32. package/node_modules/typebox/build/format/idna/label/ascii.mjs +9 -0
  33. package/node_modules/typebox/build/format/idna/label/puny.d.mts +1 -0
  34. package/node_modules/typebox/build/format/idna/label/puny.mjs +28 -0
  35. package/node_modules/typebox/build/format/idna/label/unicode.d.mts +1 -0
  36. package/node_modules/typebox/build/format/idna/label/unicode.mjs +106 -0
  37. package/node_modules/typebox/build/format/idna/pattern/pattern.d.mts +30 -0
  38. package/node_modules/typebox/build/format/idna/pattern/pattern.mjs +70 -0
  39. package/node_modules/typebox/build/format/ipv4.d.mts +0 -1
  40. package/node_modules/typebox/build/format/ipv4.mjs +2 -32
  41. package/node_modules/typebox/build/format/ipv6.mjs +2 -61
  42. package/node_modules/typebox/build/format/iri.d.mts +2 -2
  43. package/node_modules/typebox/build/format/iri.mjs +26 -8
  44. package/node_modules/typebox/build/format/iri_reference.d.mts +2 -2
  45. package/node_modules/typebox/build/format/iri_reference.mjs +9 -55
  46. package/node_modules/typebox/build/format/regex.d.mts +1 -2
  47. package/node_modules/typebox/build/format/regex.mjs +2 -6
  48. package/node_modules/typebox/build/format/time.d.mts +2 -2
  49. package/node_modules/typebox/build/format/time.mjs +19 -14
  50. package/node_modules/typebox/build/format/uri.d.mts +1 -1
  51. package/node_modules/typebox/build/format/uri.mjs +3 -130
  52. package/node_modules/typebox/build/format/uri_reference.d.mts +1 -1
  53. package/node_modules/typebox/build/format/uri_reference.mjs +2 -3
  54. package/node_modules/typebox/build/format/uri_template.d.mts +2 -3
  55. package/node_modules/typebox/build/format/uri_template.mjs +4 -5
  56. package/node_modules/typebox/build/format/url.d.mts +3 -3
  57. package/node_modules/typebox/build/format/url.mjs +4 -5
  58. package/node_modules/typebox/build/guard/emit.d.mts +3 -1
  59. package/node_modules/typebox/build/guard/emit.mjs +12 -5
  60. package/node_modules/typebox/build/guard/guard.d.mts +8 -2
  61. package/node_modules/typebox/build/guard/guard.mjs +25 -4
  62. package/node_modules/typebox/build/guard/string.d.mts +2 -2
  63. package/node_modules/typebox/build/guard/string.mjs +7 -7
  64. package/node_modules/typebox/build/schema/engine/_context.mjs +3 -3
  65. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -2
  66. package/node_modules/typebox/build/schema/engine/_regexp.d.mts +2 -0
  67. package/node_modules/typebox/build/schema/engine/_regexp.mjs +4 -0
  68. package/node_modules/typebox/build/schema/engine/_stack.mjs +12 -13
  69. package/node_modules/typebox/build/schema/engine/additionalItems.mjs +17 -7
  70. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +4 -3
  71. package/node_modules/typebox/build/schema/engine/contains.mjs +18 -6
  72. package/node_modules/typebox/build/schema/engine/enum.mjs +1 -1
  73. package/node_modules/typebox/build/schema/engine/items.mjs +26 -6
  74. package/node_modules/typebox/build/schema/engine/maxContains.mjs +3 -3
  75. package/node_modules/typebox/build/schema/engine/minContains.mjs +14 -4
  76. package/node_modules/typebox/build/schema/engine/not.mjs +4 -2
  77. package/node_modules/typebox/build/schema/engine/oneOf.mjs +7 -6
  78. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -2
  79. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +4 -3
  80. package/node_modules/typebox/build/schema/engine/ref.mjs +1 -7
  81. package/node_modules/typebox/build/schema/engine/schema.mjs +13 -4
  82. package/node_modules/typebox/build/schema/engine/type.mjs +1 -1
  83. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +4 -1
  84. package/node_modules/typebox/build/schema/resolve/resolve.mjs +202 -1
  85. package/node_modules/typebox/build/schema/static/propertyNames.d.mts +5 -0
  86. package/node_modules/typebox/build/schema/static/propertyNames.mjs +3 -0
  87. package/node_modules/typebox/build/schema/static/schema.d.mts +3 -0
  88. package/node_modules/typebox/build/schema/types/index.d.mts +0 -2
  89. package/node_modules/typebox/build/schema/types/index.mjs +0 -2
  90. package/node_modules/typebox/build/system/memory/clone.mjs +14 -11
  91. package/node_modules/typebox/build/system/memory/discard.mjs +6 -5
  92. package/node_modules/typebox/build/system/settings/settings.d.mts +9 -0
  93. package/node_modules/typebox/build/system/settings/settings.mjs +2 -0
  94. package/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +6 -1
  95. package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +16 -3
  96. package/node_modules/typebox/build/type/engine/call/instantiate.mjs +34 -4
  97. package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +5 -5
  98. package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +20 -26
  99. package/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +6 -10
  100. package/node_modules/typebox/build/type/engine/evaluate/compare.mjs +9 -13
  101. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +7 -4
  102. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +12 -19
  103. package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +4 -20
  104. package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +8 -20
  105. package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +4 -4
  106. package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +11 -8
  107. package/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +1 -1
  108. package/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +3 -4
  109. package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +17 -2
  110. package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +26 -6
  111. package/node_modules/typebox/build/type/engine/exclude/operation.mjs +3 -4
  112. package/node_modules/typebox/build/type/engine/extract/operation.d.mts +1 -1
  113. package/node_modules/typebox/build/type/engine/extract/operation.mjs +3 -4
  114. package/node_modules/typebox/build/type/engine/priority/priority.d.mts +2 -2
  115. package/node_modules/typebox/build/type/engine/priority/priority.mjs +3 -4
  116. package/node_modules/typebox/build/type/script/mapping.d.mts +32 -29
  117. package/node_modules/typebox/build/type/script/mapping.mjs +18 -25
  118. package/node_modules/typebox/build/type/script/parser.d.mts +19 -25
  119. package/node_modules/typebox/build/type/script/parser.mjs +27 -23
  120. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -2
  121. package/node_modules/typebox/build/value/errors/errors.mjs +1 -1
  122. package/node_modules/typebox/package.json +27 -27
  123. package/node_modules/typebox/readme.md +79 -82
  124. package/node_modules/zod/LICENSE +21 -0
  125. package/node_modules/zod/README.md +191 -0
  126. package/node_modules/zod/index.cjs +33 -0
  127. package/node_modules/zod/index.d.cts +4 -0
  128. package/node_modules/zod/index.d.ts +4 -0
  129. package/node_modules/zod/index.js +4 -0
  130. package/node_modules/zod/locales/index.cjs +17 -0
  131. package/node_modules/zod/locales/index.d.cts +1 -0
  132. package/node_modules/zod/locales/index.d.ts +1 -0
  133. package/node_modules/zod/locales/index.js +1 -0
  134. package/node_modules/zod/locales/package.json +7 -0
  135. package/node_modules/zod/mini/index.cjs +32 -0
  136. package/node_modules/zod/mini/index.d.cts +3 -0
  137. package/node_modules/zod/mini/index.d.ts +3 -0
  138. package/node_modules/zod/mini/index.js +3 -0
  139. package/node_modules/zod/mini/package.json +7 -0
  140. package/node_modules/zod/package.json +135 -0
  141. package/node_modules/zod/src/index.ts +4 -0
  142. package/node_modules/zod/src/locales/index.ts +1 -0
  143. package/node_modules/zod/src/mini/index.ts +3 -0
  144. package/node_modules/zod/src/v3/ZodError.ts +330 -0
  145. package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  146. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  147. package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  148. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  149. package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  150. package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  151. package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  152. package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  153. package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  154. package/node_modules/zod/src/v3/errors.ts +13 -0
  155. package/node_modules/zod/src/v3/external.ts +6 -0
  156. package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  157. package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  158. package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  159. package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  160. package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  161. package/node_modules/zod/src/v3/helpers/util.ts +224 -0
  162. package/node_modules/zod/src/v3/index.ts +4 -0
  163. package/node_modules/zod/src/v3/locales/en.ts +124 -0
  164. package/node_modules/zod/src/v3/standard-schema.ts +113 -0
  165. package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  166. package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  167. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  168. package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  169. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  170. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  171. package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  172. package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  173. package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  174. package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  175. package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  176. package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
  177. package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  178. package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  179. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  180. package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  181. package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  182. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  183. package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  184. package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  185. package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  186. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  187. package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
  188. package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  189. package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  190. package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  191. package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  192. package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  193. package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  194. package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  195. package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  196. package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  197. package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
  198. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  199. package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  200. package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  201. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  202. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  203. package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  204. package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  205. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  206. package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  207. package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  208. package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  209. package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  210. package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  211. package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  212. package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  213. package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  214. package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  215. package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  216. package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  217. package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  218. package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  219. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  220. package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  221. package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  222. package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  223. package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  224. package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  225. package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  226. package/node_modules/zod/src/v3/types.ts +5138 -0
  227. package/node_modules/zod/src/v4/classic/checks.ts +32 -0
  228. package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  229. package/node_modules/zod/src/v4/classic/compat.ts +70 -0
  230. package/node_modules/zod/src/v4/classic/errors.ts +82 -0
  231. package/node_modules/zod/src/v4/classic/external.ts +52 -0
  232. package/node_modules/zod/src/v4/classic/from-json-schema.ts +659 -0
  233. package/node_modules/zod/src/v4/classic/index.ts +5 -0
  234. package/node_modules/zod/src/v4/classic/iso.ts +90 -0
  235. package/node_modules/zod/src/v4/classic/parse.ts +82 -0
  236. package/node_modules/zod/src/v4/classic/schemas.ts +2672 -0
  237. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  238. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
  239. package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  240. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +216 -0
  241. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  242. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  243. package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  244. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  245. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
  246. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +326 -0
  247. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  248. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  249. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +703 -0
  250. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  251. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
  252. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  253. package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
  254. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  255. package/node_modules/zod/src/v4/classic/tests/default.test.ts +409 -0
  256. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  257. package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  258. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
  259. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +694 -0
  260. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  261. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +807 -0
  262. package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  263. package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  264. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  265. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  266. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +895 -0
  267. package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
  268. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  269. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
  270. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  271. package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
  272. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
  273. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
  274. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
  275. package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
  276. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  277. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  278. package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
  279. package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
  280. package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
  281. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  282. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  283. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  284. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  285. package/node_modules/zod/src/v4/classic/tests/number.test.ts +325 -0
  286. package/node_modules/zod/src/v4/classic/tests/object.test.ts +717 -0
  287. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +333 -0
  288. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +450 -0
  289. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
  290. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  291. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  292. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
  293. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
  294. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  295. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  296. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  297. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  298. package/node_modules/zod/src/v4/classic/tests/record.test.ts +717 -0
  299. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +631 -0
  300. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +633 -0
  301. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
  302. package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  303. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
  304. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  305. package/node_modules/zod/src/v4/classic/tests/string.test.ts +1224 -0
  306. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  307. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
  308. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  309. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3125 -0
  310. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
  311. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +496 -0
  312. package/node_modules/zod/src/v4/classic/tests/union.test.ts +273 -0
  313. package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  314. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  315. package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  316. package/node_modules/zod/src/v4/core/api.ts +1823 -0
  317. package/node_modules/zod/src/v4/core/checks.ts +1293 -0
  318. package/node_modules/zod/src/v4/core/config.ts +15 -0
  319. package/node_modules/zod/src/v4/core/core.ts +153 -0
  320. package/node_modules/zod/src/v4/core/doc.ts +44 -0
  321. package/node_modules/zod/src/v4/core/errors.ts +455 -0
  322. package/node_modules/zod/src/v4/core/index.ts +16 -0
  323. package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
  324. package/node_modules/zod/src/v4/core/json-schema-processors.ts +666 -0
  325. package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  326. package/node_modules/zod/src/v4/core/parse.ts +195 -0
  327. package/node_modules/zod/src/v4/core/regexes.ts +190 -0
  328. package/node_modules/zod/src/v4/core/registries.ts +105 -0
  329. package/node_modules/zod/src/v4/core/schemas.ts +4730 -0
  330. package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
  331. package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  332. package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  333. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  334. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
  335. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  336. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  337. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
  338. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  339. package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
  340. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  341. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  342. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  343. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
  344. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
  345. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  346. package/node_modules/zod/src/v4/core/to-json-schema.ts +622 -0
  347. package/node_modules/zod/src/v4/core/util.ts +983 -0
  348. package/node_modules/zod/src/v4/core/versions.ts +5 -0
  349. package/node_modules/zod/src/v4/core/zsf.ts +323 -0
  350. package/node_modules/zod/src/v4/index.ts +4 -0
  351. package/node_modules/zod/src/v4/locales/ar.ts +115 -0
  352. package/node_modules/zod/src/v4/locales/az.ts +111 -0
  353. package/node_modules/zod/src/v4/locales/be.ts +176 -0
  354. package/node_modules/zod/src/v4/locales/bg.ts +128 -0
  355. package/node_modules/zod/src/v4/locales/ca.ts +116 -0
  356. package/node_modules/zod/src/v4/locales/cs.ts +118 -0
  357. package/node_modules/zod/src/v4/locales/da.ts +123 -0
  358. package/node_modules/zod/src/v4/locales/de.ts +116 -0
  359. package/node_modules/zod/src/v4/locales/el.ts +121 -0
  360. package/node_modules/zod/src/v4/locales/en.ts +123 -0
  361. package/node_modules/zod/src/v4/locales/eo.ts +118 -0
  362. package/node_modules/zod/src/v4/locales/es.ts +141 -0
  363. package/node_modules/zod/src/v4/locales/fa.ts +126 -0
  364. package/node_modules/zod/src/v4/locales/fi.ts +121 -0
  365. package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
  366. package/node_modules/zod/src/v4/locales/fr.ts +132 -0
  367. package/node_modules/zod/src/v4/locales/he.ts +246 -0
  368. package/node_modules/zod/src/v4/locales/hr.ts +131 -0
  369. package/node_modules/zod/src/v4/locales/hu.ts +117 -0
  370. package/node_modules/zod/src/v4/locales/hy.ts +164 -0
  371. package/node_modules/zod/src/v4/locales/id.ts +115 -0
  372. package/node_modules/zod/src/v4/locales/index.ts +52 -0
  373. package/node_modules/zod/src/v4/locales/is.ts +119 -0
  374. package/node_modules/zod/src/v4/locales/it.ts +116 -0
  375. package/node_modules/zod/src/v4/locales/ja.ts +114 -0
  376. package/node_modules/zod/src/v4/locales/ka.ts +123 -0
  377. package/node_modules/zod/src/v4/locales/kh.ts +7 -0
  378. package/node_modules/zod/src/v4/locales/km.ts +119 -0
  379. package/node_modules/zod/src/v4/locales/ko.ts +121 -0
  380. package/node_modules/zod/src/v4/locales/lt.ts +239 -0
  381. package/node_modules/zod/src/v4/locales/mk.ts +118 -0
  382. package/node_modules/zod/src/v4/locales/ms.ts +115 -0
  383. package/node_modules/zod/src/v4/locales/nl.ts +121 -0
  384. package/node_modules/zod/src/v4/locales/no.ts +116 -0
  385. package/node_modules/zod/src/v4/locales/ota.ts +117 -0
  386. package/node_modules/zod/src/v4/locales/pl.ts +118 -0
  387. package/node_modules/zod/src/v4/locales/ps.ts +126 -0
  388. package/node_modules/zod/src/v4/locales/pt.ts +116 -0
  389. package/node_modules/zod/src/v4/locales/ro.ts +129 -0
  390. package/node_modules/zod/src/v4/locales/ru.ts +176 -0
  391. package/node_modules/zod/src/v4/locales/sl.ts +118 -0
  392. package/node_modules/zod/src/v4/locales/sv.ts +119 -0
  393. package/node_modules/zod/src/v4/locales/ta.ts +118 -0
  394. package/node_modules/zod/src/v4/locales/th.ts +119 -0
  395. package/node_modules/zod/src/v4/locales/tr.ts +111 -0
  396. package/node_modules/zod/src/v4/locales/ua.ts +7 -0
  397. package/node_modules/zod/src/v4/locales/uk.ts +117 -0
  398. package/node_modules/zod/src/v4/locales/ur.ts +119 -0
  399. package/node_modules/zod/src/v4/locales/uz.ts +117 -0
  400. package/node_modules/zod/src/v4/locales/vi.ts +117 -0
  401. package/node_modules/zod/src/v4/locales/yo.ts +124 -0
  402. package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
  403. package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
  404. package/node_modules/zod/src/v4/mini/checks.ts +32 -0
  405. package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
  406. package/node_modules/zod/src/v4/mini/external.ts +41 -0
  407. package/node_modules/zod/src/v4/mini/index.ts +3 -0
  408. package/node_modules/zod/src/v4/mini/iso.ts +66 -0
  409. package/node_modules/zod/src/v4/mini/parse.ts +14 -0
  410. package/node_modules/zod/src/v4/mini/schemas.ts +1947 -0
  411. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
  412. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  413. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
  414. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  415. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +548 -0
  416. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  417. package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  418. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
  419. package/node_modules/zod/src/v4/mini/tests/index.test.ts +993 -0
  420. package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  421. package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
  422. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  423. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +325 -0
  424. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  425. package/node_modules/zod/src/v4/mini/tests/string.test.ts +352 -0
  426. package/node_modules/zod/src/v4-mini/index.ts +3 -0
  427. package/node_modules/zod/v3/ZodError.cjs +138 -0
  428. package/node_modules/zod/v3/ZodError.d.cts +164 -0
  429. package/node_modules/zod/v3/ZodError.d.ts +164 -0
  430. package/node_modules/zod/v3/ZodError.js +133 -0
  431. package/node_modules/zod/v3/errors.cjs +17 -0
  432. package/node_modules/zod/v3/errors.d.cts +5 -0
  433. package/node_modules/zod/v3/errors.d.ts +5 -0
  434. package/node_modules/zod/v3/errors.js +9 -0
  435. package/node_modules/zod/v3/external.cjs +22 -0
  436. package/node_modules/zod/v3/external.d.cts +6 -0
  437. package/node_modules/zod/v3/external.d.ts +6 -0
  438. package/node_modules/zod/v3/external.js +6 -0
  439. package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  440. package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  441. package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  442. package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  443. package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  444. package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  445. package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  446. package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  447. package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  448. package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  449. package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  450. package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  451. package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  452. package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  453. package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  454. package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  455. package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  456. package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  457. package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  458. package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  459. package/node_modules/zod/v3/helpers/util.cjs +137 -0
  460. package/node_modules/zod/v3/helpers/util.d.cts +85 -0
  461. package/node_modules/zod/v3/helpers/util.d.ts +85 -0
  462. package/node_modules/zod/v3/helpers/util.js +133 -0
  463. package/node_modules/zod/v3/index.cjs +33 -0
  464. package/node_modules/zod/v3/index.d.cts +4 -0
  465. package/node_modules/zod/v3/index.d.ts +4 -0
  466. package/node_modules/zod/v3/index.js +4 -0
  467. package/node_modules/zod/v3/locales/en.cjs +112 -0
  468. package/node_modules/zod/v3/locales/en.d.cts +3 -0
  469. package/node_modules/zod/v3/locales/en.d.ts +3 -0
  470. package/node_modules/zod/v3/locales/en.js +109 -0
  471. package/node_modules/zod/v3/package.json +7 -0
  472. package/node_modules/zod/v3/standard-schema.cjs +2 -0
  473. package/node_modules/zod/v3/standard-schema.d.cts +102 -0
  474. package/node_modules/zod/v3/standard-schema.d.ts +102 -0
  475. package/node_modules/zod/v3/standard-schema.js +1 -0
  476. package/node_modules/zod/v3/types.cjs +3777 -0
  477. package/node_modules/zod/v3/types.d.cts +1034 -0
  478. package/node_modules/zod/v3/types.d.ts +1034 -0
  479. package/node_modules/zod/v3/types.js +3695 -0
  480. package/node_modules/zod/v4/classic/checks.cjs +33 -0
  481. package/node_modules/zod/v4/classic/checks.d.cts +1 -0
  482. package/node_modules/zod/v4/classic/checks.d.ts +1 -0
  483. package/node_modules/zod/v4/classic/checks.js +1 -0
  484. package/node_modules/zod/v4/classic/coerce.cjs +47 -0
  485. package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  486. package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  487. package/node_modules/zod/v4/classic/coerce.js +17 -0
  488. package/node_modules/zod/v4/classic/compat.cjs +61 -0
  489. package/node_modules/zod/v4/classic/compat.d.cts +50 -0
  490. package/node_modules/zod/v4/classic/compat.d.ts +50 -0
  491. package/node_modules/zod/v4/classic/compat.js +31 -0
  492. package/node_modules/zod/v4/classic/errors.cjs +74 -0
  493. package/node_modules/zod/v4/classic/errors.d.cts +30 -0
  494. package/node_modules/zod/v4/classic/errors.d.ts +30 -0
  495. package/node_modules/zod/v4/classic/errors.js +48 -0
  496. package/node_modules/zod/v4/classic/external.cjs +73 -0
  497. package/node_modules/zod/v4/classic/external.d.cts +16 -0
  498. package/node_modules/zod/v4/classic/external.d.ts +16 -0
  499. package/node_modules/zod/v4/classic/external.js +20 -0
  500. package/node_modules/zod/v4/classic/from-json-schema.cjs +625 -0
  501. package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  502. package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  503. package/node_modules/zod/v4/classic/from-json-schema.js +599 -0
  504. package/node_modules/zod/v4/classic/index.cjs +33 -0
  505. package/node_modules/zod/v4/classic/index.d.cts +4 -0
  506. package/node_modules/zod/v4/classic/index.d.ts +4 -0
  507. package/node_modules/zod/v4/classic/index.js +4 -0
  508. package/node_modules/zod/v4/classic/iso.cjs +60 -0
  509. package/node_modules/zod/v4/classic/iso.d.cts +22 -0
  510. package/node_modules/zod/v4/classic/iso.d.ts +22 -0
  511. package/node_modules/zod/v4/classic/iso.js +30 -0
  512. package/node_modules/zod/v4/classic/package.json +7 -0
  513. package/node_modules/zod/v4/classic/parse.cjs +41 -0
  514. package/node_modules/zod/v4/classic/parse.d.cts +31 -0
  515. package/node_modules/zod/v4/classic/parse.d.ts +31 -0
  516. package/node_modules/zod/v4/classic/parse.js +15 -0
  517. package/node_modules/zod/v4/classic/schemas.cjs +1511 -0
  518. package/node_modules/zod/v4/classic/schemas.d.cts +767 -0
  519. package/node_modules/zod/v4/classic/schemas.d.ts +767 -0
  520. package/node_modules/zod/v4/classic/schemas.js +1395 -0
  521. package/node_modules/zod/v4/core/api.cjs +1227 -0
  522. package/node_modules/zod/v4/core/api.d.cts +325 -0
  523. package/node_modules/zod/v4/core/api.d.ts +325 -0
  524. package/node_modules/zod/v4/core/api.js +1087 -0
  525. package/node_modules/zod/v4/core/checks.cjs +601 -0
  526. package/node_modules/zod/v4/core/checks.d.cts +278 -0
  527. package/node_modules/zod/v4/core/checks.d.ts +278 -0
  528. package/node_modules/zod/v4/core/checks.js +575 -0
  529. package/node_modules/zod/v4/core/core.cjs +85 -0
  530. package/node_modules/zod/v4/core/core.d.cts +70 -0
  531. package/node_modules/zod/v4/core/core.d.ts +70 -0
  532. package/node_modules/zod/v4/core/core.js +78 -0
  533. package/node_modules/zod/v4/core/doc.cjs +39 -0
  534. package/node_modules/zod/v4/core/doc.d.cts +14 -0
  535. package/node_modules/zod/v4/core/doc.d.ts +14 -0
  536. package/node_modules/zod/v4/core/doc.js +35 -0
  537. package/node_modules/zod/v4/core/errors.cjs +216 -0
  538. package/node_modules/zod/v4/core/errors.d.cts +221 -0
  539. package/node_modules/zod/v4/core/errors.d.ts +221 -0
  540. package/node_modules/zod/v4/core/errors.js +185 -0
  541. package/node_modules/zod/v4/core/index.cjs +47 -0
  542. package/node_modules/zod/v4/core/index.d.cts +16 -0
  543. package/node_modules/zod/v4/core/index.d.ts +16 -0
  544. package/node_modules/zod/v4/core/index.js +16 -0
  545. package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
  546. package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  547. package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  548. package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  549. package/node_modules/zod/v4/core/json-schema-processors.cjs +644 -0
  550. package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
  551. package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
  552. package/node_modules/zod/v4/core/json-schema-processors.js +601 -0
  553. package/node_modules/zod/v4/core/json-schema.cjs +2 -0
  554. package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  555. package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  556. package/node_modules/zod/v4/core/json-schema.js +1 -0
  557. package/node_modules/zod/v4/core/package.json +7 -0
  558. package/node_modules/zod/v4/core/parse.cjs +131 -0
  559. package/node_modules/zod/v4/core/parse.d.cts +49 -0
  560. package/node_modules/zod/v4/core/parse.d.ts +49 -0
  561. package/node_modules/zod/v4/core/parse.js +93 -0
  562. package/node_modules/zod/v4/core/regexes.cjs +172 -0
  563. package/node_modules/zod/v4/core/regexes.d.cts +85 -0
  564. package/node_modules/zod/v4/core/regexes.d.ts +85 -0
  565. package/node_modules/zod/v4/core/regexes.js +139 -0
  566. package/node_modules/zod/v4/core/registries.cjs +56 -0
  567. package/node_modules/zod/v4/core/registries.d.cts +35 -0
  568. package/node_modules/zod/v4/core/registries.d.ts +35 -0
  569. package/node_modules/zod/v4/core/registries.js +51 -0
  570. package/node_modules/zod/v4/core/schemas.cjs +2270 -0
  571. package/node_modules/zod/v4/core/schemas.d.cts +1184 -0
  572. package/node_modules/zod/v4/core/schemas.d.ts +1184 -0
  573. package/node_modules/zod/v4/core/schemas.js +2239 -0
  574. package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  575. package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
  576. package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
  577. package/node_modules/zod/v4/core/standard-schema.js +1 -0
  578. package/node_modules/zod/v4/core/to-json-schema.cjs +457 -0
  579. package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
  580. package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
  581. package/node_modules/zod/v4/core/to-json-schema.js +448 -0
  582. package/node_modules/zod/v4/core/util.cjs +734 -0
  583. package/node_modules/zod/v4/core/util.d.cts +200 -0
  584. package/node_modules/zod/v4/core/util.d.ts +200 -0
  585. package/node_modules/zod/v4/core/util.js +674 -0
  586. package/node_modules/zod/v4/core/versions.cjs +8 -0
  587. package/node_modules/zod/v4/core/versions.d.cts +5 -0
  588. package/node_modules/zod/v4/core/versions.d.ts +5 -0
  589. package/node_modules/zod/v4/core/versions.js +5 -0
  590. package/node_modules/zod/v4/index.cjs +22 -0
  591. package/node_modules/zod/v4/index.d.cts +3 -0
  592. package/node_modules/zod/v4/index.d.ts +3 -0
  593. package/node_modules/zod/v4/index.js +3 -0
  594. package/node_modules/zod/v4/locales/ar.cjs +133 -0
  595. package/node_modules/zod/v4/locales/ar.d.cts +5 -0
  596. package/node_modules/zod/v4/locales/ar.d.ts +4 -0
  597. package/node_modules/zod/v4/locales/ar.js +106 -0
  598. package/node_modules/zod/v4/locales/az.cjs +132 -0
  599. package/node_modules/zod/v4/locales/az.d.cts +5 -0
  600. package/node_modules/zod/v4/locales/az.d.ts +4 -0
  601. package/node_modules/zod/v4/locales/az.js +105 -0
  602. package/node_modules/zod/v4/locales/be.cjs +183 -0
  603. package/node_modules/zod/v4/locales/be.d.cts +5 -0
  604. package/node_modules/zod/v4/locales/be.d.ts +4 -0
  605. package/node_modules/zod/v4/locales/be.js +156 -0
  606. package/node_modules/zod/v4/locales/bg.cjs +147 -0
  607. package/node_modules/zod/v4/locales/bg.d.cts +5 -0
  608. package/node_modules/zod/v4/locales/bg.d.ts +4 -0
  609. package/node_modules/zod/v4/locales/bg.js +120 -0
  610. package/node_modules/zod/v4/locales/ca.cjs +134 -0
  611. package/node_modules/zod/v4/locales/ca.d.cts +5 -0
  612. package/node_modules/zod/v4/locales/ca.d.ts +4 -0
  613. package/node_modules/zod/v4/locales/ca.js +107 -0
  614. package/node_modules/zod/v4/locales/cs.cjs +138 -0
  615. package/node_modules/zod/v4/locales/cs.d.cts +5 -0
  616. package/node_modules/zod/v4/locales/cs.d.ts +4 -0
  617. package/node_modules/zod/v4/locales/cs.js +111 -0
  618. package/node_modules/zod/v4/locales/da.cjs +142 -0
  619. package/node_modules/zod/v4/locales/da.d.cts +5 -0
  620. package/node_modules/zod/v4/locales/da.d.ts +4 -0
  621. package/node_modules/zod/v4/locales/da.js +115 -0
  622. package/node_modules/zod/v4/locales/de.cjs +135 -0
  623. package/node_modules/zod/v4/locales/de.d.cts +5 -0
  624. package/node_modules/zod/v4/locales/de.d.ts +4 -0
  625. package/node_modules/zod/v4/locales/de.js +108 -0
  626. package/node_modules/zod/v4/locales/el.cjs +136 -0
  627. package/node_modules/zod/v4/locales/el.d.cts +5 -0
  628. package/node_modules/zod/v4/locales/el.d.ts +4 -0
  629. package/node_modules/zod/v4/locales/el.js +109 -0
  630. package/node_modules/zod/v4/locales/en.cjs +140 -0
  631. package/node_modules/zod/v4/locales/en.d.cts +5 -0
  632. package/node_modules/zod/v4/locales/en.d.ts +4 -0
  633. package/node_modules/zod/v4/locales/en.js +113 -0
  634. package/node_modules/zod/v4/locales/eo.cjs +136 -0
  635. package/node_modules/zod/v4/locales/eo.d.cts +5 -0
  636. package/node_modules/zod/v4/locales/eo.d.ts +4 -0
  637. package/node_modules/zod/v4/locales/eo.js +109 -0
  638. package/node_modules/zod/v4/locales/es.cjs +159 -0
  639. package/node_modules/zod/v4/locales/es.d.cts +5 -0
  640. package/node_modules/zod/v4/locales/es.d.ts +4 -0
  641. package/node_modules/zod/v4/locales/es.js +132 -0
  642. package/node_modules/zod/v4/locales/fa.cjs +141 -0
  643. package/node_modules/zod/v4/locales/fa.d.cts +5 -0
  644. package/node_modules/zod/v4/locales/fa.d.ts +4 -0
  645. package/node_modules/zod/v4/locales/fa.js +114 -0
  646. package/node_modules/zod/v4/locales/fi.cjs +139 -0
  647. package/node_modules/zod/v4/locales/fi.d.cts +5 -0
  648. package/node_modules/zod/v4/locales/fi.d.ts +4 -0
  649. package/node_modules/zod/v4/locales/fi.js +112 -0
  650. package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
  651. package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  652. package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  653. package/node_modules/zod/v4/locales/fr-CA.js +107 -0
  654. package/node_modules/zod/v4/locales/fr.cjs +152 -0
  655. package/node_modules/zod/v4/locales/fr.d.cts +5 -0
  656. package/node_modules/zod/v4/locales/fr.d.ts +4 -0
  657. package/node_modules/zod/v4/locales/fr.js +125 -0
  658. package/node_modules/zod/v4/locales/he.cjs +241 -0
  659. package/node_modules/zod/v4/locales/he.d.cts +5 -0
  660. package/node_modules/zod/v4/locales/he.d.ts +4 -0
  661. package/node_modules/zod/v4/locales/he.js +214 -0
  662. package/node_modules/zod/v4/locales/hr.cjs +149 -0
  663. package/node_modules/zod/v4/locales/hr.d.cts +5 -0
  664. package/node_modules/zod/v4/locales/hr.d.ts +4 -0
  665. package/node_modules/zod/v4/locales/hr.js +122 -0
  666. package/node_modules/zod/v4/locales/hu.cjs +135 -0
  667. package/node_modules/zod/v4/locales/hu.d.cts +5 -0
  668. package/node_modules/zod/v4/locales/hu.d.ts +4 -0
  669. package/node_modules/zod/v4/locales/hu.js +108 -0
  670. package/node_modules/zod/v4/locales/hy.cjs +174 -0
  671. package/node_modules/zod/v4/locales/hy.d.cts +5 -0
  672. package/node_modules/zod/v4/locales/hy.d.ts +4 -0
  673. package/node_modules/zod/v4/locales/hy.js +147 -0
  674. package/node_modules/zod/v4/locales/id.cjs +133 -0
  675. package/node_modules/zod/v4/locales/id.d.cts +5 -0
  676. package/node_modules/zod/v4/locales/id.d.ts +4 -0
  677. package/node_modules/zod/v4/locales/id.js +106 -0
  678. package/node_modules/zod/v4/locales/index.cjs +111 -0
  679. package/node_modules/zod/v4/locales/index.d.cts +52 -0
  680. package/node_modules/zod/v4/locales/index.d.ts +52 -0
  681. package/node_modules/zod/v4/locales/index.js +52 -0
  682. package/node_modules/zod/v4/locales/is.cjs +136 -0
  683. package/node_modules/zod/v4/locales/is.d.cts +5 -0
  684. package/node_modules/zod/v4/locales/is.d.ts +4 -0
  685. package/node_modules/zod/v4/locales/is.js +109 -0
  686. package/node_modules/zod/v4/locales/it.cjs +135 -0
  687. package/node_modules/zod/v4/locales/it.d.cts +5 -0
  688. package/node_modules/zod/v4/locales/it.d.ts +4 -0
  689. package/node_modules/zod/v4/locales/it.js +108 -0
  690. package/node_modules/zod/v4/locales/ja.cjs +134 -0
  691. package/node_modules/zod/v4/locales/ja.d.cts +5 -0
  692. package/node_modules/zod/v4/locales/ja.d.ts +4 -0
  693. package/node_modules/zod/v4/locales/ja.js +107 -0
  694. package/node_modules/zod/v4/locales/ka.cjs +139 -0
  695. package/node_modules/zod/v4/locales/ka.d.cts +5 -0
  696. package/node_modules/zod/v4/locales/ka.d.ts +4 -0
  697. package/node_modules/zod/v4/locales/ka.js +112 -0
  698. package/node_modules/zod/v4/locales/kh.cjs +12 -0
  699. package/node_modules/zod/v4/locales/kh.d.cts +5 -0
  700. package/node_modules/zod/v4/locales/kh.d.ts +5 -0
  701. package/node_modules/zod/v4/locales/kh.js +5 -0
  702. package/node_modules/zod/v4/locales/km.cjs +137 -0
  703. package/node_modules/zod/v4/locales/km.d.cts +5 -0
  704. package/node_modules/zod/v4/locales/km.d.ts +4 -0
  705. package/node_modules/zod/v4/locales/km.js +110 -0
  706. package/node_modules/zod/v4/locales/ko.cjs +138 -0
  707. package/node_modules/zod/v4/locales/ko.d.cts +5 -0
  708. package/node_modules/zod/v4/locales/ko.d.ts +4 -0
  709. package/node_modules/zod/v4/locales/ko.js +111 -0
  710. package/node_modules/zod/v4/locales/lt.cjs +230 -0
  711. package/node_modules/zod/v4/locales/lt.d.cts +5 -0
  712. package/node_modules/zod/v4/locales/lt.d.ts +4 -0
  713. package/node_modules/zod/v4/locales/lt.js +203 -0
  714. package/node_modules/zod/v4/locales/mk.cjs +136 -0
  715. package/node_modules/zod/v4/locales/mk.d.cts +5 -0
  716. package/node_modules/zod/v4/locales/mk.d.ts +4 -0
  717. package/node_modules/zod/v4/locales/mk.js +109 -0
  718. package/node_modules/zod/v4/locales/ms.cjs +134 -0
  719. package/node_modules/zod/v4/locales/ms.d.cts +5 -0
  720. package/node_modules/zod/v4/locales/ms.d.ts +4 -0
  721. package/node_modules/zod/v4/locales/ms.js +107 -0
  722. package/node_modules/zod/v4/locales/nl.cjs +137 -0
  723. package/node_modules/zod/v4/locales/nl.d.cts +5 -0
  724. package/node_modules/zod/v4/locales/nl.d.ts +4 -0
  725. package/node_modules/zod/v4/locales/nl.js +110 -0
  726. package/node_modules/zod/v4/locales/no.cjs +135 -0
  727. package/node_modules/zod/v4/locales/no.d.cts +5 -0
  728. package/node_modules/zod/v4/locales/no.d.ts +4 -0
  729. package/node_modules/zod/v4/locales/no.js +108 -0
  730. package/node_modules/zod/v4/locales/ota.cjs +136 -0
  731. package/node_modules/zod/v4/locales/ota.d.cts +5 -0
  732. package/node_modules/zod/v4/locales/ota.d.ts +4 -0
  733. package/node_modules/zod/v4/locales/ota.js +109 -0
  734. package/node_modules/zod/v4/locales/package.json +7 -0
  735. package/node_modules/zod/v4/locales/pl.cjs +136 -0
  736. package/node_modules/zod/v4/locales/pl.d.cts +5 -0
  737. package/node_modules/zod/v4/locales/pl.d.ts +4 -0
  738. package/node_modules/zod/v4/locales/pl.js +109 -0
  739. package/node_modules/zod/v4/locales/ps.cjs +141 -0
  740. package/node_modules/zod/v4/locales/ps.d.cts +5 -0
  741. package/node_modules/zod/v4/locales/ps.d.ts +4 -0
  742. package/node_modules/zod/v4/locales/ps.js +114 -0
  743. package/node_modules/zod/v4/locales/pt.cjs +135 -0
  744. package/node_modules/zod/v4/locales/pt.d.cts +5 -0
  745. package/node_modules/zod/v4/locales/pt.d.ts +4 -0
  746. package/node_modules/zod/v4/locales/pt.js +108 -0
  747. package/node_modules/zod/v4/locales/ro.cjs +146 -0
  748. package/node_modules/zod/v4/locales/ro.d.cts +5 -0
  749. package/node_modules/zod/v4/locales/ro.d.ts +4 -0
  750. package/node_modules/zod/v4/locales/ro.js +119 -0
  751. package/node_modules/zod/v4/locales/ru.cjs +183 -0
  752. package/node_modules/zod/v4/locales/ru.d.cts +5 -0
  753. package/node_modules/zod/v4/locales/ru.d.ts +4 -0
  754. package/node_modules/zod/v4/locales/ru.js +156 -0
  755. package/node_modules/zod/v4/locales/sl.cjs +136 -0
  756. package/node_modules/zod/v4/locales/sl.d.cts +5 -0
  757. package/node_modules/zod/v4/locales/sl.d.ts +4 -0
  758. package/node_modules/zod/v4/locales/sl.js +109 -0
  759. package/node_modules/zod/v4/locales/sv.cjs +137 -0
  760. package/node_modules/zod/v4/locales/sv.d.cts +5 -0
  761. package/node_modules/zod/v4/locales/sv.d.ts +4 -0
  762. package/node_modules/zod/v4/locales/sv.js +110 -0
  763. package/node_modules/zod/v4/locales/ta.cjs +137 -0
  764. package/node_modules/zod/v4/locales/ta.d.cts +5 -0
  765. package/node_modules/zod/v4/locales/ta.d.ts +4 -0
  766. package/node_modules/zod/v4/locales/ta.js +110 -0
  767. package/node_modules/zod/v4/locales/th.cjs +137 -0
  768. package/node_modules/zod/v4/locales/th.d.cts +5 -0
  769. package/node_modules/zod/v4/locales/th.d.ts +4 -0
  770. package/node_modules/zod/v4/locales/th.js +110 -0
  771. package/node_modules/zod/v4/locales/tr.cjs +132 -0
  772. package/node_modules/zod/v4/locales/tr.d.cts +5 -0
  773. package/node_modules/zod/v4/locales/tr.d.ts +4 -0
  774. package/node_modules/zod/v4/locales/tr.js +105 -0
  775. package/node_modules/zod/v4/locales/ua.cjs +12 -0
  776. package/node_modules/zod/v4/locales/ua.d.cts +5 -0
  777. package/node_modules/zod/v4/locales/ua.d.ts +5 -0
  778. package/node_modules/zod/v4/locales/ua.js +5 -0
  779. package/node_modules/zod/v4/locales/uk.cjs +135 -0
  780. package/node_modules/zod/v4/locales/uk.d.cts +5 -0
  781. package/node_modules/zod/v4/locales/uk.d.ts +4 -0
  782. package/node_modules/zod/v4/locales/uk.js +108 -0
  783. package/node_modules/zod/v4/locales/ur.cjs +137 -0
  784. package/node_modules/zod/v4/locales/ur.d.cts +5 -0
  785. package/node_modules/zod/v4/locales/ur.d.ts +4 -0
  786. package/node_modules/zod/v4/locales/ur.js +110 -0
  787. package/node_modules/zod/v4/locales/uz.cjs +137 -0
  788. package/node_modules/zod/v4/locales/uz.d.cts +5 -0
  789. package/node_modules/zod/v4/locales/uz.d.ts +4 -0
  790. package/node_modules/zod/v4/locales/uz.js +110 -0
  791. package/node_modules/zod/v4/locales/vi.cjs +135 -0
  792. package/node_modules/zod/v4/locales/vi.d.cts +5 -0
  793. package/node_modules/zod/v4/locales/vi.d.ts +4 -0
  794. package/node_modules/zod/v4/locales/vi.js +108 -0
  795. package/node_modules/zod/v4/locales/yo.cjs +134 -0
  796. package/node_modules/zod/v4/locales/yo.d.cts +5 -0
  797. package/node_modules/zod/v4/locales/yo.d.ts +4 -0
  798. package/node_modules/zod/v4/locales/yo.js +107 -0
  799. package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
  800. package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  801. package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  802. package/node_modules/zod/v4/locales/zh-CN.js +109 -0
  803. package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
  804. package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  805. package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  806. package/node_modules/zod/v4/locales/zh-TW.js +107 -0
  807. package/node_modules/zod/v4/mini/checks.cjs +34 -0
  808. package/node_modules/zod/v4/mini/checks.d.cts +1 -0
  809. package/node_modules/zod/v4/mini/checks.d.ts +1 -0
  810. package/node_modules/zod/v4/mini/checks.js +1 -0
  811. package/node_modules/zod/v4/mini/coerce.cjs +52 -0
  812. package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  813. package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  814. package/node_modules/zod/v4/mini/coerce.js +22 -0
  815. package/node_modules/zod/v4/mini/external.cjs +63 -0
  816. package/node_modules/zod/v4/mini/external.d.cts +13 -0
  817. package/node_modules/zod/v4/mini/external.d.ts +13 -0
  818. package/node_modules/zod/v4/mini/external.js +14 -0
  819. package/node_modules/zod/v4/mini/index.cjs +32 -0
  820. package/node_modules/zod/v4/mini/index.d.cts +3 -0
  821. package/node_modules/zod/v4/mini/index.d.ts +3 -0
  822. package/node_modules/zod/v4/mini/index.js +3 -0
  823. package/node_modules/zod/v4/mini/iso.cjs +64 -0
  824. package/node_modules/zod/v4/mini/iso.d.cts +22 -0
  825. package/node_modules/zod/v4/mini/iso.d.ts +22 -0
  826. package/node_modules/zod/v4/mini/iso.js +34 -0
  827. package/node_modules/zod/v4/mini/package.json +7 -0
  828. package/node_modules/zod/v4/mini/parse.cjs +16 -0
  829. package/node_modules/zod/v4/mini/parse.d.cts +1 -0
  830. package/node_modules/zod/v4/mini/parse.d.ts +1 -0
  831. package/node_modules/zod/v4/mini/parse.js +1 -0
  832. package/node_modules/zod/v4/mini/schemas.cjs +1083 -0
  833. package/node_modules/zod/v4/mini/schemas.d.cts +445 -0
  834. package/node_modules/zod/v4/mini/schemas.d.ts +445 -0
  835. package/node_modules/zod/v4/mini/schemas.js +961 -0
  836. package/node_modules/zod/v4/package.json +7 -0
  837. package/node_modules/zod/v4-mini/index.cjs +32 -0
  838. package/node_modules/zod/v4-mini/index.d.cts +3 -0
  839. package/node_modules/zod/v4-mini/index.d.ts +3 -0
  840. package/node_modules/zod/v4-mini/index.js +3 -0
  841. package/node_modules/zod/v4-mini/package.json +7 -0
  842. package/package.json +8 -6
  843. package/dist/firecrawl-fetch-provider-CYViV-li.js +0 -38
  844. package/dist/firecrawl-fetch-provider-shared-BhzfHFkE.js +0 -47
  845. package/node_modules/typebox/build/format/_idna.d.mts +0 -2
  846. package/node_modules/typebox/build/format/_idna.mjs +0 -246
  847. package/node_modules/typebox/build/format/_puny.d.mts +0 -1
  848. package/node_modules/typebox/build/format/_puny.mjs +0 -77
  849. package/node_modules/typebox/build/schema/resolve/ref.d.mts +0 -3
  850. package/node_modules/typebox/build/schema/resolve/ref.mjs +0 -146
  851. package/node_modules/typebox/build/schema/types/contentEncoding.d.mts +0 -9
  852. package/node_modules/typebox/build/schema/types/contentEncoding.mjs +0 -13
  853. package/node_modules/typebox/build/schema/types/contentMediaType.d.mts +0 -9
  854. package/node_modules/typebox/build/schema/types/contentMediaType.mjs +0 -13
@@ -1,67 +1,8 @@
1
- import { IsIPv4Internal } from './ipv4.mjs';
2
- function InRange(ch) {
3
- return (ch >= 48 && ch <= 57) || // 0-9
4
- (ch >= 65 && ch <= 70) || // A-F
5
- (ch >= 97 && ch <= 102); // a-f
6
- }
1
+ const IPv6 = /^(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:)?[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)$/i;
7
2
  /**
8
3
  * Returns true if the value is an IPv6 address
9
4
  * @specification http://tools.ietf.org/html/rfc2373#section-2.2
10
5
  */
11
6
  export function IsIPv6(value) {
12
- const length = value.length;
13
- if (length === 0)
14
- return false;
15
- let groups = 0;
16
- let compressed = false;
17
- let i = 0;
18
- // handle leading '::'
19
- if (value.charCodeAt(0) === 58 && value.charCodeAt(1) === 58) {
20
- if (length === 2)
21
- return true; // '::' is valid
22
- compressed = true;
23
- i = 2;
24
- }
25
- while (i < length) {
26
- // read hex digits
27
- let digits = 0;
28
- const start = i;
29
- while (i < length && InRange(value.charCodeAt(i))) {
30
- i++;
31
- digits++;
32
- }
33
- if (digits === 0)
34
- return false;
35
- const next = value.charCodeAt(i);
36
- // check for embedded IPv4 at the end
37
- if (next === 46) { // '.'
38
- if (!IsIPv4Internal(value, start, length))
39
- return false;
40
- groups += 2;
41
- i = length;
42
- break;
43
- }
44
- if (digits > 4)
45
- return false;
46
- groups++;
47
- if (i === length)
48
- break;
49
- // expect ':' separator
50
- if (next !== 58)
51
- return false;
52
- i++;
53
- // check for '::' compression
54
- if (value.charCodeAt(i) === 58) {
55
- if (compressed)
56
- return false; // only one '::' allowed
57
- // check for ':::'
58
- if (value.charCodeAt(i + 1) === 58)
59
- return false;
60
- compressed = true;
61
- i++;
62
- if (i === length)
63
- break; // trailing '::'
64
- }
65
- }
66
- return compressed ? groups <= 7 : groups === 8;
7
+ return IPv6.test(value);
67
8
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Returns true if the value is a Iri
3
- * @specification
2
+ * Returns true if the value is a valid Internationalized Resource Identifier.
3
+ * @specification https://datatracker.ietf.org/doc/html/rfc3987
4
4
  */
5
5
  export declare function IsIri(value: string): boolean;
@@ -1,13 +1,31 @@
1
+ // deno-lint-ignore-file no-control-regex
2
+ const IpvFutureMatchMaxLength = 2048;
3
+ const IpvFutureMatch = /\[[vV][0-9a-fA-F]+\.[^\]]+\]/; // Guarded By IpvFutureMatchMaxLength
4
+ const InvalidIriChars = /[\x00-\x20<>\^`{|}\\]/;
5
+ // ------------------------------------------------------------------
6
+ // NarrowIpvFuture
7
+ //
8
+ // Substitutes an IPvFuture address with a standard IPv6 loopback
9
+ // address ([::1]). We do this because the native URL.canParse
10
+ // (WHATWG standard) rejects IPvFuture literals, which are
11
+ // otherwise valid in RFC 3987. Because regex substitution can
12
+ // be expensive on large strings, this operation is strictly
13
+ // limited to inputs under a defined length threshold.
14
+ //
15
+ // (review-optimization)
16
+ //
17
+ // ------------------------------------------------------------------
18
+ function NarrowIpvFuture(value) {
19
+ return value.length < IpvFutureMatchMaxLength ? value.replace(IpvFutureMatch, '[::1]') : value;
20
+ }
1
21
  /**
2
- * Returns true if the value is a Iri
3
- * @specification
22
+ * Returns true if the value is a valid Internationalized Resource Identifier.
23
+ * @specification https://datatracker.ietf.org/doc/html/rfc3987
4
24
  */
5
25
  export function IsIri(value) {
6
- try {
7
- new URL(value);
8
- return true;
9
- }
10
- catch {
26
+ // 1. Reject strings containing unencoded whitespace or illegal control characters.
27
+ if (InvalidIriChars.test(value))
11
28
  return false;
12
- }
29
+ // 2. Delegate to the native URL parser, patching the IPvFuture edge case beforehand.
30
+ return URL.canParse(NarrowIpvFuture(value));
13
31
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Returns true if the value is a Iri reference
3
- * @specification
2
+ * Returns true if the value is an IRI reference
3
+ * @specification https://tools.ietf.org/html/rfc3987
4
4
  */
5
5
  export declare function IsIriReference(value: string): boolean;
@@ -1,60 +1,14 @@
1
1
  // deno-lint-ignore-file no-control-regex
2
- // deno-coverage-ignore-start
3
- function TryUrl(value) {
4
- try {
5
- new URL(value, 'http://example.com'); // This handles relative paths correctly
6
- return true;
7
- }
8
- catch {
9
- return false;
10
- }
11
- }
12
- // deno-coverage-ignore-stop
2
+ // Rejects unencoded spaces (0x20), backslashes, control characters (0x00-0x1F, 0x7F), or malformed percent-encodings
3
+ const InvalidIriChars = /[\x00-\x20\x7F\\]|%(?![0-9a-fA-F]{2})/;
4
+ // Detects malformed scheme/authority patterns lacking a colon (e.g. "httpx//example.com")
5
+ const MalformedScheme = /^[a-zA-Z][a-zA-Z0-9+\-.]*\/\//;
13
6
  /**
14
- * Returns true if the value is a Iri reference
15
- * @specification
7
+ * Returns true if the value is an IRI reference
8
+ * @specification https://tools.ietf.org/html/rfc3987
16
9
  */
17
10
  export function IsIriReference(value) {
18
- // 1. Basic forbidden character checks (must be percent-encoded or not exist)
19
- // RFC 3987 excludes space, backslash, and control characters from being unencoded.
20
- if (value.includes(' ')) { // Unencoded space (U+0020)
21
- return false;
22
- }
23
- if (value.includes('\\')) { // Backslash (U+005C)
24
- return false;
25
- }
26
- // ASCII control characters (U+0000-U+001F and U+007F)
27
- if (/[\x00-\x1F\x7F]/.test(value)) {
28
- return false;
29
- }
30
- // 2. Check for invalid percent-encoding
31
- // A percent sign '%' must always be followed by exactly two hexadecimal characters.
32
- // This regex finds a '%' that is NOT followed by two hexadecimal characters.
33
- // - `%` matches a literal percent sign.
34
- // - `(?!...)` is a negative lookahead, asserting that what follows is NOT.
35
- // - `[0-9a-fA-F]{2}` matches exactly two hexadecimal digits.
36
- // So, if a '%' is found that is not immediately followed by two hex digits, this regex will match.
37
- if (/%(?![0-9a-fA-F]{2})/.test(value)) {
38
- return false;
39
- }
40
- // 3. Handle empty string (valid relative reference to the current document)
41
- if (value === '') {
42
- return true;
43
- }
44
- // 4. Determine if it's attempting to be an absolute IRI or a relative IRI, and parse.
45
- const colonIndex = value.indexOf(':');
46
- const hasValidSchemePrefix = colonIndex > 0 && // Colon must not be at the very beginning (e.g., ":foo")
47
- /^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(value.substring(0, colonIndex));
48
- if (hasValidSchemePrefix) {
49
- return TryUrl(value);
50
- }
51
- else {
52
- // This handles cases like `httpx//example.com/path` which look like malformed absolute URIs.
53
- const looksLikeMalformedSchemeAndAuthority = value.match(/^([a-zA-Z][a-zA-Z0-9+\-.]*)(\/\/)/);
54
- if (looksLikeMalformedSchemeAndAuthority && colonIndex === -1) {
55
- return false;
56
- }
57
- // Otherwise, it's a relative IRI reference.
58
- return TryUrl(value);
59
- }
11
+ return (!InvalidIriChars.test(value) &&
12
+ !MalformedScheme.test(value) &&
13
+ URL.canParse(value, 'http://example.com'));
60
14
  }
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Returns true if the value is a regular expression string pattern
3
- * @specification
4
- * @source ajv-formats
3
+ * @specification https://ecma-international.org/ecma-262
5
4
  */
6
5
  export declare function IsRegex(value: string): boolean;
@@ -1,14 +1,10 @@
1
1
  /**
2
2
  * Returns true if the value is a regular expression string pattern
3
- * @specification
4
- * @source ajv-formats
3
+ * @specification https://ecma-international.org/ecma-262
5
4
  */
6
5
  export function IsRegex(value) {
7
- if (value.length === 0) {
8
- return false;
9
- }
10
6
  try {
11
- new RegExp(value);
7
+ new RegExp(value, 'u');
12
8
  return true;
13
9
  }
14
10
  catch {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Returns true if the value is a ISO time string
3
- * @specification
2
+ * Returns true if the value is an ISO time string
3
+ * @specification https://datatracker.ietf.org/doc/html/rfc3339
4
4
  */
5
5
  export declare function IsTime(value: string, strictTimeZone?: boolean): boolean;
@@ -1,27 +1,32 @@
1
- const TIME = /^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(?:Z|([+-])(\d\d):(\d\d))?$/i;
1
+ const TIME = /^(\d\d):(\d\d):(\d\d)(?:\.\d+)?(?:([Zz])|([+-])(\d\d):(\d\d))?$/;
2
2
  /**
3
- * Returns true if the value is a ISO time string
4
- * @specification
3
+ * Returns true if the value is an ISO time string
4
+ * @specification https://datatracker.ietf.org/doc/html/rfc3339
5
5
  */
6
6
  export function IsTime(value, strictTimeZone = true) {
7
7
  const matches = TIME.exec(value);
8
8
  if (!matches)
9
9
  return false;
10
+ // Require timezone offset or 'Z'/'z' when strictTimeZone is true
11
+ if (strictTimeZone && !matches[4] && !matches[5])
12
+ return false;
10
13
  const hr = +matches[1];
11
14
  const min = +matches[2];
12
15
  const sec = +matches[3];
13
- const tzSign = matches[4] === '-' ? -1 : 1; // Use matches[4] for sign
14
- const tzH = +(matches[5] || 0); // tzH is now matches[5]
15
- const tzM = +(matches[6] || 0); // tzM is now matches[6]
16
- if (tzH > 23 || tzM > 59)
17
- return false; // Check for valid hour/minute range in offset
18
- if (strictTimeZone && !matches[4] && value.toLowerCase().indexOf('z') === -1) {
19
- // If strictTimeZone is true, and neither 'Z' nor a '+/-' offset was found
16
+ if (hr > 23 || min > 59 || sec > 60)
20
17
  return false;
18
+ if (matches[5]) {
19
+ const tzH = +matches[6];
20
+ const tzM = +matches[7];
21
+ if (tzH > 23 || tzM > 59)
22
+ return false;
21
23
  }
22
- if (hr <= 23 && min <= 59 && sec < 60)
24
+ if (sec < 60)
23
25
  return true;
24
- const utcMin = min - tzM * tzSign;
25
- const utcHr = hr - tzH * tzSign - (utcMin < 0 ? 1 : 0);
26
- return (utcHr === 23 || utcHr === -1) && (utcMin === 59 || utcMin === -1) && sec < 61;
26
+ // Leap second handling: must normalize to 23:59:60 UTC (1439 total UTC minutes)
27
+ const tzSign = matches[5] === '-' ? -1 : 1;
28
+ const tzH = +(matches[6] || 0);
29
+ const tzM = +(matches[7] || 0);
30
+ const totalUtcMin = (hr * 60 + min) - tzSign * (tzH * 60 + tzM);
31
+ return (totalUtcMin % 1440 + 1440) % 1440 === 1439;
27
32
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Returns true if the value matches RFC 3986 URI syntax.
2
+ * Returns true if the value is a valid Uniform Resource Identifier.
3
3
  * @specification https://tools.ietf.org/html/rfc3986
4
4
  */
5
5
  export declare function IsUri(value: string): boolean;
@@ -1,135 +1,8 @@
1
- function IsAlpha(ch) {
2
- return (ch >= 97 && ch <= 122) || (ch >= 65 && ch <= 90); // a-z, A-Z
3
- }
4
- function IsAlphaNumeric(ch) {
5
- return IsAlpha(ch) || (ch >= 48 && ch <= 57); // a-z, A-Z, 0-9
6
- }
7
- function IsHex(ch) {
8
- return (ch >= 48 && ch <= 57) || // 0-9
9
- (ch >= 65 && ch <= 70) || // A-F
10
- (ch >= 97 && ch <= 102); // a-f
11
- }
12
- function IsSchemeChar(ch) {
13
- return IsAlphaNumeric(ch) ||
14
- ch === 43 || ch === 45 || ch === 46; // '+', '-', '.'
15
- }
16
- function IsUnreserved(ch) {
17
- return IsAlphaNumeric(ch) ||
18
- ch === 45 || ch === 46 || // '-', '.'
19
- ch === 95 || ch === 126; // '_', '~'
20
- }
21
- function IsSubDelim(ch) {
22
- return ch === 33 || ch === 36 || ch === 38 || ch === 39 ||
23
- ch === 40 || ch === 41 || ch === 42 || ch === 43 ||
24
- ch === 44 || ch === 59 || ch === 61; // ! $ & ' ( ) * + , ; =
25
- }
26
- function IsPchar(ch) {
27
- return IsUnreserved(ch) || IsSubDelim(ch) || ch === 58 || ch === 64; // ':', '@'
28
- }
1
+ const Uri = /^[a-z][a-z0-9+\-.]*:(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;
29
2
  /**
30
- * Returns true if the value matches RFC 3986 URI syntax.
3
+ * Returns true if the value is a valid Uniform Resource Identifier.
31
4
  * @specification https://tools.ietf.org/html/rfc3986
32
5
  */
33
6
  export function IsUri(value) {
34
- const length = value.length;
35
- if (length === 0)
36
- return false;
37
- // Scheme: must start with a letter
38
- if (!IsAlpha(value.charCodeAt(0)))
39
- return false;
40
- // Scheme: continues until ':'
41
- let i = 1;
42
- while (i < length) {
43
- const ch = value.charCodeAt(i);
44
- if (ch === 58)
45
- break; // ':'
46
- if (!IsSchemeChar(ch))
47
- return false;
48
- i++;
49
- }
50
- // Ensure scheme is terminated by ':'
51
- if (value.charCodeAt(i) !== 58)
52
- return false;
53
- i++;
54
- // Authority: optional '//'
55
- if (value.charCodeAt(i) === 47 && value.charCodeAt(i + 1) === 47) {
56
- i += 2;
57
- // Userinfo: check for '@' before path/query/fragment delimiters
58
- const authorityStart = i;
59
- let atPos = -1;
60
- for (let j = i; j < length; j++) {
61
- const ch = value.charCodeAt(j);
62
- if (ch === 64) {
63
- atPos = j;
64
- break;
65
- } // '@'
66
- if (ch === 47 || ch === 63 || ch === 35)
67
- break; // '/', '?', '#'
68
- }
69
- if (atPos !== -1) {
70
- // Userinfo: validate allowed chars and percent-encoding
71
- for (let j = authorityStart; j < atPos; j++) {
72
- const ch = value.charCodeAt(j);
73
- if (ch === 91 || ch === 93)
74
- return false; // No '[' or ']' in userinfo
75
- if (ch === 37) { // '%' percent-encoding
76
- if (j + 2 >= atPos || !IsHex(value.charCodeAt(j + 1)) || !IsHex(value.charCodeAt(j + 2)))
77
- return false;
78
- j += 2;
79
- }
80
- else if (!IsUnreserved(ch) && !IsSubDelim(ch) && ch !== 58)
81
- return false;
82
- }
83
- i = atPos + 1;
84
- }
85
- // Host: IP-literal [addr] or reg-name
86
- if (value.charCodeAt(i) === 91) { // '['
87
- i++;
88
- while (i < length && value.charCodeAt(i) !== 93)
89
- i++;
90
- if (value.charCodeAt(i) !== 93)
91
- return false; // ']'
92
- i++;
93
- }
94
- else {
95
- // Host: validate ASCII; skip validation for non-ASCII (Unicode hosts)
96
- while (i < length) {
97
- const ch = value.charCodeAt(i);
98
- if (ch === 47 || ch === 63 || ch === 35 || ch === 58)
99
- break;
100
- if (ch < 128 && !IsUnreserved(ch) && !IsSubDelim(ch))
101
- return false;
102
- i++;
103
- }
104
- }
105
- // Port: optional digits after ':'
106
- if (value.charCodeAt(i) === 58) { // ':'
107
- i++;
108
- while (i < length) {
109
- const ch = value.charCodeAt(i);
110
- if (ch === 47 || ch === 63 || ch === 35)
111
- break;
112
- if (ch < 48 || ch > 57)
113
- return false; // 0-9
114
- i++;
115
- }
116
- }
117
- }
118
- // Path, Query, and Fragment
119
- while (i < length) {
120
- const ch = value.charCodeAt(i);
121
- if (ch === 37) { // '%' percent-encoding
122
- if (i + 2 >= length || !IsHex(value.charCodeAt(i + 1)) || !IsHex(value.charCodeAt(i + 2)))
123
- return false;
124
- i += 2;
125
- }
126
- else if (ch > 127) {
127
- return false; // URI is ASCII-only
128
- }
129
- else if (!(IsPchar(ch) || ch === 47 || ch === 63 || ch === 35)) {
130
- return false; // '/', '?', '#'
131
- }
132
- i++;
133
- }
134
- return true;
7
+ return Uri.test(value);
135
8
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Returns true if the value is a valid URI Reference.
2
+ * Returns true if the value is a valid Uri Reference.
3
3
  * @specification https://tools.ietf.org/html/rfc3986
4
4
  */
5
5
  export declare function IsUriReference(value: string): boolean;
@@ -1,7 +1,6 @@
1
- // deno-lint-ignore-file no-control-regex
2
- const UriReference = /^(?!.*[^\x00-\x7F])(?!.*\\)(?:(?:[a-z][a-z0-9+\-.]*:)?(?:\/\/[^\s[\]{}<>^`|]*)?|[^\s[\]{}<>^`|]*)(?:\?[^\s[\]{}<>^`|]*)?(?:#[^\s[\]{}<>^`|]*)?$/i;
1
+ const UriReference = /^(?:[a-z][a-z0-9+\-.]*:(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)(?:\?(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;
3
2
  /**
4
- * Returns true if the value is a valid URI Reference.
3
+ * Returns true if the value is a valid Uri Reference.
5
4
  * @specification https://tools.ietf.org/html/rfc3986
6
5
  */
7
6
  export function IsUriReference(value) {
@@ -1,6 +1,5 @@
1
1
  /**
2
- * Returns true if the value is a uri template
3
- * @specification
4
- * @source ajv-formats
2
+ * Returns true if the value is a valid Uri Template
3
+ * @specification https://datatracker.ietf.org/doc/html/rfc6570
5
4
  */
6
5
  export declare function IsUriTemplate(value: string): boolean;
@@ -1,9 +1,8 @@
1
- // deno-lint-ignore-file
2
- const UriTemplate = /^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i;
1
+ // deno-lint-ignore-file no-control-regex
2
+ const UriTemplate = /^(?:(?:[^\x00-\x20"<>%\\^`{|}\x7f]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?:\.(?:[a-z0-9_]|%[0-9a-f]{2})+)*(?::[1-9]\d{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?:\.(?:[a-z0-9_]|%[0-9a-f]{2})+)*(?::[1-9]\d{0,3}|\*)?)*\})*$/i;
3
3
  /**
4
- * Returns true if the value is a uri template
5
- * @specification
6
- * @source ajv-formats
4
+ * Returns true if the value is a valid Uri Template
5
+ * @specification https://datatracker.ietf.org/doc/html/rfc6570
7
6
  */
8
7
  export function IsUriTemplate(value) {
9
8
  return UriTemplate.test(value);
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Returns true if the value is a Url
3
- * @specification
4
- * @source ajv-formats
2
+ * Returns true if the value is a valid Uniform Resource Locator
3
+ * @specification https://datatracker.ietf.org/doc/html/rfc3986
4
+ * @specification https://datatracker.ietf.org/doc/html/rfc3987
5
5
  */
6
6
  export declare function IsUrl(value: string): boolean;
@@ -1,9 +1,8 @@
1
- const Url = /^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu;
2
1
  /**
3
- * Returns true if the value is a Url
4
- * @specification
5
- * @source ajv-formats
2
+ * Returns true if the value is a valid Uniform Resource Locator
3
+ * @specification https://datatracker.ietf.org/doc/html/rfc3986
4
+ * @specification https://datatracker.ietf.org/doc/html/rfc3987
6
5
  */
7
6
  export function IsUrl(value) {
8
- return Url.test(value);
7
+ return URL.canParse(value);
9
8
  }
@@ -33,6 +33,9 @@ export declare function IsGreaterEqualThan(left: string, right: string): string;
33
33
  export declare function IsMinLength(value: string, length: string): string;
34
34
  export declare function IsMaxLength(value: string, length: string): string;
35
35
  export declare function Every(value: string, offset: string, params: [value: string, index: string], expression: string): string;
36
+ export declare function Some(value: string, params: [value: string, index: string], expression: string): string;
37
+ export declare function SomeAll(value: string, params: [value: string, index: string], expression: string): string;
38
+ export declare function Counted(value: string, params: [value: string, index: string], expression: string): string;
36
39
  export declare function Entries(value: string): string;
37
40
  export declare function Keys(value: string): string;
38
41
  export declare function HasPropertyKey(value: string, key: string): string;
@@ -50,5 +53,4 @@ export declare function If(condition: string, then: string): string;
50
53
  export declare function Return(expression: string): string;
51
54
  export declare function ReduceAnd(operands: string[]): string;
52
55
  export declare function ReduceOr(operands: string[]): string;
53
- export declare function PrefixIncrement(expression: string): string;
54
56
  export declare function MultipleOf(dividend: string, divisor: string): string;
@@ -110,6 +110,15 @@ export function Every(value, offset, params, expression) {
110
110
  ? `${value}.every((${params[0]}, ${params[1]}) => ${expression})`
111
111
  : `((value, callback) => { for(let index = ${offset}; index < value.length; index++) if (!callback(value[index], index)) return false; return true })(${value}, (${params[0]}, ${params[1]}) => ${expression})`;
112
112
  }
113
+ export function Some(value, params, expression) {
114
+ return `${value}.some((${params[0]}, ${params[1]}) => ${expression})`;
115
+ }
116
+ export function SomeAll(value, params, expression) {
117
+ return `((value, callback) => { let result = false; for(let index = 0; index < value.length; index++) if (callback(value[index], index)) result = true; return result })(${value}, (${params[0]}, ${params[1]}) => ${expression})`;
118
+ }
119
+ export function Counted(value, params, expression) {
120
+ return `${value}.reduce((result, ${params[0]}, ${params[1]}) => (${expression}) ? ++result : result, 0)`;
121
+ }
113
122
  // --------------------------------------------------------------------------
114
123
  // Objects
115
124
  // --------------------------------------------------------------------------
@@ -145,6 +154,8 @@ export function Member(left, right) {
145
154
  return `${left}${IsIdentifier(right) ? `.${right}` : `[${Constant(right)}]`}`;
146
155
  }
147
156
  export function Constant(value) {
157
+ if (!G.IsValueLike(value))
158
+ throw Error('Unsupported Constant');
148
159
  return G.IsString(value) ? JSON.stringify(value) : `${value}`;
149
160
  }
150
161
  export function Ternary(condition, true_, false_) {
@@ -172,15 +183,11 @@ export function ReduceAnd(operands) {
172
183
  return G.IsEqual(operands.length, 0) ? 'true' : operands.reduce((left, right) => And(left, right));
173
184
  }
174
185
  export function ReduceOr(operands) {
175
- // deno-coverage-ignore - we never observe 0 operands
176
186
  return G.IsEqual(operands.length, 0) ? 'false' : operands.reduce((left, right) => Or(left, right));
177
187
  }
178
188
  // --------------------------------------------------------------------------
179
- // Arithmetic
189
+ // MultipleOf
180
190
  // --------------------------------------------------------------------------
181
- export function PrefixIncrement(expression) {
182
- return `++${expression}`;
183
- }
184
191
  export function MultipleOf(dividend, divisor) {
185
192
  return `Guard.IsMultipleOf(${dividend}, ${divisor})`;
186
193
  }
@@ -39,10 +39,16 @@ export declare function GraphemeCount(value: string): number;
39
39
  export declare function IsMaxLength(value: string, length: number): boolean;
40
40
  /** Returns true if the string has at least the given number of graphemes */
41
41
  export declare function IsMinLength(value: string, length: number): boolean;
42
- /** Returns true if all elements from offset satisfy the callback, short-circuiting on the first failure */
42
+ /** Returns true if every element from offset satisfies the callback, short-circuiting on the first failure */
43
43
  export declare function Every<T>(value: T[], offset: number, callback: (value: T, index: number) => boolean): boolean;
44
- /** Returns true if all elements from offset satisfy the callback, visiting every element regardless of failure */
44
+ /** Returns true if every element from offset satisfies the callback, using exhaustive enumeration */
45
45
  export declare function EveryAll<T>(value: T[], offset: number, callback: (value: T, index: number) => boolean): boolean;
46
+ /** Returns true if some element satisfies the callback, short-circuiting on the first success */
47
+ export declare function Some<T>(value: T[], callback: (value: T, index: number) => boolean): boolean;
48
+ /** Returns true if some element satisfies the callback, using exhaustive enumeration */
49
+ export declare function SomeAll<T>(value: T[], callback: (value: T, index: number) => boolean): boolean;
50
+ /** Returns the count of elements that satisfy the callback */
51
+ export declare function Counted(value: unknown[], callback: (value: unknown, index: number) => boolean): number;
46
52
  /** Shifts the left-most element from an array and dispatches to the true arm, or the false arm if empty */
47
53
  export declare function ShiftLeft<T, True extends (left: T, right: T[]) => unknown, False extends () => unknown>(array: T[], true_: True, false_: False): ReturnType<True> | ReturnType<False>;
48
54
  /** Returns true if the PropertyKey is Unsafe (ref: prototype-pollution). */
@@ -129,16 +129,16 @@ export function GraphemeCount(value) {
129
129
  }
130
130
  /** Returns true if the string has at most the given number of graphemes */
131
131
  export function IsMaxLength(value, length) {
132
- return String.IsMaxLengthFast(value, length);
132
+ return String.IsMaxLength(value, length);
133
133
  }
134
134
  /** Returns true if the string has at least the given number of graphemes */
135
135
  export function IsMinLength(value, length) {
136
- return String.IsMinLengthFast(value, length);
136
+ return String.IsMinLength(value, length);
137
137
  }
138
138
  // --------------------------------------------------------------------------
139
139
  // Array
140
140
  // --------------------------------------------------------------------------
141
- /** Returns true if all elements from offset satisfy the callback, short-circuiting on the first failure */
141
+ /** Returns true if every element from offset satisfies the callback, short-circuiting on the first failure */
142
142
  export function Every(value, offset, callback) {
143
143
  for (let index = offset; index < value.length; index++) {
144
144
  if (!callback(value[index], index))
@@ -146,7 +146,7 @@ export function Every(value, offset, callback) {
146
146
  }
147
147
  return true;
148
148
  }
149
- /** Returns true if all elements from offset satisfy the callback, visiting every element regardless of failure */
149
+ /** Returns true if every element from offset satisfies the callback, using exhaustive enumeration */
150
150
  export function EveryAll(value, offset, callback) {
151
151
  let result = true;
152
152
  for (let index = offset; index < value.length; index++) {
@@ -155,6 +155,27 @@ export function EveryAll(value, offset, callback) {
155
155
  }
156
156
  return result;
157
157
  }
158
+ /** Returns true if some element satisfies the callback, short-circuiting on the first success */
159
+ export function Some(value, callback) {
160
+ for (let index = 0; index < value.length; index++) {
161
+ if (callback(value[index], index))
162
+ return true;
163
+ }
164
+ return false;
165
+ }
166
+ /** Returns true if some element satisfies the callback, using exhaustive enumeration */
167
+ export function SomeAll(value, callback) {
168
+ let result = false;
169
+ for (let index = 0; index < value.length; index++) {
170
+ if (callback(value[index], index))
171
+ result = true;
172
+ }
173
+ return result;
174
+ }
175
+ /** Returns the count of elements that satisfy the callback */
176
+ export function Counted(value, callback) {
177
+ return value.reduce((result, value, index) => callback(value, index) ? ++result : result, 0);
178
+ }
158
179
  /** Shifts the left-most element from an array and dispatches to the true arm, or the false arm if empty */
159
180
  export function ShiftLeft(array, true_, false_) {
160
181
  return (IsEqual(array.length, 0) ? false_() : true_(array[0], array.slice(1)));