@blade-hq/agent-client 1.1.1 → 1.1.3

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 (583) hide show
  1. package/README.md +48 -25
  2. package/dist/blade-client.d.ts +2 -14
  3. package/dist/index.d.ts +5 -2
  4. package/dist/index.js +212 -106
  5. package/dist/index.js.map +1 -1
  6. package/dist/resources/models.d.ts +15 -0
  7. package/dist/resources/sessions.d.ts +8 -1
  8. package/dist/session/agent-session.d.ts +10 -0
  9. package/dist/session/definition.d.ts +49 -0
  10. package/dist/shared/projection/helpers.d.ts +1 -1
  11. package/dist/types/rest.d.ts +378 -10
  12. package/dist/version.d.ts +4 -42
  13. package/node_modules/@ark/schema/LICENSE +7 -0
  14. package/node_modules/@ark/schema/README.md +18 -0
  15. package/node_modules/@ark/schema/out/config.d.ts +58 -0
  16. package/node_modules/@ark/schema/out/config.js +95 -0
  17. package/node_modules/@ark/schema/out/constraint.d.ts +67 -0
  18. package/node_modules/@ark/schema/out/constraint.js +136 -0
  19. package/node_modules/@ark/schema/out/generic.d.ts +73 -0
  20. package/node_modules/@ark/schema/out/generic.js +76 -0
  21. package/node_modules/@ark/schema/out/index.d.ts +47 -0
  22. package/node_modules/@ark/schema/out/index.js +47 -0
  23. package/node_modules/@ark/schema/out/intrinsic.d.ts +24 -0
  24. package/node_modules/@ark/schema/out/intrinsic.js +56 -0
  25. package/node_modules/@ark/schema/out/kinds.d.ts +73 -0
  26. package/node_modules/@ark/schema/out/kinds.js +71 -0
  27. package/node_modules/@ark/schema/out/module.d.ts +24 -0
  28. package/node_modules/@ark/schema/out/module.js +15 -0
  29. package/node_modules/@ark/schema/out/node.d.ts +154 -0
  30. package/node_modules/@ark/schema/out/node.js +438 -0
  31. package/node_modules/@ark/schema/out/parse.d.ts +52 -0
  32. package/node_modules/@ark/schema/out/parse.js +215 -0
  33. package/node_modules/@ark/schema/out/predicate.d.ts +52 -0
  34. package/node_modules/@ark/schema/out/predicate.js +63 -0
  35. package/node_modules/@ark/schema/out/refinements/after.d.ts +41 -0
  36. package/node_modules/@ark/schema/out/refinements/after.js +35 -0
  37. package/node_modules/@ark/schema/out/refinements/before.d.ts +41 -0
  38. package/node_modules/@ark/schema/out/refinements/before.js +41 -0
  39. package/node_modules/@ark/schema/out/refinements/divisor.d.ts +43 -0
  40. package/node_modules/@ark/schema/out/refinements/divisor.js +58 -0
  41. package/node_modules/@ark/schema/out/refinements/exactLength.d.ts +49 -0
  42. package/node_modules/@ark/schema/out/refinements/exactLength.js +55 -0
  43. package/node_modules/@ark/schema/out/refinements/kinds.d.ts +34 -0
  44. package/node_modules/@ark/schema/out/refinements/kinds.js +25 -0
  45. package/node_modules/@ark/schema/out/refinements/max.d.ts +37 -0
  46. package/node_modules/@ark/schema/out/refinements/max.js +45 -0
  47. package/node_modules/@ark/schema/out/refinements/maxLength.d.ts +40 -0
  48. package/node_modules/@ark/schema/out/refinements/maxLength.js +49 -0
  49. package/node_modules/@ark/schema/out/refinements/min.d.ts +37 -0
  50. package/node_modules/@ark/schema/out/refinements/min.js +39 -0
  51. package/node_modules/@ark/schema/out/refinements/minLength.d.ts +40 -0
  52. package/node_modules/@ark/schema/out/refinements/minLength.js +47 -0
  53. package/node_modules/@ark/schema/out/refinements/pattern.d.ts +43 -0
  54. package/node_modules/@ark/schema/out/refinements/pattern.js +52 -0
  55. package/node_modules/@ark/schema/out/refinements/range.d.ts +106 -0
  56. package/node_modules/@ark/schema/out/refinements/range.js +103 -0
  57. package/node_modules/@ark/schema/out/roots/alias.d.ts +45 -0
  58. package/node_modules/@ark/schema/out/roots/alias.js +115 -0
  59. package/node_modules/@ark/schema/out/roots/basis.d.ts +12 -0
  60. package/node_modules/@ark/schema/out/roots/basis.js +26 -0
  61. package/node_modules/@ark/schema/out/roots/domain.d.ts +45 -0
  62. package/node_modules/@ark/schema/out/roots/domain.js +72 -0
  63. package/node_modules/@ark/schema/out/roots/intersection.d.ts +98 -0
  64. package/node_modules/@ark/schema/out/roots/intersection.js +292 -0
  65. package/node_modules/@ark/schema/out/roots/morph.d.ts +62 -0
  66. package/node_modules/@ark/schema/out/roots/morph.js +159 -0
  67. package/node_modules/@ark/schema/out/roots/proto.d.ts +53 -0
  68. package/node_modules/@ark/schema/out/roots/proto.js +101 -0
  69. package/node_modules/@ark/schema/out/roots/root.d.ts +145 -0
  70. package/node_modules/@ark/schema/out/roots/root.js +455 -0
  71. package/node_modules/@ark/schema/out/roots/union.d.ts +99 -0
  72. package/node_modules/@ark/schema/out/roots/union.js +718 -0
  73. package/node_modules/@ark/schema/out/roots/unit.d.ts +41 -0
  74. package/node_modules/@ark/schema/out/roots/unit.js +86 -0
  75. package/node_modules/@ark/schema/out/roots/utils.d.ts +3 -0
  76. package/node_modules/@ark/schema/out/roots/utils.js +6 -0
  77. package/node_modules/@ark/schema/out/scope.d.ts +158 -0
  78. package/node_modules/@ark/schema/out/scope.js +481 -0
  79. package/node_modules/@ark/schema/out/shared/compile.d.ts +62 -0
  80. package/node_modules/@ark/schema/out/shared/compile.js +145 -0
  81. package/node_modules/@ark/schema/out/shared/declare.d.ts +80 -0
  82. package/node_modules/@ark/schema/out/shared/declare.js +1 -0
  83. package/node_modules/@ark/schema/out/shared/disjoint.d.ts +41 -0
  84. package/node_modules/@ark/schema/out/shared/disjoint.js +65 -0
  85. package/node_modules/@ark/schema/out/shared/errors.d.ts +145 -0
  86. package/node_modules/@ark/schema/out/shared/errors.js +252 -0
  87. package/node_modules/@ark/schema/out/shared/implement.d.ts +151 -0
  88. package/node_modules/@ark/schema/out/shared/implement.js +98 -0
  89. package/node_modules/@ark/schema/out/shared/intersections.d.ts +10 -0
  90. package/node_modules/@ark/schema/out/shared/intersections.js +132 -0
  91. package/node_modules/@ark/schema/out/shared/jsonSchema.d.ts +93 -0
  92. package/node_modules/@ark/schema/out/shared/jsonSchema.js +1 -0
  93. package/node_modules/@ark/schema/out/shared/registry.d.ts +7 -0
  94. package/node_modules/@ark/schema/out/shared/registry.js +10 -0
  95. package/node_modules/@ark/schema/out/shared/standardSchema.d.ts +122 -0
  96. package/node_modules/@ark/schema/out/shared/standardSchema.js +2 -0
  97. package/node_modules/@ark/schema/out/shared/toJsonSchema.d.ts +139 -0
  98. package/node_modules/@ark/schema/out/shared/toJsonSchema.js +40 -0
  99. package/node_modules/@ark/schema/out/shared/traversal.d.ts +117 -0
  100. package/node_modules/@ark/schema/out/shared/traversal.js +226 -0
  101. package/node_modules/@ark/schema/out/shared/utils.d.ts +34 -0
  102. package/node_modules/@ark/schema/out/shared/utils.js +8 -0
  103. package/node_modules/@ark/schema/out/structure/index.d.ts +46 -0
  104. package/node_modules/@ark/schema/out/structure/index.js +89 -0
  105. package/node_modules/@ark/schema/out/structure/optional.d.ts +49 -0
  106. package/node_modules/@ark/schema/out/structure/optional.js +127 -0
  107. package/node_modules/@ark/schema/out/structure/prop.d.ts +45 -0
  108. package/node_modules/@ark/schema/out/structure/prop.js +85 -0
  109. package/node_modules/@ark/schema/out/structure/required.d.ts +39 -0
  110. package/node_modules/@ark/schema/out/structure/required.js +38 -0
  111. package/node_modules/@ark/schema/out/structure/sequence.d.ts +110 -0
  112. package/node_modules/@ark/schema/out/structure/sequence.js +521 -0
  113. package/node_modules/@ark/schema/out/structure/shared.d.ts +4 -0
  114. package/node_modules/@ark/schema/out/structure/shared.js +4 -0
  115. package/node_modules/@ark/schema/out/structure/structure.d.ts +113 -0
  116. package/node_modules/@ark/schema/out/structure/structure.js +747 -0
  117. package/node_modules/@ark/schema/package.json +51 -0
  118. package/node_modules/@ark/util/LICENSE +7 -0
  119. package/node_modules/@ark/util/out/arrays.d.ts +166 -0
  120. package/node_modules/@ark/util/out/arrays.js +147 -0
  121. package/node_modules/@ark/util/out/clone.d.ts +4 -0
  122. package/node_modules/@ark/util/out/clone.js +33 -0
  123. package/node_modules/@ark/util/out/describe.d.ts +25 -0
  124. package/node_modules/@ark/util/out/describe.js +1 -0
  125. package/node_modules/@ark/util/out/domain.d.ts +48 -0
  126. package/node_modules/@ark/util/out/domain.js +25 -0
  127. package/node_modules/@ark/util/out/errors.d.ts +29 -0
  128. package/node_modules/@ark/util/out/errors.js +17 -0
  129. package/node_modules/@ark/util/out/flatMorph.d.ts +41 -0
  130. package/node_modules/@ark/util/out/flatMorph.js +24 -0
  131. package/node_modules/@ark/util/out/functions.d.ts +33 -0
  132. package/node_modules/@ark/util/out/functions.js +53 -0
  133. package/node_modules/@ark/util/out/generics.d.ts +59 -0
  134. package/node_modules/@ark/util/out/generics.js +5 -0
  135. package/node_modules/@ark/util/out/get.d.ts +9 -0
  136. package/node_modules/@ark/util/out/get.js +7 -0
  137. package/node_modules/@ark/util/out/hkt.d.ts +27 -0
  138. package/node_modules/@ark/util/out/hkt.js +5 -0
  139. package/node_modules/@ark/util/out/index.d.ts +24 -0
  140. package/node_modules/@ark/util/out/index.js +24 -0
  141. package/node_modules/@ark/util/out/intersections.d.ts +50 -0
  142. package/node_modules/@ark/util/out/intersections.js +1 -0
  143. package/node_modules/@ark/util/out/isomorphic.d.ts +5 -0
  144. package/node_modules/@ark/util/out/isomorphic.js +19 -0
  145. package/node_modules/@ark/util/out/keys.d.ts +18 -0
  146. package/node_modules/@ark/util/out/keys.js +1 -0
  147. package/node_modules/@ark/util/out/lazily.d.ts +1 -0
  148. package/node_modules/@ark/util/out/lazily.js +16 -0
  149. package/node_modules/@ark/util/out/numbers.d.ts +72 -0
  150. package/node_modules/@ark/util/out/numbers.js +138 -0
  151. package/node_modules/@ark/util/out/objectKinds.d.ts +205 -0
  152. package/node_modules/@ark/util/out/objectKinds.js +150 -0
  153. package/node_modules/@ark/util/out/path.d.ts +22 -0
  154. package/node_modules/@ark/util/out/path.js +65 -0
  155. package/node_modules/@ark/util/out/primitive.d.ts +16 -0
  156. package/node_modules/@ark/util/out/primitive.js +3 -0
  157. package/node_modules/@ark/util/out/records.d.ts +183 -0
  158. package/node_modules/@ark/util/out/records.js +63 -0
  159. package/node_modules/@ark/util/out/registry.d.ts +21 -0
  160. package/node_modules/@ark/util/out/registry.js +49 -0
  161. package/node_modules/@ark/util/out/scanner.d.ts +44 -0
  162. package/node_modules/@ark/util/out/scanner.js +87 -0
  163. package/node_modules/@ark/util/out/serialize.d.ts +34 -0
  164. package/node_modules/@ark/util/out/serialize.js +150 -0
  165. package/node_modules/@ark/util/out/strings.d.ts +33 -0
  166. package/node_modules/@ark/util/out/strings.js +59 -0
  167. package/node_modules/@ark/util/out/traits.d.ts +89 -0
  168. package/node_modules/@ark/util/out/traits.js +75 -0
  169. package/node_modules/@ark/util/out/unionToTuple.d.ts +14 -0
  170. package/node_modules/@ark/util/out/unionToTuple.js +1 -0
  171. package/node_modules/@ark/util/package.json +39 -0
  172. package/node_modules/@ark/util/tsconfig.base.json +18 -0
  173. package/node_modules/@socket.io/component-emitter/LICENSE +24 -0
  174. package/node_modules/@socket.io/component-emitter/Readme.md +79 -0
  175. package/node_modules/@socket.io/component-emitter/lib/cjs/index.d.ts +179 -0
  176. package/node_modules/@socket.io/component-emitter/lib/cjs/index.js +176 -0
  177. package/node_modules/@socket.io/component-emitter/lib/cjs/package.json +4 -0
  178. package/node_modules/@socket.io/component-emitter/lib/esm/index.d.ts +179 -0
  179. package/node_modules/@socket.io/component-emitter/lib/esm/index.js +169 -0
  180. package/node_modules/@socket.io/component-emitter/lib/esm/package.json +4 -0
  181. package/node_modules/@socket.io/component-emitter/package.json +28 -0
  182. package/node_modules/arkregex/LICENSE +7 -0
  183. package/node_modules/arkregex/README.md +61 -0
  184. package/node_modules/arkregex/out/charset.d.ts +15 -0
  185. package/node_modules/arkregex/out/charset.js +1 -0
  186. package/node_modules/arkregex/out/escape.d.ts +29 -0
  187. package/node_modules/arkregex/out/escape.js +10 -0
  188. package/node_modules/arkregex/out/execArray.d.ts +23 -0
  189. package/node_modules/arkregex/out/execArray.js +1 -0
  190. package/node_modules/arkregex/out/group.d.ts +33 -0
  191. package/node_modules/arkregex/out/group.js +6 -0
  192. package/node_modules/arkregex/out/index.d.ts +1 -0
  193. package/node_modules/arkregex/out/index.js +1 -0
  194. package/node_modules/arkregex/out/parse.d.ts +10 -0
  195. package/node_modules/arkregex/out/parse.js +1 -0
  196. package/node_modules/arkregex/out/quantify.d.ts +43 -0
  197. package/node_modules/arkregex/out/quantify.js +2 -0
  198. package/node_modules/arkregex/out/regex.d.ts +38 -0
  199. package/node_modules/arkregex/out/regex.js +2 -0
  200. package/node_modules/arkregex/out/state.d.ts +359 -0
  201. package/node_modules/arkregex/out/state.js +2 -0
  202. package/node_modules/arkregex/package.json +42 -0
  203. package/node_modules/arktype/LICENSE +7 -0
  204. package/node_modules/arktype/README.md +157 -0
  205. package/node_modules/arktype/out/attributes.d.ts +104 -0
  206. package/node_modules/arktype/out/attributes.js +3 -0
  207. package/node_modules/arktype/out/config.d.ts +35 -0
  208. package/node_modules/arktype/out/config.js +3 -0
  209. package/node_modules/arktype/out/declare.d.ts +35 -0
  210. package/node_modules/arktype/out/declare.js +1 -0
  211. package/node_modules/arktype/out/fn.d.ts +61 -0
  212. package/node_modules/arktype/out/fn.js +54 -0
  213. package/node_modules/arktype/out/generic.d.ts +118 -0
  214. package/node_modules/arktype/out/generic.js +37 -0
  215. package/node_modules/arktype/out/index.d.ts +12 -0
  216. package/node_modules/arktype/out/index.js +9 -0
  217. package/node_modules/arktype/out/keywords/Array.d.ts +20 -0
  218. package/node_modules/arktype/out/keywords/Array.js +21 -0
  219. package/node_modules/arktype/out/keywords/FormData.d.ts +15 -0
  220. package/node_modules/arktype/out/keywords/FormData.js +40 -0
  221. package/node_modules/arktype/out/keywords/TypedArray.d.ts +19 -0
  222. package/node_modules/arktype/out/keywords/TypedArray.js +16 -0
  223. package/node_modules/arktype/out/keywords/builtins.d.ts +18 -0
  224. package/node_modules/arktype/out/keywords/builtins.js +11 -0
  225. package/node_modules/arktype/out/keywords/constructors.d.ts +31 -0
  226. package/node_modules/arktype/out/keywords/constructors.js +16 -0
  227. package/node_modules/arktype/out/keywords/keywords.d.ts +70 -0
  228. package/node_modules/arktype/out/keywords/keywords.js +48 -0
  229. package/node_modules/arktype/out/keywords/number.d.ts +23 -0
  230. package/node_modules/arktype/out/keywords/number.js +49 -0
  231. package/node_modules/arktype/out/keywords/string.d.ts +334 -0
  232. package/node_modules/arktype/out/keywords/string.js +463 -0
  233. package/node_modules/arktype/out/keywords/ts.d.ts +108 -0
  234. package/node_modules/arktype/out/keywords/ts.js +82 -0
  235. package/node_modules/arktype/out/match.d.ts +152 -0
  236. package/node_modules/arktype/out/match.js +95 -0
  237. package/node_modules/arktype/out/module.d.ts +22 -0
  238. package/node_modules/arktype/out/module.js +3 -0
  239. package/node_modules/arktype/out/nary.d.ts +473 -0
  240. package/node_modules/arktype/out/nary.js +1 -0
  241. package/node_modules/arktype/out/parser/ast/bounds.d.ts +18 -0
  242. package/node_modules/arktype/out/parser/ast/bounds.js +1 -0
  243. package/node_modules/arktype/out/parser/ast/default.d.ts +8 -0
  244. package/node_modules/arktype/out/parser/ast/default.js +1 -0
  245. package/node_modules/arktype/out/parser/ast/divisor.d.ts +9 -0
  246. package/node_modules/arktype/out/parser/ast/divisor.js +1 -0
  247. package/node_modules/arktype/out/parser/ast/generic.d.ts +17 -0
  248. package/node_modules/arktype/out/parser/ast/generic.js +1 -0
  249. package/node_modules/arktype/out/parser/ast/infer.d.ts +25 -0
  250. package/node_modules/arktype/out/parser/ast/infer.js +1 -0
  251. package/node_modules/arktype/out/parser/ast/keyof.d.ts +7 -0
  252. package/node_modules/arktype/out/parser/ast/keyof.js +1 -0
  253. package/node_modules/arktype/out/parser/ast/utils.d.ts +8 -0
  254. package/node_modules/arktype/out/parser/ast/utils.js +1 -0
  255. package/node_modules/arktype/out/parser/ast/validate.d.ts +30 -0
  256. package/node_modules/arktype/out/parser/ast/validate.js +3 -0
  257. package/node_modules/arktype/out/parser/definition.d.ts +30 -0
  258. package/node_modules/arktype/out/parser/definition.js +74 -0
  259. package/node_modules/arktype/out/parser/objectLiteral.d.ts +70 -0
  260. package/node_modules/arktype/out/parser/objectLiteral.js +113 -0
  261. package/node_modules/arktype/out/parser/property.d.ts +34 -0
  262. package/node_modules/arktype/out/parser/property.js +16 -0
  263. package/node_modules/arktype/out/parser/reduce/dynamic.d.ts +42 -0
  264. package/node_modules/arktype/out/parser/reduce/dynamic.js +153 -0
  265. package/node_modules/arktype/out/parser/reduce/shared.d.ts +39 -0
  266. package/node_modules/arktype/out/parser/reduce/shared.js +25 -0
  267. package/node_modules/arktype/out/parser/reduce/static.d.ts +186 -0
  268. package/node_modules/arktype/out/parser/reduce/static.js +1 -0
  269. package/node_modules/arktype/out/parser/shift/operand/date.d.ts +11 -0
  270. package/node_modules/arktype/out/parser/shift/operand/date.js +23 -0
  271. package/node_modules/arktype/out/parser/shift/operand/enclosed.d.ts +57 -0
  272. package/node_modules/arktype/out/parser/shift/operand/enclosed.js +78 -0
  273. package/node_modules/arktype/out/parser/shift/operand/genericArgs.d.ts +27 -0
  274. package/node_modules/arktype/out/parser/shift/operand/genericArgs.js +16 -0
  275. package/node_modules/arktype/out/parser/shift/operand/operand.d.ts +8 -0
  276. package/node_modules/arktype/out/parser/shift/operand/operand.js +16 -0
  277. package/node_modules/arktype/out/parser/shift/operand/unenclosed.d.ts +43 -0
  278. package/node_modules/arktype/out/parser/shift/operand/unenclosed.js +59 -0
  279. package/node_modules/arktype/out/parser/shift/operator/bounds.d.ts +24 -0
  280. package/node_modules/arktype/out/parser/shift/operator/bounds.js +91 -0
  281. package/node_modules/arktype/out/parser/shift/operator/brand.d.ts +7 -0
  282. package/node_modules/arktype/out/parser/shift/operator/brand.js +6 -0
  283. package/node_modules/arktype/out/parser/shift/operator/default.d.ts +24 -0
  284. package/node_modules/arktype/out/parser/shift/operator/default.js +15 -0
  285. package/node_modules/arktype/out/parser/shift/operator/divisor.d.ts +8 -0
  286. package/node_modules/arktype/out/parser/shift/operator/divisor.js +13 -0
  287. package/node_modules/arktype/out/parser/shift/operator/operator.d.ts +14 -0
  288. package/node_modules/arktype/out/parser/shift/operator/operator.js +28 -0
  289. package/node_modules/arktype/out/parser/shift/tokens.d.ts +33 -0
  290. package/node_modules/arktype/out/parser/shift/tokens.js +37 -0
  291. package/node_modules/arktype/out/parser/string.d.ts +30 -0
  292. package/node_modules/arktype/out/parser/string.js +42 -0
  293. package/node_modules/arktype/out/parser/tupleExpressions.d.ts +79 -0
  294. package/node_modules/arktype/out/parser/tupleExpressions.js +75 -0
  295. package/node_modules/arktype/out/parser/tupleLiteral.d.ts +95 -0
  296. package/node_modules/arktype/out/parser/tupleLiteral.js +128 -0
  297. package/node_modules/arktype/out/scope.d.ts +158 -0
  298. package/node_modules/arktype/out/scope.js +106 -0
  299. package/node_modules/arktype/out/type.d.ts +144 -0
  300. package/node_modules/arktype/out/type.js +55 -0
  301. package/node_modules/arktype/out/variants/array.d.ts +12 -0
  302. package/node_modules/arktype/out/variants/array.js +1 -0
  303. package/node_modules/arktype/out/variants/base.d.ts +542 -0
  304. package/node_modules/arktype/out/variants/base.js +1 -0
  305. package/node_modules/arktype/out/variants/date.d.ts +10 -0
  306. package/node_modules/arktype/out/variants/date.js +1 -0
  307. package/node_modules/arktype/out/variants/instantiate.d.ts +12 -0
  308. package/node_modules/arktype/out/variants/instantiate.js +1 -0
  309. package/node_modules/arktype/out/variants/number.d.ts +11 -0
  310. package/node_modules/arktype/out/variants/number.js +1 -0
  311. package/node_modules/arktype/out/variants/object.d.ts +107 -0
  312. package/node_modules/arktype/out/variants/object.js +1 -0
  313. package/node_modules/arktype/out/variants/string.d.ts +15 -0
  314. package/node_modules/arktype/out/variants/string.js +1 -0
  315. package/node_modules/arktype/package.json +57 -0
  316. package/node_modules/debug/LICENSE +20 -0
  317. package/node_modules/debug/README.md +481 -0
  318. package/node_modules/debug/package.json +64 -0
  319. package/node_modules/debug/src/browser.js +272 -0
  320. package/node_modules/debug/src/common.js +292 -0
  321. package/node_modules/debug/src/index.js +10 -0
  322. package/node_modules/debug/src/node.js +263 -0
  323. package/node_modules/engine.io-client/LICENSE +22 -0
  324. package/node_modules/engine.io-client/README.md +331 -0
  325. package/node_modules/engine.io-client/build/cjs/browser-entrypoint.d.ts +3 -0
  326. package/node_modules/engine.io-client/build/cjs/browser-entrypoint.js +4 -0
  327. package/node_modules/engine.io-client/build/cjs/contrib/has-cors.d.ts +1 -0
  328. package/node_modules/engine.io-client/build/cjs/contrib/has-cors.js +14 -0
  329. package/node_modules/engine.io-client/build/cjs/contrib/parseqs.d.ts +15 -0
  330. package/node_modules/engine.io-client/build/cjs/contrib/parseqs.js +38 -0
  331. package/node_modules/engine.io-client/build/cjs/contrib/parseuri.d.ts +1 -0
  332. package/node_modules/engine.io-client/build/cjs/contrib/parseuri.js +67 -0
  333. package/node_modules/engine.io-client/build/cjs/globals.d.ts +4 -0
  334. package/node_modules/engine.io-client/build/cjs/globals.js +26 -0
  335. package/node_modules/engine.io-client/build/cjs/globals.node.d.ts +21 -0
  336. package/node_modules/engine.io-client/build/cjs/globals.node.js +97 -0
  337. package/node_modules/engine.io-client/build/cjs/index.d.ts +15 -0
  338. package/node_modules/engine.io-client/build/cjs/index.js +32 -0
  339. package/node_modules/engine.io-client/build/cjs/package.json +10 -0
  340. package/node_modules/engine.io-client/build/cjs/socket.d.ts +482 -0
  341. package/node_modules/engine.io-client/build/cjs/socket.js +765 -0
  342. package/node_modules/engine.io-client/build/cjs/transport.d.ts +106 -0
  343. package/node_modules/engine.io-client/build/cjs/transport.js +153 -0
  344. package/node_modules/engine.io-client/build/cjs/transports/index.d.ts +8 -0
  345. package/node_modules/engine.io-client/build/cjs/transports/index.js +11 -0
  346. package/node_modules/engine.io-client/build/cjs/transports/polling-fetch.d.ts +15 -0
  347. package/node_modules/engine.io-client/build/cjs/transports/polling-fetch.js +60 -0
  348. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.d.ts +108 -0
  349. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js +285 -0
  350. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.d.ts +11 -0
  351. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.js +44 -0
  352. package/node_modules/engine.io-client/build/cjs/transports/polling.d.ts +52 -0
  353. package/node_modules/engine.io-client/build/cjs/transports/polling.js +165 -0
  354. package/node_modules/engine.io-client/build/cjs/transports/websocket.d.ts +36 -0
  355. package/node_modules/engine.io-client/build/cjs/transports/websocket.js +136 -0
  356. package/node_modules/engine.io-client/build/cjs/transports/websocket.node.d.ts +14 -0
  357. package/node_modules/engine.io-client/build/cjs/transports/websocket.node.js +68 -0
  358. package/node_modules/engine.io-client/build/cjs/transports/webtransport.d.ts +18 -0
  359. package/node_modules/engine.io-client/build/cjs/transports/webtransport.js +94 -0
  360. package/node_modules/engine.io-client/build/cjs/util.d.ts +7 -0
  361. package/node_modules/engine.io-client/build/cjs/util.js +65 -0
  362. package/node_modules/engine.io-client/build/esm/browser-entrypoint.d.ts +3 -0
  363. package/node_modules/engine.io-client/build/esm/browser-entrypoint.js +2 -0
  364. package/node_modules/engine.io-client/build/esm/contrib/has-cors.d.ts +1 -0
  365. package/node_modules/engine.io-client/build/esm/contrib/has-cors.js +11 -0
  366. package/node_modules/engine.io-client/build/esm/contrib/parseqs.d.ts +15 -0
  367. package/node_modules/engine.io-client/build/esm/contrib/parseqs.js +34 -0
  368. package/node_modules/engine.io-client/build/esm/contrib/parseuri.d.ts +1 -0
  369. package/node_modules/engine.io-client/build/esm/contrib/parseuri.js +64 -0
  370. package/node_modules/engine.io-client/build/esm/globals.d.ts +4 -0
  371. package/node_modules/engine.io-client/build/esm/globals.js +22 -0
  372. package/node_modules/engine.io-client/build/esm/globals.node.d.ts +21 -0
  373. package/node_modules/engine.io-client/build/esm/globals.node.js +91 -0
  374. package/node_modules/engine.io-client/build/esm/index.d.ts +15 -0
  375. package/node_modules/engine.io-client/build/esm/index.js +15 -0
  376. package/node_modules/engine.io-client/build/esm/package.json +10 -0
  377. package/node_modules/engine.io-client/build/esm/socket.d.ts +482 -0
  378. package/node_modules/engine.io-client/build/esm/socket.js +727 -0
  379. package/node_modules/engine.io-client/build/esm/transport.d.ts +106 -0
  380. package/node_modules/engine.io-client/build/esm/transport.js +142 -0
  381. package/node_modules/engine.io-client/build/esm/transports/index.d.ts +8 -0
  382. package/node_modules/engine.io-client/build/esm/transports/index.js +8 -0
  383. package/node_modules/engine.io-client/build/esm/transports/polling-fetch.d.ts +15 -0
  384. package/node_modules/engine.io-client/build/esm/transports/polling-fetch.js +56 -0
  385. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.d.ts +108 -0
  386. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.js +271 -0
  387. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.d.ts +11 -0
  388. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.js +17 -0
  389. package/node_modules/engine.io-client/build/esm/transports/polling.d.ts +52 -0
  390. package/node_modules/engine.io-client/build/esm/transports/polling.js +145 -0
  391. package/node_modules/engine.io-client/build/esm/transports/websocket.d.ts +36 -0
  392. package/node_modules/engine.io-client/build/esm/transports/websocket.js +125 -0
  393. package/node_modules/engine.io-client/build/esm/transports/websocket.node.d.ts +14 -0
  394. package/node_modules/engine.io-client/build/esm/transports/websocket.node.js +41 -0
  395. package/node_modules/engine.io-client/build/esm/transports/webtransport.d.ts +18 -0
  396. package/node_modules/engine.io-client/build/esm/transports/webtransport.js +80 -0
  397. package/node_modules/engine.io-client/build/esm/util.d.ts +7 -0
  398. package/node_modules/engine.io-client/build/esm/util.js +59 -0
  399. package/node_modules/engine.io-client/build/esm-debug/browser-entrypoint.d.ts +3 -0
  400. package/node_modules/engine.io-client/build/esm-debug/browser-entrypoint.js +2 -0
  401. package/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.d.ts +1 -0
  402. package/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.js +11 -0
  403. package/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.d.ts +15 -0
  404. package/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.js +34 -0
  405. package/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.d.ts +1 -0
  406. package/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.js +64 -0
  407. package/node_modules/engine.io-client/build/esm-debug/globals.d.ts +4 -0
  408. package/node_modules/engine.io-client/build/esm-debug/globals.js +22 -0
  409. package/node_modules/engine.io-client/build/esm-debug/globals.node.d.ts +21 -0
  410. package/node_modules/engine.io-client/build/esm-debug/globals.node.js +91 -0
  411. package/node_modules/engine.io-client/build/esm-debug/index.d.ts +15 -0
  412. package/node_modules/engine.io-client/build/esm-debug/index.js +15 -0
  413. package/node_modules/engine.io-client/build/esm-debug/package.json +10 -0
  414. package/node_modules/engine.io-client/build/esm-debug/socket.d.ts +482 -0
  415. package/node_modules/engine.io-client/build/esm-debug/socket.js +756 -0
  416. package/node_modules/engine.io-client/build/esm-debug/transport.d.ts +106 -0
  417. package/node_modules/engine.io-client/build/esm-debug/transport.js +145 -0
  418. package/node_modules/engine.io-client/build/esm-debug/transports/index.d.ts +8 -0
  419. package/node_modules/engine.io-client/build/esm-debug/transports/index.js +8 -0
  420. package/node_modules/engine.io-client/build/esm-debug/transports/polling-fetch.d.ts +15 -0
  421. package/node_modules/engine.io-client/build/esm-debug/transports/polling-fetch.js +56 -0
  422. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.d.ts +108 -0
  423. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.js +276 -0
  424. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.d.ts +11 -0
  425. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.js +17 -0
  426. package/node_modules/engine.io-client/build/esm-debug/transports/polling.d.ts +52 -0
  427. package/node_modules/engine.io-client/build/esm-debug/transports/polling.js +158 -0
  428. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.d.ts +36 -0
  429. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.js +128 -0
  430. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.d.ts +14 -0
  431. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.js +41 -0
  432. package/node_modules/engine.io-client/build/esm-debug/transports/webtransport.d.ts +18 -0
  433. package/node_modules/engine.io-client/build/esm-debug/transports/webtransport.js +87 -0
  434. package/node_modules/engine.io-client/build/esm-debug/util.d.ts +7 -0
  435. package/node_modules/engine.io-client/build/esm-debug/util.js +59 -0
  436. package/node_modules/engine.io-client/dist/engine.io.esm.min.js +7 -0
  437. package/node_modules/engine.io-client/dist/engine.io.esm.min.js.map +1 -0
  438. package/node_modules/engine.io-client/dist/engine.io.js +3064 -0
  439. package/node_modules/engine.io-client/dist/engine.io.js.map +1 -0
  440. package/node_modules/engine.io-client/dist/engine.io.min.js +7 -0
  441. package/node_modules/engine.io-client/dist/engine.io.min.js.map +1 -0
  442. package/node_modules/engine.io-client/package.json +95 -0
  443. package/node_modules/engine.io-parser/LICENSE +22 -0
  444. package/node_modules/engine.io-parser/Readme.md +158 -0
  445. package/node_modules/engine.io-parser/build/cjs/commons.d.ts +14 -0
  446. package/node_modules/engine.io-parser/build/cjs/commons.js +19 -0
  447. package/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.d.ts +2 -0
  448. package/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.js +48 -0
  449. package/node_modules/engine.io-parser/build/cjs/decodePacket.browser.d.ts +2 -0
  450. package/node_modules/engine.io-parser/build/cjs/decodePacket.browser.js +66 -0
  451. package/node_modules/engine.io-parser/build/cjs/decodePacket.d.ts +2 -0
  452. package/node_modules/engine.io-parser/build/cjs/decodePacket.js +59 -0
  453. package/node_modules/engine.io-parser/build/cjs/encodePacket.browser.d.ts +4 -0
  454. package/node_modules/engine.io-parser/build/cjs/encodePacket.browser.js +72 -0
  455. package/node_modules/engine.io-parser/build/cjs/encodePacket.d.ts +3 -0
  456. package/node_modules/engine.io-parser/build/cjs/encodePacket.js +38 -0
  457. package/node_modules/engine.io-parser/build/cjs/index.d.ts +9 -0
  458. package/node_modules/engine.io-parser/build/cjs/index.js +164 -0
  459. package/node_modules/engine.io-parser/build/cjs/package.json +8 -0
  460. package/node_modules/engine.io-parser/build/esm/commons.d.ts +14 -0
  461. package/node_modules/engine.io-parser/build/esm/commons.js +14 -0
  462. package/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.d.ts +2 -0
  463. package/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js +43 -0
  464. package/node_modules/engine.io-parser/build/esm/decodePacket.browser.d.ts +2 -0
  465. package/node_modules/engine.io-parser/build/esm/decodePacket.browser.js +62 -0
  466. package/node_modules/engine.io-parser/build/esm/decodePacket.d.ts +2 -0
  467. package/node_modules/engine.io-parser/build/esm/decodePacket.js +55 -0
  468. package/node_modules/engine.io-parser/build/esm/encodePacket.browser.d.ts +4 -0
  469. package/node_modules/engine.io-parser/build/esm/encodePacket.browser.js +68 -0
  470. package/node_modules/engine.io-parser/build/esm/encodePacket.d.ts +3 -0
  471. package/node_modules/engine.io-parser/build/esm/encodePacket.js +33 -0
  472. package/node_modules/engine.io-parser/build/esm/index.d.ts +9 -0
  473. package/node_modules/engine.io-parser/build/esm/index.js +156 -0
  474. package/node_modules/engine.io-parser/build/esm/package.json +8 -0
  475. package/node_modules/engine.io-parser/package.json +46 -0
  476. package/node_modules/ms/index.js +162 -0
  477. package/node_modules/ms/license.md +21 -0
  478. package/node_modules/ms/package.json +38 -0
  479. package/node_modules/ms/readme.md +59 -0
  480. package/node_modules/socket.io-client/LICENSE +21 -0
  481. package/node_modules/socket.io-client/README.md +29 -0
  482. package/node_modules/socket.io-client/build/cjs/browser-entrypoint.d.ts +2 -0
  483. package/node_modules/socket.io-client/build/cjs/browser-entrypoint.js +4 -0
  484. package/node_modules/socket.io-client/build/cjs/contrib/backo2.d.ts +12 -0
  485. package/node_modules/socket.io-client/build/cjs/contrib/backo2.js +69 -0
  486. package/node_modules/socket.io-client/build/cjs/index.d.ts +29 -0
  487. package/node_modules/socket.io-client/build/cjs/index.js +76 -0
  488. package/node_modules/socket.io-client/build/cjs/manager.d.ts +295 -0
  489. package/node_modules/socket.io-client/build/cjs/manager.js +416 -0
  490. package/node_modules/socket.io-client/build/cjs/on.d.ts +2 -0
  491. package/node_modules/socket.io-client/build/cjs/on.js +9 -0
  492. package/node_modules/socket.io-client/build/cjs/socket.d.ts +593 -0
  493. package/node_modules/socket.io-client/build/cjs/socket.js +909 -0
  494. package/node_modules/socket.io-client/build/cjs/url.d.ts +33 -0
  495. package/node_modules/socket.io-client/build/cjs/url.js +69 -0
  496. package/node_modules/socket.io-client/build/esm/browser-entrypoint.d.ts +2 -0
  497. package/node_modules/socket.io-client/build/esm/browser-entrypoint.js +2 -0
  498. package/node_modules/socket.io-client/build/esm/contrib/backo2.d.ts +12 -0
  499. package/node_modules/socket.io-client/build/esm/contrib/backo2.js +66 -0
  500. package/node_modules/socket.io-client/build/esm/index.d.ts +29 -0
  501. package/node_modules/socket.io-client/build/esm/index.js +58 -0
  502. package/node_modules/socket.io-client/build/esm/manager.d.ts +295 -0
  503. package/node_modules/socket.io-client/build/esm/manager.js +367 -0
  504. package/node_modules/socket.io-client/build/esm/on.d.ts +2 -0
  505. package/node_modules/socket.io-client/build/esm/on.js +6 -0
  506. package/node_modules/socket.io-client/build/esm/package.json +5 -0
  507. package/node_modules/socket.io-client/build/esm/socket.d.ts +593 -0
  508. package/node_modules/socket.io-client/build/esm/socket.js +880 -0
  509. package/node_modules/socket.io-client/build/esm/url.d.ts +33 -0
  510. package/node_modules/socket.io-client/build/esm/url.js +59 -0
  511. package/node_modules/socket.io-client/build/esm-debug/browser-entrypoint.d.ts +2 -0
  512. package/node_modules/socket.io-client/build/esm-debug/browser-entrypoint.js +2 -0
  513. package/node_modules/socket.io-client/build/esm-debug/contrib/backo2.d.ts +12 -0
  514. package/node_modules/socket.io-client/build/esm-debug/contrib/backo2.js +66 -0
  515. package/node_modules/socket.io-client/build/esm-debug/index.d.ts +29 -0
  516. package/node_modules/socket.io-client/build/esm-debug/index.js +62 -0
  517. package/node_modules/socket.io-client/build/esm-debug/manager.d.ts +295 -0
  518. package/node_modules/socket.io-client/build/esm-debug/manager.js +386 -0
  519. package/node_modules/socket.io-client/build/esm-debug/on.d.ts +2 -0
  520. package/node_modules/socket.io-client/build/esm-debug/on.js +6 -0
  521. package/node_modules/socket.io-client/build/esm-debug/package.json +5 -0
  522. package/node_modules/socket.io-client/build/esm-debug/socket.d.ts +593 -0
  523. package/node_modules/socket.io-client/build/esm-debug/socket.js +902 -0
  524. package/node_modules/socket.io-client/build/esm-debug/url.d.ts +33 -0
  525. package/node_modules/socket.io-client/build/esm-debug/url.js +63 -0
  526. package/node_modules/socket.io-client/dist/socket.io.esm.min.js +7 -0
  527. package/node_modules/socket.io-client/dist/socket.io.esm.min.js.map +1 -0
  528. package/node_modules/socket.io-client/dist/socket.io.js +4955 -0
  529. package/node_modules/socket.io-client/dist/socket.io.js.map +1 -0
  530. package/node_modules/socket.io-client/dist/socket.io.min.js +7 -0
  531. package/node_modules/socket.io-client/dist/socket.io.min.js.map +1 -0
  532. package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js +7 -0
  533. package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js.map +1 -0
  534. package/node_modules/socket.io-client/package.json +101 -0
  535. package/node_modules/socket.io-parser/LICENSE +20 -0
  536. package/node_modules/socket.io-parser/Readme.md +81 -0
  537. package/node_modules/socket.io-parser/build/cjs/binary.d.ts +20 -0
  538. package/node_modules/socket.io-parser/build/cjs/binary.js +87 -0
  539. package/node_modules/socket.io-parser/build/cjs/index.d.ts +91 -0
  540. package/node_modules/socket.io-parser/build/cjs/index.js +359 -0
  541. package/node_modules/socket.io-parser/build/cjs/is-binary.d.ts +7 -0
  542. package/node_modules/socket.io-parser/build/cjs/is-binary.js +54 -0
  543. package/node_modules/socket.io-parser/build/cjs/package.json +3 -0
  544. package/node_modules/socket.io-parser/build/esm/binary.d.ts +20 -0
  545. package/node_modules/socket.io-parser/build/esm/binary.js +83 -0
  546. package/node_modules/socket.io-parser/build/esm/index.d.ts +91 -0
  547. package/node_modules/socket.io-parser/build/esm/index.js +348 -0
  548. package/node_modules/socket.io-parser/build/esm/is-binary.d.ts +7 -0
  549. package/node_modules/socket.io-parser/build/esm/is-binary.js +50 -0
  550. package/node_modules/socket.io-parser/build/esm/package.json +3 -0
  551. package/node_modules/socket.io-parser/build/esm-debug/binary.d.ts +20 -0
  552. package/node_modules/socket.io-parser/build/esm-debug/binary.js +83 -0
  553. package/node_modules/socket.io-parser/build/esm-debug/index.d.ts +91 -0
  554. package/node_modules/socket.io-parser/build/esm-debug/index.js +353 -0
  555. package/node_modules/socket.io-parser/build/esm-debug/is-binary.d.ts +7 -0
  556. package/node_modules/socket.io-parser/build/esm-debug/is-binary.js +50 -0
  557. package/node_modules/socket.io-parser/build/esm-debug/package.json +3 -0
  558. package/node_modules/socket.io-parser/package.json +44 -0
  559. package/node_modules/ws/LICENSE +20 -0
  560. package/node_modules/ws/README.md +548 -0
  561. package/node_modules/ws/browser.js +8 -0
  562. package/node_modules/ws/index.js +13 -0
  563. package/node_modules/ws/lib/buffer-util.js +131 -0
  564. package/node_modules/ws/lib/constants.js +18 -0
  565. package/node_modules/ws/lib/event-target.js +292 -0
  566. package/node_modules/ws/lib/extension.js +203 -0
  567. package/node_modules/ws/lib/limiter.js +55 -0
  568. package/node_modules/ws/lib/permessage-deflate.js +528 -0
  569. package/node_modules/ws/lib/receiver.js +706 -0
  570. package/node_modules/ws/lib/sender.js +602 -0
  571. package/node_modules/ws/lib/stream.js +161 -0
  572. package/node_modules/ws/lib/subprotocol.js +62 -0
  573. package/node_modules/ws/lib/validation.js +152 -0
  574. package/node_modules/ws/lib/websocket-server.js +550 -0
  575. package/node_modules/ws/lib/websocket.js +1388 -0
  576. package/node_modules/ws/package.json +69 -0
  577. package/node_modules/ws/wrapper.mjs +8 -0
  578. package/node_modules/xmlhttprequest-ssl/LICENSE +22 -0
  579. package/node_modules/xmlhttprequest-ssl/README.md +67 -0
  580. package/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js +689 -0
  581. package/node_modules/xmlhttprequest-ssl/package.json +40 -0
  582. package/package.json +34 -4
  583. package/public-api.md +85 -23
