@scalar/openapi-types 0.1.9 → 0.2.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 (249) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +76 -0
  3. package/dist/schemas/3.1/processed/base-path-item-object.d.ts +603 -0
  4. package/dist/schemas/3.1/processed/base-path-item-object.d.ts.map +1 -0
  5. package/dist/schemas/3.1/processed/base-path-item-object.js +35 -0
  6. package/dist/schemas/3.1/processed/callback-object.d.ts +169 -0
  7. package/dist/schemas/3.1/processed/callback-object.d.ts.map +1 -0
  8. package/dist/schemas/3.1/processed/callback-object.js +17 -0
  9. package/dist/schemas/3.1/processed/components-object.d.ts +14411 -0
  10. package/dist/schemas/3.1/processed/components-object.d.ts.map +1 -0
  11. package/dist/schemas/3.1/processed/components-object.js +64 -0
  12. package/dist/schemas/3.1/processed/contact-object.d.ts +25 -0
  13. package/dist/schemas/3.1/processed/contact-object.d.ts.map +1 -0
  14. package/dist/schemas/3.1/processed/contact-object.js +19 -0
  15. package/dist/schemas/3.1/processed/discriminator-object.d.ts +32 -0
  16. package/dist/schemas/3.1/processed/discriminator-object.d.ts.map +1 -0
  17. package/dist/schemas/3.1/processed/discriminator-object.js +28 -0
  18. package/dist/schemas/3.1/processed/encoding-object.d.ts +191 -0
  19. package/dist/schemas/3.1/processed/encoding-object.d.ts.map +1 -0
  20. package/dist/schemas/3.1/processed/encoding-object.js +30 -0
  21. package/dist/schemas/3.1/processed/example-object.d.ts +43 -0
  22. package/dist/schemas/3.1/processed/example-object.d.ts.map +1 -0
  23. package/dist/schemas/3.1/processed/example-object.js +35 -0
  24. package/dist/schemas/3.1/processed/external-documentation-object.d.ts +21 -0
  25. package/dist/schemas/3.1/processed/external-documentation-object.d.ts.map +1 -0
  26. package/dist/schemas/3.1/processed/external-documentation-object.js +17 -0
  27. package/dist/schemas/3.1/processed/header-object.d.ts +161 -0
  28. package/dist/schemas/3.1/processed/header-object.d.ts.map +1 -0
  29. package/dist/schemas/3.1/processed/header-object.js +66 -0
  30. package/dist/schemas/3.1/processed/index.d.ts +31 -0
  31. package/dist/schemas/3.1/processed/index.d.ts.map +1 -0
  32. package/dist/schemas/3.1/processed/index.js +30 -0
  33. package/dist/schemas/3.1/processed/info-object.d.ts +89 -0
  34. package/dist/schemas/3.1/processed/info-object.d.ts.map +1 -0
  35. package/dist/schemas/3.1/processed/info-object.js +45 -0
  36. package/dist/schemas/3.1/processed/license-object.d.ts +27 -0
  37. package/dist/schemas/3.1/processed/license-object.d.ts.map +1 -0
  38. package/dist/schemas/3.1/processed/license-object.js +21 -0
  39. package/dist/schemas/3.1/processed/link-object.d.ts +110 -0
  40. package/dist/schemas/3.1/processed/link-object.d.ts.map +1 -0
  41. package/dist/schemas/3.1/processed/link-object.js +52 -0
  42. package/dist/schemas/3.1/processed/media-type-object-without-encoding.d.ts +60 -0
  43. package/dist/schemas/3.1/processed/media-type-object-without-encoding.d.ts.map +1 -0
  44. package/dist/schemas/3.1/processed/media-type-object-without-encoding.js +34 -0
  45. package/dist/schemas/3.1/processed/media-type-object.d.ts +289 -0
  46. package/dist/schemas/3.1/processed/media-type-object.d.ts.map +1 -0
  47. package/dist/schemas/3.1/processed/media-type-object.js +38 -0
  48. package/dist/schemas/3.1/processed/openapi-object.d.ts +31 -0
  49. package/dist/schemas/3.1/processed/openapi-object.d.ts.map +1 -0
  50. package/dist/schemas/3.1/processed/openapi-object.js +78 -0
  51. package/dist/schemas/3.1/processed/operation-object-without-callbacks.d.ts +2094 -0
  52. package/dist/schemas/3.1/processed/operation-object-without-callbacks.d.ts.map +1 -0
  53. package/dist/schemas/3.1/processed/operation-object-without-callbacks.js +72 -0
  54. package/dist/schemas/3.1/processed/operation-object.d.ts +16 -0
  55. package/dist/schemas/3.1/processed/operation-object.d.ts.map +1 -0
  56. package/dist/schemas/3.1/processed/operation-object.js +22 -0
  57. package/dist/schemas/3.1/processed/parameter-object.d.ts +476 -0
  58. package/dist/schemas/3.1/processed/parameter-object.d.ts.map +1 -0
  59. package/dist/schemas/3.1/processed/parameter-object.js +93 -0
  60. package/dist/schemas/3.1/processed/path-item-object-without-callbacks.d.ts +25 -0
  61. package/dist/schemas/3.1/processed/path-item-object-without-callbacks.d.ts.map +1 -0
  62. package/dist/schemas/3.1/processed/path-item-object-without-callbacks.js +48 -0
  63. package/dist/schemas/3.1/processed/path-item-object.d.ts +7741 -0
  64. package/dist/schemas/3.1/processed/path-item-object.d.ts.map +1 -0
  65. package/dist/schemas/3.1/processed/path-item-object.js +48 -0
  66. package/dist/schemas/3.1/processed/paths-object.d.ts +7718 -0
  67. package/dist/schemas/3.1/processed/paths-object.d.ts.map +1 -0
  68. package/dist/schemas/3.1/processed/paths-object.js +23 -0
  69. package/dist/schemas/3.1/processed/request-body-object.d.ts +595 -0
  70. package/dist/schemas/3.1/processed/request-body-object.d.ts.map +1 -0
  71. package/dist/schemas/3.1/processed/request-body-object.js +33 -0
  72. package/dist/schemas/3.1/processed/response-object.d.ts +633 -0
  73. package/dist/schemas/3.1/processed/response-object.d.ts.map +1 -0
  74. package/dist/schemas/3.1/processed/response-object.js +36 -0
  75. package/dist/schemas/3.1/processed/responses-object.d.ts +626 -0
  76. package/dist/schemas/3.1/processed/responses-object.d.ts.map +1 -0
  77. package/dist/schemas/3.1/processed/responses-object.js +31 -0
  78. package/dist/schemas/3.1/processed/runtime-expression.d.ts +15 -0
  79. package/dist/schemas/3.1/processed/runtime-expression.d.ts.map +1 -0
  80. package/dist/schemas/3.1/processed/runtime-expression.js +98 -0
  81. package/dist/schemas/3.1/processed/schema-object.d.ts +8 -0
  82. package/dist/schemas/3.1/processed/schema-object.d.ts.map +1 -0
  83. package/dist/schemas/3.1/processed/schema-object.js +91 -0
  84. package/dist/schemas/3.1/processed/security-requirement-object.d.ts +21 -0
  85. package/dist/schemas/3.1/processed/security-requirement-object.d.ts.map +1 -0
  86. package/dist/schemas/3.1/processed/security-requirement-object.js +37 -0
  87. package/dist/schemas/3.1/processed/security-scheme-object.d.ts +823 -0
  88. package/dist/schemas/3.1/processed/security-scheme-object.d.ts.map +1 -0
  89. package/dist/schemas/3.1/processed/security-scheme-object.js +170 -0
  90. package/dist/schemas/3.1/processed/server-object.d.ts +52 -0
  91. package/dist/schemas/3.1/processed/server-object.d.ts.map +1 -0
  92. package/dist/schemas/3.1/processed/server-object.js +27 -0
  93. package/dist/schemas/3.1/processed/server-variable-object.d.ts +33 -0
  94. package/dist/schemas/3.1/processed/server-variable-object.d.ts.map +1 -0
  95. package/dist/schemas/3.1/processed/server-variable-object.js +27 -0
  96. package/dist/schemas/3.1/processed/tag-object.d.ts +41 -0
  97. package/dist/schemas/3.1/processed/tag-object.d.ts.map +1 -0
  98. package/dist/schemas/3.1/processed/tag-object.js +21 -0
  99. package/dist/schemas/3.1/processed/webhooks-object.d.ts +172 -0
  100. package/dist/schemas/3.1/processed/webhooks-object.d.ts.map +1 -0
  101. package/dist/schemas/3.1/processed/webhooks-object.js +19 -0
  102. package/dist/schemas/3.1/processed/xml-object.d.ts +51 -0
  103. package/dist/schemas/3.1/processed/xml-object.d.ts.map +1 -0
  104. package/dist/schemas/3.1/processed/xml-object.js +40 -0
  105. package/dist/schemas/3.1/unprocessed/base-path-item-object.d.ts +1811 -0
  106. package/dist/schemas/3.1/unprocessed/base-path-item-object.d.ts.map +1 -0
  107. package/dist/schemas/3.1/unprocessed/base-path-item-object.js +23 -0
  108. package/dist/schemas/3.1/unprocessed/callback-object.d.ts +168 -0
  109. package/dist/schemas/3.1/unprocessed/callback-object.d.ts.map +1 -0
  110. package/dist/schemas/3.1/unprocessed/callback-object.js +15 -0
  111. package/dist/schemas/3.1/unprocessed/components-object.d.ts +28835 -0
  112. package/dist/schemas/3.1/unprocessed/components-object.d.ts.map +1 -0
  113. package/dist/schemas/3.1/unprocessed/components-object.js +66 -0
  114. package/dist/schemas/3.1/unprocessed/contact-object.d.ts +21 -0
  115. package/dist/schemas/3.1/unprocessed/contact-object.d.ts.map +1 -0
  116. package/dist/schemas/3.1/unprocessed/contact-object.js +12 -0
  117. package/dist/schemas/3.1/unprocessed/discriminator-object.d.ts +23 -0
  118. package/dist/schemas/3.1/unprocessed/discriminator-object.d.ts.map +1 -0
  119. package/dist/schemas/3.1/unprocessed/discriminator-object.js +17 -0
  120. package/dist/schemas/3.1/unprocessed/encoding-object.d.ts +402 -0
  121. package/dist/schemas/3.1/unprocessed/encoding-object.d.ts.map +1 -0
  122. package/dist/schemas/3.1/unprocessed/encoding-object.js +26 -0
  123. package/dist/schemas/3.1/unprocessed/example-object.d.ts +28 -0
  124. package/dist/schemas/3.1/unprocessed/example-object.d.ts.map +1 -0
  125. package/dist/schemas/3.1/unprocessed/example-object.js +16 -0
  126. package/dist/schemas/3.1/unprocessed/external-documentation-object.d.ts +18 -0
  127. package/dist/schemas/3.1/unprocessed/external-documentation-object.d.ts.map +1 -0
  128. package/dist/schemas/3.1/unprocessed/external-documentation-object.js +12 -0
  129. package/dist/schemas/3.1/unprocessed/header-object.d.ts +217 -0
  130. package/dist/schemas/3.1/unprocessed/header-object.d.ts.map +1 -0
  131. package/dist/schemas/3.1/unprocessed/header-object.js +42 -0
  132. package/dist/schemas/3.1/unprocessed/index.d.ts +32 -0
  133. package/dist/schemas/3.1/unprocessed/index.d.ts.map +1 -0
  134. package/dist/schemas/3.1/unprocessed/index.js +31 -0
  135. package/dist/schemas/3.1/unprocessed/info-object.d.ts +66 -0
  136. package/dist/schemas/3.1/unprocessed/info-object.d.ts.map +1 -0
  137. package/dist/schemas/3.1/unprocessed/info-object.js +13 -0
  138. package/dist/schemas/3.1/unprocessed/license-object.d.ts +21 -0
  139. package/dist/schemas/3.1/unprocessed/license-object.d.ts.map +1 -0
  140. package/dist/schemas/3.1/unprocessed/license-object.js +12 -0
  141. package/dist/schemas/3.1/unprocessed/link-object.d.ts +86 -0
  142. package/dist/schemas/3.1/unprocessed/link-object.d.ts.map +1 -0
  143. package/dist/schemas/3.1/unprocessed/link-object.js +20 -0
  144. package/dist/schemas/3.1/unprocessed/media-type-object-without-encoding.d.ts +46 -0
  145. package/dist/schemas/3.1/unprocessed/media-type-object-without-encoding.d.ts.map +1 -0
  146. package/dist/schemas/3.1/unprocessed/media-type-object-without-encoding.js +12 -0
  147. package/dist/schemas/3.1/unprocessed/media-type-object.d.ts +728 -0
  148. package/dist/schemas/3.1/unprocessed/media-type-object.d.ts.map +1 -0
  149. package/dist/schemas/3.1/unprocessed/media-type-object.js +40 -0
  150. package/dist/schemas/3.1/unprocessed/openapi-object.d.ts +31 -0
  151. package/dist/schemas/3.1/unprocessed/openapi-object.d.ts.map +1 -0
  152. package/dist/schemas/3.1/unprocessed/openapi-object.js +12 -0
  153. package/dist/schemas/3.1/unprocessed/operation-object-without-callbacks.d.ts +3893 -0
  154. package/dist/schemas/3.1/unprocessed/operation-object-without-callbacks.d.ts.map +1 -0
  155. package/dist/schemas/3.1/unprocessed/operation-object-without-callbacks.js +45 -0
  156. package/dist/schemas/3.1/unprocessed/operation-object.d.ts +17 -0
  157. package/dist/schemas/3.1/unprocessed/operation-object.d.ts.map +1 -0
  158. package/dist/schemas/3.1/unprocessed/operation-object.js +23 -0
  159. package/dist/schemas/3.1/unprocessed/parameter-object.d.ts +1186 -0
  160. package/dist/schemas/3.1/unprocessed/parameter-object.d.ts.map +1 -0
  161. package/dist/schemas/3.1/unprocessed/parameter-object.js +31 -0
  162. package/dist/schemas/3.1/unprocessed/path-item-object-without-callbacks.d.ts +25 -0
  163. package/dist/schemas/3.1/unprocessed/path-item-object-without-callbacks.d.ts.map +1 -0
  164. package/dist/schemas/3.1/unprocessed/path-item-object-without-callbacks.js +48 -0
  165. package/dist/schemas/3.1/unprocessed/path-item-object.d.ts +9743 -0
  166. package/dist/schemas/3.1/unprocessed/path-item-object.d.ts.map +1 -0
  167. package/dist/schemas/3.1/unprocessed/path-item-object.js +62 -0
  168. package/dist/schemas/3.1/unprocessed/paths-object.d.ts +7717 -0
  169. package/dist/schemas/3.1/unprocessed/paths-object.d.ts.map +1 -0
  170. package/dist/schemas/3.1/unprocessed/paths-object.js +14 -0
  171. package/dist/schemas/3.1/unprocessed/reference-object.d.ts +36 -0
  172. package/dist/schemas/3.1/unprocessed/reference-object.d.ts.map +1 -0
  173. package/dist/schemas/3.1/unprocessed/reference-object.js +30 -0
  174. package/dist/schemas/3.1/unprocessed/request-body-object.d.ts +580 -0
  175. package/dist/schemas/3.1/unprocessed/request-body-object.d.ts.map +1 -0
  176. package/dist/schemas/3.1/unprocessed/request-body-object.js +12 -0
  177. package/dist/schemas/3.1/unprocessed/response-object.d.ts +1661 -0
  178. package/dist/schemas/3.1/unprocessed/response-object.d.ts.map +1 -0
  179. package/dist/schemas/3.1/unprocessed/response-object.js +34 -0
  180. package/dist/schemas/3.1/unprocessed/responses-object.d.ts +1669 -0
  181. package/dist/schemas/3.1/unprocessed/responses-object.d.ts.map +1 -0
  182. package/dist/schemas/3.1/unprocessed/responses-object.js +32 -0
  183. package/dist/schemas/3.1/unprocessed/runtime-expression.d.ts +14 -0
  184. package/dist/schemas/3.1/unprocessed/runtime-expression.d.ts.map +1 -0
  185. package/dist/schemas/3.1/unprocessed/runtime-expression.js +17 -0
  186. package/dist/schemas/3.1/unprocessed/schema-object.d.ts +8 -0
  187. package/dist/schemas/3.1/unprocessed/schema-object.d.ts.map +1 -0
  188. package/dist/schemas/3.1/unprocessed/schema-object.js +32 -0
  189. package/dist/schemas/3.1/unprocessed/security-requirement-object.d.ts +20 -0
  190. package/dist/schemas/3.1/unprocessed/security-requirement-object.d.ts.map +1 -0
  191. package/dist/schemas/3.1/unprocessed/security-requirement-object.js +23 -0
  192. package/dist/schemas/3.1/unprocessed/security-scheme-object.d.ts +590 -0
  193. package/dist/schemas/3.1/unprocessed/security-scheme-object.d.ts.map +1 -0
  194. package/dist/schemas/3.1/unprocessed/security-scheme-object.js +29 -0
  195. package/dist/schemas/3.1/unprocessed/server-object.d.ts +41 -0
  196. package/dist/schemas/3.1/unprocessed/server-object.d.ts.map +1 -0
  197. package/dist/schemas/3.1/unprocessed/server-object.js +12 -0
  198. package/dist/schemas/3.1/unprocessed/server-variable-object.d.ts +21 -0
  199. package/dist/schemas/3.1/unprocessed/server-variable-object.d.ts.map +1 -0
  200. package/dist/schemas/3.1/unprocessed/server-variable-object.js +12 -0
  201. package/dist/schemas/3.1/unprocessed/tag-object.d.ts +37 -0
  202. package/dist/schemas/3.1/unprocessed/tag-object.d.ts.map +1 -0
  203. package/dist/schemas/3.1/unprocessed/tag-object.js +13 -0
  204. package/dist/schemas/3.1/unprocessed/webhooks-object.d.ts +212 -0
  205. package/dist/schemas/3.1/unprocessed/webhooks-object.d.ts.map +1 -0
  206. package/dist/schemas/3.1/unprocessed/webhooks-object.js +19 -0
  207. package/dist/schemas/3.1/unprocessed/xml-object.d.ts +31 -0
  208. package/dist/schemas/3.1/unprocessed/xml-object.d.ts.map +1 -0
  209. package/dist/schemas/3.1/unprocessed/xml-object.js +16 -0
  210. package/dist/schemas/extensions/index.d.ts +12 -0
  211. package/dist/schemas/extensions/index.d.ts.map +1 -0
  212. package/dist/schemas/extensions/index.js +11 -0
  213. package/dist/schemas/extensions/x-additional-properties-name.d.ts +16 -0
  214. package/dist/schemas/extensions/x-additional-properties-name.d.ts.map +1 -0
  215. package/dist/schemas/extensions/x-additional-properties-name.js +14 -0
  216. package/dist/schemas/extensions/x-code-samples.d.ts +76 -0
  217. package/dist/schemas/extensions/x-code-samples.d.ts.map +1 -0
  218. package/dist/schemas/extensions/x-code-samples.js +14 -0
  219. package/dist/schemas/extensions/x-display-name.d.ts +17 -0
  220. package/dist/schemas/extensions/x-display-name.d.ts.map +1 -0
  221. package/dist/schemas/extensions/x-enum-descriptions.d.ts +22 -0
  222. package/dist/schemas/extensions/x-enum-descriptions.d.ts.map +1 -0
  223. package/dist/schemas/extensions/x-enum-descriptions.js +20 -0
  224. package/dist/schemas/extensions/x-internal.d.ts +9 -0
  225. package/dist/schemas/extensions/x-internal.d.ts.map +1 -0
  226. package/dist/schemas/extensions/x-internal.js +7 -0
  227. package/dist/schemas/extensions/x-scalar-icon.d.ts +9 -0
  228. package/dist/schemas/extensions/x-scalar-icon.d.ts.map +1 -0
  229. package/dist/schemas/extensions/x-scalar-icon.js +7 -0
  230. package/dist/schemas/extensions/x-scalar-ignore.d.ts +9 -0
  231. package/dist/schemas/extensions/x-scalar-ignore.d.ts.map +1 -0
  232. package/dist/schemas/extensions/x-scalar-ignore.js +7 -0
  233. package/dist/schemas/extensions/x-scalar-redirect-uri.d.ts +9 -0
  234. package/dist/schemas/extensions/x-scalar-redirect-uri.d.ts.map +1 -0
  235. package/dist/schemas/extensions/x-scalar-redirect-uri.js +7 -0
  236. package/dist/schemas/extensions/x-scalar-sdk-installation.d.ts +25 -0
  237. package/dist/schemas/extensions/x-scalar-sdk-installation.d.ts.map +1 -0
  238. package/dist/schemas/extensions/x-scalar-sdk-installation.js +15 -0
  239. package/dist/schemas/extensions/x-scalar-stability.d.ts +23 -0
  240. package/dist/schemas/extensions/x-scalar-stability.d.ts.map +1 -0
  241. package/dist/schemas/extensions/x-scalar-stability.js +23 -0
  242. package/dist/schemas/extensions/x-tag-groups.d.ts +39 -0
  243. package/dist/schemas/extensions/x-tag-groups.d.ts.map +1 -0
  244. package/dist/schemas/extensions/x-tag-groups.js +20 -0
  245. package/dist/schemas/extensions/x-use-pkce.d.ts +14 -0
  246. package/dist/schemas/extensions/x-use-pkce.d.ts.map +1 -0
  247. package/dist/schemas/extensions/x-use-pkce.js +12 -0
  248. package/package.json +20 -2
  249. package/LICENSE +0 -21
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @scalar/openapi-types
2
2
 
3
+ ## 0.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - fa8ed84: feat: custom OpenAPI extension to add SDK setup instructions
8
+
9
+ ## 0.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - e62e677: feat: OpenAPI-compliant Zod Schemas
14
+
15
+ ### Patch Changes
16
+
17
+ - 82f16a5: feat: add more Zod schemas for OpenAPI extensions
18
+
3
19
  ## 0.1.9
4
20
 
5
21
  ### Patch Changes
package/README.md CHANGED
@@ -28,6 +28,82 @@ const file: OpenAPI.Document = {
28
28
  }
29
29
  ```
30
30
 
31
+ ### Zod Schemas
32
+
33
+ Experimental: This package exposes OpenAPI-compliant Zod schemas for all OpenAPI object types. You can use them to parse user input safely with Zod.
34
+
35
+ ```ts
36
+ import { OpenApiObjectSchema } from '@scalar/openapi-types/schemas/3.1/unprocessed'
37
+
38
+ OpenApiObjectSchema.parse({
39
+ // This will be omitted:
40
+ invalidAttribute: 123,
41
+ // Those will pass:
42
+ openapi: '3.1.1',
43
+ info: {
44
+ title: 'Example API',
45
+ version: '1.0'
46
+ },
47
+ paths: {
48
+ '/example': {
49
+ get: {
50
+ description: 'My example operation',
51
+ }
52
+ }
53
+ },
54
+ })
55
+ ```
56
+
57
+ What’s “unprocessed”? It’s for the content of a “raw” OpenAPI document, that might still contain `$ref`s (references).
58
+
59
+ We also provide Zod schemas for processed OpenAPI documents, where the `$ref`s are resolved already:
60
+
61
+ ```ts
62
+ // Impport the Zod Schema without the $ref property:
63
+ import { OpenApiObjectSchema } from '@scalar/openapi-types/schemas/3.1/processed'
64
+
65
+ OpenApiObjectSchema.parse({
66
+ // …
67
+ })
68
+ ```
69
+
70
+ #### Extend the Zod schemas
71
+
72
+ While you can absolutely use the Zod schemas directly, you can also extend and compose them.
73
+
74
+ Here is a basic example to add an extension on the top level:
75
+
76
+ ```ts
77
+ import { OpenApiObjectSchema } from '@scalar/openapi-types/schemas/3.1/unprocessed'
78
+ import { XScalarIconSchema } from '@scalar/openapi-types/schemas/extensions'
79
+
80
+ const MyCustomSchema = OpenApiObjectSchema
81
+ // Add the `x-scalar-icon` OpenAPI extension
82
+ .merge(
83
+ XScalarIconSchema
84
+ )
85
+ // Add a custom property
86
+ .extend({
87
+ 'x-customProperty': z.boolean().optional(),
88
+ })
89
+ ```
90
+
91
+ This will get a little bit more complex when you want to add a property to something that’s deeply nested:
92
+
93
+ ```ts
94
+ import { OpenApiObjectSchema } from '@scalar/openapi-types/schemas/3.1/unprocessed'
95
+ import { XScalarIconSchema } from '@scalar/openapi-types/schemas/extensions'
96
+
97
+ const MyCustomSchema = OpenApiObjectSchema
98
+ .extend({
99
+ // Overwrite the Schema
100
+ 'info': InfoObjectSchema.extend({
101
+ // Add a custom property
102
+ 'x-customProperty': z.boolean().optional(),
103
+ }),
104
+ })
105
+ ```
106
+
31
107
  ## Community
32
108
 
33
109
  We are API nerds. You too? Let’s chat on Discord: <https://discord.gg/scalar>