@kubb/agent 4.33.0 → 4.33.2

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 (392) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/server/chunks/nitro/nitro.mjs +3554 -2113
  3. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  4. package/.output/server/chunks/routes/api/health.get.mjs +5 -5
  5. package/.output/server/index.mjs +5 -5
  6. package/.output/server/node_modules/.nitro/picomatch@4.0.3/index.js +17 -0
  7. package/.output/server/node_modules/.nitro/picomatch@4.0.3/lib/constants.js +180 -0
  8. package/.output/server/node_modules/.nitro/picomatch@4.0.3/lib/parse.js +1085 -0
  9. package/.output/server/node_modules/.nitro/picomatch@4.0.3/lib/picomatch.js +341 -0
  10. package/.output/server/node_modules/.nitro/picomatch@4.0.3/lib/scan.js +391 -0
  11. package/.output/server/node_modules/.nitro/picomatch@4.0.3/lib/utils.js +72 -0
  12. package/.output/server/node_modules/.nitro/picomatch@4.0.3/package.json +83 -0
  13. package/.output/server/node_modules/@redocly/ajv/dist/2020.js +55 -0
  14. package/.output/server/node_modules/@redocly/ajv/dist/ajv.js +50 -0
  15. package/.output/server/node_modules/@redocly/ajv/dist/compile/codegen/code.js +156 -0
  16. package/.output/server/node_modules/@redocly/ajv/dist/compile/codegen/index.js +697 -0
  17. package/.output/server/node_modules/@redocly/ajv/dist/compile/codegen/scope.js +143 -0
  18. package/.output/server/node_modules/@redocly/ajv/dist/compile/errors.js +123 -0
  19. package/.output/server/node_modules/@redocly/ajv/dist/compile/index.js +249 -0
  20. package/.output/server/node_modules/@redocly/ajv/dist/compile/names.js +29 -0
  21. package/.output/server/node_modules/@redocly/ajv/dist/compile/ref_error.js +12 -0
  22. package/.output/server/node_modules/@redocly/ajv/dist/compile/resolve.js +155 -0
  23. package/.output/server/node_modules/@redocly/ajv/dist/compile/rules.js +26 -0
  24. package/.output/server/node_modules/@redocly/ajv/dist/compile/util.js +178 -0
  25. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/applicability.js +19 -0
  26. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/boolSchema.js +50 -0
  27. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/dataType.js +203 -0
  28. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/defaults.js +35 -0
  29. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/index.js +534 -0
  30. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/keyword.js +124 -0
  31. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/subschema.js +81 -0
  32. package/.output/server/node_modules/@redocly/ajv/dist/core.js +632 -0
  33. package/.output/server/node_modules/@redocly/ajv/dist/draft4.js +56 -0
  34. package/.output/server/node_modules/@redocly/ajv/dist/refs/data.json +13 -0
  35. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
  36. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
  37. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
  38. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
  39. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  40. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  41. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  42. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
  43. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
  44. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-draft-04.json +138 -0
  45. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-draft-07.json +151 -0
  46. package/.output/server/node_modules/@redocly/ajv/dist/runtime/equal.js +7 -0
  47. package/.output/server/node_modules/@redocly/ajv/dist/runtime/ucs2length.js +24 -0
  48. package/.output/server/node_modules/@redocly/ajv/dist/runtime/uri.js +6 -0
  49. package/.output/server/node_modules/@redocly/ajv/dist/runtime/validation_error.js +11 -0
  50. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  51. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/additionalProperties.js +107 -0
  52. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  53. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  54. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/contains.js +95 -0
  55. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  56. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
  57. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/if.js +66 -0
  58. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/index.js +44 -0
  59. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/items.js +52 -0
  60. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  61. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/not.js +26 -0
  62. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  63. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  64. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  65. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/properties.js +55 -0
  66. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  67. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  68. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/code.js +138 -0
  69. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/core/id.js +10 -0
  70. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/core/index.js +16 -0
  71. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/core/ref.js +132 -0
  72. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/discriminator/index.js +139 -0
  73. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/discriminator/types.js +9 -0
  74. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/draft2020.js +23 -0
  75. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/draft4.js +29 -0
  76. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/draft7.js +17 -0
  77. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
  78. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
  79. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/dynamic/index.js +9 -0
  80. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
  81. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
  82. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/format/format.js +92 -0
  83. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/format/index.js +6 -0
  84. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/metadata.js +26 -0
  85. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/next.js +8 -0
  86. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/oasContext.js +26 -0
  87. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/unevaluated/index.js +7 -0
  88. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
  89. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +84 -0
  90. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/const.js +25 -0
  91. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
  92. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/draft04/limitNumber.js +43 -0
  93. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/draft04/limitNumberExclusive.js +19 -0
  94. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/enum.js +48 -0
  95. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/index.js +37 -0
  96. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/limitContains.js +15 -0
  97. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  98. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  99. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  100. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  101. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  102. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/pattern.js +33 -0
  103. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/readOnly.js +20 -0
  104. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/required.js +86 -0
  105. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  106. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/writeOnly.js +20 -0
  107. package/.output/server/node_modules/@redocly/ajv/package.json +130 -0
  108. package/.output/server/node_modules/@redocly/config/lib/common.js +103 -0
  109. package/.output/server/node_modules/@redocly/config/lib/constants/config.js +17 -0
  110. package/.output/server/node_modules/@redocly/config/lib/constants/entities.js +58 -0
  111. package/.output/server/node_modules/@redocly/config/lib/constants/enum.js +6 -0
  112. package/.output/server/node_modules/@redocly/config/lib/constants/shared.js +22 -0
  113. package/.output/server/node_modules/@redocly/config/lib/default-theme-config-schema.js +54 -0
  114. package/.output/server/node_modules/@redocly/config/lib/entities-catalog-config-schema.js +186 -0
  115. package/.output/server/node_modules/@redocly/config/lib/entities-catalog-entity-file-schema.js +283 -0
  116. package/.output/server/node_modules/@redocly/config/lib/ex-theme-config-schemas.js +682 -0
  117. package/.output/server/node_modules/@redocly/config/lib/feedback-config-schema.js +88 -0
  118. package/.output/server/node_modules/@redocly/config/lib/graphql-config-schema.js +157 -0
  119. package/.output/server/node_modules/@redocly/config/lib/index.js +41 -0
  120. package/.output/server/node_modules/@redocly/config/lib/product-override-schema.js +43 -0
  121. package/.output/server/node_modules/@redocly/config/lib/redoc-config-schema.js +120 -0
  122. package/.output/server/node_modules/@redocly/config/lib/reference-docs-config-schema.js +518 -0
  123. package/.output/server/node_modules/@redocly/config/lib/remove-property-recursively.js +25 -0
  124. package/.output/server/node_modules/@redocly/config/lib/reunite-config-schema.js +103 -0
  125. package/.output/server/node_modules/@redocly/config/lib/root-config-schema.js +558 -0
  126. package/.output/server/node_modules/@redocly/config/lib/scorecards-config-schema.js +242 -0
  127. package/.output/server/node_modules/@redocly/config/lib/types/api-functions-types.js +3 -0
  128. package/.output/server/node_modules/@redocly/config/lib/types/catalog-entity-types.js +3 -0
  129. package/.output/server/node_modules/@redocly/config/lib/types/code-walkthrough-types.js +3 -0
  130. package/.output/server/node_modules/@redocly/config/lib/types/config-types.js +3 -0
  131. package/.output/server/node_modules/@redocly/config/lib/types/index.js +21 -0
  132. package/.output/server/node_modules/@redocly/config/lib/types/portal-shared-types.js +18 -0
  133. package/.output/server/node_modules/@redocly/config/package.json +28 -0
  134. package/.output/server/node_modules/@redocly/openapi-core/lib/bundle/bundle-document.js +85 -0
  135. package/.output/server/node_modules/@redocly/openapi-core/lib/bundle/bundle-visitor.js +257 -0
  136. package/.output/server/node_modules/@redocly/openapi-core/lib/bundle/bundle.js +74 -0
  137. package/.output/server/node_modules/@redocly/openapi-core/lib/config/all.js +310 -0
  138. package/.output/server/node_modules/@redocly/openapi-core/lib/config/builtIn.js +58 -0
  139. package/.output/server/node_modules/@redocly/openapi-core/lib/config/bundle-extends.js +27 -0
  140. package/.output/server/node_modules/@redocly/openapi-core/lib/config/config-resolvers.js +335 -0
  141. package/.output/server/node_modules/@redocly/openapi-core/lib/config/config.js +338 -0
  142. package/.output/server/node_modules/@redocly/openapi-core/lib/config/constants.js +13 -0
  143. package/.output/server/node_modules/@redocly/openapi-core/lib/config/get-resolve-config.js +9 -0
  144. package/.output/server/node_modules/@redocly/openapi-core/lib/config/group-assertion-rules.js +51 -0
  145. package/.output/server/node_modules/@redocly/openapi-core/lib/config/index.js +8 -0
  146. package/.output/server/node_modules/@redocly/openapi-core/lib/config/load.js +98 -0
  147. package/.output/server/node_modules/@redocly/openapi-core/lib/config/minimal.js +289 -0
  148. package/.output/server/node_modules/@redocly/openapi-core/lib/config/recommended-strict.js +289 -0
  149. package/.output/server/node_modules/@redocly/openapi-core/lib/config/recommended.js +289 -0
  150. package/.output/server/node_modules/@redocly/openapi-core/lib/config/rules.js +35 -0
  151. package/.output/server/node_modules/@redocly/openapi-core/lib/config/spec.js +289 -0
  152. package/.output/server/node_modules/@redocly/openapi-core/lib/config/types.js +2 -0
  153. package/.output/server/node_modules/@redocly/openapi-core/lib/config/utils.js +129 -0
  154. package/.output/server/node_modules/@redocly/openapi-core/lib/config/visitors.js +99 -0
  155. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/arazzo/index.js +2 -0
  156. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/async2/index.js +2 -0
  157. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/async3/index.js +2 -0
  158. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/filters/filter-helper.js +65 -0
  159. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/filters/filter-in.js +14 -0
  160. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/filters/filter-out.js +14 -0
  161. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/info-description-override.js +21 -0
  162. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/info-override.js +14 -0
  163. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/media-type-examples-override.js +58 -0
  164. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/operation-description-override.js +27 -0
  165. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/remove-x-internal.js +68 -0
  166. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/tag-description-override.js +23 -0
  167. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas2/index.js +19 -0
  168. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas2/remove-unused-components.js +88 -0
  169. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas3/index.js +21 -0
  170. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas3/remove-unused-components.js +116 -0
  171. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/openrpc/index.js +2 -0
  172. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/overlay1/index.js +2 -0
  173. package/.output/server/node_modules/@redocly/openapi-core/lib/detect-spec.js +79 -0
  174. package/.output/server/node_modules/@redocly/openapi-core/lib/env.js +5 -0
  175. package/.output/server/node_modules/@redocly/openapi-core/lib/errors/yaml-parse-error.js +14 -0
  176. package/.output/server/node_modules/@redocly/openapi-core/lib/format/codeframes.js +177 -0
  177. package/.output/server/node_modules/@redocly/openapi-core/lib/format/format.js +365 -0
  178. package/.output/server/node_modules/@redocly/openapi-core/lib/index.js +49 -0
  179. package/.output/server/node_modules/@redocly/openapi-core/lib/js-yaml/index.js +11 -0
  180. package/.output/server/node_modules/@redocly/openapi-core/lib/lint-entity.js +171 -0
  181. package/.output/server/node_modules/@redocly/openapi-core/lib/lint.js +123 -0
  182. package/.output/server/node_modules/@redocly/openapi-core/lib/logger.js +56 -0
  183. package/.output/server/node_modules/@redocly/openapi-core/lib/oas-types.js +35 -0
  184. package/.output/server/node_modules/@redocly/openapi-core/lib/ref-utils.js +109 -0
  185. package/.output/server/node_modules/@redocly/openapi-core/lib/resolve.js +326 -0
  186. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/ajv.js +106 -0
  187. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/criteria-unique.js +68 -0
  188. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/index.js +52 -0
  189. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/outputs-defined.js +139 -0
  190. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/parameters-unique.js +27 -0
  191. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/requestBody-replacements-unique.js +30 -0
  192. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/sourceDescription-type.js +19 -0
  193. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/sourceDescriptions-name-unique.js +21 -0
  194. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/sourceDescriptions-not-empty.js +15 -0
  195. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/step-onFailure-unique.js +27 -0
  196. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/step-onSuccess-unique.js +27 -0
  197. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/stepId-unique.js +23 -0
  198. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/workflow-dependsOn.js +53 -0
  199. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/workflowId-unique.js +19 -0
  200. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async2/channels-kebab-case.js +16 -0
  201. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async2/index.js +32 -0
  202. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async2/no-channel-trailing-slash.js +13 -0
  203. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async3/channels-kebab-case.js +16 -0
  204. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async3/index.js +32 -0
  205. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async3/no-channel-trailing-slash.js +13 -0
  206. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/catalog-entity/entity-key-valid.js +39 -0
  207. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/assertions/asserts.js +269 -0
  208. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/assertions/index.js +22 -0
  209. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/assertions/utils.js +215 -0
  210. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/info-contact.js +14 -0
  211. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/info-license-strict.js +23 -0
  212. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/info-license.js +14 -0
  213. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-ambiguous-paths.js +42 -0
  214. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-duplicated-tag-names.js +21 -0
  215. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-enum-type-mismatch.js +38 -0
  216. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-http-verbs-in-paths.js +31 -0
  217. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-identical-paths.js +21 -0
  218. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-invalid-parameter-examples.js +32 -0
  219. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-invalid-schema-examples.js +34 -0
  220. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-path-trailing-slash.js +13 -0
  221. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-required-schema-properties-undefined.js +78 -0
  222. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-schema-type-mismatch.js +19 -0
  223. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-unresolved-refs.js +42 -0
  224. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-2xx-response.js +20 -0
  225. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-4xx-response.js +20 -0
  226. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-description.js +9 -0
  227. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-operationId-unique.js +17 -0
  228. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-operationId-url-safe.js +15 -0
  229. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-operationId.js +13 -0
  230. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-parameters-unique.js +37 -0
  231. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-singular-tag.js +13 -0
  232. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-summary.js +9 -0
  233. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-tag-defined.js +27 -0
  234. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/parameter-description.js +19 -0
  235. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-declaration-must-exist.js +13 -0
  236. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-http-verbs-order.js +23 -0
  237. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-not-include-query.js +15 -0
  238. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-params-defined.js +145 -0
  239. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-segment-plural.js +30 -0
  240. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/paths-kebab-case.js +17 -0
  241. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/required-string-property-missing-min-length.js +34 -0
  242. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/response-contains-header.js +26 -0
  243. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/scalar-property-missing-example.js +39 -0
  244. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/security-defined.js +62 -0
  245. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/spec-strict-refs.js +27 -0
  246. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/struct.js +150 -0
  247. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/tag-description.js +9 -0
  248. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/tags-alphabetical.js +18 -0
  249. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/boolean-parameter-prefixes.js +19 -0
  250. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/index.js +93 -0
  251. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/request-mime-type.js +14 -0
  252. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/response-contains-property.js +34 -0
  253. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/response-mime-type.js +14 -0
  254. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/array-parameter-serialization.js +26 -0
  255. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/boolean-parameter-prefixes.js +21 -0
  256. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/component-name-unique.js +130 -0
  257. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/index.js +129 -0
  258. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-empty-servers.js +20 -0
  259. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-example-value-and-externalValue.js +13 -0
  260. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-invalid-media-type-examples.js +59 -0
  261. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-server-example.com.js +15 -0
  262. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-server-trailing-slash.js +15 -0
  263. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-server-variables-empty-enum.js +58 -0
  264. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-undefined-server-variable.js +28 -0
  265. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-unused-components.js +83 -0
  266. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/nullable-type-sibling.js +15 -0
  267. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js +33 -0
  268. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/request-mime-type.js +28 -0
  269. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/response-contains-property.js +36 -0
  270. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/response-mime-type.js +28 -0
  271. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-components-invalid-map-name.js +59 -0
  272. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-discriminator-defaultMapping.js +32 -0
  273. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-example-values.js +31 -0
  274. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-no-invalid-encoding-combinations.js +16 -0
  275. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-no-invalid-tag-parents.js +38 -0
  276. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-querystring-parameters.js +65 -0
  277. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/index.js +20 -0
  278. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/no-unused-components.js +82 -0
  279. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/spec-no-duplicated-method-params.js +28 -0
  280. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/spec-no-required-params-after-optional.js +31 -0
  281. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/other/stats.js +190 -0
  282. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/overlay1/index.js +12 -0
  283. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/no-criteria-xpath.js +20 -0
  284. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/no-x-security-both-scheme-and-scheme-name.js +30 -0
  285. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/no-x-security-scheme-name-without-openapi.js +25 -0
  286. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/respect-supported-versions.js +18 -0
  287. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/x-security-scheme-name-reference.js +35 -0
  288. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/x-security-scheme-required-values.js +60 -0
  289. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/utils.js +172 -0
  290. package/.output/server/node_modules/@redocly/openapi-core/lib/types/arazzo.js +482 -0
  291. package/.output/server/node_modules/@redocly/openapi-core/lib/types/asyncapi2.js +1157 -0
  292. package/.output/server/node_modules/@redocly/openapi-core/lib/types/asyncapi3.js +511 -0
  293. package/.output/server/node_modules/@redocly/openapi-core/lib/types/entity.js +32 -0
  294. package/.output/server/node_modules/@redocly/openapi-core/lib/types/index.js +90 -0
  295. package/.output/server/node_modules/@redocly/openapi-core/lib/types/json-schema-adapter.js +181 -0
  296. package/.output/server/node_modules/@redocly/openapi-core/lib/types/json-schema-draft7.shared.js +101 -0
  297. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas2.js +454 -0
  298. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas3.js +828 -0
  299. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas3_1.js +292 -0
  300. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas3_2.js +306 -0
  301. package/.output/server/node_modules/@redocly/openapi-core/lib/types/openrpc.js +360 -0
  302. package/.output/server/node_modules/@redocly/openapi-core/lib/types/overlay.js +61 -0
  303. package/.output/server/node_modules/@redocly/openapi-core/lib/types/redocly-yaml.js +573 -0
  304. package/.output/server/node_modules/@redocly/openapi-core/lib/typings/arazzo.js +3 -0
  305. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/assign-config.js +28 -0
  306. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/dequal.js +36 -0
  307. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/does-yaml-file-exist.js +7 -0
  308. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/error.js +3 -0
  309. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/get-intersection-length.js +11 -0
  310. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/get-matching-status-code-range.js +4 -0
  311. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/get-own.js +4 -0
  312. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/identity.js +4 -0
  313. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-custom-rule-id.js +4 -0
  314. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-defined.js +4 -0
  315. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-empty-array.js +4 -0
  316. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-empty-object.js +5 -0
  317. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-not-empty-array.js +4 -0
  318. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-not-empty-object.js +6 -0
  319. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-not-string.js +5 -0
  320. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-ordered.js +27 -0
  321. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-path-parameter.js +4 -0
  322. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-plain-object.js +4 -0
  323. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-string.js +4 -0
  324. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-truthy.js +4 -0
  325. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/keys-of.js +6 -0
  326. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/make-ref-id.js +4 -0
  327. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/next-tick.js +6 -0
  328. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/oas-has-component.js +4 -0
  329. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/omit.js +8 -0
  330. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/pause.js +4 -0
  331. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/pluralize.js +8 -0
  332. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/read-file-from-url.js +26 -0
  333. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/regex-from-string.js +5 -0
  334. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/scorecards.js +99 -0
  335. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/slash.js +11 -0
  336. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/split-camel-case-into-words.js +13 -0
  337. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/stack.js +7 -0
  338. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/validate-mime-type.js +31 -0
  339. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/yaml-fs-helper.js +23 -0
  340. package/.output/server/node_modules/@redocly/openapi-core/lib/visitors.js +177 -0
  341. package/.output/server/node_modules/@redocly/openapi-core/lib/walk.js +303 -0
  342. package/.output/server/node_modules/@redocly/openapi-core/package.json +74 -0
  343. package/.output/server/node_modules/ajv-formats/dist/formats.js +208 -0
  344. package/.output/server/node_modules/ajv-formats/dist/index.js +37 -0
  345. package/.output/server/node_modules/ajv-formats/dist/limit.js +69 -0
  346. package/.output/server/node_modules/ajv-formats/package.json +74 -0
  347. package/.output/server/node_modules/colorette/index.js +82 -0
  348. package/.output/server/node_modules/colorette/package.json +39 -0
  349. package/.output/server/node_modules/js-levenshtein/index.js +105 -0
  350. package/.output/server/node_modules/js-levenshtein/package.json +49 -0
  351. package/.output/server/node_modules/pluralize/package.json +40 -0
  352. package/.output/server/node_modules/pluralize/pluralize.js +503 -0
  353. package/.output/server/node_modules/yaml-ast-parser/dist/src/common.js +45 -0
  354. package/.output/server/node_modules/yaml-ast-parser/dist/src/dumper.js +644 -0
  355. package/.output/server/node_modules/yaml-ast-parser/dist/src/exception.js +40 -0
  356. package/.output/server/node_modules/yaml-ast-parser/dist/src/index.js +22 -0
  357. package/.output/server/node_modules/yaml-ast-parser/dist/src/loader.js +1416 -0
  358. package/.output/server/node_modules/yaml-ast-parser/dist/src/mark.js +62 -0
  359. package/.output/server/node_modules/yaml-ast-parser/dist/src/scalarInference.js +82 -0
  360. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/core.js +8 -0
  361. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/default_full.js +14 -0
  362. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/default_safe.js +19 -0
  363. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/failsafe.js +10 -0
  364. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/json.js +14 -0
  365. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema.js +78 -0
  366. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/binary.js +92 -0
  367. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/bool.js +32 -0
  368. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/float.js +95 -0
  369. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/int.js +155 -0
  370. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/js/regexp.js +64 -0
  371. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/js/undefined.js +22 -0
  372. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/map.js +7 -0
  373. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/merge.js +10 -0
  374. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/null.js +30 -0
  375. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/omap.js +46 -0
  376. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/pairs.js +55 -0
  377. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/seq.js +7 -0
  378. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/set.js +22 -0
  379. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/str.js +7 -0
  380. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/timestamp.js +70 -0
  381. package/.output/server/node_modules/yaml-ast-parser/dist/src/type.js +54 -0
  382. package/.output/server/node_modules/yaml-ast-parser/dist/src/yamlAST.js +82 -0
  383. package/.output/server/node_modules/yaml-ast-parser/package.json +39 -0
  384. package/.output/server/package.json +9 -1
  385. package/package.json +18 -17
  386. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/index.js +0 -0
  387. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/lib/constants.js +0 -0
  388. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/lib/parse.js +0 -0
  389. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/lib/picomatch.js +0 -0
  390. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/lib/scan.js +0 -0
  391. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/lib/utils.js +0 -0
  392. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/package.json +0 -0
@@ -0,0 +1,534 @@
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}, ${names_1.default.isAllOfVariant} = 0}={}`;
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
+ gen.var(names_1.default.isAllOfVariant, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.isAllOfVariant}`);
50
+ if (opts.dynamicRef)
51
+ gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`);
52
+ }, () => {
53
+ gen.var(names_1.default.instancePath, (0, codegen_1._) `""`);
54
+ gen.var(names_1.default.parentData, (0, codegen_1._) `undefined`);
55
+ gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `undefined`);
56
+ gen.var(names_1.default.rootData, names_1.default.data);
57
+ gen.var(names_1.default.isAllOfVariant, (0, codegen_1._) `0`);
58
+ if (opts.dynamicRef)
59
+ gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `{}`);
60
+ });
61
+ }
62
+ function topSchemaObjCode(it) {
63
+ const { schema, opts, gen } = it;
64
+ validateFunction(it, () => {
65
+ if (opts.$comment && schema.$comment)
66
+ commentKeyword(it);
67
+ checkNoDefault(it);
68
+ gen.let(names_1.default.vErrors, null);
69
+ gen.let(names_1.default.errors, 0);
70
+ if (opts.unevaluated)
71
+ resetEvaluated(it);
72
+ typeAndKeywords(it);
73
+ returnResults(it);
74
+ });
75
+ return;
76
+ }
77
+ function resetEvaluated(it) {
78
+ // TODO maybe some hook to execute it in the end to check whether props/items are Name, as in assignEvaluated
79
+ const { gen, validateName } = it;
80
+ it.evaluated = gen.const("evaluated", (0, codegen_1._) `${validateName}.evaluated`);
81
+ gen.if((0, codegen_1._) `${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._) `${it.evaluated}.props`, (0, codegen_1._) `undefined`));
82
+ gen.if((0, codegen_1._) `${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._) `${it.evaluated}.items`, (0, codegen_1._) `undefined`));
83
+ }
84
+ function funcSourceUrl(schema, opts) {
85
+ const schId = typeof schema == "object" && schema[opts.schemaId];
86
+ return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._) `/*# sourceURL=${schId} */` : codegen_1.nil;
87
+ }
88
+ // schema compilation - this function is used recursively to generate code for sub-schemas
89
+ function subschemaCode(it, valid) {
90
+ if (isSchemaObj(it)) {
91
+ checkKeywords(it);
92
+ if (schemaCxtHasRules(it)) {
93
+ subSchemaObjCode(it, valid);
94
+ return;
95
+ }
96
+ }
97
+ (0, boolSchema_1.boolOrEmptySchema)(it, valid);
98
+ }
99
+ function schemaCxtHasRules({ schema, self }) {
100
+ if (typeof schema == "boolean")
101
+ return !schema;
102
+ for (const key in schema)
103
+ if (self.RULES.all[key])
104
+ return true;
105
+ return false;
106
+ }
107
+ function isSchemaObj(it) {
108
+ return typeof it.schema != "boolean";
109
+ }
110
+ function subSchemaObjCode(it, valid) {
111
+ const { schema, gen, opts } = it;
112
+ if (opts.$comment && schema.$comment)
113
+ commentKeyword(it);
114
+ updateContext(it);
115
+ checkAsyncSchema(it);
116
+ const errsCount = gen.const("_errs", names_1.default.errors);
117
+ typeAndKeywords(it, errsCount);
118
+ // TODO var
119
+ gen.var(valid, (0, codegen_1._) `${errsCount} === ${names_1.default.errors}`);
120
+ }
121
+ function checkKeywords(it) {
122
+ (0, util_1.checkUnknownRules)(it);
123
+ checkRefsAndKeywords(it);
124
+ }
125
+ function typeAndKeywords(it, errsCount) {
126
+ if (it.opts.jtd)
127
+ return schemaKeywords(it, [], false, errsCount);
128
+ const types = (0, dataType_1.getSchemaTypes)(it.schema);
129
+ const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types);
130
+ schemaKeywords(it, types, !checkedTypes, errsCount);
131
+ }
132
+ function checkRefsAndKeywords(it) {
133
+ const { schema, errSchemaPath, opts, self } = it;
134
+ if (schema.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema, self.RULES)) {
135
+ self.logger.warn(`$ref: keywords ignored in schema at path "${errSchemaPath}"`);
136
+ }
137
+ }
138
+ function checkNoDefault(it) {
139
+ const { schema, opts } = it;
140
+ if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) {
141
+ (0, util_1.checkStrictMode)(it, "default is ignored in the schema root");
142
+ }
143
+ }
144
+ function updateContext(it) {
145
+ const schId = it.schema[it.opts.schemaId];
146
+ if (schId)
147
+ it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId);
148
+ }
149
+ function checkAsyncSchema(it) {
150
+ if (it.schema.$async && !it.schemaEnv.$async)
151
+ throw new Error("async schema in sync schema");
152
+ }
153
+ function commentKeyword({ gen, schemaEnv, schema, errSchemaPath, opts }) {
154
+ const msg = schema.$comment;
155
+ if (opts.$comment === true) {
156
+ gen.code((0, codegen_1._) `${names_1.default.self}.logger.log(${msg})`);
157
+ }
158
+ else if (typeof opts.$comment == "function") {
159
+ const schemaPath = (0, codegen_1.str) `${errSchemaPath}/$comment`;
160
+ const rootName = gen.scopeValue("root", { ref: schemaEnv.root });
161
+ gen.code((0, codegen_1._) `${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`);
162
+ }
163
+ }
164
+ function returnResults(it) {
165
+ const { gen, schemaEnv, validateName, ValidationError, opts } = it;
166
+ if (schemaEnv.$async) {
167
+ // TODO assign unevaluated
168
+ 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})`));
169
+ }
170
+ else {
171
+ gen.assign((0, codegen_1._) `${validateName}.errors`, names_1.default.vErrors);
172
+ if (opts.unevaluated)
173
+ assignEvaluated(it);
174
+ gen.return((0, codegen_1._) `${names_1.default.errors} === 0`);
175
+ }
176
+ }
177
+ function assignEvaluated({ gen, evaluated, props, items }) {
178
+ if (props instanceof codegen_1.Name)
179
+ gen.assign((0, codegen_1._) `${evaluated}.props`, props);
180
+ if (items instanceof codegen_1.Name)
181
+ gen.assign((0, codegen_1._) `${evaluated}.items`, items);
182
+ }
183
+ function schemaKeywords(it, types, typeErrors, errsCount) {
184
+ const { gen, schema, data, allErrors, opts, self } = it;
185
+ const { RULES } = self;
186
+ if (schema.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema, RULES))) {
187
+ gen.block(() => keywordCode(it, "$ref", RULES.all.$ref.definition)); // TODO typecast
188
+ return;
189
+ }
190
+ if (!opts.jtd)
191
+ checkStrictTypes(it, types);
192
+ gen.block(() => {
193
+ for (const group of RULES.rules)
194
+ groupKeywords(group);
195
+ groupKeywords(RULES.post);
196
+ });
197
+ function groupKeywords(group) {
198
+ if (!(0, applicability_1.shouldUseGroup)(schema, group))
199
+ return;
200
+ if (group.type) {
201
+ gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers));
202
+ iterateKeywords(it, group);
203
+ if (types.length === 1 && types[0] === group.type && typeErrors) {
204
+ gen.else();
205
+ (0, dataType_2.reportTypeError)(it);
206
+ }
207
+ gen.endIf();
208
+ }
209
+ else {
210
+ iterateKeywords(it, group);
211
+ }
212
+ // TODO make it "ok" call?
213
+ if (!allErrors)
214
+ gen.if((0, codegen_1._) `${names_1.default.errors} === ${errsCount || 0}`);
215
+ }
216
+ }
217
+ function iterateKeywords(it, group) {
218
+ const { gen, schema, opts: { useDefaults }, } = it;
219
+ if (useDefaults)
220
+ (0, defaults_1.assignDefaults)(it, group.type);
221
+ gen.block(() => {
222
+ for (const rule of group.rules) {
223
+ if ((0, applicability_1.shouldUseRule)(schema, rule) || shouldForceUnevaluatedProperties(schema, rule)) {
224
+ keywordCode(it, rule.keyword, rule.definition, group.type);
225
+ }
226
+ }
227
+ });
228
+ function shouldForceUnevaluatedProperties(schemaObj, rule) {
229
+ return !!(rule.keyword === "unevaluatedProperties" &&
230
+ (schemaObj.properties || schemaObj.patternProperties) &&
231
+ !it.isAllOfVariant &&
232
+ it.opts.defaultUnevaluatedProperties === false);
233
+ }
234
+ }
235
+ function checkStrictTypes(it, types) {
236
+ if (it.schemaEnv.meta || !it.opts.strictTypes)
237
+ return;
238
+ checkContextTypes(it, types);
239
+ if (!it.opts.allowUnionTypes)
240
+ checkMultipleTypes(it, types);
241
+ checkKeywordTypes(it, it.dataTypes);
242
+ }
243
+ function checkContextTypes(it, types) {
244
+ if (!types.length)
245
+ return;
246
+ if (!it.dataTypes.length) {
247
+ it.dataTypes = types;
248
+ return;
249
+ }
250
+ types.forEach((t) => {
251
+ if (!includesType(it.dataTypes, t)) {
252
+ strictTypesError(it, `type "${t}" not allowed by context "${it.dataTypes.join(",")}"`);
253
+ }
254
+ });
255
+ narrowSchemaTypes(it, types);
256
+ }
257
+ function checkMultipleTypes(it, ts) {
258
+ if (ts.length > 1 && !(ts.length === 2 && ts.includes("null"))) {
259
+ strictTypesError(it, "use allowUnionTypes to allow union type keyword");
260
+ }
261
+ }
262
+ function checkKeywordTypes(it, ts) {
263
+ const rules = it.self.RULES.all;
264
+ for (const keyword in rules) {
265
+ const rule = rules[keyword];
266
+ if (typeof rule == "object" && (0, applicability_1.shouldUseRule)(it.schema, rule)) {
267
+ const { type } = rule.definition;
268
+ if (type.length && !type.some((t) => hasApplicableType(ts, t))) {
269
+ strictTypesError(it, `missing type "${type.join(",")}" for keyword "${keyword}"`);
270
+ }
271
+ }
272
+ }
273
+ }
274
+ function hasApplicableType(schTs, kwdT) {
275
+ return schTs.includes(kwdT) || (kwdT === "number" && schTs.includes("integer"));
276
+ }
277
+ function includesType(ts, t) {
278
+ return ts.includes(t) || (t === "integer" && ts.includes("number"));
279
+ }
280
+ function narrowSchemaTypes(it, withTypes) {
281
+ const ts = [];
282
+ for (const t of it.dataTypes) {
283
+ if (includesType(withTypes, t))
284
+ ts.push(t);
285
+ else if (withTypes.includes("integer") && t === "number")
286
+ ts.push("integer");
287
+ }
288
+ it.dataTypes = ts;
289
+ }
290
+ function strictTypesError(it, msg) {
291
+ const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;
292
+ msg += ` at "${schemaPath}" (strictTypes)`;
293
+ (0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes);
294
+ }
295
+ class KeywordCxt {
296
+ constructor(it, def, keyword) {
297
+ (0, keyword_1.validateKeywordUsage)(it, def, keyword);
298
+ this.gen = it.gen;
299
+ this.allErrors = it.allErrors;
300
+ this.keyword = keyword;
301
+ this.data = it.data;
302
+ this.schema = it.schema[keyword];
303
+ this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data;
304
+ this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data);
305
+ this.schemaType = def.schemaType;
306
+ this.parentSchema = it.schema;
307
+ this.params = {};
308
+ this.it = it;
309
+ this.def = def;
310
+ if (this.$data) {
311
+ this.schemaCode = it.gen.const("vSchema", getData(this.$data, it));
312
+ }
313
+ else {
314
+ this.schemaCode = this.schemaValue;
315
+ if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) {
316
+ throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`);
317
+ }
318
+ }
319
+ if ("code" in def ? def.trackErrors : def.errors !== false) {
320
+ this.errsCount = it.gen.const("_errs", names_1.default.errors);
321
+ }
322
+ }
323
+ result(condition, successAction, failAction) {
324
+ this.failResult((0, codegen_1.not)(condition), successAction, failAction);
325
+ }
326
+ failResult(condition, successAction, failAction) {
327
+ this.gen.if(condition);
328
+ if (failAction)
329
+ failAction();
330
+ else
331
+ this.error();
332
+ if (successAction) {
333
+ this.gen.else();
334
+ successAction();
335
+ if (this.allErrors)
336
+ this.gen.endIf();
337
+ }
338
+ else {
339
+ if (this.allErrors)
340
+ this.gen.endIf();
341
+ else
342
+ this.gen.else();
343
+ }
344
+ }
345
+ pass(condition, failAction) {
346
+ this.failResult((0, codegen_1.not)(condition), undefined, failAction);
347
+ }
348
+ fail(condition) {
349
+ if (condition === undefined) {
350
+ this.error();
351
+ if (!this.allErrors)
352
+ this.gen.if(false); // this branch will be removed by gen.optimize
353
+ return;
354
+ }
355
+ this.gen.if(condition);
356
+ this.error();
357
+ if (this.allErrors)
358
+ this.gen.endIf();
359
+ else
360
+ this.gen.else();
361
+ }
362
+ fail$data(condition) {
363
+ if (!this.$data)
364
+ return this.fail(condition);
365
+ const { schemaCode } = this;
366
+ this.fail((0, codegen_1._) `${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`);
367
+ }
368
+ error(append, errorParams, errorPaths) {
369
+ if (errorParams) {
370
+ this.setParams(errorParams);
371
+ this._error(append, errorPaths);
372
+ this.setParams({});
373
+ return;
374
+ }
375
+ this._error(append, errorPaths);
376
+ }
377
+ _error(append, errorPaths) {
378
+ ;
379
+ (append ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths);
380
+ }
381
+ $dataError() {
382
+ (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError);
383
+ }
384
+ reset() {
385
+ if (this.errsCount === undefined)
386
+ throw new Error('add "trackErrors" to keyword definition');
387
+ (0, errors_1.resetErrorsCount)(this.gen, this.errsCount);
388
+ }
389
+ ok(cond) {
390
+ if (!this.allErrors)
391
+ this.gen.if(cond);
392
+ }
393
+ setParams(obj, assign) {
394
+ if (assign)
395
+ Object.assign(this.params, obj);
396
+ else
397
+ this.params = obj;
398
+ }
399
+ block$data(valid, codeBlock, $dataValid = codegen_1.nil) {
400
+ this.gen.block(() => {
401
+ this.check$data(valid, $dataValid);
402
+ codeBlock();
403
+ });
404
+ }
405
+ check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) {
406
+ if (!this.$data)
407
+ return;
408
+ const { gen, schemaCode, schemaType, def } = this;
409
+ gen.if((0, codegen_1.or)((0, codegen_1._) `${schemaCode} === undefined`, $dataValid));
410
+ if (valid !== codegen_1.nil)
411
+ gen.assign(valid, true);
412
+ if (schemaType.length || def.validateSchema) {
413
+ gen.elseIf(this.invalid$data());
414
+ this.$dataError();
415
+ if (valid !== codegen_1.nil)
416
+ gen.assign(valid, false);
417
+ }
418
+ gen.else();
419
+ }
420
+ invalid$data() {
421
+ const { gen, schemaCode, schemaType, def, it } = this;
422
+ return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema());
423
+ function wrong$DataType() {
424
+ if (schemaType.length) {
425
+ /* istanbul ignore if */
426
+ if (!(schemaCode instanceof codegen_1.Name))
427
+ throw new Error("ajv implementation error");
428
+ const st = Array.isArray(schemaType) ? schemaType : [schemaType];
429
+ return (0, codegen_1._) `${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`;
430
+ }
431
+ return codegen_1.nil;
432
+ }
433
+ function invalid$DataSchema() {
434
+ if (def.validateSchema) {
435
+ const validateSchemaRef = gen.scopeValue("validate$data", { ref: def.validateSchema }); // TODO value.code for standalone
436
+ return (0, codegen_1._) `!${validateSchemaRef}(${schemaCode})`;
437
+ }
438
+ return codegen_1.nil;
439
+ }
440
+ }
441
+ subschema(appl, valid, isAllOfVariant) {
442
+ const subschema = (0, subschema_1.getSubschema)(this.it, appl);
443
+ (0, subschema_1.extendSubschemaData)(subschema, this.it, appl);
444
+ (0, subschema_1.extendSubschemaMode)(subschema, appl);
445
+ const nextContext = {
446
+ ...this.it,
447
+ ...subschema,
448
+ items: undefined,
449
+ props: undefined,
450
+ isAllOfVariant,
451
+ };
452
+ subschemaCode(nextContext, valid);
453
+ return nextContext;
454
+ }
455
+ mergeEvaluated(schemaCxt, toName) {
456
+ const { it, gen } = this;
457
+ if (!it.opts.unevaluated)
458
+ return;
459
+ if (it.props !== true && schemaCxt.props !== undefined) {
460
+ it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName);
461
+ }
462
+ if (it.items !== true && schemaCxt.items !== undefined) {
463
+ it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName);
464
+ }
465
+ }
466
+ mergeValidEvaluated(schemaCxt, valid) {
467
+ const { it, gen } = this;
468
+ if (it.opts.unevaluated && (it.props !== true || it.items !== true)) {
469
+ gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name));
470
+ return true;
471
+ }
472
+ }
473
+ }
474
+ exports.KeywordCxt = KeywordCxt;
475
+ function keywordCode(it, keyword, def, ruleType) {
476
+ const cxt = new KeywordCxt(it, def, keyword);
477
+ if ("code" in def) {
478
+ def.code(cxt, ruleType);
479
+ }
480
+ else if (cxt.$data && def.validate) {
481
+ (0, keyword_1.funcKeywordCode)(cxt, def);
482
+ }
483
+ else if ("macro" in def) {
484
+ (0, keyword_1.macroKeywordCode)(cxt, def);
485
+ }
486
+ else if (def.compile || def.validate) {
487
+ (0, keyword_1.funcKeywordCode)(cxt, def);
488
+ }
489
+ }
490
+ const JSON_POINTER = /^\/(?:[^~]|~0|~1)*$/;
491
+ const RELATIVE_JSON_POINTER = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;
492
+ function getData($data, { dataLevel, dataNames, dataPathArr }) {
493
+ let jsonPointer;
494
+ let data;
495
+ if ($data === "")
496
+ return names_1.default.rootData;
497
+ if ($data[0] === "/") {
498
+ if (!JSON_POINTER.test($data))
499
+ throw new Error(`Invalid JSON-pointer: ${$data}`);
500
+ jsonPointer = $data;
501
+ data = names_1.default.rootData;
502
+ }
503
+ else {
504
+ const matches = RELATIVE_JSON_POINTER.exec($data);
505
+ if (!matches)
506
+ throw new Error(`Invalid JSON-pointer: ${$data}`);
507
+ const up = +matches[1];
508
+ jsonPointer = matches[2];
509
+ if (jsonPointer === "#") {
510
+ if (up >= dataLevel)
511
+ throw new Error(errorMsg("property/index", up));
512
+ return dataPathArr[dataLevel - up];
513
+ }
514
+ if (up > dataLevel)
515
+ throw new Error(errorMsg("data", up));
516
+ data = dataNames[dataLevel - up];
517
+ if (!jsonPointer)
518
+ return data;
519
+ }
520
+ let expr = data;
521
+ const segments = jsonPointer.split("/");
522
+ for (const segment of segments) {
523
+ if (segment) {
524
+ data = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`;
525
+ expr = (0, codegen_1._) `${expr} && ${data}`;
526
+ }
527
+ }
528
+ return expr;
529
+ function errorMsg(pointerType, up) {
530
+ return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`;
531
+ }
532
+ }
533
+ exports.getData = getData;
534
+ //# 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