@@ -0,0 +1,55 @@
1
+ import { InternalPrimitiveConstraint } from "../constraint.js";
2
+ import { Disjoint } from "../shared/disjoint.js";
3
+ import { implementNode } from "../shared/implement.js";
4
+ import { $ark } from "../shared/registry.js";
5
+ import { ToJsonSchema } from "../shared/toJsonSchema.js";
6
+ import { createLengthRuleParser } from "./range.js";
7
+ const implementation = implementNode({
8
+ kind: "exactLength",
9
+ collapsibleKey: "rule",
10
+ keys: {
11
+ rule: {
12
+ parse: createLengthRuleParser("exactLength")
13
+ }
14
+ },
15
+ normalize: schema => typeof schema === "number" ? { rule: schema } : schema,
16
+ hasAssociatedError: true,
17
+ defaults: {
18
+ description: node => `exactly length ${node.rule}`,
19
+ actual: data => `${data.length}`
20
+ },
21
+ intersections: {
22
+ exactLength: (l, r, ctx) => Disjoint.init("unit", ctx.$.node("unit", { unit: l.rule }), ctx.$.node("unit", { unit: r.rule }), { path: ["length"] }),
23
+ minLength: (exactLength, minLength) => exactLength.rule >= minLength.rule ?
24
+ exactLength
25
+ : Disjoint.init("range", exactLength, minLength),
26
+ maxLength: (exactLength, maxLength) => exactLength.rule <= maxLength.rule ?
27
+ exactLength
28
+ : Disjoint.init("range", exactLength, maxLength)
29
+ }
30
+ });
31
+ export class ExactLengthNode extends InternalPrimitiveConstraint {
32
+ traverseAllows = data => data.length === this.rule;
33
+ compiledCondition = `data.length === ${this.rule}`;
34
+ compiledNegation = `data.length !== ${this.rule}`;
35
+ impliedBasis = $ark.intrinsic.lengthBoundable.internal;
36
+ expression = `== ${this.rule}`;
37
+ reduceJsonSchema(schema) {
38
+ switch (schema.type) {
39
+ case "string":
40
+ schema.minLength = this.rule;
41
+ schema.maxLength = this.rule;
42
+ return schema;
43
+ case "array":
44
+ schema.minItems = this.rule;
45
+ schema.maxItems = this.rule;
46
+ return schema;
47
+ default:
48
+ return ToJsonSchema.throwInternalOperandError("exactLength", schema);
49
+ }
50
+ }
51
+ }
52
+ export const ExactLength = {
53
+ implementation,
54
+ Node: ExactLengthNode
55
+ };
@@ -0,0 +1,34 @@
1
+ import type { BaseConstraint } from "../constraint.ts";
2
+ import type { nodeImplementationOf } from "../shared/implement.ts";
3
+ import { After } from "./after.ts";
4
+ import { Before } from "./before.ts";
5
+ import { ExactLength } from "./exactLength.ts";
6
+ import { Max } from "./max.ts";
7
+ import { MaxLength } from "./maxLength.ts";
8
+ import { Min } from "./min.ts";
9
+ import { MinLength } from "./minLength.ts";
10
+ export interface BoundDeclarations {
11
+ min: Min.Declaration;
12
+ max: Max.Declaration;
13
+ minLength: MinLength.Declaration;
14
+ maxLength: MaxLength.Declaration;
15
+ exactLength: ExactLength.Declaration;
16
+ after: After.Declaration;
17
+ before: Before.Declaration;
18
+ }
19
+ export interface BoundNodesByKind {
20
+ min: Min.Node;
21
+ max: Max.Node;
22
+ minLength: MinLength.Node;
23
+ maxLength: MaxLength.Node;
24
+ exactLength: ExactLength.Node;
25
+ after: After.Node;
26
+ before: Before.Node;
27
+ }
28
+ export type BoundKind = keyof BoundDeclarations;
29
+ export type RangeKind = Exclude<BoundKind, "exactLength">;
30
+ export type boundImplementationsByKind = {
31
+ [k in BoundKind]: nodeImplementationOf<BoundDeclarations[k]>;
32
+ };
33
+ export declare const boundImplementationsByKind: boundImplementationsByKind;
34
+ export declare const boundClassesByKind: Record<BoundKind, typeof BaseConstraint<any>>;
@@ -0,0 +1,25 @@
1
+ import { After } from "./after.js";
2
+ import { Before } from "./before.js";
3
+ import { ExactLength } from "./exactLength.js";
4
+ import { Max } from "./max.js";
5
+ import { MaxLength } from "./maxLength.js";
6
+ import { Min } from "./min.js";
7
+ import { MinLength } from "./minLength.js";
8
+ export const boundImplementationsByKind = {
9
+ min: Min.implementation,
10
+ max: Max.implementation,
11
+ minLength: MinLength.implementation,
12
+ maxLength: MaxLength.implementation,
13
+ exactLength: ExactLength.implementation,
14
+ after: After.implementation,
15
+ before: Before.implementation
16
+ };
17
+ export const boundClassesByKind = {
18
+ min: Min.Node,
19
+ max: Max.Node,
20
+ minLength: MinLength.Node,
21
+ maxLength: MaxLength.Node,
22
+ exactLength: ExactLength.Node,
23
+ after: After.Node,
24
+ before: Before.Node
25
+ };
@@ -0,0 +1,37 @@
1
+ import type { BaseRoot } from "../roots/root.ts";
2
+ import type { BaseErrorContext, declareNode } from "../shared/declare.ts";
3
+ import { type nodeImplementationOf } from "../shared/implement.ts";
4
+ import type { JsonSchema } from "../shared/jsonSchema.ts";
5
+ import type { TraverseAllows } from "../shared/traversal.ts";
6
+ import { BaseRange, type BaseRangeInner, type UnknownExpandedRangeSchema } from "./range.ts";
7
+ export declare namespace Max {
8
+ interface Inner extends BaseRangeInner {
9
+ rule: number;
10
+ exclusive?: true;
11
+ }
12
+ interface NormalizedSchema extends UnknownExpandedRangeSchema {
13
+ rule: number;
14
+ }
15
+ type Schema = NormalizedSchema | number;
16
+ interface ErrorContext extends BaseErrorContext<"max">, Inner {
17
+ }
18
+ interface Declaration extends declareNode<{
19
+ kind: "max";
20
+ schema: Schema;
21
+ normalizedSchema: NormalizedSchema;
22
+ inner: Inner;
23
+ prerequisite: number;
24
+ errorContext: ErrorContext;
25
+ }> {
26
+ }
27
+ type Node = MaxNode;
28
+ }
29
+ export declare class MaxNode extends BaseRange<Max.Declaration> {
30
+ impliedBasis: BaseRoot;
31
+ traverseAllows: TraverseAllows<number>;
32
+ reduceJsonSchema(schema: JsonSchema.Numeric): JsonSchema.Numeric;
33
+ }
34
+ export declare const Max: {
35
+ implementation: nodeImplementationOf<Max.Declaration>;
36
+ Node: typeof MaxNode;
37
+ };
@@ -0,0 +1,45 @@
1
+ import { Disjoint } from "../shared/disjoint.js";
2
+ import { implementNode } from "../shared/implement.js";
3
+ import { $ark } from "../shared/registry.js";
4
+ import { BaseRange, parseExclusiveKey } from "./range.js";
5
+ const implementation = implementNode({
6
+ kind: "max",
7
+ collapsibleKey: "rule",
8
+ hasAssociatedError: true,
9
+ keys: {
10
+ rule: {},
11
+ exclusive: parseExclusiveKey
12
+ },
13
+ normalize: schema => typeof schema === "number" ? { rule: schema } : schema,
14
+ defaults: {
15
+ description: node => {
16
+ if (node.rule === 0)
17
+ return node.exclusive ? "negative" : "non-positive";
18
+ return `${node.exclusive ? "less than" : "at most"} ${node.rule}`;
19
+ }
20
+ },
21
+ intersections: {
22
+ max: (l, r) => (l.isStricterThan(r) ? l : r),
23
+ min: (max, min, ctx) => max.overlapsRange(min) ?
24
+ max.overlapIsUnit(min) ?
25
+ ctx.$.node("unit", { unit: max.rule })
26
+ : null
27
+ : Disjoint.init("range", max, min)
28
+ },
29
+ obviatesBasisDescription: true
30
+ });
31
+ export class MaxNode extends BaseRange {
32
+ impliedBasis = $ark.intrinsic.number.internal;
33
+ traverseAllows = this.exclusive ? data => data < this.rule : data => data <= this.rule;
34
+ reduceJsonSchema(schema) {
35
+ if (this.exclusive)
36
+ schema.exclusiveMaximum = this.rule;
37
+ else
38
+ schema.maximum = this.rule;
39
+ return schema;
40
+ }
41
+ }
42
+ export const Max = {
43
+ implementation,
44
+ Node: MaxNode
45
+ };
@@ -0,0 +1,40 @@
1
+ import type { BaseRoot } from "../roots/root.ts";
2
+ import type { BaseErrorContext, declareNode } from "../shared/declare.ts";
3
+ import { type nodeImplementationOf } from "../shared/implement.ts";
4
+ import type { JsonSchema } from "../shared/jsonSchema.ts";
5
+ import type { TraverseAllows } from "../shared/traversal.ts";
6
+ import { BaseRange, type BaseRangeInner, type LengthBoundableData, type UnknownExpandedRangeSchema, type UnknownNormalizedRangeSchema } from "./range.ts";
7
+ export declare namespace MaxLength {
8
+ interface Inner extends BaseRangeInner {
9
+ rule: number;
10
+ }
11
+ interface NormalizedSchema extends UnknownNormalizedRangeSchema {
12
+ rule: number;
13
+ }
14
+ interface ExpandedSchema extends UnknownExpandedRangeSchema {
15
+ rule: number;
16
+ }
17
+ type Schema = ExpandedSchema | number;
18
+ interface ErrorContext extends BaseErrorContext<"maxLength">, Inner {
19
+ }
20
+ interface Declaration extends declareNode<{
21
+ kind: "maxLength";
22
+ schema: Schema;
23
+ reducibleTo: "exactLength";
24
+ normalizedSchema: NormalizedSchema;
25
+ inner: Inner;
26
+ prerequisite: LengthBoundableData;
27
+ errorContext: ErrorContext;
28
+ }> {
29
+ }
30
+ type Node = MaxLengthNode;
31
+ }
32
+ export declare class MaxLengthNode extends BaseRange<MaxLength.Declaration> {
33
+ readonly impliedBasis: BaseRoot;
34
+ traverseAllows: TraverseAllows<LengthBoundableData>;
35
+ reduceJsonSchema(schema: JsonSchema.LengthBoundable): JsonSchema.LengthBoundable;
36
+ }
37
+ export declare const MaxLength: {
38
+ implementation: nodeImplementationOf<MaxLength.Declaration>;
39
+ Node: typeof MaxLengthNode;
40
+ };
@@ -0,0 +1,49 @@
1
+ import { Disjoint } from "../shared/disjoint.js";
2
+ import { implementNode } from "../shared/implement.js";
3
+ import { $ark } from "../shared/registry.js";
4
+ import { ToJsonSchema } from "../shared/toJsonSchema.js";
5
+ import { BaseRange, createLengthRuleParser, createLengthSchemaNormalizer } from "./range.js";
6
+ const implementation = implementNode({
7
+ kind: "maxLength",
8
+ collapsibleKey: "rule",
9
+ hasAssociatedError: true,
10
+ keys: {
11
+ rule: {
12
+ parse: createLengthRuleParser("maxLength")
13
+ }
14
+ },
15
+ reduce: (inner, $) => inner.rule === 0 ? $.node("exactLength", inner) : undefined,
16
+ normalize: createLengthSchemaNormalizer("maxLength"),
17
+ defaults: {
18
+ description: node => `at most length ${node.rule}`,
19
+ actual: data => `${data.length}`
20
+ },
21
+ intersections: {
22
+ maxLength: (l, r) => (l.isStricterThan(r) ? l : r),
23
+ minLength: (max, min, ctx) => max.overlapsRange(min) ?
24
+ max.overlapIsUnit(min) ?
25
+ ctx.$.node("exactLength", { rule: max.rule })
26
+ : null
27
+ : Disjoint.init("range", max, min)
28
+ }
29
+ });
30
+ export class MaxLengthNode extends BaseRange {
31
+ impliedBasis = $ark.intrinsic.lengthBoundable.internal;
32
+ traverseAllows = data => data.length <= this.rule;
33
+ reduceJsonSchema(schema) {
34
+ switch (schema.type) {
35
+ case "string":
36
+ schema.maxLength = this.rule;
37
+ return schema;
38
+ case "array":
39
+ schema.maxItems = this.rule;
40
+ return schema;
41
+ default:
42
+ return ToJsonSchema.throwInternalOperandError("maxLength", schema);
43
+ }
44
+ }
45
+ }
46
+ export const MaxLength = {
47
+ implementation,
48
+ Node: MaxLengthNode
49
+ };
@@ -0,0 +1,37 @@
1
+ import type { BaseRoot } from "../roots/root.ts";
2
+ import type { BaseErrorContext, declareNode } from "../shared/declare.ts";
3
+ import { type nodeImplementationOf } from "../shared/implement.ts";
4
+ import type { JsonSchema } from "../shared/jsonSchema.ts";
5
+ import type { TraverseAllows } from "../shared/traversal.ts";
6
+ import { BaseRange, type BaseRangeInner, type UnknownExpandedRangeSchema } from "./range.ts";
7
+ export declare namespace Min {
8
+ interface Inner extends BaseRangeInner {
9
+ rule: number;
10
+ exclusive?: true;
11
+ }
12
+ interface NormalizedSchema extends UnknownExpandedRangeSchema {
13
+ rule: number;
14
+ }
15
+ type Schema = NormalizedSchema | number;
16
+ interface ErrorContext extends BaseErrorContext<"min">, Inner {
17
+ }
18
+ interface Declaration extends declareNode<{
19
+ kind: "min";
20
+ schema: Schema;
21
+ normalizedSchema: NormalizedSchema;
22
+ inner: Inner;
23
+ prerequisite: number;
24
+ errorContext: ErrorContext;
25
+ }> {
26
+ }
27
+ type Node = MinNode;
28
+ }
29
+ export declare class MinNode extends BaseRange<Min.Declaration> {
30
+ readonly impliedBasis: BaseRoot;
31
+ traverseAllows: TraverseAllows<number>;
32
+ reduceJsonSchema(schema: JsonSchema.Numeric): JsonSchema.Numeric;
33
+ }
34
+ export declare const Min: {
35
+ implementation: nodeImplementationOf<Min.Declaration>;
36
+ Node: typeof MinNode;
37
+ };
@@ -0,0 +1,39 @@
1
+ import { implementNode } from "../shared/implement.js";
2
+ import { $ark } from "../shared/registry.js";
3
+ import { BaseRange, parseExclusiveKey } from "./range.js";
4
+ const implementation = implementNode({
5
+ kind: "min",
6
+ collapsibleKey: "rule",
7
+ hasAssociatedError: true,
8
+ keys: {
9
+ rule: {},
10
+ exclusive: parseExclusiveKey
11
+ },
12
+ normalize: schema => typeof schema === "number" ? { rule: schema } : schema,
13
+ defaults: {
14
+ description: node => {
15
+ if (node.rule === 0)
16
+ return node.exclusive ? "positive" : "non-negative";
17
+ return `${node.exclusive ? "more than" : "at least"} ${node.rule}`;
18
+ }
19
+ },
20
+ intersections: {
21
+ min: (l, r) => (l.isStricterThan(r) ? l : r)
22
+ },
23
+ obviatesBasisDescription: true
24
+ });
25
+ export class MinNode extends BaseRange {
26
+ impliedBasis = $ark.intrinsic.number.internal;
27
+ traverseAllows = this.exclusive ? data => data > this.rule : data => data >= this.rule;
28
+ reduceJsonSchema(schema) {
29
+ if (this.exclusive)
30
+ schema.exclusiveMinimum = this.rule;
31
+ else
32
+ schema.minimum = this.rule;
33
+ return schema;
34
+ }
35
+ }
36
+ export const Min = {
37
+ implementation,
38
+ Node: MinNode
39
+ };
@@ -0,0 +1,40 @@
1
+ import type { BaseRoot } from "../roots/root.ts";
2
+ import type { BaseErrorContext, declareNode } from "../shared/declare.ts";
3
+ import { type nodeImplementationOf } from "../shared/implement.ts";
4
+ import type { JsonSchema } from "../shared/jsonSchema.ts";
5
+ import type { TraverseAllows } from "../shared/traversal.ts";
6
+ import { BaseRange, type BaseRangeInner, type LengthBoundableData, type UnknownExpandedRangeSchema, type UnknownNormalizedRangeSchema } from "./range.ts";
7
+ export declare namespace MinLength {
8
+ interface Inner extends BaseRangeInner {
9
+ rule: number;
10
+ }
11
+ interface NormalizedSchema extends UnknownNormalizedRangeSchema {
12
+ rule: number;
13
+ }
14
+ interface ExpandedSchema extends UnknownExpandedRangeSchema {
15
+ rule: number;
16
+ }
17
+ type Schema = ExpandedSchema | number;
18
+ interface ErrorContext extends BaseErrorContext<"minLength">, Inner {
19
+ }
20
+ interface Declaration extends declareNode<{
21
+ kind: "minLength";
22
+ schema: Schema;
23
+ normalizedSchema: NormalizedSchema;
24
+ inner: Inner;
25
+ prerequisite: LengthBoundableData;
26
+ reducibleTo: "intersection";
27
+ errorContext: ErrorContext;
28
+ }> {
29
+ }
30
+ type Node = MinLengthNode;
31
+ }
32
+ export declare class MinLengthNode extends BaseRange<MinLength.Declaration> {
33
+ readonly impliedBasis: BaseRoot;
34
+ traverseAllows: TraverseAllows<LengthBoundableData>;
35
+ reduceJsonSchema(schema: JsonSchema.LengthBoundable): JsonSchema.LengthBoundable;
36
+ }
37
+ export declare const MinLength: {
38
+ implementation: nodeImplementationOf<MinLength.Declaration>;
39
+ Node: typeof MinLengthNode;
40
+ };
@@ -0,0 +1,47 @@
1
+ import { implementNode } from "../shared/implement.js";
2
+ import { $ark } from "../shared/registry.js";
3
+ import { ToJsonSchema } from "../shared/toJsonSchema.js";
4
+ import { BaseRange, createLengthRuleParser, createLengthSchemaNormalizer } from "./range.js";
5
+ const implementation = implementNode({
6
+ kind: "minLength",
7
+ collapsibleKey: "rule",
8
+ hasAssociatedError: true,
9
+ keys: {
10
+ rule: {
11
+ parse: createLengthRuleParser("minLength")
12
+ }
13
+ },
14
+ reduce: inner => inner.rule === 0 ?
15
+ // a minimum length of zero is trivially satisfied
16
+ $ark.intrinsic.unknown
17
+ : undefined,
18
+ normalize: createLengthSchemaNormalizer("minLength"),
19
+ defaults: {
20
+ description: node => node.rule === 1 ? "non-empty" : `at least length ${node.rule}`,
21
+ // avoid default message like "must be non-empty (was 0)"
22
+ actual: data => (data.length === 0 ? "" : `${data.length}`)
23
+ },
24
+ intersections: {
25
+ minLength: (l, r) => (l.isStricterThan(r) ? l : r)
26
+ }
27
+ });
28
+ export class MinLengthNode extends BaseRange {
29
+ impliedBasis = $ark.intrinsic.lengthBoundable.internal;
30
+ traverseAllows = data => data.length >= this.rule;
31
+ reduceJsonSchema(schema) {
32
+ switch (schema.type) {
33
+ case "string":
34
+ schema.minLength = this.rule;
35
+ return schema;
36
+ case "array":
37
+ schema.minItems = this.rule;
38
+ return schema;
39
+ default:
40
+ return ToJsonSchema.throwInternalOperandError("minLength", schema);
41
+ }
42
+ }
43
+ }
44
+ export const MinLength = {
45
+ implementation,
46
+ Node: MinLengthNode
47
+ };
@@ -0,0 +1,43 @@
1
+ import { InternalPrimitiveConstraint } from "../constraint.ts";
2
+ import type { BaseRoot } from "../roots/root.ts";
3
+ import type { BaseErrorContext, BaseNormalizedSchema, declareNode } from "../shared/declare.ts";
4
+ import { type nodeImplementationOf } from "../shared/implement.ts";
5
+ import type { JsonSchema } from "../shared/jsonSchema.ts";
6
+ import type { ToJsonSchema } from "../shared/toJsonSchema.ts";
7
+ export declare namespace Pattern {
8
+ interface NormalizedSchema extends BaseNormalizedSchema {
9
+ readonly rule: string;
10
+ readonly flags?: string;
11
+ }
12
+ interface Inner {
13
+ readonly rule: string;
14
+ readonly flags?: string;
15
+ }
16
+ type Schema = NormalizedSchema | string | RegExp;
17
+ interface ErrorContext extends BaseErrorContext<"pattern">, Inner {
18
+ }
19
+ interface Declaration extends declareNode<{
20
+ kind: "pattern";
21
+ schema: Schema;
22
+ normalizedSchema: NormalizedSchema;
23
+ inner: Inner;
24
+ intersectionIsOpen: true;
25
+ prerequisite: string;
26
+ errorContext: ErrorContext;
27
+ }> {
28
+ }
29
+ type Node = PatternNode;
30
+ }
31
+ export declare class PatternNode extends InternalPrimitiveConstraint<Pattern.Declaration> {
32
+ readonly instance: RegExp;
33
+ readonly expression: string;
34
+ traverseAllows: (string: string) => boolean;
35
+ readonly compiledCondition: string;
36
+ readonly compiledNegation: string;
37
+ readonly impliedBasis: BaseRoot;
38
+ reduceJsonSchema(base: JsonSchema.String, ctx: ToJsonSchema.Context): JsonSchema.String;
39
+ }
40
+ export declare const Pattern: {
41
+ implementation: nodeImplementationOf<Pattern.Declaration>;
42
+ Node: typeof PatternNode;
43
+ };
@@ -0,0 +1,52 @@
1
+ import { InternalPrimitiveConstraint } from "../constraint.js";
2
+ import { implementNode } from "../shared/implement.js";
3
+ import { $ark } from "../shared/registry.js";
4
+ const implementation = implementNode({
5
+ kind: "pattern",
6
+ collapsibleKey: "rule",
7
+ keys: {
8
+ rule: {},
9
+ flags: {}
10
+ },
11
+ normalize: schema => typeof schema === "string" ? { rule: schema }
12
+ : schema instanceof RegExp ?
13
+ schema.flags ?
14
+ { rule: schema.source, flags: schema.flags }
15
+ : { rule: schema.source }
16
+ : schema,
17
+ obviatesBasisDescription: true,
18
+ obviatesBasisExpression: true,
19
+ hasAssociatedError: true,
20
+ intersectionIsOpen: true,
21
+ defaults: {
22
+ description: node => `matched by ${node.rule}`
23
+ },
24
+ intersections: {
25
+ // for now, non-equal regex are naively intersected:
26
+ // https://github.com/arktypeio/arktype/issues/853
27
+ pattern: () => null
28
+ }
29
+ });
30
+ export class PatternNode extends InternalPrimitiveConstraint {
31
+ instance = new RegExp(this.rule, this.flags);
32
+ expression = `${this.instance}`;
33
+ traverseAllows = this.instance.test.bind(this.instance);
34
+ compiledCondition = `${this.expression}.test(data)`;
35
+ compiledNegation = `!${this.compiledCondition}`;
36
+ impliedBasis = $ark.intrinsic.string.internal;
37
+ reduceJsonSchema(base, ctx) {
38
+ if (base.pattern) {
39
+ return ctx.fallback.patternIntersection({
40
+ code: "patternIntersection",
41
+ base: base,
42
+ pattern: this.rule
43
+ });
44
+ }
45
+ base.pattern = this.rule;
46
+ return base;
47
+ }
48
+ }
49
+ export const Pattern = {
50
+ implementation,
51
+ Node: PatternNode
52
+ };
@@ -0,0 +1,106 @@
1
+ import { type array, type propValueOf, type satisfy } from "@ark/util";
2
+ import { InternalPrimitiveConstraint } from "../constraint.ts";
3
+ import type { Declaration, nodeOfKind, NodeSchema, NormalizedSchema } from "../kinds.ts";
4
+ import type { BaseNodeDeclaration, BaseNormalizedSchema } from "../shared/declare.ts";
5
+ import type { keySchemaDefinitions } from "../shared/implement.ts";
6
+ import type { RangeKind } from "./kinds.ts";
7
+ export interface BaseRangeDeclaration extends BaseNodeDeclaration {
8
+ kind: RangeKind;
9
+ inner: BaseRangeInner;
10
+ normalizedSchema: UnknownExpandedRangeSchema;
11
+ }
12
+ export declare abstract class BaseRange<d extends BaseRangeDeclaration> extends InternalPrimitiveConstraint<d> {
13
+ readonly exclusive?: true;
14
+ readonly boundOperandKind: OperandKindsByBoundKind[d["kind"]];
15
+ readonly compiledActual: string;
16
+ readonly comparator: RelativeComparator;
17
+ readonly numericLimit: number;
18
+ readonly expression: string;
19
+ readonly compiledCondition: string;
20
+ readonly compiledNegation: string;
21
+ readonly stringLimit: string;
22
+ readonly limitKind: LimitKind;
23
+ isStricterThan(r: nodeOfKind<d["kind"] | pairedRangeKind<d["kind"]>>): boolean;
24
+ overlapsRange(r: nodeOfKind<pairedRangeKind<d["kind"]>>): boolean;
25
+ overlapIsUnit(r: nodeOfKind<pairedRangeKind<d["kind"]>>): boolean;
26
+ }
27
+ export interface BaseRangeInner {
28
+ readonly rule: LimitValue;
29
+ }
30
+ export type LimitValue = Date | number;
31
+ export type LimitSchemaValue = Date | number | string;
32
+ export type LimitInnerValue<kind extends RangeKind = RangeKind> = kind extends "before" | "after" ? Date : number;
33
+ export interface UnknownExpandedRangeSchema extends BaseNormalizedSchema {
34
+ readonly rule: LimitSchemaValue;
35
+ readonly exclusive?: boolean;
36
+ }
37
+ export interface UnknownNormalizedRangeSchema extends BaseNormalizedSchema {
38
+ readonly rule: LimitSchemaValue;
39
+ }
40
+ export type UnknownRangeSchema = LimitSchemaValue | UnknownExpandedRangeSchema;
41
+ export interface ExclusiveExpandedDateRangeSchema extends BaseNormalizedSchema {
42
+ rule: LimitSchemaValue;
43
+ exclusive?: true;
44
+ }
45
+ export type ExclusiveDateRangeSchema = LimitSchemaValue | ExclusiveExpandedDateRangeSchema;
46
+ export interface InclusiveExpandedDateRangeSchema extends BaseNormalizedSchema {
47
+ rule: LimitSchemaValue;
48
+ exclusive?: false;
49
+ }
50
+ export type InclusiveDateRangeSchema = LimitSchemaValue | InclusiveExpandedDateRangeSchema;
51
+ export interface ExclusiveNormalizedNumericRangeSchema extends BaseNormalizedSchema {
52
+ rule: number;
53
+ exclusive?: true;
54
+ }
55
+ export type ExclusiveNumericRangeSchema = number | ExclusiveNormalizedNumericRangeSchema;
56
+ export interface InclusiveNormalizedNumericRangeSchema extends BaseNormalizedSchema {
57
+ rule: number;
58
+ exclusive?: false;
59
+ }
60
+ export type InclusiveNumericRangeSchema = number | InclusiveNormalizedNumericRangeSchema;
61
+ export type LimitKind = "lower" | "upper";
62
+ export type RelativeComparator<kind extends LimitKind = LimitKind> = {
63
+ lower: ">" | ">=";
64
+ upper: "<" | "<=";
65
+ }[kind];
66
+ export declare const boundKindPairsByLower: BoundKindPairsByLower;
67
+ type BoundKindPairsByLower = {
68
+ min: "max";
69
+ minLength: "maxLength";
70
+ after: "before";
71
+ };
72
+ type BoundKindPairsByUpper = {
73
+ max: "min";
74
+ maxLength: "minLength";
75
+ before: "after";
76
+ };
77
+ export type pairedRangeKind<kind extends RangeKind> = kind extends LowerBoundKind ? BoundKindPairsByLower[kind] : BoundKindPairsByUpper[kind & UpperBoundKind];
78
+ export type LowerBoundKind = keyof typeof boundKindPairsByLower;
79
+ export type LowerNode = nodeOfKind<LowerBoundKind>;
80
+ export type UpperBoundKind = propValueOf<typeof boundKindPairsByLower>;
81
+ export type UpperNode = nodeOfKind<UpperBoundKind>;
82
+ export type NumericallyBoundable = string | number | array;
83
+ export type Boundable = NumericallyBoundable | Date;
84
+ export declare const parseExclusiveKey: keySchemaDefinitions<Declaration<"min" | "max">>["exclusive"];
85
+ export declare const createLengthSchemaNormalizer: <kind extends "minLength" | "maxLength">(kind: kind) => (schema: NodeSchema<kind>) => NormalizedSchema<kind>;
86
+ export declare const createDateSchemaNormalizer: <kind extends DateRangeKind>(kind: kind) => (schema: NodeSchema<kind>) => NormalizedSchema<kind>;
87
+ export declare const parseDateLimit: (limit: LimitSchemaValue) => Date;
88
+ export type LengthBoundKind = "minLength" | "maxLength" | "exactLength";
89
+ export declare const writeInvalidLengthBoundMessage: (kind: LengthBoundKind, limit: number) => string;
90
+ export declare const createLengthRuleParser: (kind: LengthBoundKind) => (limit: number) => number | undefined;
91
+ type OperandKindsByBoundKind = satisfy<Record<RangeKind, BoundOperandKind>, {
92
+ min: "value";
93
+ max: "value";
94
+ minLength: "length";
95
+ maxLength: "length";
96
+ after: "date";
97
+ before: "date";
98
+ }>;
99
+ export declare const compileComparator: (kind: RangeKind, exclusive: boolean | undefined) => RelativeComparator;
100
+ export type BoundOperandKind = "value" | "length" | "date";
101
+ export type LengthBoundableData = string | array;
102
+ export type DateRangeKind = "before" | "after";
103
+ export declare const dateLimitToString: (limit: LimitSchemaValue) => string;
104
+ export declare const writeUnboundableMessage: <root extends string>(root: root) => writeUnboundableMessage<root>;
105
+ export type writeUnboundableMessage<root extends string> = `Bounded expression ${root} must be exactly one of number, string, Array, or Date`;
106
+ export {};