bantou 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (515) hide show
  1. package/.output/nitro.json +13 -0
  2. package/.output/public/_nuxt/BmGsA4i2.js +1 -0
  3. package/.output/public/_nuxt/D_G6gzEa.js +1 -0
  4. package/.output/public/_nuxt/builds/latest.json +1 -0
  5. package/.output/public/_nuxt/builds/meta/1a8fc623-6671-445b-bdd3-c3d073520a3a.json +1 -0
  6. package/.output/public/_nuxt/entry.CZSvzYhH.css +1 -0
  7. package/.output/public/_nuxt/error-404.C3wqHTJz.css +1 -0
  8. package/.output/public/_nuxt/error-500.D6rBzoDj.css +1 -0
  9. package/.output/public/_nuxt/pdFQkwM_.js +4 -0
  10. package/.output/server/chunks/_/error-500.mjs +20 -0
  11. package/.output/server/chunks/_/error-500.mjs.map +1 -0
  12. package/.output/server/chunks/nitro/nitro.mjs +5870 -0
  13. package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
  14. package/.output/server/chunks/routes/mcp.mjs +22 -0
  15. package/.output/server/chunks/routes/mcp.mjs.map +1 -0
  16. package/.output/server/chunks/routes/renderer.mjs +462 -0
  17. package/.output/server/chunks/routes/renderer.mjs.map +1 -0
  18. package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
  19. package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
  20. package/.output/server/chunks/virtual/precomputed.mjs +4 -0
  21. package/.output/server/chunks/virtual/precomputed.mjs.map +1 -0
  22. package/.output/server/index.mjs +18 -0
  23. package/.output/server/index.mjs.map +1 -0
  24. package/.output/server/node_modules/@babel/parser/lib/index.js +14657 -0
  25. package/.output/server/node_modules/@babel/parser/package.json +50 -0
  26. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js +64 -0
  27. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js +16 -0
  28. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js +32 -0
  29. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js +246 -0
  30. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/package.json +1 -0
  31. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +41 -0
  32. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +429 -0
  33. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +971 -0
  34. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/requestBody.js +58 -0
  35. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js +13 -0
  36. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js +961 -0
  37. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +228 -0
  38. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +51 -0
  39. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js +57 -0
  40. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +1137 -0
  41. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js +92 -0
  42. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/uriTemplate.js +239 -0
  43. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +2065 -0
  44. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +87 -0
  45. package/.output/server/node_modules/@modelcontextprotocol/sdk/package.json +165 -0
  46. package/.output/server/node_modules/@parcel/watcher-wasm/index.mjs +349 -0
  47. package/.output/server/node_modules/@parcel/watcher-wasm/package.json +44 -0
  48. package/.output/server/node_modules/@parcel/watcher-wasm/watcher.wasm +0 -0
  49. package/.output/server/node_modules/@parcel/watcher-wasm/wrapper.js +88 -0
  50. package/.output/server/node_modules/@unagents/messenger-broker/dist/index.mjs +12 -0
  51. package/.output/server/node_modules/@unagents/messenger-broker/dist/shared/messenger-broker.B8W77sqB.mjs +1177 -0
  52. package/.output/server/node_modules/@unagents/messenger-broker/package.json +37 -0
  53. package/.output/server/node_modules/@unagents/messenger-client/dist/index.mjs +9 -0
  54. package/.output/server/node_modules/@unagents/messenger-client/dist/shared/messenger-client.CfQVmH_Z.mjs +975 -0
  55. package/.output/server/node_modules/@unagents/messenger-client/dist/shared/messenger-client.CoDKzubj.mjs +1000 -0
  56. package/.output/server/node_modules/@unagents/messenger-client/package.json +37 -0
  57. package/.output/server/node_modules/@unagents/messenger-protocol/dist/index.mjs +103 -0
  58. package/.output/server/node_modules/@unagents/messenger-protocol/package.json +29 -0
  59. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6802 -0
  60. package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  61. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +729 -0
  62. package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  63. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1420 -0
  64. package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  65. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1933 -0
  66. package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  67. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +7085 -0
  68. package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  69. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1917 -0
  70. package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  71. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +951 -0
  72. package/.output/server/node_modules/@vue/server-renderer/package.json +53 -0
  73. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +655 -0
  74. package/.output/server/node_modules/@vue/shared/package.json +47 -0
  75. package/.output/server/node_modules/ajv/dist/ajv.js +50 -0
  76. package/.output/server/node_modules/ajv/dist/compile/codegen/code.js +156 -0
  77. package/.output/server/node_modules/ajv/dist/compile/codegen/index.js +697 -0
  78. package/.output/server/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  79. package/.output/server/node_modules/ajv/dist/compile/errors.js +123 -0
  80. package/.output/server/node_modules/ajv/dist/compile/index.js +242 -0
  81. package/.output/server/node_modules/ajv/dist/compile/names.js +28 -0
  82. package/.output/server/node_modules/ajv/dist/compile/ref_error.js +12 -0
  83. package/.output/server/node_modules/ajv/dist/compile/resolve.js +155 -0
  84. package/.output/server/node_modules/ajv/dist/compile/rules.js +26 -0
  85. package/.output/server/node_modules/ajv/dist/compile/util.js +178 -0
  86. package/.output/server/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
  87. package/.output/server/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  88. package/.output/server/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
  89. package/.output/server/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  90. package/.output/server/node_modules/ajv/dist/compile/validate/index.js +520 -0
  91. package/.output/server/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
  92. package/.output/server/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
  93. package/.output/server/node_modules/ajv/dist/core.js +618 -0
  94. package/.output/server/node_modules/ajv/dist/refs/data.json +13 -0
  95. package/.output/server/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  96. package/.output/server/node_modules/ajv/dist/runtime/equal.js +7 -0
  97. package/.output/server/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
  98. package/.output/server/node_modules/ajv/dist/runtime/uri.js +6 -0
  99. package/.output/server/node_modules/ajv/dist/runtime/validation_error.js +11 -0
  100. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  101. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
  102. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  103. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  104. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
  105. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  106. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  107. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
  108. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
  109. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  110. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
  111. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  112. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  113. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  114. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  115. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  116. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  117. package/.output/server/node_modules/ajv/dist/vocabularies/code.js +131 -0
  118. package/.output/server/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
  119. package/.output/server/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
  120. package/.output/server/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
  121. package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
  122. package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
  123. package/.output/server/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
  124. package/.output/server/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
  125. package/.output/server/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
  126. package/.output/server/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
  127. package/.output/server/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
  128. package/.output/server/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
  129. package/.output/server/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
  130. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  131. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  132. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  133. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  134. package/.output/server/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  135. package/.output/server/node_modules/ajv/dist/vocabularies/validation/pattern.js +33 -0
  136. package/.output/server/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
  137. package/.output/server/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  138. package/.output/server/node_modules/ajv/package.json +126 -0
  139. package/.output/server/node_modules/ajv-formats/dist/formats.js +208 -0
  140. package/.output/server/node_modules/ajv-formats/dist/index.js +37 -0
  141. package/.output/server/node_modules/ajv-formats/dist/limit.js +69 -0
  142. package/.output/server/node_modules/ajv-formats/package.json +74 -0
  143. package/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
  144. package/.output/server/node_modules/consola/dist/core.mjs +512 -0
  145. package/.output/server/node_modules/consola/dist/index.mjs +651 -0
  146. package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
  147. package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
  148. package/.output/server/node_modules/consola/dist/utils.mjs +54 -0
  149. package/.output/server/node_modules/consola/package.json +136 -0
  150. package/.output/server/node_modules/content-type/index.js +225 -0
  151. package/.output/server/node_modules/content-type/package.json +42 -0
  152. package/.output/server/node_modules/cookie-es/dist/index.mjs +268 -0
  153. package/.output/server/node_modules/cookie-es/package.json +46 -0
  154. package/.output/server/node_modules/crossws/dist/_chunks/_request.mjs +83 -0
  155. package/.output/server/node_modules/crossws/dist/_chunks/adapter.mjs +234 -0
  156. package/.output/server/node_modules/crossws/dist/_chunks/error.mjs +7 -0
  157. package/.output/server/node_modules/crossws/dist/_chunks/libs/ws.mjs +6 -0
  158. package/.output/server/node_modules/crossws/dist/_chunks/node.mjs +220 -0
  159. package/.output/server/node_modules/crossws/dist/_chunks/peer.mjs +208 -0
  160. package/.output/server/node_modules/crossws/dist/adapters/node.mjs +1 -0
  161. package/.output/server/node_modules/crossws/package.json +115 -0
  162. package/.output/server/node_modules/defu/dist/defu.mjs +69 -0
  163. package/.output/server/node_modules/defu/package.json +48 -0
  164. package/.output/server/node_modules/destr/dist/index.mjs +72 -0
  165. package/.output/server/node_modules/destr/package.json +47 -0
  166. package/.output/server/node_modules/devalue/index.js +17 -0
  167. package/.output/server/node_modules/devalue/package.json +39 -0
  168. package/.output/server/node_modules/devalue/src/base64.js +60 -0
  169. package/.output/server/node_modules/devalue/src/constants.js +12 -0
  170. package/.output/server/node_modules/devalue/src/operations.js +221 -0
  171. package/.output/server/node_modules/devalue/src/parse.js +279 -0
  172. package/.output/server/node_modules/devalue/src/stringify.js +433 -0
  173. package/.output/server/node_modules/devalue/src/uneval.js +698 -0
  174. package/.output/server/node_modules/devalue/src/utils.js +190 -0
  175. package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  176. package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
  177. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  178. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  179. package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  180. package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  181. package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
  182. package/.output/server/node_modules/entities/package.json +120 -0
  183. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  184. package/.output/server/node_modules/estree-walker/package.json +37 -0
  185. package/.output/server/node_modules/fast-deep-equal/index.js +46 -0
  186. package/.output/server/node_modules/fast-deep-equal/package.json +61 -0
  187. package/.output/server/node_modules/fast-uri/index.js +711 -0
  188. package/.output/server/node_modules/fast-uri/lib/schemes.js +272 -0
  189. package/.output/server/node_modules/fast-uri/lib/utils.js +799 -0
  190. package/.output/server/node_modules/fast-uri/package.json +68 -0
  191. package/.output/server/node_modules/get-port-please/dist/index.mjs +430 -0
  192. package/.output/server/node_modules/get-port-please/package.json +39 -0
  193. package/.output/server/node_modules/h3/dist/index.mjs +2498 -0
  194. package/.output/server/node_modules/h3/package.json +75 -0
  195. package/.output/server/node_modules/hookable/dist/index.mjs +257 -0
  196. package/.output/server/node_modules/hookable/package.json +54 -0
  197. package/.output/server/node_modules/http-shutdown/index.js +85 -0
  198. package/.output/server/node_modules/http-shutdown/package.json +32 -0
  199. package/.output/server/node_modules/iron-webcrypto/dist/index.js +298 -0
  200. package/.output/server/node_modules/iron-webcrypto/package.json +72 -0
  201. package/.output/server/node_modules/is-extglob/index.js +20 -0
  202. package/.output/server/node_modules/is-extglob/package.json +69 -0
  203. package/.output/server/node_modules/is-glob/index.js +150 -0
  204. package/.output/server/node_modules/is-glob/package.json +81 -0
  205. package/.output/server/node_modules/jiti/dist/jiti.cjs +1 -0
  206. package/.output/server/node_modules/jiti/lib/jiti.mjs +29 -0
  207. package/.output/server/node_modules/jiti/package.json +146 -0
  208. package/.output/server/node_modules/json-schema-traverse/index.js +93 -0
  209. package/.output/server/node_modules/json-schema-traverse/package.json +43 -0
  210. package/.output/server/node_modules/listhen/dist/chunks/xdg-open.mjs +1069 -0
  211. package/.output/server/node_modules/listhen/dist/index.mjs +19 -0
  212. package/.output/server/node_modules/listhen/dist/shared/listhen.tqe5I1Rl.mjs +1040 -0
  213. package/.output/server/node_modules/listhen/package.json +84 -0
  214. package/.output/server/node_modules/napi-wasm/index.mjs +1371 -0
  215. package/.output/server/node_modules/napi-wasm/package.json +33 -0
  216. package/.output/server/node_modules/node-forge/lib/aes.js +1091 -0
  217. package/.output/server/node_modules/node-forge/lib/aesCipherSuites.js +282 -0
  218. package/.output/server/node_modules/node-forge/lib/asn1-validator.js +91 -0
  219. package/.output/server/node_modules/node-forge/lib/asn1.js +1522 -0
  220. package/.output/server/node_modules/node-forge/lib/baseN.js +186 -0
  221. package/.output/server/node_modules/node-forge/lib/cipher.js +230 -0
  222. package/.output/server/node_modules/node-forge/lib/cipherModes.js +1027 -0
  223. package/.output/server/node_modules/node-forge/lib/des.js +496 -0
  224. package/.output/server/node_modules/node-forge/lib/ed25519.js +1091 -0
  225. package/.output/server/node_modules/node-forge/lib/forge.js +13 -0
  226. package/.output/server/node_modules/node-forge/lib/hmac.js +146 -0
  227. package/.output/server/node_modules/node-forge/lib/index.js +33 -0
  228. package/.output/server/node_modules/node-forge/lib/jsbn.js +1294 -0
  229. package/.output/server/node_modules/node-forge/lib/kem.js +168 -0
  230. package/.output/server/node_modules/node-forge/lib/log.js +319 -0
  231. package/.output/server/node_modules/node-forge/lib/md.all.js +13 -0
  232. package/.output/server/node_modules/node-forge/lib/md.js +11 -0
  233. package/.output/server/node_modules/node-forge/lib/md5.js +289 -0
  234. package/.output/server/node_modules/node-forge/lib/mgf.js +12 -0
  235. package/.output/server/node_modules/node-forge/lib/mgf1.js +57 -0
  236. package/.output/server/node_modules/node-forge/lib/oids.js +180 -0
  237. package/.output/server/node_modules/node-forge/lib/pbe.js +1029 -0
  238. package/.output/server/node_modules/node-forge/lib/pbkdf2.js +211 -0
  239. package/.output/server/node_modules/node-forge/lib/pem.js +413 -0
  240. package/.output/server/node_modules/node-forge/lib/pkcs1.js +276 -0
  241. package/.output/server/node_modules/node-forge/lib/pkcs12.js +1081 -0
  242. package/.output/server/node_modules/node-forge/lib/pkcs7.js +1260 -0
  243. package/.output/server/node_modules/node-forge/lib/pkcs7asn1.js +410 -0
  244. package/.output/server/node_modules/node-forge/lib/pki.js +102 -0
  245. package/.output/server/node_modules/node-forge/lib/prime.js +297 -0
  246. package/.output/server/node_modules/node-forge/lib/prng.js +419 -0
  247. package/.output/server/node_modules/node-forge/lib/pss.js +241 -0
  248. package/.output/server/node_modules/node-forge/lib/random.js +191 -0
  249. package/.output/server/node_modules/node-forge/lib/rc2.js +410 -0
  250. package/.output/server/node_modules/node-forge/lib/rsa.js +2014 -0
  251. package/.output/server/node_modules/node-forge/lib/sha1.js +319 -0
  252. package/.output/server/node_modules/node-forge/lib/sha256.js +327 -0
  253. package/.output/server/node_modules/node-forge/lib/sha512.js +561 -0
  254. package/.output/server/node_modules/node-forge/lib/ssh.js +236 -0
  255. package/.output/server/node_modules/node-forge/lib/tls.js +4334 -0
  256. package/.output/server/node_modules/node-forge/lib/util.js +2652 -0
  257. package/.output/server/node_modules/node-forge/lib/x509.js +3257 -0
  258. package/.output/server/node_modules/node-forge/package.json +123 -0
  259. package/.output/server/node_modules/node-mock-http/dist/_polyfill/buffer/node.mjs +1 -0
  260. package/.output/server/node_modules/node-mock-http/dist/_polyfill/events/node.mjs +1 -0
  261. package/.output/server/node_modules/node-mock-http/dist/index.mjs +1 -0
  262. package/.output/server/node_modules/node-mock-http/package.json +63 -0
  263. package/.output/server/node_modules/nostics/dist/formatters/ansi.mjs +19 -0
  264. package/.output/server/node_modules/nostics/dist/index.mjs +194 -0
  265. package/.output/server/node_modules/nostics/package.json +126 -0
  266. package/.output/server/node_modules/pathe/dist/index.mjs +19 -0
  267. package/.output/server/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs +249 -0
  268. package/.output/server/node_modules/pathe/package.json +61 -0
  269. package/.output/server/node_modules/picomatch/index.js +17 -0
  270. package/.output/server/node_modules/picomatch/lib/constants.js +184 -0
  271. package/.output/server/node_modules/picomatch/lib/parse.js +1425 -0
  272. package/.output/server/node_modules/picomatch/lib/picomatch.js +361 -0
  273. package/.output/server/node_modules/picomatch/lib/scan.js +403 -0
  274. package/.output/server/node_modules/picomatch/lib/utils.js +72 -0
  275. package/.output/server/node_modules/picomatch/package.json +83 -0
  276. package/.output/server/node_modules/radix3/dist/index.mjs +262 -0
  277. package/.output/server/node_modules/radix3/package.json +52 -0
  278. package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  279. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  280. package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  281. package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  282. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  283. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +141 -0
  284. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1236 -0
  285. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +446 -0
  286. package/.output/server/node_modules/source-map-js/lib/source-node.js +420 -0
  287. package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  288. package/.output/server/node_modules/source-map-js/package.json +71 -0
  289. package/.output/server/node_modules/source-map-js/source-map.js +8 -0
  290. package/.output/server/node_modules/std-env/dist/index.mjs +1 -0
  291. package/.output/server/node_modules/std-env/package.json +43 -0
  292. package/.output/server/node_modules/tinyclip/dist/index.js +143 -0
  293. package/.output/server/node_modules/tinyclip/package.json +48 -0
  294. package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
  295. package/.output/server/node_modules/ufo/package.json +48 -0
  296. package/.output/server/node_modules/uncrypto/dist/crypto.node.mjs +16 -0
  297. package/.output/server/node_modules/uncrypto/package.json +60 -0
  298. package/.output/server/node_modules/unhead/dist/client.mjs +22 -0
  299. package/.output/server/node_modules/unhead/dist/legacy.mjs +33 -0
  300. package/.output/server/node_modules/unhead/dist/minify.mjs +183 -0
  301. package/.output/server/node_modules/unhead/dist/parser.mjs +518 -0
  302. package/.output/server/node_modules/unhead/dist/plugins.mjs +782 -0
  303. package/.output/server/node_modules/unhead/dist/server.mjs +99 -0
  304. package/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +673 -0
  305. package/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +6 -0
  306. package/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +17 -0
  307. package/.output/server/node_modules/unhead/dist/shared/unhead.C5Bksi2B.mjs +49 -0
  308. package/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +32 -0
  309. package/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +7 -0
  310. package/.output/server/node_modules/unhead/dist/shared/unhead.C_7zwq8E.mjs +11 -0
  311. package/.output/server/node_modules/unhead/dist/shared/unhead.CaeaMM5q.mjs +19 -0
  312. package/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +59 -0
  313. package/.output/server/node_modules/unhead/dist/shared/unhead.D9VfQWNo.mjs +240 -0
  314. package/.output/server/node_modules/unhead/dist/shared/unhead.DD4N5B4k.mjs +224 -0
  315. package/.output/server/node_modules/unhead/dist/shared/unhead.DGl9jcjg.mjs +196 -0
  316. package/.output/server/node_modules/unhead/dist/shared/unhead.DJuZwX9c.mjs +400 -0
  317. package/.output/server/node_modules/unhead/dist/shared/unhead.DkxnqlHC.mjs +264 -0
  318. package/.output/server/node_modules/unhead/dist/shared/unhead.DspMpm6y.mjs +48 -0
  319. package/.output/server/node_modules/unhead/dist/shared/unhead.o8j9utSy.mjs +208 -0
  320. package/.output/server/node_modules/unhead/dist/stream/client.mjs +33 -0
  321. package/.output/server/node_modules/unhead/dist/stream/iife.mjs +2 -0
  322. package/.output/server/node_modules/unhead/dist/stream/server.mjs +446 -0
  323. package/.output/server/node_modules/unhead/dist/utils.mjs +7 -0
  324. package/.output/server/node_modules/unhead/package.json +179 -0
  325. package/.output/server/node_modules/untun/dist/_chunks/cloudflared.mjs +179 -0
  326. package/.output/server/node_modules/untun/dist/_chunks/log.mjs +27 -0
  327. package/.output/server/node_modules/untun/dist/index.mjs +47 -0
  328. package/.output/server/node_modules/untun/package.json +44 -0
  329. package/.output/server/node_modules/uqr/dist/index.mjs +739 -0
  330. package/.output/server/node_modules/uqr/package.json +69 -0
  331. package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  332. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  333. package/.output/server/node_modules/vue/index.js +7 -0
  334. package/.output/server/node_modules/vue/index.mjs +1 -0
  335. package/.output/server/node_modules/vue/package.json +112 -0
  336. package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  337. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +687 -0
  338. package/.output/server/node_modules/vue-bundle-renderer/package.json +66 -0
  339. package/.output/server/node_modules/zod/index.js +7 -0
  340. package/.output/server/node_modules/zod/package.json +147 -0
  341. package/.output/server/node_modules/zod/v3/ZodError.js +143 -0
  342. package/.output/server/node_modules/zod/v3/errors.js +9 -0
  343. package/.output/server/node_modules/zod/v3/external.js +6 -0
  344. package/.output/server/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  345. package/.output/server/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  346. package/.output/server/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  347. package/.output/server/node_modules/zod/v3/helpers/util.js +133 -0
  348. package/.output/server/node_modules/zod/v3/index.js +4 -0
  349. package/.output/server/node_modules/zod/v3/locales/en.js +109 -0
  350. package/.output/server/node_modules/zod/v3/package.json +7 -0
  351. package/.output/server/node_modules/zod/v3/types.js +3697 -0
  352. package/.output/server/node_modules/zod/v4/classic/checks.js +1 -0
  353. package/.output/server/node_modules/zod/v4/classic/coerce.js +17 -0
  354. package/.output/server/node_modules/zod/v4/classic/compat.js +31 -0
  355. package/.output/server/node_modules/zod/v4/classic/deep-partial.js +13 -0
  356. package/.output/server/node_modules/zod/v4/classic/errors.js +57 -0
  357. package/.output/server/node_modules/zod/v4/classic/external.js +17 -0
  358. package/.output/server/node_modules/zod/v4/classic/from-json-schema.js +881 -0
  359. package/.output/server/node_modules/zod/v4/classic/in-out.js +36 -0
  360. package/.output/server/node_modules/zod/v4/classic/index.js +4 -0
  361. package/.output/server/node_modules/zod/v4/classic/iso.js +15 -0
  362. package/.output/server/node_modules/zod/v4/classic/package.json +7 -0
  363. package/.output/server/node_modules/zod/v4/classic/parse.js +16 -0
  364. package/.output/server/node_modules/zod/v4/classic/schemas.js +1535 -0
  365. package/.output/server/node_modules/zod/v4/core/api.js +1107 -0
  366. package/.output/server/node_modules/zod/v4/core/checks.js +516 -0
  367. package/.output/server/node_modules/zod/v4/core/compile.js +1866 -0
  368. package/.output/server/node_modules/zod/v4/core/core.js +141 -0
  369. package/.output/server/node_modules/zod/v4/core/doc.js +38 -0
  370. package/.output/server/node_modules/zod/v4/core/errors.js +267 -0
  371. package/.output/server/node_modules/zod/v4/core/index.js +19 -0
  372. package/.output/server/node_modules/zod/v4/core/json-schema-generator.js +99 -0
  373. package/.output/server/node_modules/zod/v4/core/json-schema-processors.js +843 -0
  374. package/.output/server/node_modules/zod/v4/core/json-schema.js +1 -0
  375. package/.output/server/node_modules/zod/v4/core/memoizer.js +311 -0
  376. package/.output/server/node_modules/zod/v4/core/package.json +7 -0
  377. package/.output/server/node_modules/zod/v4/core/parse.js +175 -0
  378. package/.output/server/node_modules/zod/v4/core/regexes.js +156 -0
  379. package/.output/server/node_modules/zod/v4/core/registries.js +51 -0
  380. package/.output/server/node_modules/zod/v4/core/schemas.js +2636 -0
  381. package/.output/server/node_modules/zod/v4/core/to-json-schema.js +651 -0
  382. package/.output/server/node_modules/zod/v4/core/util.js +873 -0
  383. package/.output/server/node_modules/zod/v4/core/versions.js +5 -0
  384. package/.output/server/node_modules/zod/v4/core/visit.js +169 -0
  385. package/.output/server/node_modules/zod/v4/index.js +4 -0
  386. package/.output/server/node_modules/zod/v4/locales/ar.js +111 -0
  387. package/.output/server/node_modules/zod/v4/locales/az.js +110 -0
  388. package/.output/server/node_modules/zod/v4/locales/be.js +168 -0
  389. package/.output/server/node_modules/zod/v4/locales/bg.js +125 -0
  390. package/.output/server/node_modules/zod/v4/locales/bn.js +113 -0
  391. package/.output/server/node_modules/zod/v4/locales/ca.js +112 -0
  392. package/.output/server/node_modules/zod/v4/locales/ckb.js +133 -0
  393. package/.output/server/node_modules/zod/v4/locales/cs.js +116 -0
  394. package/.output/server/node_modules/zod/v4/locales/da.js +120 -0
  395. package/.output/server/node_modules/zod/v4/locales/de.js +113 -0
  396. package/.output/server/node_modules/zod/v4/locales/el.js +112 -0
  397. package/.output/server/node_modules/zod/v4/locales/en.js +125 -0
  398. package/.output/server/node_modules/zod/v4/locales/eo.js +114 -0
  399. package/.output/server/node_modules/zod/v4/locales/es.js +136 -0
  400. package/.output/server/node_modules/zod/v4/locales/fa.js +119 -0
  401. package/.output/server/node_modules/zod/v4/locales/fi.js +117 -0
  402. package/.output/server/node_modules/zod/v4/locales/fr-CA.js +112 -0
  403. package/.output/server/node_modules/zod/v4/locales/fr.js +129 -0
  404. package/.output/server/node_modules/zod/v4/locales/gu.js +113 -0
  405. package/.output/server/node_modules/zod/v4/locales/he.js +221 -0
  406. package/.output/server/node_modules/zod/v4/locales/hi.js +111 -0
  407. package/.output/server/node_modules/zod/v4/locales/hr.js +126 -0
  408. package/.output/server/node_modules/zod/v4/locales/hu.js +113 -0
  409. package/.output/server/node_modules/zod/v4/locales/hy.js +158 -0
  410. package/.output/server/node_modules/zod/v4/locales/id.js +111 -0
  411. package/.output/server/node_modules/zod/v4/locales/index.js +63 -0
  412. package/.output/server/node_modules/zod/v4/locales/is.js +114 -0
  413. package/.output/server/node_modules/zod/v4/locales/it.js +113 -0
  414. package/.output/server/node_modules/zod/v4/locales/ja.js +112 -0
  415. package/.output/server/node_modules/zod/v4/locales/ka.js +117 -0
  416. package/.output/server/node_modules/zod/v4/locales/kh.js +5 -0
  417. package/.output/server/node_modules/zod/v4/locales/km.js +115 -0
  418. package/.output/server/node_modules/zod/v4/locales/kn.js +116 -0
  419. package/.output/server/node_modules/zod/v4/locales/ko.js +116 -0
  420. package/.output/server/node_modules/zod/v4/locales/lt.js +207 -0
  421. package/.output/server/node_modules/zod/v4/locales/mk.js +114 -0
  422. package/.output/server/node_modules/zod/v4/locales/ms.js +112 -0
  423. package/.output/server/node_modules/zod/v4/locales/ne.js +111 -0
  424. package/.output/server/node_modules/zod/v4/locales/nl.js +115 -0
  425. package/.output/server/node_modules/zod/v4/locales/nn.js +113 -0
  426. package/.output/server/node_modules/zod/v4/locales/no.js +113 -0
  427. package/.output/server/node_modules/zod/v4/locales/ota.js +114 -0
  428. package/.output/server/node_modules/zod/v4/locales/package.json +7 -0
  429. package/.output/server/node_modules/zod/v4/locales/pl.js +114 -0
  430. package/.output/server/node_modules/zod/v4/locales/ps.js +119 -0
  431. package/.output/server/node_modules/zod/v4/locales/pt-BR.js +143 -0
  432. package/.output/server/node_modules/zod/v4/locales/pt.js +142 -0
  433. package/.output/server/node_modules/zod/v4/locales/ro.js +122 -0
  434. package/.output/server/node_modules/zod/v4/locales/ru.js +168 -0
  435. package/.output/server/node_modules/zod/v4/locales/sk.js +116 -0
  436. package/.output/server/node_modules/zod/v4/locales/sl.js +114 -0
  437. package/.output/server/node_modules/zod/v4/locales/sv.js +115 -0
  438. package/.output/server/node_modules/zod/v4/locales/ta.js +115 -0
  439. package/.output/server/node_modules/zod/v4/locales/tg.js +117 -0
  440. package/.output/server/node_modules/zod/v4/locales/th.js +115 -0
  441. package/.output/server/node_modules/zod/v4/locales/tk.js +107 -0
  442. package/.output/server/node_modules/zod/v4/locales/tr.js +110 -0
  443. package/.output/server/node_modules/zod/v4/locales/ua.js +5 -0
  444. package/.output/server/node_modules/zod/v4/locales/uk.js +113 -0
  445. package/.output/server/node_modules/zod/v4/locales/ur.js +115 -0
  446. package/.output/server/node_modules/zod/v4/locales/uz.js +113 -0
  447. package/.output/server/node_modules/zod/v4/locales/vi.js +113 -0
  448. package/.output/server/node_modules/zod/v4/locales/yo.js +112 -0
  449. package/.output/server/node_modules/zod/v4/locales/zh-CN.js +114 -0
  450. package/.output/server/node_modules/zod/v4/locales/zh-TW.js +112 -0
  451. package/.output/server/node_modules/zod/v4/mini/checks.js +1 -0
  452. package/.output/server/node_modules/zod/v4/mini/coerce.js +22 -0
  453. package/.output/server/node_modules/zod/v4/mini/deep-partial.js +13 -0
  454. package/.output/server/node_modules/zod/v4/mini/external.js +16 -0
  455. package/.output/server/node_modules/zod/v4/mini/in-out.js +36 -0
  456. package/.output/server/node_modules/zod/v4/mini/iso.js +34 -0
  457. package/.output/server/node_modules/zod/v4/mini/package.json +7 -0
  458. package/.output/server/node_modules/zod/v4/mini/parse.js +1 -0
  459. package/.output/server/node_modules/zod/v4/mini/schemas.js +1002 -0
  460. package/.output/server/node_modules/zod/v4/package.json +7 -0
  461. package/.output/server/node_modules/zod/v4-mini/index.js +3 -0
  462. package/.output/server/node_modules/zod/v4-mini/package.json +7 -0
  463. package/.output/server/node_modules/zod-to-json-schema/dist/esm/Options.js +46 -0
  464. package/.output/server/node_modules/zod-to-json-schema/dist/esm/Refs.js +22 -0
  465. package/.output/server/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +14 -0
  466. package/.output/server/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +8 -0
  467. package/.output/server/node_modules/zod-to-json-schema/dist/esm/index.js +40 -0
  468. package/.output/server/node_modules/zod-to-json-schema/dist/esm/package.json +1 -0
  469. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parseDef.js +62 -0
  470. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parseTypes.js +1 -0
  471. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +17 -0
  472. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +26 -0
  473. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +49 -0
  474. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +5 -0
  475. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +4 -0
  476. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +4 -0
  477. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +46 -0
  478. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +7 -0
  479. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +7 -0
  480. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +6 -0
  481. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +52 -0
  482. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +21 -0
  483. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +26 -0
  484. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +16 -0
  485. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +11 -0
  486. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +10 -0
  487. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +33 -0
  488. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +52 -0
  489. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +72 -0
  490. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +21 -0
  491. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +20 -0
  492. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +4 -0
  493. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +4 -0
  494. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +61 -0
  495. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +20 -0
  496. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +352 -0
  497. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +32 -0
  498. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +6 -0
  499. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +80 -0
  500. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +4 -0
  501. package/.output/server/node_modules/zod-to-json-schema/dist/esm/selectParser.js +105 -0
  502. package/.output/server/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +87 -0
  503. package/.output/server/node_modules/zod-to-json-schema/package.json +85 -0
  504. package/.output/server/package.json +64 -0
  505. package/README.md +226 -23
  506. package/bin/bantou.mjs +33 -0
  507. package/package.json +18 -8
  508. package/protocol/PROTOCOL.md +26 -0
  509. package/protocol/protocol.json +92 -0
  510. package/dist/cap.js +0 -7
  511. package/dist/cli.js +0 -27
  512. package/dist/config.js +0 -23
  513. package/dist/daemon.js +0 -23
  514. package/dist/session.js +0 -7
  515. package/dist/workspace.js +0 -8
