fumadocs-openapi 10.10.3 → 11.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/css/generated/shared.css +1 -1159
  2. package/css/preset.css +1 -0
  3. package/dist/.translations/index.d.ts +80 -0
  4. package/dist/.translations/keys.js +80 -0
  5. package/dist/_virtual/_rolldown/runtime.js +1 -10
  6. package/dist/generate-file.d.ts +0 -4
  7. package/dist/generate-file.js +4 -5
  8. package/dist/i18n.d.ts +5 -100
  9. package/dist/i18n.js +8 -108
  10. package/dist/index.d.ts +4 -4
  11. package/dist/node_modules/.pnpm/{@scalar_openapi-upgrader@0.2.8 → @scalar_openapi-upgrader@0.2.9}/node_modules/@scalar/openapi-upgrader/dist/2.0-to-3.0/upgrade-from-two-to-three.js +1 -1
  12. package/dist/node_modules/.pnpm/{@scalar_openapi-upgrader@0.2.8 → @scalar_openapi-upgrader@0.2.9}/node_modules/@scalar/openapi-upgrader/dist/3.0-to-3.1/upgrade-from-three-to-three-one.js +1 -1
  13. package/dist/node_modules/.pnpm/{@scalar_openapi-upgrader@0.2.8 → @scalar_openapi-upgrader@0.2.9}/node_modules/@scalar/openapi-upgrader/dist/3.1-to-3.2/upgrade-from-three-one-to-three-two.js +1 -1
  14. package/dist/node_modules/.pnpm/{@scalar_openapi-upgrader@0.2.8 → @scalar_openapi-upgrader@0.2.9}/node_modules/@scalar/openapi-upgrader/dist/helpers/traverse.js +1 -1
  15. package/dist/node_modules/.pnpm/{@scalar_openapi-upgrader@0.2.8 → @scalar_openapi-upgrader@0.2.9}/node_modules/@scalar/openapi-upgrader/dist/upgrade.js +1 -1
  16. package/dist/playground/auth.js +4 -4
  17. package/dist/playground/client.d.ts +12 -21
  18. package/dist/playground/client.js +80 -59
  19. package/dist/playground/components/oauth-dialog.js +33 -33
  20. package/dist/playground/components/result-display.d.ts +1 -2
  21. package/dist/playground/components/result-display.js +7 -8
  22. package/dist/playground/components/server-select.js +11 -11
  23. package/dist/playground/status-info.js +29 -37
  24. package/dist/requests/generators/csharp.js +3 -3
  25. package/dist/requests/generators/curl.js +2 -2
  26. package/dist/requests/generators/go.js +2 -2
  27. package/dist/requests/generators/index.d.ts +28 -41
  28. package/dist/requests/generators/index.js +18 -35
  29. package/dist/requests/generators/java.js +2 -2
  30. package/dist/requests/generators/javascript.js +2 -2
  31. package/dist/requests/generators/python.js +2 -2
  32. package/dist/scalar/client.js +3 -2
  33. package/dist/scalar/index.d.ts +2 -2
  34. package/dist/scalar/index.js +10 -9
  35. package/dist/server/index.d.ts +23 -27
  36. package/dist/server/index.js +42 -38
  37. package/dist/server/proxy.d.ts +0 -6
  38. package/dist/server/proxy.js +2 -4
  39. package/dist/{_openapi/types.d.ts → types/openapi.d.ts} +127 -136
  40. package/dist/types.d.ts +14 -18
  41. package/dist/ui/base.d.ts +15 -162
  42. package/dist/ui/base.js +148 -107
  43. package/dist/ui/components/codeblock.js +6 -14
  44. package/dist/ui/components/heading.js +8 -4
  45. package/dist/ui/components/markdown.js +12 -0
  46. package/dist/ui/contexts/api.js +8 -26
  47. package/dist/ui/index.d.ts +204 -7
  48. package/dist/ui/index.js +10 -15
  49. package/dist/ui/operation/context.js +48 -0
  50. package/dist/ui/operation/index.js +168 -126
  51. package/dist/ui/operation/request-tabs.d.ts +10 -5
  52. package/dist/ui/operation/request-tabs.js +35 -22
  53. package/dist/ui/operation/response-tabs.d.ts +5 -2
  54. package/dist/ui/operation/response-tabs.js +22 -15
  55. package/dist/ui/operation/usage-tabs.js +144 -0
  56. package/dist/utils/document/dereference.d.ts +1 -1
  57. package/dist/utils/document/dereference.js +5 -8
  58. package/dist/utils/document/load.js +17 -0
  59. package/dist/utils/get-example-requests.d.ts +13 -0
  60. package/dist/{ui/operation → utils}/get-example-requests.js +31 -20
  61. package/dist/utils/pages/builder.d.ts +38 -10
  62. package/dist/utils/pages/builder.js +12 -10
  63. package/dist/utils/pages/preset-auto.d.ts +1 -2
  64. package/dist/utils/pages/preset-auto.js +15 -15
  65. package/dist/utils/pages/to-static-data.js +5 -4
  66. package/dist/utils/pages/to-text.d.ts +1 -0
  67. package/dist/utils/pages/to-text.js +21 -11
  68. package/dist/utils/remove-undefined.js +14 -9
  69. package/dist/utils/schema.d.ts +2 -0
  70. package/dist/utils/{schema/index.js → schema.js} +3 -30
  71. package/dist/{ui/client → utils}/storage-key.js +3 -3
  72. package/package.json +16 -29
  73. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/bundle.js +0 -239
  74. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/dereference.js +0 -187
  75. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/index.js +0 -136
  76. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/normalize-args.js +0 -41
  77. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/options.js +0 -124
  78. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parse.js +0 -109
  79. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/binary.js +0 -30
  80. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/json.js +0 -46
  81. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/text.js +0 -36
  82. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/yaml.js +0 -49
  83. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/pointer.js +0 -242
  84. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/ref.js +0 -247
  85. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/refs.js +0 -210
  86. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/resolve-external.js +0 -100
  87. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/resolvers/file.js +0 -41
  88. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/resolvers/http.js +0 -112
  89. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/convert-path-to-posix.js +0 -8
  90. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/errors.js +0 -146
  91. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/is-windows.js +0 -5
  92. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/maybe.js +0 -18
  93. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/next.js +0 -11
  94. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/plugins.js +0 -99
  95. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/schema-resources.js +0 -30
  96. package/dist/node_modules/.pnpm/@apidevtools_json-schema-ref-parser@15.3.5_@types_json-schema@7.0.15/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/url.js +0 -315
  97. package/dist/node_modules/.pnpm/@fastify_deepmerge@3.2.1/node_modules/@fastify/deepmerge/index.js +0 -108
  98. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/2020.js +0 -110
  99. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js +0 -138
  100. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js +0 -674
  101. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js +0 -141
  102. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js +0 -102
  103. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/index.js +0 -223
  104. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js +0 -28
  105. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js +0 -18
  106. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js +0 -133
  107. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js +0 -61
  108. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js +0 -146
  109. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js +0 -23
  110. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js +0 -48
  111. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js +0 -172
  112. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js +0 -31
  113. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js +0 -433
  114. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js +0 -113
  115. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js +0 -72
  116. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/core.js +0 -583
  117. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/data.js +0 -18
  118. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +0 -42
  119. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.js +0 -50
  120. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.js +0 -20
  121. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.js +0 -51
  122. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.js +0 -16
  123. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.js +0 -36
  124. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.js +0 -19
  125. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.js +0 -85
  126. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/schema.js +0 -59
  127. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js +0 -12
  128. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js +0 -25
  129. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js +0 -12
  130. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/validation_error.js +0 -16
  131. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +0 -57
  132. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +0 -96
  133. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +0 -29
  134. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +0 -16
  135. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +0 -89
  136. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +0 -87
  137. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +0 -16
  138. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js +0 -62
  139. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js +0 -60
  140. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js +0 -59
  141. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +0 -34
  142. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js +0 -31
  143. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +0 -51
  144. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +0 -61
  145. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +0 -17
  146. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +0 -52
  147. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +0 -41
  148. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +0 -17
  149. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js +0 -130
  150. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/id.js +0 -14
  151. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js +0 -22
  152. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js +0 -112
  153. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +0 -101
  154. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/types.js +0 -14
  155. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft2020.js +0 -35
  156. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +0 -46
  157. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +0 -45
  158. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/index.js +0 -22
  159. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +0 -20
  160. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +0 -15
  161. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js +0 -92
  162. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/index.js +0 -10
  163. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/metadata.js +0 -23
  164. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/next.js +0 -19
  165. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/index.js +0 -13
  166. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +0 -46
  167. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +0 -59
  168. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js +0 -27
  169. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +0 -17
  170. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js +0 -49
  171. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js +0 -48
  172. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitContains.js +0 -18
  173. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +0 -28
  174. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +0 -33
  175. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +0 -47
  176. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +0 -28
  177. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +0 -27
  178. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +0 -38
  179. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js +0 -72
  180. package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +0 -70
  181. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +0 -33
  182. package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js +0 -236
  183. package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js +0 -187
  184. package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js +0 -282
  185. package/dist/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +0 -78
  186. package/dist/playground/components/inputs.js +0 -419
  187. package/dist/playground/components/spinner.js +0 -15
  188. package/dist/playground/schema.d.ts +0 -15
  189. package/dist/playground/schema.js +0 -144
  190. package/dist/ui/api-page.d.ts +0 -31
  191. package/dist/ui/api-page.js +0 -59
  192. package/dist/ui/client/boundary.d.ts +0 -11
  193. package/dist/ui/client/boundary.js +0 -17
  194. package/dist/ui/client/boundary.lazy.js +0 -19
  195. package/dist/ui/client/full.js +0 -13
  196. package/dist/ui/client/i18n.js +0 -16
  197. package/dist/ui/client/index.d.ts +0 -42
  198. package/dist/ui/client/index.js +0 -7
  199. package/dist/ui/components/accordion.js +0 -67
  200. package/dist/ui/components/codeblock.d.ts +0 -14
  201. package/dist/ui/components/dialog.js +0 -56
  202. package/dist/ui/components/input.js +0 -17
  203. package/dist/ui/components/select-tab.js +0 -56
  204. package/dist/ui/components/select.js +0 -71
  205. package/dist/ui/contexts/api.d.ts +0 -29
  206. package/dist/ui/create-client.d.ts +0 -26
  207. package/dist/ui/create-client.js +0 -125
  208. package/dist/ui/operation/client.js +0 -78
  209. package/dist/ui/operation/get-example-requests.d.ts +0 -11
  210. package/dist/ui/operation/usage-tabs/client.d.ts +0 -14
  211. package/dist/ui/operation/usage-tabs/client.js +0 -91
  212. package/dist/ui/operation/usage-tabs/index.js +0 -54
  213. package/dist/ui/schema/client.d.ts +0 -18
  214. package/dist/ui/schema/client.js +0 -410
  215. package/dist/ui/schema/index.d.ts +0 -61
  216. package/dist/ui/schema/index.js +0 -256
  217. package/dist/utils/auto-anchor.client.js +0 -20
  218. package/dist/utils/auto-anchor.js +0 -17
  219. package/dist/utils/deep-equal.js +0 -21
  220. package/dist/utils/document/process.d.ts +0 -6
  221. package/dist/utils/document/process.js +0 -18
  222. package/dist/utils/id-to-title.js +0 -12
  223. package/dist/utils/is-plain-object.js +0 -8
  224. package/dist/utils/merge-refs.js +0 -11
  225. package/dist/utils/schema/dereference.js +0 -45
  226. package/dist/utils/schema/index.d.ts +0 -18
  227. package/dist/utils/schema/merge.js +0 -156
  228. package/dist/utils/schema/pick.js +0 -44
  229. package/dist/utils/schema/ref.js +0 -35
  230. package/dist/utils/schema/resolve-ref.js +0 -11
  231. package/dist/utils/schema/sample.js +0 -442
  232. package/dist/utils/schema/to-string.d.ts +0 -1
  233. package/dist/utils/schema/to-string.js +0 -53
  234. package/dist/utils/url.js +0 -39
