@scalar/openapi-types 0.2.0 → 0.2.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 (246) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/index.js +2 -1
  3. package/dist/index.js.map +7 -0
  4. package/dist/openapi-types.js +28 -33
  5. package/dist/openapi-types.js.map +7 -0
  6. package/dist/openapi-types.test-d.js +52 -0
  7. package/dist/openapi-types.test-d.js.map +7 -0
  8. package/dist/schemas/3.1/compliance/callback-object.test.js +97 -0
  9. package/dist/schemas/3.1/compliance/callback-object.test.js.map +7 -0
  10. package/dist/schemas/3.1/compliance/contact-object.test.js +19 -0
  11. package/dist/schemas/3.1/compliance/contact-object.test.js.map +7 -0
  12. package/dist/schemas/3.1/compliance/example-object.test.js +91 -0
  13. package/dist/schemas/3.1/compliance/example-object.test.js.map +7 -0
  14. package/dist/schemas/3.1/compliance/external-documentation-object.test.js +17 -0
  15. package/dist/schemas/3.1/compliance/external-documentation-object.test.js.map +7 -0
  16. package/dist/schemas/3.1/compliance/header-object.test.js +47 -0
  17. package/dist/schemas/3.1/compliance/header-object.test.js.map +7 -0
  18. package/dist/schemas/3.1/compliance/info-object.test.js +41 -0
  19. package/dist/schemas/3.1/compliance/info-object.test.js.map +7 -0
  20. package/dist/schemas/3.1/compliance/license-object.test.js +17 -0
  21. package/dist/schemas/3.1/compliance/license-object.test.js.map +7 -0
  22. package/dist/schemas/3.1/compliance/media-type-object.test.js +69 -0
  23. package/dist/schemas/3.1/compliance/media-type-object.test.js.map +7 -0
  24. package/dist/schemas/3.1/compliance/openapi-object.test.js +381 -0
  25. package/dist/schemas/3.1/compliance/openapi-object.test.js.map +7 -0
  26. package/dist/schemas/3.1/compliance/operation-object.test.js +467 -0
  27. package/dist/schemas/3.1/compliance/operation-object.test.js.map +7 -0
  28. package/dist/schemas/3.1/compliance/parameter-object.test.js +155 -0
  29. package/dist/schemas/3.1/compliance/parameter-object.test.js.map +7 -0
  30. package/dist/schemas/3.1/compliance/path-item-object.test.js +103 -0
  31. package/dist/schemas/3.1/compliance/path-item-object.test.js.map +7 -0
  32. package/dist/schemas/3.1/compliance/reference-object.test.js +282 -0
  33. package/dist/schemas/3.1/compliance/reference-object.test.js.map +7 -0
  34. package/dist/schemas/3.1/compliance/request-body-object.test.js +97 -0
  35. package/dist/schemas/3.1/compliance/request-body-object.test.js.map +7 -0
  36. package/dist/schemas/3.1/compliance/response-object.test.js +131 -0
  37. package/dist/schemas/3.1/compliance/response-object.test.js.map +7 -0
  38. package/dist/schemas/3.1/compliance/responses-object.test.js +53 -0
  39. package/dist/schemas/3.1/compliance/responses-object.test.js.map +7 -0
  40. package/dist/schemas/3.1/compliance/runtime-expression.test.js +165 -0
  41. package/dist/schemas/3.1/compliance/runtime-expression.test.js.map +7 -0
  42. package/dist/schemas/3.1/compliance/schema-object.test.js +470 -0
  43. package/dist/schemas/3.1/compliance/schema-object.test.js.map +7 -0
  44. package/dist/schemas/3.1/compliance/security-requirement-object.test.js +54 -0
  45. package/dist/schemas/3.1/compliance/security-requirement-object.test.js.map +7 -0
  46. package/dist/schemas/3.1/compliance/security-scheme-object.test.js +123 -0
  47. package/dist/schemas/3.1/compliance/security-scheme-object.test.js.map +7 -0
  48. package/dist/schemas/3.1/compliance/server-object.test.js +17 -0
  49. package/dist/schemas/3.1/compliance/server-object.test.js.map +7 -0
  50. package/dist/schemas/3.1/compliance/tag-object.test.js +17 -0
  51. package/dist/schemas/3.1/compliance/tag-object.test.js.map +7 -0
  52. package/dist/schemas/3.1/processed/base-path-item-object.js +27 -33
  53. package/dist/schemas/3.1/processed/base-path-item-object.js.map +7 -0
  54. package/dist/schemas/3.1/processed/callback-object.js +7 -16
  55. package/dist/schemas/3.1/processed/callback-object.js.map +7 -0
  56. package/dist/schemas/3.1/processed/components-object.js +55 -62
  57. package/dist/schemas/3.1/processed/components-object.js.map +7 -0
  58. package/dist/schemas/3.1/processed/contact-object.js +11 -17
  59. package/dist/schemas/3.1/processed/contact-object.js.map +7 -0
  60. package/dist/schemas/3.1/processed/discriminator-object.js +15 -26
  61. package/dist/schemas/3.1/processed/discriminator-object.js.map +7 -0
  62. package/dist/schemas/3.1/processed/encoding-object.js +17 -28
  63. package/dist/schemas/3.1/processed/encoding-object.js.map +7 -0
  64. package/dist/schemas/3.1/processed/example-object.js +23 -33
  65. package/dist/schemas/3.1/processed/example-object.js.map +7 -0
  66. package/dist/schemas/3.1/processed/external-documentation-object.js +9 -15
  67. package/dist/schemas/3.1/processed/external-documentation-object.js.map +7 -0
  68. package/dist/schemas/3.1/processed/header-object.js +48 -64
  69. package/dist/schemas/3.1/processed/header-object.js.map +7 -0
  70. package/dist/schemas/3.1/processed/index.js +87 -30
  71. package/dist/schemas/3.1/processed/index.js.map +7 -0
  72. package/dist/schemas/3.1/processed/info-object.js +36 -43
  73. package/dist/schemas/3.1/processed/info-object.js.map +7 -0
  74. package/dist/schemas/3.1/processed/license-object.js +13 -19
  75. package/dist/schemas/3.1/processed/license-object.js.map +7 -0
  76. package/dist/schemas/3.1/processed/link-object.js +36 -50
  77. package/dist/schemas/3.1/processed/link-object.js.map +7 -0
  78. package/dist/schemas/3.1/processed/media-type-object-without-encoding.js +26 -32
  79. package/dist/schemas/3.1/processed/media-type-object-without-encoding.js.map +7 -0
  80. package/dist/schemas/3.1/processed/media-type-object.js +30 -36
  81. package/dist/schemas/3.1/processed/media-type-object.js.map +7 -0
  82. package/dist/schemas/3.1/processed/openapi-object.js +70 -78
  83. package/dist/schemas/3.1/processed/openapi-object.js.map +7 -0
  84. package/dist/schemas/3.1/processed/operation-object-without-callbacks.js +64 -70
  85. package/dist/schemas/3.1/processed/operation-object-without-callbacks.js.map +7 -0
  86. package/dist/schemas/3.1/processed/operation-object.js +14 -20
  87. package/dist/schemas/3.1/processed/operation-object.js.map +7 -0
  88. package/dist/schemas/3.1/processed/parameter-object.js +83 -91
  89. package/dist/schemas/3.1/processed/parameter-object.js.map +7 -0
  90. package/dist/schemas/3.1/processed/path-item-object-without-callbacks.js +38 -46
  91. package/dist/schemas/3.1/processed/path-item-object-without-callbacks.js.map +7 -0
  92. package/dist/schemas/3.1/processed/path-item-object.js +38 -46
  93. package/dist/schemas/3.1/processed/path-item-object.js.map +7 -0
  94. package/dist/schemas/3.1/processed/paths-object.js +16 -22
  95. package/dist/schemas/3.1/processed/paths-object.js.map +7 -0
  96. package/dist/schemas/3.1/processed/request-body-object.js +25 -31
  97. package/dist/schemas/3.1/processed/request-body-object.js.map +7 -0
  98. package/dist/schemas/3.1/processed/response-object.js +28 -34
  99. package/dist/schemas/3.1/processed/response-object.js.map +7 -0
  100. package/dist/schemas/3.1/processed/responses-object.js +17 -30
  101. package/dist/schemas/3.1/processed/responses-object.js.map +7 -0
  102. package/dist/schemas/3.1/processed/runtime-expression.js +50 -81
  103. package/dist/schemas/3.1/processed/runtime-expression.js.map +7 -0
  104. package/dist/schemas/3.1/processed/schema-object.js +88 -89
  105. package/dist/schemas/3.1/processed/schema-object.js.map +7 -0
  106. package/dist/schemas/3.1/processed/schema-object.test.js +310 -0
  107. package/dist/schemas/3.1/processed/schema-object.test.js.map +7 -0
  108. package/dist/schemas/3.1/processed/security-requirement-object.js +20 -36
  109. package/dist/schemas/3.1/processed/security-requirement-object.js.map +7 -0
  110. package/dist/schemas/3.1/processed/security-scheme-object.js +114 -142
  111. package/dist/schemas/3.1/processed/security-scheme-object.js.map +7 -0
  112. package/dist/schemas/3.1/processed/server-object.js +19 -25
  113. package/dist/schemas/3.1/processed/server-object.js.map +7 -0
  114. package/dist/schemas/3.1/processed/server-variable-object.js +19 -25
  115. package/dist/schemas/3.1/processed/server-variable-object.js.map +7 -0
  116. package/dist/schemas/3.1/processed/tag-object.js +12 -19
  117. package/dist/schemas/3.1/processed/tag-object.js.map +7 -0
  118. package/dist/schemas/3.1/processed/webhooks-object.js +6 -18
  119. package/dist/schemas/3.1/processed/webhooks-object.js.map +7 -0
  120. package/dist/schemas/3.1/processed/xml-object.js +28 -38
  121. package/dist/schemas/3.1/processed/xml-object.js.map +7 -0
  122. package/dist/schemas/3.1/unprocessed/base-path-item-object.js +16 -22
  123. package/dist/schemas/3.1/unprocessed/base-path-item-object.js.map +7 -0
  124. package/dist/schemas/3.1/unprocessed/callback-object.js +6 -15
  125. package/dist/schemas/3.1/unprocessed/callback-object.js.map +7 -0
  126. package/dist/schemas/3.1/unprocessed/components-object.js +58 -65
  127. package/dist/schemas/3.1/unprocessed/components-object.js.map +7 -0
  128. package/dist/schemas/3.1/unprocessed/contact-object.js +6 -12
  129. package/dist/schemas/3.1/unprocessed/contact-object.js.map +7 -0
  130. package/dist/schemas/3.1/unprocessed/discriminator-object.js +6 -17
  131. package/dist/schemas/3.1/unprocessed/discriminator-object.js.map +7 -0
  132. package/dist/schemas/3.1/unprocessed/encoding-object.js +14 -25
  133. package/dist/schemas/3.1/unprocessed/encoding-object.js.map +7 -0
  134. package/dist/schemas/3.1/unprocessed/example-object.js +6 -16
  135. package/dist/schemas/3.1/unprocessed/example-object.js.map +7 -0
  136. package/dist/schemas/3.1/unprocessed/external-documentation-object.js +6 -12
  137. package/dist/schemas/3.1/unprocessed/external-documentation-object.js.map +7 -0
  138. package/dist/schemas/3.1/unprocessed/header-object.js +25 -41
  139. package/dist/schemas/3.1/unprocessed/header-object.js.map +7 -0
  140. package/dist/schemas/3.1/unprocessed/index.js +89 -31
  141. package/dist/schemas/3.1/unprocessed/index.js.map +7 -0
  142. package/dist/schemas/3.1/unprocessed/info-object.js +6 -13
  143. package/dist/schemas/3.1/unprocessed/info-object.js.map +7 -0
  144. package/dist/schemas/3.1/unprocessed/license-object.js +6 -12
  145. package/dist/schemas/3.1/unprocessed/license-object.js.map +7 -0
  146. package/dist/schemas/3.1/unprocessed/link-object.js +6 -20
  147. package/dist/schemas/3.1/unprocessed/link-object.js.map +7 -0
  148. package/dist/schemas/3.1/unprocessed/media-type-object-without-encoding.js +6 -12
  149. package/dist/schemas/3.1/unprocessed/media-type-object-without-encoding.js.map +7 -0
  150. package/dist/schemas/3.1/unprocessed/media-type-object.js +33 -39
  151. package/dist/schemas/3.1/unprocessed/media-type-object.js.map +7 -0
  152. package/dist/schemas/3.1/unprocessed/openapi-object.js +6 -12
  153. package/dist/schemas/3.1/unprocessed/openapi-object.js.map +7 -0
  154. package/dist/schemas/3.1/unprocessed/operation-object-without-callbacks.js +38 -44
  155. package/dist/schemas/3.1/unprocessed/operation-object-without-callbacks.js.map +7 -0
  156. package/dist/schemas/3.1/unprocessed/operation-object.js +15 -21
  157. package/dist/schemas/3.1/unprocessed/operation-object.js.map +7 -0
  158. package/dist/schemas/3.1/unprocessed/parameter-object.js +22 -30
  159. package/dist/schemas/3.1/unprocessed/parameter-object.js.map +7 -0
  160. package/dist/schemas/3.1/unprocessed/path-item-object-without-callbacks.js +38 -46
  161. package/dist/schemas/3.1/unprocessed/path-item-object-without-callbacks.js.map +7 -0
  162. package/dist/schemas/3.1/unprocessed/path-item-object.js +52 -60
  163. package/dist/schemas/3.1/unprocessed/path-item-object.js.map +7 -0
  164. package/dist/schemas/3.1/unprocessed/paths-object.js +6 -14
  165. package/dist/schemas/3.1/unprocessed/paths-object.js.map +7 -0
  166. package/dist/schemas/3.1/unprocessed/reference-object.js +20 -28
  167. package/dist/schemas/3.1/unprocessed/reference-object.js.map +7 -0
  168. package/dist/schemas/3.1/unprocessed/request-body-object.js +6 -12
  169. package/dist/schemas/3.1/unprocessed/request-body-object.js.map +7 -0
  170. package/dist/schemas/3.1/unprocessed/response-object.js +27 -33
  171. package/dist/schemas/3.1/unprocessed/response-object.js.map +7 -0
  172. package/dist/schemas/3.1/unprocessed/responses-object.js +18 -31
  173. package/dist/schemas/3.1/unprocessed/responses-object.js.map +7 -0
  174. package/dist/schemas/3.1/unprocessed/runtime-expression.js +6 -17
  175. package/dist/schemas/3.1/unprocessed/runtime-expression.js.map +7 -0
  176. package/dist/schemas/3.1/unprocessed/schema-object.js +31 -32
  177. package/dist/schemas/3.1/unprocessed/schema-object.js.map +7 -0
  178. package/dist/schemas/3.1/unprocessed/security-requirement-object.js +6 -23
  179. package/dist/schemas/3.1/unprocessed/security-requirement-object.js.map +7 -0
  180. package/dist/schemas/3.1/unprocessed/security-scheme-object.js +41 -29
  181. package/dist/schemas/3.1/unprocessed/security-scheme-object.js.map +7 -0
  182. package/dist/schemas/3.1/unprocessed/server-object.js +6 -12
  183. package/dist/schemas/3.1/unprocessed/server-object.js.map +7 -0
  184. package/dist/schemas/3.1/unprocessed/server-variable-object.js +6 -12
  185. package/dist/schemas/3.1/unprocessed/server-variable-object.js.map +7 -0
  186. package/dist/schemas/3.1/unprocessed/tag-object.js +6 -13
  187. package/dist/schemas/3.1/unprocessed/tag-object.js.map +7 -0
  188. package/dist/schemas/3.1/unprocessed/webhooks-object.js +6 -18
  189. package/dist/schemas/3.1/unprocessed/webhooks-object.js.map +7 -0
  190. package/dist/schemas/3.1/unprocessed/xml-object.js +6 -16
  191. package/dist/schemas/3.1/unprocessed/xml-object.js.map +7 -0
  192. package/dist/schemas/extensions/index.d.ts +1 -0
  193. package/dist/schemas/extensions/index.d.ts.map +1 -1
  194. package/dist/schemas/extensions/index.js +29 -10
  195. package/dist/schemas/extensions/index.js.map +7 -0
  196. package/dist/schemas/extensions/x-additional-properties-name.js +6 -12
  197. package/dist/schemas/extensions/x-additional-properties-name.js.map +7 -0
  198. package/dist/schemas/extensions/x-additional-properties-name.test.js +28 -0
  199. package/dist/schemas/extensions/x-additional-properties-name.test.js.map +7 -0
  200. package/dist/schemas/extensions/x-code-samples.js +12 -10
  201. package/dist/schemas/extensions/x-code-samples.js.map +7 -0
  202. package/dist/schemas/extensions/x-code-samples.test.js +82 -0
  203. package/dist/schemas/extensions/x-code-samples.test.js.map +7 -0
  204. package/dist/schemas/extensions/x-display-name.js +8 -0
  205. package/dist/schemas/extensions/x-display-name.js.map +7 -0
  206. package/dist/schemas/extensions/x-display-name.test.js +28 -0
  207. package/dist/schemas/extensions/x-display-name.test.js.map +7 -0
  208. package/dist/schemas/extensions/x-enum-descriptions.js +6 -18
  209. package/dist/schemas/extensions/x-enum-descriptions.js.map +7 -0
  210. package/dist/schemas/extensions/x-enum-descriptions.test.js +36 -0
  211. package/dist/schemas/extensions/x-enum-descriptions.test.js.map +7 -0
  212. package/dist/schemas/extensions/x-internal.js +6 -5
  213. package/dist/schemas/extensions/x-internal.js.map +7 -0
  214. package/dist/schemas/extensions/x-internal.test.js +20 -0
  215. package/dist/schemas/extensions/x-internal.test.js.map +7 -0
  216. package/dist/schemas/extensions/x-scalar-icon.js +6 -5
  217. package/dist/schemas/extensions/x-scalar-icon.js.map +7 -0
  218. package/dist/schemas/extensions/x-scalar-icon.test.js +14 -0
  219. package/dist/schemas/extensions/x-scalar-icon.test.js.map +7 -0
  220. package/dist/schemas/extensions/x-scalar-ignore.js +6 -5
  221. package/dist/schemas/extensions/x-scalar-ignore.js.map +7 -0
  222. package/dist/schemas/extensions/x-scalar-ignore.test.js +20 -0
  223. package/dist/schemas/extensions/x-scalar-ignore.test.js.map +7 -0
  224. package/dist/schemas/extensions/x-scalar-redirect-uri.js +6 -5
  225. package/dist/schemas/extensions/x-scalar-redirect-uri.js.map +7 -0
  226. package/dist/schemas/extensions/x-scalar-redirect-uri.test.js +23 -0
  227. package/dist/schemas/extensions/x-scalar-redirect-uri.test.js.map +7 -0
  228. package/dist/schemas/extensions/x-scalar-sdk-installation.d.ts +25 -0
  229. package/dist/schemas/extensions/x-scalar-sdk-installation.d.ts.map +1 -0
  230. package/dist/schemas/extensions/x-scalar-sdk-installation.js +12 -0
  231. package/dist/schemas/extensions/x-scalar-sdk-installation.js.map +7 -0
  232. package/dist/schemas/extensions/x-scalar-sdk-installation.test.js +25 -0
  233. package/dist/schemas/extensions/x-scalar-sdk-installation.test.js.map +7 -0
  234. package/dist/schemas/extensions/x-scalar-stability.js +10 -19
  235. package/dist/schemas/extensions/x-scalar-stability.js.map +7 -0
  236. package/dist/schemas/extensions/x-scalar-stability.test.js +33 -0
  237. package/dist/schemas/extensions/x-scalar-stability.test.js.map +7 -0
  238. package/dist/schemas/extensions/x-tag-groups.js +14 -17
  239. package/dist/schemas/extensions/x-tag-groups.js.map +7 -0
  240. package/dist/schemas/extensions/x-tag-groups.test.js +55 -0
  241. package/dist/schemas/extensions/x-tag-groups.test.js.map +7 -0
  242. package/dist/schemas/extensions/x-use-pkce.js +11 -10
  243. package/dist/schemas/extensions/x-use-pkce.js.map +7 -0
  244. package/dist/schemas/extensions/x-use-pkce.test.js +34 -0
  245. package/dist/schemas/extensions/x-use-pkce.test.js.map +7 -0
  246. package/package.json +12 -13