@@ -0,0 +1,520 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0;
4
+ const boolSchema_1 = require("./boolSchema");
5
+ const dataType_1 = require("./dataType");
6
+ const applicability_1 = require("./applicability");
7
+ const dataType_2 = require("./dataType");
8
+ const defaults_1 = require("./defaults");
9
+ const keyword_1 = require("./keyword");
10
+ const subschema_1 = require("./subschema");
11
+ const codegen_1 = require("../codegen");
12
+ const names_1 = require("../names");
13
+ const resolve_1 = require("../resolve");
14
+ const util_1 = require("../util");
15
+ const errors_1 = require("../errors");
16
+ // schema compilation - generates validation function, subschemaCode (below) is used for subschemas
17
+ function validateFunctionCode(it) {
18
+ if (isSchemaObj(it)) {
19
+ checkKeywords(it);
20
+ if (schemaCxtHasRules(it)) {
21
+ topSchemaObjCode(it);
22
+ return;
23
+ }
24
+ }
25
+ validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it));
26
+ }
27
+ exports.validateFunctionCode = validateFunctionCode;
28
+ function validateFunction({ gen, validateName, schema, schemaEnv, opts }, body) {
29
+ if (opts.code.es5) {
30
+ gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${names_1.default.valCxt}`, schemaEnv.$async, () => {
31
+ gen.code((0, codegen_1._) `"use strict"; ${funcSourceUrl(schema, opts)}`);
32
+ destructureValCxtES5(gen, opts);
33
+ gen.code(body);
34
+ });
35
+ }
36
+ else {
37
+ gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () => gen.code(funcSourceUrl(schema, opts)).code(body));
38
+ }
39
+ }
40
+ function destructureValCxt(opts) {
41
+ return (0, codegen_1._) `{${names_1.default.instancePath}="", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._) `, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`;
42
+ }
43
+ function destructureValCxtES5(gen, opts) {
44
+ gen.if(names_1.default.valCxt, () => {
45
+ gen.var(names_1.default.instancePath, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.instancePath}`);
46
+ gen.var(names_1.default.parentData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentData}`);
47
+ gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentDataProperty}`);
48
+ gen.var(names_1.default.rootData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.rootData}`);
49
+ if (opts.dynamicRef)
50
+ gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`);
51
+ }, () => {
52
+ gen.var(names_1.default.instancePath, (0, codegen_1._) `""`);
53
+ gen.var(names_1.default.parentData, (0, codegen_1._) `undefined`);
54
+ gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `undefined`);
55
+ gen.var(names_1.default.rootData, names_1.default.data);
56
+ if (opts.dynamicRef)
57
+ gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `{}`);
58
+ });
59
+ }
60
+ function topSchemaObjCode(it) {
61
+ const { schema, opts, gen } = it;
62
+ validateFunction(it, () => {
63
+ if (opts.$comment && schema.$comment)
64
+ commentKeyword(it);
65
+ checkNoDefault(it);
66
+ gen.let(names_1.default.vErrors, null);
67
+ gen.let(names_1.default.errors, 0);
68
+ if (opts.unevaluated)
69
+ resetEvaluated(it);
70
+ typeAndKeywords(it);
71
+ returnResults(it);
72
+ });
73
+ return;
74
+ }
75
+ function resetEvaluated(it) {
76
+ // TODO maybe some hook to execute it in the end to check whether props/items are Name, as in assignEvaluated
77
+ const { gen, validateName } = it;
78
+ it.evaluated = gen.const("evaluated", (0, codegen_1._) `${validateName}.evaluated`);
79
+ gen.if((0, codegen_1._) `${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._) `${it.evaluated}.props`, (0, codegen_1._) `undefined`));
80
+ gen.if((0, codegen_1._) `${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._) `${it.evaluated}.items`, (0, codegen_1._) `undefined`));
81
+ }
82
+ function funcSourceUrl(schema, opts) {
83
+ const schId = typeof schema == "object" && schema[opts.schemaId];
84
+ return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._) `/*# sourceURL=${schId} */` : codegen_1.nil;
85
+ }
86
+ // schema compilation - this function is used recursively to generate code for sub-schemas
87
+ function subschemaCode(it, valid) {
88
+ if (isSchemaObj(it)) {
89
+ checkKeywords(it);
90
+ if (schemaCxtHasRules(it)) {
91
+ subSchemaObjCode(it, valid);
92
+ return;
93
+ }
94
+ }
95
+ (0, boolSchema_1.boolOrEmptySchema)(it, valid);
96
+ }
97
+ function schemaCxtHasRules({ schema, self }) {
98
+ if (typeof schema == "boolean")
99
+ return !schema;
100
+ for (const key in schema)
101
+ if (self.RULES.all[key])
102
+ return true;
103
+ return false;
104
+ }
105
+ function isSchemaObj(it) {
106
+ return typeof it.schema != "boolean";
107
+ }
108
+ function subSchemaObjCode(it, valid) {
109
+ const { schema, gen, opts } = it;
110
+ if (opts.$comment && schema.$comment)
111
+ commentKeyword(it);
112
+ updateContext(it);
113
+ checkAsyncSchema(it);
114
+ const errsCount = gen.const("_errs", names_1.default.errors);
115
+ typeAndKeywords(it, errsCount);
116
+ // TODO var
117
+ gen.var(valid, (0, codegen_1._) `${errsCount} === ${names_1.default.errors}`);
118
+ }
119
+ function checkKeywords(it) {
120
+ (0, util_1.checkUnknownRules)(it);
121
+ checkRefsAndKeywords(it);
122
+ }
123
+ function typeAndKeywords(it, errsCount) {
124
+ if (it.opts.jtd)
125
+ return schemaKeywords(it, [], false, errsCount);
126
+ const types = (0, dataType_1.getSchemaTypes)(it.schema);
127
+ const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types);
128
+ schemaKeywords(it, types, !checkedTypes, errsCount);
129
+ }
130
+ function checkRefsAndKeywords(it) {
131
+ const { schema, errSchemaPath, opts, self } = it;
132
+ if (schema.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema, self.RULES)) {
133
+ self.logger.warn(`$ref: keywords ignored in schema at path "${errSchemaPath}"`);
134
+ }
135
+ }
136
+ function checkNoDefault(it) {
137
+ const { schema, opts } = it;
138
+ if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) {
139
+ (0, util_1.checkStrictMode)(it, "default is ignored in the schema root");
140
+ }
141
+ }
142
+ function updateContext(it) {
143
+ const schId = it.schema[it.opts.schemaId];
144
+ if (schId)
145
+ it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId);
146
+ }
147
+ function checkAsyncSchema(it) {
148
+ if (it.schema.$async && !it.schemaEnv.$async)
149
+ throw new Error("async schema in sync schema");
150
+ }
151
+ function commentKeyword({ gen, schemaEnv, schema, errSchemaPath, opts }) {
152
+ const msg = schema.$comment;
153
+ if (opts.$comment === true) {
154
+ gen.code((0, codegen_1._) `${names_1.default.self}.logger.log(${msg})`);
155
+ }
156
+ else if (typeof opts.$comment == "function") {
157
+ const schemaPath = (0, codegen_1.str) `${errSchemaPath}/$comment`;
158
+ const rootName = gen.scopeValue("root", { ref: schemaEnv.root });
159
+ gen.code((0, codegen_1._) `${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`);
160
+ }
161
+ }
162
+ function returnResults(it) {
163
+ const { gen, schemaEnv, validateName, ValidationError, opts } = it;
164
+ if (schemaEnv.$async) {
165
+ // TODO assign unevaluated
166
+ gen.if((0, codegen_1._) `${names_1.default.errors} === 0`, () => gen.return(names_1.default.data), () => gen.throw((0, codegen_1._) `new ${ValidationError}(${names_1.default.vErrors})`));
167
+ }
168
+ else {
169
+ gen.assign((0, codegen_1._) `${validateName}.errors`, names_1.default.vErrors);
170
+ if (opts.unevaluated)
171
+ assignEvaluated(it);
172
+ gen.return((0, codegen_1._) `${names_1.default.errors} === 0`);
173
+ }
174
+ }
175
+ function assignEvaluated({ gen, evaluated, props, items }) {
176
+ if (props instanceof codegen_1.Name)
177
+ gen.assign((0, codegen_1._) `${evaluated}.props`, props);
178
+ if (items instanceof codegen_1.Name)
179
+ gen.assign((0, codegen_1._) `${evaluated}.items`, items);
180
+ }
181
+ function schemaKeywords(it, types, typeErrors, errsCount) {
182
+ const { gen, schema, data, allErrors, opts, self } = it;
183
+ const { RULES } = self;
184
+ if (schema.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema, RULES))) {
185
+ gen.block(() => keywordCode(it, "$ref", RULES.all.$ref.definition)); // TODO typecast
186
+ return;
187
+ }
188
+ if (!opts.jtd)
189
+ checkStrictTypes(it, types);
190
+ gen.block(() => {
191
+ for (const group of RULES.rules)
192
+ groupKeywords(group);
193
+ groupKeywords(RULES.post);
194
+ });
195
+ function groupKeywords(group) {
196
+ if (!(0, applicability_1.shouldUseGroup)(schema, group))
197
+ return;
198
+ if (group.type) {
199
+ gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers));
200
+ iterateKeywords(it, group);
201
+ if (types.length === 1 && types[0] === group.type && typeErrors) {
202
+ gen.else();
203
+ (0, dataType_2.reportTypeError)(it);
204
+ }
205
+ gen.endIf();
206
+ }
207
+ else {
208
+ iterateKeywords(it, group);
209
+ }
210
+ // TODO make it "ok" call?
211
+ if (!allErrors)
212
+ gen.if((0, codegen_1._) `${names_1.default.errors} === ${errsCount || 0}`);
213
+ }
214
+ }
215
+ function iterateKeywords(it, group) {
216
+ const { gen, schema, opts: { useDefaults }, } = it;
217
+ if (useDefaults)
218
+ (0, defaults_1.assignDefaults)(it, group.type);
219
+ gen.block(() => {
220
+ for (const rule of group.rules) {
221
+ if ((0, applicability_1.shouldUseRule)(schema, rule)) {
222
+ keywordCode(it, rule.keyword, rule.definition, group.type);
223
+ }
224
+ }
225
+ });
226
+ }
227
+ function checkStrictTypes(it, types) {
228
+ if (it.schemaEnv.meta || !it.opts.strictTypes)
229
+ return;
230
+ checkContextTypes(it, types);
231
+ if (!it.opts.allowUnionTypes)
232
+ checkMultipleTypes(it, types);
233
+ checkKeywordTypes(it, it.dataTypes);
234
+ }
235
+ function checkContextTypes(it, types) {
236
+ if (!types.length)
237
+ return;
238
+ if (!it.dataTypes.length) {
239
+ it.dataTypes = types;
240
+ return;
241
+ }
242
+ types.forEach((t) => {
243
+ if (!includesType(it.dataTypes, t)) {
244
+ strictTypesError(it, `type "${t}" not allowed by context "${it.dataTypes.join(",")}"`);
245
+ }
246
+ });
247
+ narrowSchemaTypes(it, types);
248
+ }
249
+ function checkMultipleTypes(it, ts) {
250
+ if (ts.length > 1 && !(ts.length === 2 && ts.includes("null"))) {
251
+ strictTypesError(it, "use allowUnionTypes to allow union type keyword");
252
+ }
253
+ }
254
+ function checkKeywordTypes(it, ts) {
255
+ const rules = it.self.RULES.all;
256
+ for (const keyword in rules) {
257
+ const rule = rules[keyword];
258
+ if (typeof rule == "object" && (0, applicability_1.shouldUseRule)(it.schema, rule)) {
259
+ const { type } = rule.definition;
260
+ if (type.length && !type.some((t) => hasApplicableType(ts, t))) {
261
+ strictTypesError(it, `missing type "${type.join(",")}" for keyword "${keyword}"`);
262
+ }
263
+ }
264
+ }
265
+ }
266
+ function hasApplicableType(schTs, kwdT) {
267
+ return schTs.includes(kwdT) || (kwdT === "number" && schTs.includes("integer"));
268
+ }
269
+ function includesType(ts, t) {
270
+ return ts.includes(t) || (t === "integer" && ts.includes("number"));
271
+ }
272
+ function narrowSchemaTypes(it, withTypes) {
273
+ const ts = [];
274
+ for (const t of it.dataTypes) {
275
+ if (includesType(withTypes, t))
276
+ ts.push(t);
277
+ else if (withTypes.includes("integer") && t === "number")
278
+ ts.push("integer");
279
+ }
280
+ it.dataTypes = ts;
281
+ }
282
+ function strictTypesError(it, msg) {
283
+ const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;
284
+ msg += ` at "${schemaPath}" (strictTypes)`;
285
+ (0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes);
286
+ }
287
+ class KeywordCxt {
288
+ constructor(it, def, keyword) {
289
+ (0, keyword_1.validateKeywordUsage)(it, def, keyword);
290
+ this.gen = it.gen;
291
+ this.allErrors = it.allErrors;
292
+ this.keyword = keyword;
293
+ this.data = it.data;
294
+ this.schema = it.schema[keyword];
295
+ this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data;
296
+ this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data);
297
+ this.schemaType = def.schemaType;
298
+ this.parentSchema = it.schema;
299
+ this.params = {};
300
+ this.it = it;
301
+ this.def = def;
302
+ if (this.$data) {
303
+ this.schemaCode = it.gen.const("vSchema", getData(this.$data, it));
304
+ }
305
+ else {
306
+ this.schemaCode = this.schemaValue;
307
+ if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) {
308
+ throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`);
309
+ }
310
+ }
311
+ if ("code" in def ? def.trackErrors : def.errors !== false) {
312
+ this.errsCount = it.gen.const("_errs", names_1.default.errors);
313
+ }
314
+ }
315
+ result(condition, successAction, failAction) {
316
+ this.failResult((0, codegen_1.not)(condition), successAction, failAction);
317
+ }
318
+ failResult(condition, successAction, failAction) {
319
+ this.gen.if(condition);
320
+ if (failAction)
321
+ failAction();
322
+ else
323
+ this.error();
324
+ if (successAction) {
325
+ this.gen.else();
326
+ successAction();
327
+ if (this.allErrors)
328
+ this.gen.endIf();
329
+ }
330
+ else {
331
+ if (this.allErrors)
332
+ this.gen.endIf();
333
+ else
334
+ this.gen.else();
335
+ }
336
+ }
337
+ pass(condition, failAction) {
338
+ this.failResult((0, codegen_1.not)(condition), undefined, failAction);
339
+ }
340
+ fail(condition) {
341
+ if (condition === undefined) {
342
+ this.error();
343
+ if (!this.allErrors)
344
+ this.gen.if(false); // this branch will be removed by gen.optimize
345
+ return;
346
+ }
347
+ this.gen.if(condition);
348
+ this.error();
349
+ if (this.allErrors)
350
+ this.gen.endIf();
351
+ else
352
+ this.gen.else();
353
+ }
354
+ fail$data(condition) {
355
+ if (!this.$data)
356
+ return this.fail(condition);
357
+ const { schemaCode } = this;
358
+ this.fail((0, codegen_1._) `${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`);
359
+ }
360
+ error(append, errorParams, errorPaths) {
361
+ if (errorParams) {
362
+ this.setParams(errorParams);
363
+ this._error(append, errorPaths);
364
+ this.setParams({});
365
+ return;
366
+ }
367
+ this._error(append, errorPaths);
368
+ }
369
+ _error(append, errorPaths) {
370
+ ;
371
+ (append ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths);
372
+ }
373
+ $dataError() {
374
+ (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError);
375
+ }
376
+ reset() {
377
+ if (this.errsCount === undefined)
378
+ throw new Error('add "trackErrors" to keyword definition');
379
+ (0, errors_1.resetErrorsCount)(this.gen, this.errsCount);
380
+ }
381
+ ok(cond) {
382
+ if (!this.allErrors)
383
+ this.gen.if(cond);
384
+ }
385
+ setParams(obj, assign) {
386
+ if (assign)
387
+ Object.assign(this.params, obj);
388
+ else
389
+ this.params = obj;
390
+ }
391
+ block$data(valid, codeBlock, $dataValid = codegen_1.nil) {
392
+ this.gen.block(() => {
393
+ this.check$data(valid, $dataValid);
394
+ codeBlock();
395
+ });
396
+ }
397
+ check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) {
398
+ if (!this.$data)
399
+ return;
400
+ const { gen, schemaCode, schemaType, def } = this;
401
+ gen.if((0, codegen_1.or)((0, codegen_1._) `${schemaCode} === undefined`, $dataValid));
402
+ if (valid !== codegen_1.nil)
403
+ gen.assign(valid, true);
404
+ if (schemaType.length || def.validateSchema) {
405
+ gen.elseIf(this.invalid$data());
406
+ this.$dataError();
407
+ if (valid !== codegen_1.nil)
408
+ gen.assign(valid, false);
409
+ }
410
+ gen.else();
411
+ }
412
+ invalid$data() {
413
+ const { gen, schemaCode, schemaType, def, it } = this;
414
+ return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema());
415
+ function wrong$DataType() {
416
+ if (schemaType.length) {
417
+ /* istanbul ignore if */
418
+ if (!(schemaCode instanceof codegen_1.Name))
419
+ throw new Error("ajv implementation error");
420
+ const st = Array.isArray(schemaType) ? schemaType : [schemaType];
421
+ return (0, codegen_1._) `${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`;
422
+ }
423
+ return codegen_1.nil;
424
+ }
425
+ function invalid$DataSchema() {
426
+ if (def.validateSchema) {
427
+ const validateSchemaRef = gen.scopeValue("validate$data", { ref: def.validateSchema }); // TODO value.code for standalone
428
+ return (0, codegen_1._) `!${validateSchemaRef}(${schemaCode})`;
429
+ }
430
+ return codegen_1.nil;
431
+ }
432
+ }
433
+ subschema(appl, valid) {
434
+ const subschema = (0, subschema_1.getSubschema)(this.it, appl);
435
+ (0, subschema_1.extendSubschemaData)(subschema, this.it, appl);
436
+ (0, subschema_1.extendSubschemaMode)(subschema, appl);
437
+ const nextContext = { ...this.it, ...subschema, items: undefined, props: undefined };
438
+ subschemaCode(nextContext, valid);
439
+ return nextContext;
440
+ }
441
+ mergeEvaluated(schemaCxt, toName) {
442
+ const { it, gen } = this;
443
+ if (!it.opts.unevaluated)
444
+ return;
445
+ if (it.props !== true && schemaCxt.props !== undefined) {
446
+ it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName);
447
+ }
448
+ if (it.items !== true && schemaCxt.items !== undefined) {
449
+ it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName);
450
+ }
451
+ }
452
+ mergeValidEvaluated(schemaCxt, valid) {
453
+ const { it, gen } = this;
454
+ if (it.opts.unevaluated && (it.props !== true || it.items !== true)) {
455
+ gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name));
456
+ return true;
457
+ }
458
+ }
459
+ }
460
+ exports.KeywordCxt = KeywordCxt;
461
+ function keywordCode(it, keyword, def, ruleType) {
462
+ const cxt = new KeywordCxt(it, def, keyword);
463
+ if ("code" in def) {
464
+ def.code(cxt, ruleType);
465
+ }
466
+ else if (cxt.$data && def.validate) {
467
+ (0, keyword_1.funcKeywordCode)(cxt, def);
468
+ }
469
+ else if ("macro" in def) {
470
+ (0, keyword_1.macroKeywordCode)(cxt, def);
471
+ }
472
+ else if (def.compile || def.validate) {
473
+ (0, keyword_1.funcKeywordCode)(cxt, def);
474
+ }
475
+ }
476
+ const JSON_POINTER = /^\/(?:[^~]|~0|~1)*$/;
477
+ const RELATIVE_JSON_POINTER = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;
478
+ function getData($data, { dataLevel, dataNames, dataPathArr }) {
479
+ let jsonPointer;
480
+ let data;
481
+ if ($data === "")
482
+ return names_1.default.rootData;
483
+ if ($data[0] === "/") {
484
+ if (!JSON_POINTER.test($data))
485
+ throw new Error(`Invalid JSON-pointer: ${$data}`);
486
+ jsonPointer = $data;
487
+ data = names_1.default.rootData;
488
+ }
489
+ else {
490
+ const matches = RELATIVE_JSON_POINTER.exec($data);
491
+ if (!matches)
492
+ throw new Error(`Invalid JSON-pointer: ${$data}`);
493
+ const up = +matches[1];
494
+ jsonPointer = matches[2];
495
+ if (jsonPointer === "#") {
496
+ if (up >= dataLevel)
497
+ throw new Error(errorMsg("property/index", up));
498
+ return dataPathArr[dataLevel - up];
499
+ }
500
+ if (up > dataLevel)
501
+ throw new Error(errorMsg("data", up));
502
+ data = dataNames[dataLevel - up];
503
+ if (!jsonPointer)
504
+ return data;
505
+ }
506
+ let expr = data;
507
+ const segments = jsonPointer.split("/");
508
+ for (const segment of segments) {
509
+ if (segment) {
510
+ data = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`;
511
+ expr = (0, codegen_1._) `${expr} && ${data}`;
512
+ }
513
+ }
514
+ return expr;
515
+ function errorMsg(pointerType, up) {
516
+ return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`;
517
+ }
518
+ }
519
+ exports.getData = getData;
520
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0;
4
+ const codegen_1 = require("../codegen");
5
+ const names_1 = require("../names");
6
+ const code_1 = require("../../vocabularies/code");
7
+ const errors_1 = require("../errors");
8
+ function macroKeywordCode(cxt, def) {
9
+ const { gen, keyword, schema, parentSchema, it } = cxt;
10
+ const macroSchema = def.macro.call(it.self, schema, parentSchema, it);
11
+ const schemaRef = useKeyword(gen, keyword, macroSchema);
12
+ if (it.opts.validateSchema !== false)
13
+ it.self.validateSchema(macroSchema, true);
14
+ const valid = gen.name("valid");
15
+ cxt.subschema({
16
+ schema: macroSchema,
17
+ schemaPath: codegen_1.nil,
18
+ errSchemaPath: `${it.errSchemaPath}/${keyword}`,
19
+ topSchemaRef: schemaRef,
20
+ compositeRule: true,
21
+ }, valid);
22
+ cxt.pass(valid, () => cxt.error(true));
23
+ }
24
+ exports.macroKeywordCode = macroKeywordCode;
25
+ function funcKeywordCode(cxt, def) {
26
+ var _a;
27
+ const { gen, keyword, schema, parentSchema, $data, it } = cxt;
28
+ checkAsyncKeyword(it, def);
29
+ const validate = !$data && def.compile ? def.compile.call(it.self, schema, parentSchema, it) : def.validate;
30
+ const validateRef = useKeyword(gen, keyword, validate);
31
+ const valid = gen.let("valid");
32
+ cxt.block$data(valid, validateKeyword);
33
+ cxt.ok((_a = def.valid) !== null && _a !== void 0 ? _a : valid);
34
+ function validateKeyword() {
35
+ if (def.errors === false) {
36
+ assignValid();
37
+ if (def.modifying)
38
+ modifyData(cxt);
39
+ reportErrs(() => cxt.error());
40
+ }
41
+ else {
42
+ const ruleErrs = def.async ? validateAsync() : validateSync();
43
+ if (def.modifying)
44
+ modifyData(cxt);
45
+ reportErrs(() => addErrs(cxt, ruleErrs));
46
+ }
47
+ }
48
+ function validateAsync() {
49
+ const ruleErrs = gen.let("ruleErrs", null);
50
+ gen.try(() => assignValid((0, codegen_1._) `await `), (e) => gen.assign(valid, false).if((0, codegen_1._) `${e} instanceof ${it.ValidationError}`, () => gen.assign(ruleErrs, (0, codegen_1._) `${e}.errors`), () => gen.throw(e)));
51
+ return ruleErrs;
52
+ }
53
+ function validateSync() {
54
+ const validateErrs = (0, codegen_1._) `${validateRef}.errors`;
55
+ gen.assign(validateErrs, null);
56
+ assignValid(codegen_1.nil);
57
+ return validateErrs;
58
+ }
59
+ function assignValid(_await = def.async ? (0, codegen_1._) `await ` : codegen_1.nil) {
60
+ const passCxt = it.opts.passContext ? names_1.default.this : names_1.default.self;
61
+ const passSchema = !(("compile" in def && !$data) || def.schema === false);
62
+ gen.assign(valid, (0, codegen_1._) `${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, def.modifying);
63
+ }
64
+ function reportErrs(errors) {
65
+ var _a;
66
+ gen.if((0, codegen_1.not)((_a = def.valid) !== null && _a !== void 0 ? _a : valid), errors);
67
+ }
68
+ }
69
+ exports.funcKeywordCode = funcKeywordCode;
70
+ function modifyData(cxt) {
71
+ const { gen, data, it } = cxt;
72
+ gen.if(it.parentData, () => gen.assign(data, (0, codegen_1._) `${it.parentData}[${it.parentDataProperty}]`));
73
+ }
74
+ function addErrs(cxt, errs) {
75
+ const { gen } = cxt;
76
+ gen.if((0, codegen_1._) `Array.isArray(${errs})`, () => {
77
+ gen
78
+ .assign(names_1.default.vErrors, (0, codegen_1._) `${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`)
79
+ .assign(names_1.default.errors, (0, codegen_1._) `${names_1.default.vErrors}.length`);
80
+ (0, errors_1.extendErrors)(cxt);
81
+ }, () => cxt.error());
82
+ }
83
+ function checkAsyncKeyword({ schemaEnv }, def) {
84
+ if (def.async && !schemaEnv.$async)
85
+ throw new Error("async keyword in sync schema");
86
+ }
87
+ function useKeyword(gen, keyword, result) {
88
+ if (result === undefined)
89
+ throw new Error(`keyword "${keyword}" failed to compile`);
90
+ return gen.scopeValue("keyword", typeof result == "function" ? { ref: result } : { ref: result, code: (0, codegen_1.stringify)(result) });
91
+ }
92
+ function validSchemaType(schema, schemaType, allowUndefined = false) {
93
+ // TODO add tests
94
+ return (!schemaType.length ||
95
+ schemaType.some((st) => st === "array"
96
+ ? Array.isArray(schema)
97
+ : st === "object"
98
+ ? schema && typeof schema == "object" && !Array.isArray(schema)
99
+ : typeof schema == st || (allowUndefined && typeof schema == "undefined")));
100
+ }
101
+ exports.validSchemaType = validSchemaType;
102
+ function validateKeywordUsage({ schema, opts, self, errSchemaPath }, def, keyword) {
103
+ /* istanbul ignore if */
104
+ if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) {
105
+ throw new Error("ajv implementation error");
106
+ }
107
+ const deps = def.dependencies;
108
+ if (deps === null || deps === void 0 ? void 0 : deps.some((kwd) => !Object.prototype.hasOwnProperty.call(schema, kwd))) {
109
+ throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(",")}`);
110
+ }
111
+ if (def.validateSchema) {
112
+ const valid = def.validateSchema(schema[keyword]);
113
+ if (!valid) {
114
+ const msg = `keyword "${keyword}" value is invalid at path "${errSchemaPath}": ` +
115
+ self.errorsText(def.validateSchema.errors);
116
+ if (opts.validateSchema === "log")
117
+ self.logger.error(msg);
118
+ else
119
+ throw new Error(msg);
120
+ }
121
+ }
122
+ }
123
+ exports.validateKeywordUsage = validateKeywordUsage;
124
+ //# sourceMappingURL=keyword.js.map