@@ -1,442 +0,0 @@
1
- import { isPlainObject } from "../is-plain-object.js";
2
- import { require_deepmerge } from "../../node_modules/.pnpm/@fastify_deepmerge@3.2.1/node_modules/@fastify/deepmerge/index.js";
3
- import { resolveRefSync } from "./resolve-ref.js";
4
- const mergeDeep = (0, require_deepmerge().deepmerge)({
5
- all: true,
6
- isMergeableObject(value) {
7
- return typeof value === "object" && value !== null && !Array.isArray(value) && !(value instanceof RegExp) && !(value instanceof Date);
8
- }
9
- });
10
- const SKIP = Symbol("skip");
11
- const defaultOptions = {
12
- skipReadOnly: false,
13
- maxSampleDepth: 15
14
- };
15
- let refResolving = {};
16
- const seenObjectStack = [];
17
- function clearCaches() {
18
- refResolving = {};
19
- seenObjectStack.length = 0;
20
- }
21
- function popStack(context) {
22
- if (context) seenObjectStack.pop();
23
- }
24
- function inferType(schema) {
25
- if (schema.type !== void 0) {
26
- const t = schema.type;
27
- return Array.isArray(t) ? t.length === 0 ? null : String(t[0]) : String(t);
28
- }
29
- for (const [kw, ty] of Object.entries({
30
- multipleOf: "number",
31
- maximum: "number",
32
- exclusiveMaximum: "number",
33
- minimum: "number",
34
- exclusiveMinimum: "number",
35
- maxLength: "string",
36
- minLength: "string",
37
- pattern: "string",
38
- items: "array",
39
- maxItems: "array",
40
- minItems: "array",
41
- uniqueItems: "array",
42
- additionalItems: "array",
43
- maxProperties: "object",
44
- minProperties: "object",
45
- required: "object",
46
- additionalProperties: "object",
47
- properties: "object",
48
- patternProperties: "object",
49
- dependencies: "object"
50
- })) if (schema[kw] !== void 0) return ty;
51
- return null;
52
- }
53
- function getCircularPlaceholder(type) {
54
- if (type === "object") return {};
55
- if (type === "array") return [];
56
- }
57
- function hashCode(str) {
58
- let hash = 0;
59
- for (let i = 0; i < str.length; i++) {
60
- hash = (hash << 5) - hash + str.charCodeAt(i);
61
- hash |= 0;
62
- }
63
- return hash;
64
- }
65
- function jsf32(a, b, c, d) {
66
- return () => {
67
- a |= 0;
68
- b |= 0;
69
- c |= 0;
70
- d |= 0;
71
- const t = a - (b << 27 | b >>> 5) | 0;
72
- a = b ^ (c << 17 | c >>> 15);
73
- b = c + d | 0;
74
- c = d + t | 0;
75
- d = a + t | 0;
76
- return (d >>> 0) / 4294967296;
77
- };
78
- }
79
- function uuidFromSeed(str) {
80
- const hash = hashCode(str);
81
- const random = jsf32(hash, hash, hash, hash);
82
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
83
- const r = random() * 16 | 0;
84
- return (c === "x" ? r : r & 3 | 8).toString(16);
85
- });
86
- }
87
- function toRFCDateTime(date, omitTime, omitDate, ms) {
88
- const pad = (n) => n < 10 ? `0${n}` : `${n}`;
89
- let res = omitDate ? "" : `${date.getUTCFullYear()}-${pad(date.getUTCMonth() + 1)}-${pad(date.getUTCDate())}`;
90
- if (!omitTime) {
91
- res += `T${pad(date.getUTCHours())}:${pad(date.getUTCMinutes())}:${pad(date.getUTCSeconds())}`;
92
- if (ms) res += `.${(date.getUTCMilliseconds() / 1e3).toFixed(3).slice(2, 5)}`;
93
- res += "Z";
94
- }
95
- return res;
96
- }
97
- function ensureMinLength(sample, min) {
98
- if (min > sample.length) return sample.repeat(Math.trunc(min / sample.length) + 1).substring(0, min);
99
- return sample;
100
- }
101
- function sampleBoolean() {
102
- return true;
103
- }
104
- function sampleNumber(schema) {
105
- let res = 0;
106
- if (schema.type === "number" && (schema.format === "float" || schema.format === "double")) res = .1;
107
- const exMinB = typeof schema.exclusiveMinimum === "boolean";
108
- const exMaxB = typeof schema.exclusiveMaximum === "boolean";
109
- if (exMinB || exMaxB) {
110
- if (schema.maximum != null && schema.minimum != null) {
111
- const min = schema.minimum;
112
- const max = schema.maximum;
113
- res = schema.exclusiveMinimum ? Math.floor(min) + 1 : min;
114
- if (schema.exclusiveMaximum && res >= max || !schema.exclusiveMaximum && res > max) res = (max + min) / 2;
115
- return res;
116
- }
117
- if (schema.minimum != null) {
118
- const min = schema.minimum;
119
- return schema.exclusiveMinimum ? Math.floor(min) + 1 : min;
120
- }
121
- if (schema.maximum != null) {
122
- const max = schema.maximum;
123
- if (schema.exclusiveMaximum) return max > 0 ? 0 : Math.floor(max) - 1;
124
- return max > 0 ? 0 : max;
125
- }
126
- } else {
127
- if (schema.minimum != null) return schema.minimum;
128
- if (schema.exclusiveMinimum != null) {
129
- res = Math.floor(schema.exclusiveMinimum) + 1;
130
- if (res === schema.exclusiveMaximum) res = (res + Math.floor(schema.exclusiveMaximum) - 1) / 2;
131
- } else if (schema.exclusiveMaximum != null) res = Math.floor(schema.exclusiveMaximum) - 1;
132
- else if (schema.maximum != null) res = schema.maximum;
133
- }
134
- return res;
135
- }
136
- function defaultStringSample(min, max, pattern, enablePatterns) {
137
- if (pattern && enablePatterns) return patternSample(pattern);
138
- let res = ensureMinLength("string", min);
139
- if (max != null && res.length > max) res = res.substring(0, max);
140
- return res;
141
- }
142
- /** Minimal pattern sampler for `enablePatterns` (subset of openapi-sampler). */
143
- function patternSample(pattern) {
144
- const stripped = pattern.replace(/^\^?/, "").replace(/\$?$/, "");
145
- const m = stripped.match(/^(.)\{(\d+)\}$/);
146
- if (m) return m[1].repeat(parseInt(m[2], 10));
147
- return stripped.length > 0 ? stripped : "x";
148
- }
149
- function sampleString(schema, options, _spec, context) {
150
- const format = schema.format || "default";
151
- const propertyName = context?.propertyName;
152
- const min = schema.minLength ?? 0;
153
- const max = schema.maxLength;
154
- const pattern = schema.pattern;
155
- const fixed = /* @__PURE__ */ new Date("2019-08-24T14:15:22.123Z");
156
- const formats = {
157
- email: () => "user@example.com",
158
- "idn-email": () => "пошта@укр.нет",
159
- password: () => {
160
- let res = "pa$$word";
161
- if (min > res.length) {
162
- res += "_";
163
- res += ensureMinLength("qwerty!@#$%^123456", min - res.length).substring(0, min - res.length);
164
- }
165
- return res;
166
- },
167
- "date-time": () => toRFCDateTime(fixed, false, false, false),
168
- date: () => toRFCDateTime(fixed, true, false, false),
169
- time: () => toRFCDateTime(fixed, false, true, false).slice(1),
170
- ipv4: () => "192.168.0.1",
171
- ipv6: () => "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
172
- hostname: () => "example.com",
173
- "idn-hostname": () => "приклад.укр",
174
- uri: () => "http://example.com",
175
- "uri-reference": () => "../dictionary",
176
- "uri-template": () => "http://example.com/{endpoint}",
177
- iri: () => "http://example.com/entity/1",
178
- "iri-reference": () => "/entity/1",
179
- uuid: () => uuidFromSeed(propertyName || "id"),
180
- "json-pointer": () => "/json/pointer",
181
- "relative-json-pointer": () => "1/relative/json/pointer",
182
- regex: () => "/regex/",
183
- default: () => defaultStringSample(min, max, pattern, options.enablePatterns)
184
- };
185
- return (formats[format] ?? formats.default)();
186
- }
187
- function sampleArray(schema, options, spec, context) {
188
- const depth = context?.depth ?? 1;
189
- let arrayLength = Math.min(schema.maxItems != null ? schema.maxItems : Number.POSITIVE_INFINITY, schema.minItems ?? 1);
190
- const items = schema.prefixItems ?? schema.items ?? schema.contains;
191
- if (Array.isArray(items)) arrayLength = Math.max(arrayLength, items.length);
192
- const itemSchemaGetter = (i) => {
193
- if (Array.isArray(items)) return items[i] ?? {};
194
- return items ?? {};
195
- };
196
- const res = [];
197
- if (!items) return res;
198
- for (let i = 0; i < arrayLength; i++) {
199
- const { value } = traverse(itemSchemaGetter(i), options, spec, {
200
- depth: depth + 1,
201
- propertyName: context?.propertyName
202
- });
203
- res.push(value);
204
- }
205
- return res;
206
- }
207
- function sampleObject(schema, options, spec, context) {
208
- let res = {};
209
- const depth = context?.depth ?? 1;
210
- if (schema.properties && typeof schema.properties === "object") {
211
- const required = Array.isArray(schema.required) ? schema.required : [];
212
- const requiredSet = new Set(required);
213
- for (const propertyName of Object.keys(schema.properties)) {
214
- if (options.skipNonRequired && !requiredSet.has(propertyName)) continue;
215
- const propSchema = schema.properties[propertyName];
216
- const sample = traverse(propSchema, options, spec, {
217
- propertyName,
218
- depth: depth + 1
219
- });
220
- if (options.skipReadOnly && sample.readOnly) {
221
- if (context?.isAllOfChild) res[propertyName] = SKIP;
222
- continue;
223
- }
224
- if (options.skipWriteOnly && sample.writeOnly) {
225
- if (context?.isAllOfChild) res[propertyName] = SKIP;
226
- continue;
227
- }
228
- res[propertyName] = sample.value;
229
- }
230
- }
231
- if (schema.additionalProperties && typeof schema.additionalProperties === "object") {
232
- const ap = schema.additionalProperties;
233
- const baseName = ap["x-additionalPropertiesName"] || "property";
234
- res[`${String(baseName)}1`] = traverse(ap, options, spec, { depth: depth + 1 }).value;
235
- res[`${String(baseName)}2`] = traverse(ap, options, spec, { depth: depth + 1 }).value;
236
- }
237
- if (schema.properties && typeof schema.properties === "object" && typeof schema.maxProperties === "number" && Object.keys(res).length > schema.maxProperties) {
238
- const filtered = {};
239
- let added = 0;
240
- const req = Array.isArray(schema.required) ? schema.required : [];
241
- for (const name of req) if (res[name] !== void 0) {
242
- filtered[name] = res[name];
243
- added++;
244
- }
245
- for (const name of Object.keys(res)) if (added < schema.maxProperties && !(name in filtered)) {
246
- filtered[name] = res[name];
247
- added++;
248
- }
249
- res = filtered;
250
- }
251
- return res;
252
- }
253
- function inferExample(schema) {
254
- if (schema.const !== void 0) return schema.const;
255
- if (Array.isArray(schema.examples) && schema.examples.length > 0) return schema.examples[0];
256
- if (Array.isArray(schema.enum) && schema.enum.length > 0) return schema.enum[0];
257
- if (schema.default !== void 0) return schema.default;
258
- }
259
- function tryInferExample(schema) {
260
- const example = inferExample(schema);
261
- if (example !== void 0) return {
262
- value: example,
263
- readOnly: schema.readOnly,
264
- writeOnly: schema.writeOnly,
265
- type: null
266
- };
267
- }
268
- function allOfSample(into, children, options, spec, context) {
269
- const res = traverse(into, options, spec);
270
- const subSamples = [];
271
- for (const subSchema of children) {
272
- const { type, readOnly, writeOnly, value } = traverse({
273
- type: res.type,
274
- ...subSchema
275
- }, options, spec, {
276
- ...context,
277
- depth: context?.depth ?? 1,
278
- isAllOfChild: true
279
- });
280
- if (res.type && type && type !== res.type) {
281
- if (!options.quiet) console.warn("allOf: schemas with different types can't be merged");
282
- res.type = type;
283
- }
284
- res.type = res.type ?? type;
285
- res.readOnly = res.readOnly || readOnly;
286
- res.writeOnly = res.writeOnly || writeOnly;
287
- if (value != null) subSamples.push(value);
288
- }
289
- if (res.type === "object") {
290
- const merged = mergeDeep(res.value || {}, ...subSamples.filter((s) => typeof s === "object" && s !== null));
291
- for (const key of Object.keys(merged)) if (merged[key] === SKIP) delete merged[key];
292
- return {
293
- ...res,
294
- value: merged
295
- };
296
- }
297
- if (res.type === "array") {
298
- if (!options.quiet) console.warn("OpenAPI Sampler: found allOf with \"array\" type. Result may be incorrect");
299
- }
300
- const last = subSamples[subSamples.length - 1];
301
- return {
302
- ...res,
303
- value: last != null ? last : res.value
304
- };
305
- }
306
- const typeSamplers = {
307
- array: sampleArray,
308
- boolean: sampleBoolean,
309
- integer: sampleNumber,
310
- number: sampleNumber,
311
- object: sampleObject,
312
- string: sampleString
313
- };
314
- function traverseOneOrAnyOf(parent, selectedSubSchema, options, spec, context) {
315
- const inferred = tryInferExample(parent);
316
- if (inferred !== void 0) return inferred;
317
- const localExample = traverse({
318
- ...parent,
319
- oneOf: void 0,
320
- anyOf: void 0
321
- }, options, spec, context);
322
- const subExample = traverse(selectedSubSchema, options, spec, context);
323
- if (typeof localExample.value === "object" && localExample.value !== null && typeof subExample.value === "object" && subExample.value !== null) {
324
- const mergedExample = mergeDeep(localExample.value, subExample.value);
325
- return {
326
- ...subExample,
327
- value: mergedExample
328
- };
329
- }
330
- return subExample;
331
- }
332
- function traverse(schema, options, spec, context) {
333
- if (context) {
334
- if (seenObjectStack.includes(schema)) return {
335
- value: getCircularPlaceholder(inferType(schema)),
336
- type: null
337
- };
338
- seenObjectStack.push(schema);
339
- }
340
- if (context && (context.depth ?? 1) > options.maxSampleDepth) {
341
- popStack(context);
342
- return {
343
- value: getCircularPlaceholder(inferType(schema)),
344
- type: null
345
- };
346
- }
347
- if (!isPlainObject(schema)) {
348
- popStack(context);
349
- return {
350
- value: schema,
351
- type: null
352
- };
353
- }
354
- const s = schema;
355
- if (typeof s.$ref === "string") {
356
- if (spec == null) throw new Error("Your schema contains $ref. You must provide full specification in the third parameter.");
357
- const ref = decodeURIComponent(s.$ref);
358
- if (!ref.startsWith("#")) throw new Error("Your schema contains $ref. Only in-document references (`#/…`) are supported.");
359
- if (refResolving[ref]) {
360
- const referencedType = inferType(resolveRefSync(ref, spec) ?? {});
361
- popStack(context);
362
- return {
363
- value: getCircularPlaceholder(referencedType),
364
- type: null
365
- };
366
- }
367
- refResolving[ref] = true;
368
- const referenced = resolveRefSync(ref, spec);
369
- if (referenced === void 0) {
370
- refResolving[ref] = false;
371
- popStack(context);
372
- throw new Error(`Could not resolve $ref: ${s.$ref}`);
373
- }
374
- const result = traverse(referenced, options, spec, context);
375
- refResolving[ref] = false;
376
- popStack(context);
377
- return result;
378
- }
379
- if (s.example !== void 0) {
380
- popStack(context);
381
- return {
382
- value: s.example,
383
- readOnly: s.readOnly,
384
- writeOnly: s.writeOnly,
385
- type: s.type
386
- };
387
- }
388
- if (s.allOf !== void 0) {
389
- popStack(context);
390
- return tryInferExample(s) ?? allOfSample({
391
- ...s,
392
- allOf: void 0
393
- }, s.allOf, options, spec, context);
394
- }
395
- if (s.oneOf && Array.isArray(s.oneOf) && s.oneOf.length > 0) {
396
- if (s.anyOf && !options.quiet) console.warn("oneOf and anyOf are not supported on the same level. Skipping anyOf");
397
- popStack(context);
398
- return traverseOneOrAnyOf(s, Object.assign({
399
- readOnly: s.readOnly,
400
- writeOnly: s.writeOnly
401
- }, s.oneOf[0]), options, spec, context);
402
- }
403
- if (s.anyOf && Array.isArray(s.anyOf) && s.anyOf.length > 0) {
404
- popStack(context);
405
- return traverseOneOrAnyOf(s, Object.assign({
406
- readOnly: s.readOnly,
407
- writeOnly: s.writeOnly
408
- }, s.anyOf[0]), options, spec, context);
409
- }
410
- if (s.if && s.then) {
411
- popStack(context);
412
- const { if: ifSchema, then, ...rest } = s;
413
- return traverse(mergeDeep(rest, ifSchema, then), options, spec, context);
414
- }
415
- let example = inferExample(s);
416
- let type = null;
417
- if (example === void 0) {
418
- example = null;
419
- type = s.type;
420
- if (Array.isArray(type) && type.length > 0) type = type[0];
421
- if (!type) type = inferType(s);
422
- const sampler = type ? typeSamplers[type] : void 0;
423
- if (sampler) example = sampler(s, options, spec, context);
424
- }
425
- popStack(context);
426
- return {
427
- value: example,
428
- readOnly: s.readOnly,
429
- writeOnly: s.writeOnly,
430
- type
431
- };
432
- }
433
- function sample(schema, options, spec) {
434
- const opts = {
435
- ...defaultOptions,
436
- ...options
437
- };
438
- clearCaches();
439
- return traverse(schema, opts, spec).value;
440
- }
441
- //#endregion
442
- export { sample };
@@ -1 +0,0 @@
1
- export { };
@@ -1,53 +0,0 @@
1
- //#region src/utils/schema/to-string.ts
2
- function schemaToString(value, _resolver, flags = 0) {
3
- const resolver = typeof _resolver === "function" ? _resolver : (schema) => {
4
- const ref = _resolver && typeof schema === "object" ? _resolver.getRawRef(schema) : void 0;
5
- return {
6
- dereferenced: schema,
7
- raw: ref ? { $ref: ref } : void 0
8
- };
9
- };
10
- function union(union, sep, flags) {
11
- const members = /* @__PURE__ */ new Set();
12
- const out = [];
13
- let nullable = false;
14
- for (const item of union) {
15
- const result = run(item, flags | 1);
16
- if (result === "null") nullable = true;
17
- else if (result !== "unknown" && !members.has(result)) {
18
- out.push(result);
19
- members.add(result);
20
- }
21
- }
22
- if (nullable) out.push("null");
23
- return out.join(sep);
24
- }
25
- function run(input, flags) {
26
- const { dereferenced: schema, raw } = resolver(input);
27
- if (schema === true) return "any";
28
- else if (schema === false) return "never";
29
- if ((flags & 1) === 1) {
30
- if (schema.title) return schema.title;
31
- if (typeof raw === "object" && raw.$ref) {
32
- const ref = raw.$ref.split("/");
33
- if (ref.length > 0) return ref[ref.length - 1];
34
- }
35
- }
36
- if (Array.isArray(schema.type)) return union(schema.type.map((type) => ({
37
- ...schema,
38
- type
39
- })), " | ", flags);
40
- if (schema.type === "array") return `array<${schema.items ? run(schema.items, flags | 1) : "unknown"}>`;
41
- if (schema.oneOf && schema.anyOf) return `(${union(schema.oneOf, " | ", flags)}) & (${union(schema.anyOf, " | ", flags)})`;
42
- const or = schema.oneOf ?? schema.anyOf;
43
- if (or) return union(or, " | ", flags);
44
- if (schema.allOf) return union(schema.allOf, " & ", flags);
45
- if (schema.not) return `not (${run(schema.not, flags)})`;
46
- if (schema.type === "string" && schema.format === "binary") return "file";
47
- if (typeof schema.type === "string") return schema.type;
48
- return "unknown";
49
- }
50
- return run(value, flags);
51
- }
52
- //#endregion
53
- export { schemaToString };
package/dist/utils/url.js DELETED
@@ -1,39 +0,0 @@
1
- //#region src/utils/url.ts
2
- function isUrl(schemaId) {
3
- return schemaId.startsWith("https://") || schemaId.startsWith("http://");
4
- }
5
- function joinURL(base, pathname) {
6
- if (pathname.startsWith("/")) pathname = pathname.slice(1);
7
- if (base.endsWith("/")) base = base.slice(0, -1);
8
- if (pathname.length > 0) return base + "/" + pathname;
9
- else return base;
10
- }
11
- /**
12
- * @param url - URL (can be relative)
13
- * @param base - the base URL (must be absolute)
14
- */
15
- function withBase(url, base) {
16
- if (!url.startsWith("https://") && !url.startsWith("http://")) return joinURL(base, url);
17
- return url;
18
- }
19
- function resolveServerUrl(template, variables) {
20
- for (const [key, value] of Object.entries(variables)) template = template.replaceAll(`{${key}}`, value);
21
- return template;
22
- }
23
- function resolveRequestData(pathname, { path, query }) {
24
- for (const key in path) {
25
- const param = path[key];
26
- pathname = pathname.replace(`{${key}}`, param.value);
27
- }
28
- const [pathPart, existingQueryString] = pathname.split("?", 2);
29
- const searchParams = new URLSearchParams(existingQueryString || "");
30
- for (const key in query) {
31
- const param = query[key];
32
- if (!param || param.values.length === 0) continue;
33
- searchParams.delete(key);
34
- for (const item of param.values) searchParams.append(key, item);
35
- }
36
- return searchParams.size > 0 ? `${pathPart}?${searchParams}` : pathPart;
37
- }
38
- //#endregion
39
- export { isUrl, joinURL, resolveRequestData, resolveServerUrl, withBase };