@@ -0,0 +1,131 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { ResponseObjectSchema } from "../unprocessed/response-object.js";
3
+ describe("response-object", () => {
4
+ describe("ContactObjectSchema", () => {
5
+ describe("Response Object Example", () => {
6
+ it("Response of an array of a complex type", () => {
7
+ const result = ResponseObjectSchema.parse({
8
+ description: "A complex object array response",
9
+ content: {
10
+ "application/json": {
11
+ schema: {
12
+ type: "array",
13
+ items: {
14
+ $ref: "#/components/schemas/ComplexObject"
15
+ }
16
+ }
17
+ }
18
+ }
19
+ });
20
+ expect(result).toEqual({
21
+ description: "A complex object array response",
22
+ content: {
23
+ "application/json": {
24
+ schema: {
25
+ type: "array",
26
+ items: {
27
+ $ref: "#/components/schemas/ComplexObject"
28
+ }
29
+ }
30
+ }
31
+ }
32
+ });
33
+ });
34
+ it("Response with a string type", () => {
35
+ const result = ResponseObjectSchema.parse({
36
+ description: "A simple string response",
37
+ content: {
38
+ "text/plain": {
39
+ schema: {
40
+ type: "string"
41
+ }
42
+ }
43
+ }
44
+ });
45
+ expect(result).toEqual({
46
+ description: "A simple string response",
47
+ content: {
48
+ "text/plain": {
49
+ schema: {
50
+ type: "string"
51
+ }
52
+ }
53
+ }
54
+ });
55
+ });
56
+ it("Plain text response with headers", () => {
57
+ const result = ResponseObjectSchema.parse({
58
+ description: "A simple string response",
59
+ content: {
60
+ "text/plain": {
61
+ schema: {
62
+ type: "string"
63
+ },
64
+ example: "whoa!"
65
+ }
66
+ },
67
+ headers: {
68
+ "X-Rate-Limit-Limit": {
69
+ description: "The number of allowed requests in the current period",
70
+ schema: {
71
+ type: "integer"
72
+ }
73
+ },
74
+ "X-Rate-Limit-Remaining": {
75
+ description: "The number of remaining requests in the current period",
76
+ schema: {
77
+ type: "integer"
78
+ }
79
+ },
80
+ "X-Rate-Limit-Reset": {
81
+ description: "The number of seconds left in the current period",
82
+ schema: {
83
+ type: "integer"
84
+ }
85
+ }
86
+ }
87
+ });
88
+ expect(result).toEqual({
89
+ description: "A simple string response",
90
+ content: {
91
+ "text/plain": {
92
+ schema: {
93
+ type: "string"
94
+ },
95
+ example: "whoa!"
96
+ }
97
+ },
98
+ headers: {
99
+ "X-Rate-Limit-Limit": {
100
+ description: "The number of allowed requests in the current period",
101
+ schema: {
102
+ type: "integer"
103
+ }
104
+ },
105
+ "X-Rate-Limit-Remaining": {
106
+ description: "The number of remaining requests in the current period",
107
+ schema: {
108
+ type: "integer"
109
+ }
110
+ },
111
+ "X-Rate-Limit-Reset": {
112
+ description: "The number of seconds left in the current period",
113
+ schema: {
114
+ type: "integer"
115
+ }
116
+ }
117
+ }
118
+ });
119
+ });
120
+ it("Response with no return value", () => {
121
+ const result = ResponseObjectSchema.parse({
122
+ description: "object created"
123
+ });
124
+ expect(result).toEqual({
125
+ description: "object created"
126
+ });
127
+ });
128
+ });
129
+ });
130
+ });
131
+ //# sourceMappingURL=response-object.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/schemas/3.1/compliance/response-object.test.ts"],
4
+ "sourcesContent": ["import { describe, expect, it } from 'vitest'\n\nimport { ResponseObjectSchema } from '../unprocessed/response-object'\n\ndescribe('response-object', () => {\n describe('ContactObjectSchema', () => {\n // https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.1.md#response-object-examples\n describe('Response Object Example', () => {\n it('Response of an array of a complex type', () => {\n const result = ResponseObjectSchema.parse({\n description: 'A complex object array response',\n content: {\n 'application/json': {\n schema: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ComplexObject',\n },\n },\n },\n },\n })\n\n expect(result).toEqual({\n description: 'A complex object array response',\n content: {\n 'application/json': {\n schema: {\n type: 'array',\n items: {\n $ref: '#/components/schemas/ComplexObject',\n },\n },\n },\n },\n })\n })\n\n it('Response with a string type', () => {\n const result = ResponseObjectSchema.parse({\n description: 'A simple string response',\n content: {\n 'text/plain': {\n schema: {\n type: 'string',\n },\n },\n },\n })\n\n expect(result).toEqual({\n description: 'A simple string response',\n content: {\n 'text/plain': {\n schema: {\n type: 'string',\n },\n },\n },\n })\n })\n\n it('Plain text response with headers', () => {\n const result = ResponseObjectSchema.parse({\n description: 'A simple string response',\n content: {\n 'text/plain': {\n schema: {\n type: 'string',\n },\n example: 'whoa!',\n },\n },\n headers: {\n 'X-Rate-Limit-Limit': {\n description: 'The number of allowed requests in the current period',\n schema: {\n type: 'integer',\n },\n },\n 'X-Rate-Limit-Remaining': {\n description: 'The number of remaining requests in the current period',\n schema: {\n type: 'integer',\n },\n },\n 'X-Rate-Limit-Reset': {\n description: 'The number of seconds left in the current period',\n schema: {\n type: 'integer',\n },\n },\n },\n })\n\n expect(result).toEqual({\n description: 'A simple string response',\n content: {\n 'text/plain': {\n schema: {\n type: 'string',\n },\n example: 'whoa!',\n },\n },\n headers: {\n 'X-Rate-Limit-Limit': {\n description: 'The number of allowed requests in the current period',\n schema: {\n type: 'integer',\n },\n },\n 'X-Rate-Limit-Remaining': {\n description: 'The number of remaining requests in the current period',\n schema: {\n type: 'integer',\n },\n },\n 'X-Rate-Limit-Reset': {\n description: 'The number of seconds left in the current period',\n schema: {\n type: 'integer',\n },\n },\n },\n })\n })\n\n it('Response with no return value', () => {\n const result = ResponseObjectSchema.parse({\n description: 'object created',\n })\n\n expect(result).toEqual({\n description: 'object created',\n })\n })\n })\n })\n})\n"],
5
+ "mappings": "AAAA,SAAS,UAAU,QAAQ,UAAU;AAErC,SAAS,4BAA4B;AAErC,SAAS,mBAAmB,MAAM;AAChC,WAAS,uBAAuB,MAAM;AAEpC,aAAS,2BAA2B,MAAM;AACxC,SAAG,0CAA0C,MAAM;AACjD,cAAM,SAAS,qBAAqB,MAAM;AAAA,UACxC,aAAa;AAAA,UACb,SAAS;AAAA,YACP,oBAAoB;AAAA,cAClB,QAAQ;AAAA,gBACN,MAAM;AAAA,gBACN,OAAO;AAAA,kBACL,MAAM;AAAA,gBACR;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AAED,eAAO,MAAM,EAAE,QAAQ;AAAA,UACrB,aAAa;AAAA,UACb,SAAS;AAAA,YACP,oBAAoB;AAAA,cAClB,QAAQ;AAAA,gBACN,MAAM;AAAA,gBACN,OAAO;AAAA,kBACL,MAAM;AAAA,gBACR;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH,CAAC;AAED,SAAG,+BAA+B,MAAM;AACtC,cAAM,SAAS,qBAAqB,MAAM;AAAA,UACxC,aAAa;AAAA,UACb,SAAS;AAAA,YACP,cAAc;AAAA,cACZ,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AAED,eAAO,MAAM,EAAE,QAAQ;AAAA,UACrB,aAAa;AAAA,UACb,SAAS;AAAA,YACP,cAAc;AAAA,cACZ,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH,CAAC;AAED,SAAG,oCAAoC,MAAM;AAC3C,cAAM,SAAS,qBAAqB,MAAM;AAAA,UACxC,aAAa;AAAA,UACb,SAAS;AAAA,YACP,cAAc;AAAA,cACZ,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,cACA,SAAS;AAAA,YACX;AAAA,UACF;AAAA,UACA,SAAS;AAAA,YACP,sBAAsB;AAAA,cACpB,aAAa;AAAA,cACb,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,YACF;AAAA,YACA,0BAA0B;AAAA,cACxB,aAAa;AAAA,cACb,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,YACF;AAAA,YACA,sBAAsB;AAAA,cACpB,aAAa;AAAA,cACb,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AAED,eAAO,MAAM,EAAE,QAAQ;AAAA,UACrB,aAAa;AAAA,UACb,SAAS;AAAA,YACP,cAAc;AAAA,cACZ,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,cACA,SAAS;AAAA,YACX;AAAA,UACF;AAAA,UACA,SAAS;AAAA,YACP,sBAAsB;AAAA,cACpB,aAAa;AAAA,cACb,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,YACF;AAAA,YACA,0BAA0B;AAAA,cACxB,aAAa;AAAA,cACb,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,YACF;AAAA,YACA,sBAAsB;AAAA,cACpB,aAAa;AAAA,cACb,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH,CAAC;AAED,SAAG,iCAAiC,MAAM;AACxC,cAAM,SAAS,qBAAqB,MAAM;AAAA,UACxC,aAAa;AAAA,QACf,CAAC;AAED,eAAO,MAAM,EAAE,QAAQ;AAAA,UACrB,aAAa;AAAA,QACf,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,53 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { ResponsesObjectSchema } from "../unprocessed/responses-object.js";
3
+ describe("responses-object", () => {
4
+ describe("ResponsesObjectSchema", () => {
5
+ it("Responses Object Example", () => {
6
+ const result = ResponsesObjectSchema.parse({
7
+ 200: {
8
+ description: "a pet to be returned",
9
+ content: {
10
+ "application/json": {
11
+ schema: {
12
+ $ref: "#/components/schemas/Pet"
13
+ }
14
+ }
15
+ }
16
+ },
17
+ default: {
18
+ description: "Unexpected error",
19
+ content: {
20
+ "application/json": {
21
+ schema: {
22
+ $ref: "#/components/schemas/ErrorModel"
23
+ }
24
+ }
25
+ }
26
+ }
27
+ });
28
+ expect(result).toEqual({
29
+ 200: {
30
+ description: "a pet to be returned",
31
+ content: {
32
+ "application/json": {
33
+ schema: {
34
+ $ref: "#/components/schemas/Pet"
35
+ }
36
+ }
37
+ }
38
+ },
39
+ default: {
40
+ description: "Unexpected error",
41
+ content: {
42
+ "application/json": {
43
+ schema: {
44
+ $ref: "#/components/schemas/ErrorModel"
45
+ }
46
+ }
47
+ }
48
+ }
49
+ });
50
+ });
51
+ });
52
+ });
53
+ //# sourceMappingURL=responses-object.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/schemas/3.1/compliance/responses-object.test.ts"],
4
+ "sourcesContent": ["import { describe, expect, it } from 'vitest'\n\nimport { ResponsesObjectSchema } from '../unprocessed/responses-object'\n\ndescribe('responses-object', () => {\n describe('ResponsesObjectSchema', () => {\n // https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.1.md#responses-object-example\n it('Responses Object Example', () => {\n const result = ResponsesObjectSchema.parse({\n 200: {\n description: 'a pet to be returned',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/Pet',\n },\n },\n },\n },\n default: {\n description: 'Unexpected error',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/ErrorModel',\n },\n },\n },\n },\n })\n\n expect(result).toEqual({\n 200: {\n description: 'a pet to be returned',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/Pet',\n },\n },\n },\n },\n default: {\n description: 'Unexpected error',\n content: {\n 'application/json': {\n schema: {\n $ref: '#/components/schemas/ErrorModel',\n },\n },\n },\n },\n })\n })\n })\n})\n"],
5
+ "mappings": "AAAA,SAAS,UAAU,QAAQ,UAAU;AAErC,SAAS,6BAA6B;AAEtC,SAAS,oBAAoB,MAAM;AACjC,WAAS,yBAAyB,MAAM;AAEtC,OAAG,4BAA4B,MAAM;AACnC,YAAM,SAAS,sBAAsB,MAAM;AAAA,QACzC,KAAK;AAAA,UACH,aAAa;AAAA,UACb,SAAS;AAAA,YACP,oBAAoB;AAAA,cAClB,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA,SAAS;AAAA,UACP,aAAa;AAAA,UACb,SAAS;AAAA,YACP,oBAAoB;AAAA,cAClB,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,MAAM,EAAE,QAAQ;AAAA,QACrB,KAAK;AAAA,UACH,aAAa;AAAA,UACb,SAAS;AAAA,YACP,oBAAoB;AAAA,cAClB,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA,SAAS;AAAA,UACP,aAAa;AAAA,UACb,SAAS;AAAA,YACP,oBAAoB;AAAA,cAClB,QAAQ;AAAA,gBACN,MAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,165 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { RuntimeExpressionSchema } from "../unprocessed/runtime-expression.js";
3
+ describe("RuntimeExpressionSchema", () => {
4
+ describe("validation", () => {
5
+ const validExpressions = [
6
+ {
7
+ expression: "$url",
8
+ description: "validates $url expression"
9
+ },
10
+ {
11
+ expression: "$method",
12
+ description: "validates $method expression"
13
+ },
14
+ {
15
+ expression: "$statusCode",
16
+ description: "validates $statusCode expression"
17
+ },
18
+ {
19
+ expression: "$request.path.id",
20
+ description: "validates path parameter reference"
21
+ },
22
+ {
23
+ expression: "$request.query.filter",
24
+ description: "validates query parameter reference"
25
+ },
26
+ {
27
+ expression: "$request.header.X-Custom-Header",
28
+ description: "validates header reference"
29
+ },
30
+ {
31
+ expression: "$request.body#/user/id",
32
+ description: "validates body reference with JSON pointer"
33
+ },
34
+ {
35
+ expression: "$response.header.Content-Type",
36
+ description: "validates response header reference"
37
+ },
38
+ {
39
+ expression: "$response.body#/status",
40
+ description: "validates response body reference with JSON pointer"
41
+ },
42
+ {
43
+ expression: "http://notificationServer.com?transactionId={$request.body#/id}&email={$request.body#/email}",
44
+ description: "validates URL with runtime expressions"
45
+ },
46
+ {
47
+ expression: "{$request.query.queryUrl}",
48
+ description: "validates URL with runtime expressions"
49
+ }
50
+ ];
51
+ validExpressions.forEach(({ expression, description }) => {
52
+ it(description, () => {
53
+ expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true);
54
+ });
55
+ });
56
+ const invalidExpressions = [
57
+ {
58
+ expression: "invalid",
59
+ description: "rejects expression without $ prefix"
60
+ },
61
+ {
62
+ expression: "$invalid",
63
+ description: "rejects unknown runtime expression"
64
+ },
65
+ {
66
+ expression: "$request.invalid.field",
67
+ description: "rejects invalid request field reference"
68
+ },
69
+ {
70
+ expression: "$response.invalid.field",
71
+ description: "rejects invalid response field reference"
72
+ },
73
+ {
74
+ expression: "$request.body#invalid-pointer",
75
+ description: "rejects invalid JSON pointer syntax"
76
+ },
77
+ {
78
+ expression: "",
79
+ description: "rejects empty string"
80
+ }
81
+ ];
82
+ invalidExpressions.forEach(({ expression, description }) => {
83
+ it(description, () => {
84
+ expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(false);
85
+ });
86
+ });
87
+ });
88
+ describe("complex expressions", () => {
89
+ it("validates nested JSON pointers", () => {
90
+ const expression = "$request.body#/user/addresses/0/street";
91
+ expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true);
92
+ });
93
+ it("validates case-sensitive header names", () => {
94
+ const expression = "$request.header.Content-Type";
95
+ expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true);
96
+ });
97
+ it("validates expressions with special characters in JSON pointers", () => {
98
+ const expression = "$response.body#/data/special~1field/value";
99
+ expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true);
100
+ });
101
+ });
102
+ describe("edge cases", () => {
103
+ it("validates empty JSON pointer", () => {
104
+ const expression = "$request.body#";
105
+ expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true);
106
+ });
107
+ it("validates root JSON pointer", () => {
108
+ const expression = "$response.body#/";
109
+ expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true);
110
+ });
111
+ it("handles whitespace in header names", () => {
112
+ const expression = "$request.header.X-Custom Header";
113
+ expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(false);
114
+ });
115
+ });
116
+ describe("embedded expressions", () => {
117
+ const validEmbeddedExpressions = [
118
+ {
119
+ expression: "Hello {$request.body#/name}!",
120
+ description: "validates simple embedded expression"
121
+ },
122
+ {
123
+ expression: "User {$request.path.id} updated at {$request.body#/timestamp}",
124
+ description: "validates multiple embedded expressions"
125
+ },
126
+ {
127
+ expression: "Status: {$statusCode}",
128
+ description: "validates embedded system variable"
129
+ },
130
+ {
131
+ expression: "{$request.header.Authorization}",
132
+ description: "validates single embedded expression"
133
+ },
134
+ {
135
+ expression: "Content-Type is: {$response.header.Content-Type}",
136
+ description: "validates embedded header reference"
137
+ }
138
+ ];
139
+ validEmbeddedExpressions.forEach(({ expression, description }) => {
140
+ it(description, () => {
141
+ expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true);
142
+ });
143
+ });
144
+ const invalidEmbeddedExpressions = [
145
+ {
146
+ expression: "Missing closing brace {$request.body#/name",
147
+ description: "rejects unclosed embedded expression"
148
+ },
149
+ {
150
+ expression: "Missing opening brace $request.body#/name}",
151
+ description: "rejects unopened embedded expression"
152
+ },
153
+ {
154
+ expression: "Empty braces {}",
155
+ description: "rejects empty embedded expression"
156
+ }
157
+ ];
158
+ invalidEmbeddedExpressions.forEach(({ expression, description }) => {
159
+ it(description, () => {
160
+ expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(false);
161
+ });
162
+ });
163
+ });
164
+ });
165
+ //# sourceMappingURL=runtime-expression.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/schemas/3.1/compliance/runtime-expression.test.ts"],
4
+ "sourcesContent": ["import { describe, expect, it } from 'vitest'\n\nimport { RuntimeExpressionSchema } from '../unprocessed/runtime-expression'\n\ndescribe('RuntimeExpressionSchema', () => {\n describe('validation', () => {\n // Valid expressions\n const validExpressions = [\n {\n expression: '$url',\n description: 'validates $url expression',\n },\n {\n expression: '$method',\n description: 'validates $method expression',\n },\n {\n expression: '$statusCode',\n description: 'validates $statusCode expression',\n },\n {\n expression: '$request.path.id',\n description: 'validates path parameter reference',\n },\n {\n expression: '$request.query.filter',\n description: 'validates query parameter reference',\n },\n {\n expression: '$request.header.X-Custom-Header',\n description: 'validates header reference',\n },\n {\n expression: '$request.body#/user/id',\n description: 'validates body reference with JSON pointer',\n },\n {\n expression: '$response.header.Content-Type',\n description: 'validates response header reference',\n },\n {\n expression: '$response.body#/status',\n description: 'validates response body reference with JSON pointer',\n },\n {\n expression: 'http://notificationServer.com?transactionId={$request.body#/id}&email={$request.body#/email}',\n description: 'validates URL with runtime expressions',\n },\n {\n expression: '{$request.query.queryUrl}',\n description: 'validates URL with runtime expressions',\n },\n ]\n\n validExpressions.forEach(({ expression, description }) => {\n it(description, () => {\n expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true)\n })\n })\n\n // Invalid expressions\n const invalidExpressions = [\n {\n expression: 'invalid',\n description: 'rejects expression without $ prefix',\n },\n {\n expression: '$invalid',\n description: 'rejects unknown runtime expression',\n },\n {\n expression: '$request.invalid.field',\n description: 'rejects invalid request field reference',\n },\n {\n expression: '$response.invalid.field',\n description: 'rejects invalid response field reference',\n },\n {\n expression: '$request.body#invalid-pointer',\n description: 'rejects invalid JSON pointer syntax',\n },\n {\n expression: '',\n description: 'rejects empty string',\n },\n ]\n\n invalidExpressions.forEach(({ expression, description }) => {\n it(description, () => {\n expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(false)\n })\n })\n })\n\n describe('complex expressions', () => {\n it('validates nested JSON pointers', () => {\n const expression = '$request.body#/user/addresses/0/street'\n expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true)\n })\n\n it('validates case-sensitive header names', () => {\n const expression = '$request.header.Content-Type'\n expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true)\n })\n\n it('validates expressions with special characters in JSON pointers', () => {\n const expression = '$response.body#/data/special~1field/value'\n expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true)\n })\n })\n\n describe('edge cases', () => {\n it('validates empty JSON pointer', () => {\n const expression = '$request.body#'\n expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true)\n })\n\n it('validates root JSON pointer', () => {\n const expression = '$response.body#/'\n expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true)\n })\n\n it('handles whitespace in header names', () => {\n const expression = '$request.header.X-Custom Header'\n expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(false)\n })\n })\n\n describe('embedded expressions', () => {\n const validEmbeddedExpressions = [\n {\n expression: 'Hello {$request.body#/name}!',\n description: 'validates simple embedded expression',\n },\n {\n expression: 'User {$request.path.id} updated at {$request.body#/timestamp}',\n description: 'validates multiple embedded expressions',\n },\n {\n expression: 'Status: {$statusCode}',\n description: 'validates embedded system variable',\n },\n {\n expression: '{$request.header.Authorization}',\n description: 'validates single embedded expression',\n },\n {\n expression: 'Content-Type is: {$response.header.Content-Type}',\n description: 'validates embedded header reference',\n },\n ]\n\n validEmbeddedExpressions.forEach(({ expression, description }) => {\n it(description, () => {\n expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(true)\n })\n })\n\n const invalidEmbeddedExpressions = [\n {\n expression: 'Missing closing brace {$request.body#/name',\n description: 'rejects unclosed embedded expression',\n },\n {\n expression: 'Missing opening brace $request.body#/name}',\n description: 'rejects unopened embedded expression',\n },\n {\n expression: 'Empty braces {}',\n description: 'rejects empty embedded expression',\n },\n ]\n\n invalidEmbeddedExpressions.forEach(({ expression, description }) => {\n it(description, () => {\n expect(RuntimeExpressionSchema.safeParse(expression).success).toBe(false)\n })\n })\n })\n})\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }