docusaurus-plugin-openapi-docs 0.0.0-1000

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 (163) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +361 -0
  3. package/lib/index.d.ts +9 -0
  4. package/lib/index.js +709 -0
  5. package/lib/markdown/createArrayBracket.d.ts +2 -0
  6. package/lib/markdown/createArrayBracket.js +36 -0
  7. package/lib/markdown/createAuthentication.d.ts +2 -0
  8. package/lib/markdown/createAuthentication.js +171 -0
  9. package/lib/markdown/createAuthorization.d.ts +1 -0
  10. package/lib/markdown/createAuthorization.js +15 -0
  11. package/lib/markdown/createCallbackMethodEndpoint.d.ts +1 -0
  12. package/lib/markdown/createCallbackMethodEndpoint.js +20 -0
  13. package/lib/markdown/createCallbacks.d.ts +6 -0
  14. package/lib/markdown/createCallbacks.js +77 -0
  15. package/lib/markdown/createContactInfo.d.ts +2 -0
  16. package/lib/markdown/createContactInfo.js +39 -0
  17. package/lib/markdown/createDeprecationNotice.d.ts +6 -0
  18. package/lib/markdown/createDeprecationNotice.js +20 -0
  19. package/lib/markdown/createDescription.d.ts +1 -0
  20. package/lib/markdown/createDescription.js +13 -0
  21. package/lib/markdown/createDetails.d.ts +2 -0
  22. package/lib/markdown/createDetails.js +17 -0
  23. package/lib/markdown/createDetailsSummary.d.ts +2 -0
  24. package/lib/markdown/createDetailsSummary.js +17 -0
  25. package/lib/markdown/createDownload.d.ts +1 -0
  26. package/lib/markdown/createDownload.js +16 -0
  27. package/lib/markdown/createHeading.d.ts +1 -0
  28. package/lib/markdown/createHeading.js +20 -0
  29. package/lib/markdown/createLicense.d.ts +2 -0
  30. package/lib/markdown/createLicense.js +32 -0
  31. package/lib/markdown/createLogo.d.ts +2 -0
  32. package/lib/markdown/createLogo.js +18 -0
  33. package/lib/markdown/createMethodEndpoint.d.ts +1 -0
  34. package/lib/markdown/createMethodEndpoint.js +20 -0
  35. package/lib/markdown/createParamsDetails.d.ts +6 -0
  36. package/lib/markdown/createParamsDetails.js +18 -0
  37. package/lib/markdown/createRequestBodyDetails.d.ts +13 -0
  38. package/lib/markdown/createRequestBodyDetails.js +13 -0
  39. package/lib/markdown/createRequestHeader.d.ts +1 -0
  40. package/lib/markdown/createRequestHeader.js +21 -0
  41. package/lib/markdown/createRequestSchema.d.ts +14 -0
  42. package/lib/markdown/createRequestSchema.js +20 -0
  43. package/lib/markdown/createResponseSchema.d.ts +14 -0
  44. package/lib/markdown/createResponseSchema.js +20 -0
  45. package/lib/markdown/createSchema.d.ts +9 -0
  46. package/lib/markdown/createSchema.js +668 -0
  47. package/lib/markdown/createSchema.test.d.ts +1 -0
  48. package/lib/markdown/createSchema.test.js +913 -0
  49. package/lib/markdown/createStatusCodes.d.ts +9 -0
  50. package/lib/markdown/createStatusCodes.js +63 -0
  51. package/lib/markdown/createTermsOfService.d.ts +1 -0
  52. package/lib/markdown/createTermsOfService.js +31 -0
  53. package/lib/markdown/createVendorExtensions.d.ts +1 -0
  54. package/lib/markdown/createVendorExtensions.js +24 -0
  55. package/lib/markdown/createVersionBadge.d.ts +1 -0
  56. package/lib/markdown/createVersionBadge.js +19 -0
  57. package/lib/markdown/index.d.ts +5 -0
  58. package/lib/markdown/index.js +92 -0
  59. package/lib/markdown/schema.d.ts +3 -0
  60. package/lib/markdown/schema.js +154 -0
  61. package/lib/markdown/schema.test.d.ts +1 -0
  62. package/lib/markdown/schema.test.js +181 -0
  63. package/lib/markdown/utils.d.ts +20 -0
  64. package/lib/markdown/utils.js +68 -0
  65. package/lib/openapi/createRequestExample.d.ts +2 -0
  66. package/lib/openapi/createRequestExample.js +191 -0
  67. package/lib/openapi/createResponseExample.d.ts +2 -0
  68. package/lib/openapi/createResponseExample.js +192 -0
  69. package/lib/openapi/index.d.ts +1 -0
  70. package/lib/openapi/index.js +12 -0
  71. package/lib/openapi/openapi.d.ts +12 -0
  72. package/lib/openapi/openapi.js +544 -0
  73. package/lib/openapi/openapi.test.d.ts +1 -0
  74. package/lib/openapi/openapi.test.js +33 -0
  75. package/lib/openapi/types.d.ts +354 -0
  76. package/lib/openapi/types.js +8 -0
  77. package/lib/openapi/utils/loadAndResolveSpec.d.ts +2 -0
  78. package/lib/openapi/utils/loadAndResolveSpec.js +153 -0
  79. package/lib/openapi/utils/services/OpenAPIParser.d.ts +52 -0
  80. package/lib/openapi/utils/services/OpenAPIParser.js +343 -0
  81. package/lib/openapi/utils/services/RedocNormalizedOptions.d.ts +100 -0
  82. package/lib/openapi/utils/services/RedocNormalizedOptions.js +170 -0
  83. package/lib/openapi/utils/types/index.d.ts +2 -0
  84. package/lib/openapi/utils/types/index.js +23 -0
  85. package/lib/openapi/utils/types/open-api.d.ts +305 -0
  86. package/lib/openapi/utils/types/open-api.js +8 -0
  87. package/lib/openapi/utils/types.d.ts +306 -0
  88. package/lib/openapi/utils/types.js +8 -0
  89. package/lib/openapi/utils/utils/JsonPointer.d.ts +51 -0
  90. package/lib/openapi/utils/utils/JsonPointer.js +95 -0
  91. package/lib/openapi/utils/utils/helpers.d.ts +43 -0
  92. package/lib/openapi/utils/utils/helpers.js +230 -0
  93. package/lib/openapi/utils/utils/index.d.ts +3 -0
  94. package/lib/openapi/utils/utils/index.js +25 -0
  95. package/lib/openapi/utils/utils/openapi.d.ts +40 -0
  96. package/lib/openapi/utils/utils/openapi.js +605 -0
  97. package/lib/options.d.ts +2 -0
  98. package/lib/options.js +69 -0
  99. package/lib/sidebars/index.d.ts +4 -0
  100. package/lib/sidebars/index.js +226 -0
  101. package/lib/sidebars/utils.d.ts +2 -0
  102. package/lib/sidebars/utils.js +30 -0
  103. package/lib/types.d.ts +135 -0
  104. package/lib/types.js +8 -0
  105. package/package.json +69 -0
  106. package/src/index.ts +945 -0
  107. package/src/markdown/__snapshots__/createSchema.test.ts.snap +1605 -0
  108. package/src/markdown/createArrayBracket.ts +35 -0
  109. package/src/markdown/createAuthentication.ts +201 -0
  110. package/src/markdown/createAuthorization.ts +13 -0
  111. package/src/markdown/createCallbackMethodEndpoint.ts +19 -0
  112. package/src/markdown/createCallbacks.ts +101 -0
  113. package/src/markdown/createContactInfo.ts +41 -0
  114. package/src/markdown/createDeprecationNotice.ts +31 -0
  115. package/src/markdown/createDescription.ts +12 -0
  116. package/src/markdown/createDetails.ts +16 -0
  117. package/src/markdown/createDetailsSummary.ts +16 -0
  118. package/src/markdown/createDownload.ts +15 -0
  119. package/src/markdown/createHeading.ts +23 -0
  120. package/src/markdown/createLicense.ts +34 -0
  121. package/src/markdown/createLogo.ts +21 -0
  122. package/src/markdown/createMethodEndpoint.ts +19 -0
  123. package/src/markdown/createParamsDetails.ts +22 -0
  124. package/src/markdown/createRequestBodyDetails.ts +24 -0
  125. package/src/markdown/createRequestHeader.ts +24 -0
  126. package/src/markdown/createRequestSchema.ts +32 -0
  127. package/src/markdown/createResponseSchema.ts +32 -0
  128. package/src/markdown/createSchema.test.ts +1075 -0
  129. package/src/markdown/createSchema.ts +862 -0
  130. package/src/markdown/createStatusCodes.ts +63 -0
  131. package/src/markdown/createTermsOfService.ts +30 -0
  132. package/src/markdown/createVendorExtensions.ts +22 -0
  133. package/src/markdown/createVersionBadge.ts +22 -0
  134. package/src/markdown/index.ts +144 -0
  135. package/src/markdown/schema.test.ts +208 -0
  136. package/src/markdown/schema.ts +185 -0
  137. package/src/markdown/utils.ts +89 -0
  138. package/src/openapi/__fixtures__/examples/openapi.yaml +49 -0
  139. package/src/openapi/createRequestExample.ts +235 -0
  140. package/src/openapi/createResponseExample.ts +238 -0
  141. package/src/openapi/index.ts +8 -0
  142. package/src/openapi/openapi.test.ts +40 -0
  143. package/src/openapi/openapi.ts +697 -0
  144. package/src/openapi/types.ts +455 -0
  145. package/src/openapi/utils/loadAndResolveSpec.ts +171 -0
  146. package/src/openapi/utils/services/OpenAPIParser.ts +434 -0
  147. package/src/openapi/utils/services/RedocNormalizedOptions.ts +330 -0
  148. package/src/openapi/utils/types/index.ts +10 -0
  149. package/src/openapi/utils/types/open-api.ts +303 -0
  150. package/src/openapi/utils/types.ts +303 -0
  151. package/src/openapi/utils/utils/JsonPointer.ts +99 -0
  152. package/src/openapi/utils/utils/helpers.ts +239 -0
  153. package/src/openapi/utils/utils/index.ts +11 -0
  154. package/src/openapi/utils/utils/openapi.ts +771 -0
  155. package/src/openapi-to-postmanv2.d.ts +10 -0
  156. package/src/options.ts +77 -0
  157. package/src/plugin-content-docs-types.d.ts +42 -0
  158. package/src/plugin-openapi.d.ts +87 -0
  159. package/src/postman-collection.d.ts +10 -0
  160. package/src/sidebars/index.ts +322 -0
  161. package/src/sidebars/utils.ts +29 -0
  162. package/src/types.ts +176 -0
  163. package/tsconfig.json +7 -0
@@ -0,0 +1,1605 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`createNodes additionalProperties should handle additionalProperties: {"allOf": [Array]} 1`] = `
4
+ Array [
5
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
6
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
7
+ <summary style={{}}>
8
+ <span className={\\"openapi-schema__container\\"}>
9
+ <strong className={\\"openapi-schema__property\\"}>property name*</strong>
10
+ <span className={\\"openapi-schema__name\\"}>object</span>
11
+ </span>
12
+ </summary>
13
+ <div style={{ marginLeft: \\"1rem\\" }}>
14
+ <div>
15
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
16
+ oneOf
17
+ </span>
18
+ <SchemaTabs>
19
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
20
+ <SchemaItem
21
+ collapsible={false}
22
+ name={\\"type\\"}
23
+ required={true}
24
+ schemaName={\\"string\\"}
25
+ qualifierMessage={\\"**Possible values:** [\`nose\`]\\"}
26
+ schema={{ type: \\"string\\", enum: [\\"nose\\"] }}
27
+ ></SchemaItem>
28
+ </TabItem>
29
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
30
+ <SchemaItem
31
+ collapsible={false}
32
+ name={\\"type\\"}
33
+ required={true}
34
+ schemaName={\\"string\\"}
35
+ qualifierMessage={\\"**Possible values:** [\`mouth\`]\\"}
36
+ schema={{ type: \\"string\\", enum: [\\"mouth\\"] }}
37
+ ></SchemaItem>
38
+ </TabItem>
39
+ <TabItem label={\\"MOD3\\"} value={\\"2-item-properties\\"}>
40
+ <SchemaItem
41
+ collapsible={false}
42
+ name={\\"type\\"}
43
+ required={true}
44
+ schemaName={\\"string\\"}
45
+ qualifierMessage={\\"**Possible values:** [\`eyes\`]\\"}
46
+ schema={{ type: \\"string\\", enum: [\\"eyes\\"] }}
47
+ ></SchemaItem>
48
+ <SchemaItem
49
+ collapsible={false}
50
+ name={\\"default\\"}
51
+ required={false}
52
+ schemaName={\\"string\\"}
53
+ qualifierMessage={undefined}
54
+ schema={{ type: \\"string\\" }}
55
+ ></SchemaItem>
56
+ </TabItem>
57
+ </SchemaTabs>
58
+ </div>
59
+ <SchemaItem
60
+ collapsible={false}
61
+ name={\\"description\\"}
62
+ required={true}
63
+ schemaName={\\"string\\"}
64
+ qualifierMessage={undefined}
65
+ schema={{
66
+ type: \\"string\\",
67
+ description: \\"Description of the body part.\\",
68
+ }}
69
+ ></SchemaItem>
70
+ </div>
71
+ </details>
72
+ </SchemaItem>;
73
+ ",
74
+ ]
75
+ `;
76
+
77
+ exports[`createNodes additionalProperties should handle additionalProperties: {"items": [Object], "type": "array"} 1`] = `
78
+ Array [
79
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
80
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
81
+ <summary style={{}}>
82
+ <span className={\\"openapi-schema__container\\"}>
83
+ <strong className={\\"openapi-schema__property\\"}>property name*</strong>
84
+ <span className={\\"openapi-schema__name\\"}>object[]</span>
85
+ </span>
86
+ </summary>
87
+ <div style={{ marginLeft: \\"1rem\\" }}>
88
+ <li>
89
+ <div
90
+ style={{
91
+ fontSize: \\"var(--ifm-code-font-size)\\",
92
+ opacity: \\"0.6\\",
93
+ marginLeft: \\"-.5rem\\",
94
+ paddingBottom: \\".5rem\\",
95
+ }}
96
+ >
97
+ Array [
98
+ </div>
99
+ </li>
100
+ <SchemaItem
101
+ collapsible={false}
102
+ name={\\"a\\"}
103
+ required={false}
104
+ schemaName={\\"\\"}
105
+ qualifierMessage={undefined}
106
+ schema={\\"string\\"}
107
+ ></SchemaItem>
108
+ <SchemaItem
109
+ collapsible={false}
110
+ name={\\"b\\"}
111
+ required={false}
112
+ schemaName={\\"\\"}
113
+ qualifierMessage={undefined}
114
+ schema={\\"number\\"}
115
+ ></SchemaItem>
116
+ <li>
117
+ <div
118
+ style={{
119
+ fontSize: \\"var(--ifm-code-font-size)\\",
120
+ opacity: \\"0.6\\",
121
+ marginLeft: \\"-.5rem\\",
122
+ }}
123
+ >
124
+ ]
125
+ </div>
126
+ </li>
127
+ </div>
128
+ </details>
129
+ </SchemaItem>;
130
+ ",
131
+ ]
132
+ `;
133
+
134
+ exports[`createNodes additionalProperties should handle additionalProperties: {"type": "boolean"} 1`] = `
135
+ Array [
136
+ "<SchemaItem
137
+ name={\\"property name*\\"}
138
+ required={false}
139
+ schemaName={\\"boolean\\"}
140
+ qualifierMessage={undefined}
141
+ schema={{ type: \\"boolean\\" }}
142
+ collapsible={false}
143
+ discriminator={false}
144
+ ></SchemaItem>;
145
+ ",
146
+ ]
147
+ `;
148
+
149
+ exports[`createNodes additionalProperties should handle additionalProperties: {"type": "integer"} 1`] = `
150
+ Array [
151
+ "<SchemaItem
152
+ name={\\"property name*\\"}
153
+ required={false}
154
+ schemaName={\\"integer\\"}
155
+ qualifierMessage={undefined}
156
+ schema={{ type: \\"integer\\" }}
157
+ collapsible={false}
158
+ discriminator={false}
159
+ ></SchemaItem>;
160
+ ",
161
+ ]
162
+ `;
163
+
164
+ exports[`createNodes additionalProperties should handle additionalProperties: {"type": "number"} 1`] = `
165
+ Array [
166
+ "<SchemaItem
167
+ name={\\"property name*\\"}
168
+ required={false}
169
+ schemaName={\\"number\\"}
170
+ qualifierMessage={undefined}
171
+ schema={{ type: \\"number\\" }}
172
+ collapsible={false}
173
+ discriminator={false}
174
+ ></SchemaItem>;
175
+ ",
176
+ ]
177
+ `;
178
+
179
+ exports[`createNodes additionalProperties should handle additionalProperties: {"type": "string"} 1`] = `
180
+ Array [
181
+ "<SchemaItem
182
+ name={\\"property name*\\"}
183
+ required={false}
184
+ schemaName={\\"string\\"}
185
+ qualifierMessage={undefined}
186
+ schema={{ type: \\"string\\" }}
187
+ collapsible={false}
188
+ discriminator={false}
189
+ ></SchemaItem>;
190
+ ",
191
+ ]
192
+ `;
193
+
194
+ exports[`createNodes additionalProperties should handle additionalProperties: {} 1`] = `
195
+ Array [
196
+ "<SchemaItem
197
+ name={\\"property name*\\"}
198
+ required={false}
199
+ schemaName={\\"any\\"}
200
+ qualifierMessage={undefined}
201
+ schema={{ type: \\"object\\", additionalProperties: {} }}
202
+ collapsible={false}
203
+ discriminator={false}
204
+ ></SchemaItem>;
205
+ ",
206
+ ]
207
+ `;
208
+
209
+ exports[`createNodes additionalProperties should handle additionalProperties: false 1`] = `Array []`;
210
+
211
+ exports[`createNodes additionalProperties should handle additionalProperties: true 1`] = `
212
+ Array [
213
+ "<SchemaItem
214
+ name={\\"property name*\\"}
215
+ required={false}
216
+ schemaName={\\"any\\"}
217
+ qualifierMessage={undefined}
218
+ schema={{ type: \\"object\\", additionalProperties: true }}
219
+ collapsible={false}
220
+ discriminator={false}
221
+ ></SchemaItem>;
222
+ ",
223
+ ]
224
+ `;
225
+
226
+ exports[`createNodes allOf should correctly deep merge properties in allOf schemas 1`] = `
227
+ Array [
228
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
229
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
230
+ <summary style={{}}>
231
+ <span className={\\"openapi-schema__container\\"}>
232
+ <strong className={\\"openapi-schema__property\\"}>deepProp</strong>
233
+ <span className={\\"openapi-schema__name\\"}>object</span>
234
+ </span>
235
+ </summary>
236
+ <div style={{ marginLeft: \\"1rem\\" }}>
237
+ <SchemaItem
238
+ collapsible={false}
239
+ name={\\"innerProp1\\"}
240
+ required={false}
241
+ schemaName={\\"string\\"}
242
+ qualifierMessage={undefined}
243
+ schema={{ type: \\"string\\" }}
244
+ ></SchemaItem>
245
+ <SchemaItem
246
+ collapsible={false}
247
+ name={\\"innerProp2\\"}
248
+ required={false}
249
+ schemaName={\\"number\\"}
250
+ qualifierMessage={undefined}
251
+ schema={{ type: \\"number\\" }}
252
+ ></SchemaItem>
253
+ </div>
254
+ </details>
255
+ </SchemaItem>;
256
+ ",
257
+ ]
258
+ `;
259
+
260
+ exports[`createNodes allOf should correctly handle shared required properties across allOf schemas 1`] = `
261
+ Array [
262
+ "<SchemaItem
263
+ collapsible={false}
264
+ name={\\"sharedProp\\"}
265
+ required={true}
266
+ schemaName={\\"string\\"}
267
+ qualifierMessage={undefined}
268
+ schema={{ type: \\"string\\" }}
269
+ ></SchemaItem>;
270
+ ",
271
+ "<SchemaItem
272
+ collapsible={false}
273
+ name={\\"anotherProp\\"}
274
+ required={true}
275
+ schemaName={\\"number\\"}
276
+ qualifierMessage={undefined}
277
+ schema={{ type: \\"number\\" }}
278
+ ></SchemaItem>;
279
+ ",
280
+ ]
281
+ `;
282
+
283
+ exports[`createNodes allOf should correctly merge nested properties from multiple allOf schemas 1`] = `
284
+ Array [
285
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
286
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
287
+ <summary style={{}}>
288
+ <span className={\\"openapi-schema__container\\"}>
289
+ <strong className={\\"openapi-schema__property\\"}>outerProp1</strong>
290
+ <span className={\\"openapi-schema__name\\"}>object</span>
291
+ </span>
292
+ </summary>
293
+ <div style={{ marginLeft: \\"1rem\\" }}>
294
+ <SchemaItem
295
+ collapsible={false}
296
+ name={\\"innerProp1\\"}
297
+ required={false}
298
+ schemaName={\\"string\\"}
299
+ qualifierMessage={undefined}
300
+ schema={{ type: \\"string\\" }}
301
+ ></SchemaItem>
302
+ </div>
303
+ </details>
304
+ </SchemaItem>;
305
+ ",
306
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
307
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
308
+ <summary style={{}}>
309
+ <span className={\\"openapi-schema__container\\"}>
310
+ <strong className={\\"openapi-schema__property\\"}>outerProp2</strong>
311
+ <span className={\\"openapi-schema__name\\"}>object</span>
312
+ </span>
313
+ </summary>
314
+ <div style={{ marginLeft: \\"1rem\\" }}>
315
+ <SchemaItem
316
+ collapsible={false}
317
+ name={\\"innerProp2\\"}
318
+ required={false}
319
+ schemaName={\\"number\\"}
320
+ qualifierMessage={undefined}
321
+ schema={{ type: \\"number\\" }}
322
+ ></SchemaItem>
323
+ </div>
324
+ </details>
325
+ </SchemaItem>;
326
+ ",
327
+ ]
328
+ `;
329
+
330
+ exports[`createNodes allOf should render same-level properties with allOf 1`] = `
331
+ Array [
332
+ "<SchemaItem
333
+ collapsible={false}
334
+ name={\\"parentProp1\\"}
335
+ required={false}
336
+ schemaName={\\"string\\"}
337
+ qualifierMessage={undefined}
338
+ schema={{ type: \\"string\\" }}
339
+ ></SchemaItem>;
340
+ ",
341
+ "<SchemaItem
342
+ collapsible={false}
343
+ name={\\"parentProp2\\"}
344
+ required={false}
345
+ schemaName={\\"string\\"}
346
+ qualifierMessage={undefined}
347
+ schema={{ type: \\"string\\" }}
348
+ ></SchemaItem>;
349
+ ",
350
+ "<SchemaItem
351
+ collapsible={false}
352
+ name={\\"allOfProp1\\"}
353
+ required={false}
354
+ schemaName={\\"string\\"}
355
+ qualifierMessage={undefined}
356
+ schema={{ type: \\"string\\" }}
357
+ ></SchemaItem>;
358
+ ",
359
+ "<SchemaItem
360
+ collapsible={false}
361
+ name={\\"allOfProp2\\"}
362
+ required={false}
363
+ schemaName={\\"string\\"}
364
+ qualifierMessage={undefined}
365
+ schema={{ type: \\"string\\" }}
366
+ ></SchemaItem>;
367
+ ",
368
+ "<SchemaItem
369
+ collapsible={false}
370
+ name={\\"parentProp1\\"}
371
+ required={false}
372
+ schemaName={\\"string\\"}
373
+ qualifierMessage={undefined}
374
+ schema={{ type: \\"string\\" }}
375
+ ></SchemaItem>;
376
+ ",
377
+ "<SchemaItem
378
+ collapsible={false}
379
+ name={\\"parentProp2\\"}
380
+ required={false}
381
+ schemaName={\\"string\\"}
382
+ qualifierMessage={undefined}
383
+ schema={{ type: \\"string\\" }}
384
+ ></SchemaItem>;
385
+ ",
386
+ ]
387
+ `;
388
+
389
+ exports[`createNodes anyOf should render oneOf within anyOf 1`] = `
390
+ Array [
391
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
392
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
393
+ <summary style={{}}>
394
+ <span className={\\"openapi-schema__container\\"}>
395
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
396
+ <span className={\\"openapi-schema__name\\"}>object</span>
397
+ </span>
398
+ </summary>
399
+ <div style={{ marginLeft: \\"1rem\\" }}>
400
+ <div>
401
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
402
+ anyOf
403
+ </span>
404
+ <SchemaTabs>
405
+ <TabItem label={\\"An int or a bool\\"} value={\\"0-item-properties\\"}>
406
+ <div>
407
+ <span
408
+ className={\\"badge badge--info\\"}
409
+ style={{ marginBottom: \\"1rem\\" }}
410
+ >
411
+ oneOf
412
+ </span>
413
+ <SchemaTabs>
414
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
415
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
416
+ integer
417
+ </div>
418
+ </TabItem>
419
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
420
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
421
+ boolean
422
+ </div>
423
+ </TabItem>
424
+ </SchemaTabs>
425
+ </div>
426
+ </TabItem>
427
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
428
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
429
+ string
430
+ </div>
431
+ </TabItem>
432
+ </SchemaTabs>
433
+ </div>
434
+ </div>
435
+ </details>
436
+ </SchemaItem>;
437
+ ",
438
+ ]
439
+ `;
440
+
441
+ exports[`createNodes anyOf should render primitives within anyOf 1`] = `
442
+ Array [
443
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
444
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
445
+ <summary style={{}}>
446
+ <span className={\\"openapi-schema__container\\"}>
447
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
448
+ <span className={\\"openapi-schema__name\\"}>object</span>
449
+ </span>
450
+ </summary>
451
+ <div style={{ marginLeft: \\"1rem\\" }}>
452
+ <div>
453
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
454
+ anyOf
455
+ </span>
456
+ <SchemaTabs>
457
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
458
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
459
+ integer
460
+ </div>
461
+ </TabItem>
462
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
463
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
464
+ boolean
465
+ </div>
466
+ </TabItem>
467
+ </SchemaTabs>
468
+ </div>
469
+ </div>
470
+ </details>
471
+ </SchemaItem>;
472
+ ",
473
+ ]
474
+ `;
475
+
476
+ exports[`createNodes discriminator should handle basic discriminator with mapping 1`] = `
477
+ Array [
478
+ "<div>
479
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
480
+ oneOf
481
+ </span>
482
+ <SchemaTabs>
483
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
484
+ <SchemaItem
485
+ collapsible={false}
486
+ name={\\"type\\"}
487
+ required={true}
488
+ schemaName={\\"string\\"}
489
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
490
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
491
+ ></SchemaItem>
492
+ <SchemaItem
493
+ collapsible={false}
494
+ name={\\"propA\\"}
495
+ required={false}
496
+ schemaName={\\"string\\"}
497
+ qualifierMessage={undefined}
498
+ schema={{ type: \\"string\\" }}
499
+ ></SchemaItem>
500
+ </TabItem>
501
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
502
+ <SchemaItem
503
+ collapsible={false}
504
+ name={\\"type\\"}
505
+ required={true}
506
+ schemaName={\\"string\\"}
507
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
508
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
509
+ ></SchemaItem>
510
+ <SchemaItem
511
+ collapsible={false}
512
+ name={\\"propB\\"}
513
+ required={false}
514
+ schemaName={\\"number\\"}
515
+ qualifierMessage={undefined}
516
+ schema={{ type: \\"number\\" }}
517
+ ></SchemaItem>
518
+ </TabItem>
519
+ </SchemaTabs>
520
+ </div>;
521
+ ",
522
+ "<div className={\\"openapi-discriminator__item openapi-schema__list-item\\"}>
523
+ <div>
524
+ <span className={\\"openapi-schema__container\\"}>
525
+ <strong
526
+ className={\\"openapi-discriminator__name openapi-schema__property\\"}
527
+ >
528
+ type
529
+ </strong>
530
+ <span className={\\"openapi-schema__name\\"}>string</span>
531
+ </span>
532
+ <div style={{ paddingLeft: \\"1rem\\" }}>
533
+ **Possible values:** [\`typeA\`, \`typeB\`]
534
+ </div>
535
+ <DiscriminatorTabs className={\\"openapi-tabs__discriminator\\"}>
536
+ <TabItem label={\\"typeA\\"} value={\\"0-item-discriminator\\"}>
537
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
538
+ #/definitions/TypeA
539
+ </div>
540
+ </TabItem>
541
+ <TabItem label={\\"typeB\\"} value={\\"1-item-discriminator\\"}>
542
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
543
+ #/definitions/TypeB
544
+ </div>
545
+ </TabItem>
546
+ </DiscriminatorTabs>
547
+ </div>
548
+ </div>;
549
+ ",
550
+ ]
551
+ `;
552
+
553
+ exports[`createNodes discriminator should handle basic discriminator with oneOf 1`] = `
554
+ Array [
555
+ "<div>
556
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
557
+ oneOf
558
+ </span>
559
+ <SchemaTabs>
560
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
561
+ <SchemaItem
562
+ collapsible={false}
563
+ name={\\"type\\"}
564
+ required={true}
565
+ schemaName={\\"string\\"}
566
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
567
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
568
+ ></SchemaItem>
569
+ <SchemaItem
570
+ collapsible={false}
571
+ name={\\"propA\\"}
572
+ required={false}
573
+ schemaName={\\"string\\"}
574
+ qualifierMessage={undefined}
575
+ schema={{ type: \\"string\\" }}
576
+ ></SchemaItem>
577
+ </TabItem>
578
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
579
+ <SchemaItem
580
+ collapsible={false}
581
+ name={\\"type\\"}
582
+ required={true}
583
+ schemaName={\\"string\\"}
584
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
585
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
586
+ ></SchemaItem>
587
+ <SchemaItem
588
+ collapsible={false}
589
+ name={\\"propB\\"}
590
+ required={false}
591
+ schemaName={\\"number\\"}
592
+ qualifierMessage={undefined}
593
+ schema={{ type: \\"number\\" }}
594
+ ></SchemaItem>
595
+ </TabItem>
596
+ </SchemaTabs>
597
+ </div>;
598
+ ",
599
+ "<SchemaItem
600
+ collapsible={false}
601
+ name={\\"type\\"}
602
+ required={false}
603
+ schemaName={\\"string\\"}
604
+ qualifierMessage={undefined}
605
+ schema={{ type: \\"string\\" }}
606
+ ></SchemaItem>;
607
+ ",
608
+ ]
609
+ `;
610
+
611
+ exports[`createNodes discriminator should handle discriminator with additional properties 1`] = `
612
+ Array [
613
+ "<div>
614
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
615
+ oneOf
616
+ </span>
617
+ <SchemaTabs>
618
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
619
+ <SchemaItem
620
+ collapsible={false}
621
+ name={\\"type\\"}
622
+ required={true}
623
+ schemaName={\\"string\\"}
624
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
625
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
626
+ ></SchemaItem>
627
+ <SchemaItem
628
+ collapsible={false}
629
+ name={\\"propA\\"}
630
+ required={false}
631
+ schemaName={\\"string\\"}
632
+ qualifierMessage={undefined}
633
+ schema={{ type: \\"string\\" }}
634
+ ></SchemaItem>
635
+ </TabItem>
636
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
637
+ <SchemaItem
638
+ collapsible={false}
639
+ name={\\"type\\"}
640
+ required={true}
641
+ schemaName={\\"string\\"}
642
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
643
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
644
+ ></SchemaItem>
645
+ <SchemaItem
646
+ collapsible={false}
647
+ name={\\"propB\\"}
648
+ required={false}
649
+ schemaName={\\"number\\"}
650
+ qualifierMessage={undefined}
651
+ schema={{ type: \\"number\\" }}
652
+ ></SchemaItem>
653
+ </TabItem>
654
+ </SchemaTabs>
655
+ </div>;
656
+ ",
657
+ "<SchemaItem
658
+ collapsible={false}
659
+ name={\\"type\\"}
660
+ required={false}
661
+ schemaName={\\"string\\"}
662
+ qualifierMessage={undefined}
663
+ schema={{ type: \\"string\\" }}
664
+ ></SchemaItem>;
665
+ ",
666
+ ]
667
+ `;
668
+
669
+ exports[`createNodes discriminator should handle discriminator with allOf 1`] = `
670
+ Array [
671
+ "<SchemaItem
672
+ collapsible={false}
673
+ name={\\"type\\"}
674
+ required={false}
675
+ schemaName={\\"string\\"}
676
+ qualifierMessage={undefined}
677
+ schema={{ type: \\"string\\" }}
678
+ ></SchemaItem>;
679
+ ",
680
+ "<div>
681
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
682
+ oneOf
683
+ </span>
684
+ <SchemaTabs>
685
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
686
+ <SchemaItem
687
+ collapsible={false}
688
+ name={\\"type\\"}
689
+ required={true}
690
+ schemaName={\\"string\\"}
691
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
692
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
693
+ ></SchemaItem>
694
+ <SchemaItem
695
+ collapsible={false}
696
+ name={\\"propA\\"}
697
+ required={false}
698
+ schemaName={\\"string\\"}
699
+ qualifierMessage={undefined}
700
+ schema={{ type: \\"string\\" }}
701
+ ></SchemaItem>
702
+ </TabItem>
703
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
704
+ <SchemaItem
705
+ collapsible={false}
706
+ name={\\"type\\"}
707
+ required={true}
708
+ schemaName={\\"string\\"}
709
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
710
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
711
+ ></SchemaItem>
712
+ <SchemaItem
713
+ collapsible={false}
714
+ name={\\"propB\\"}
715
+ required={false}
716
+ schemaName={\\"number\\"}
717
+ qualifierMessage={undefined}
718
+ schema={{ type: \\"number\\" }}
719
+ ></SchemaItem>
720
+ </TabItem>
721
+ </SchemaTabs>
722
+ </div>;
723
+ ",
724
+ "<SchemaItem
725
+ collapsible={false}
726
+ name={\\"sharedProp\\"}
727
+ required={false}
728
+ schemaName={\\"string\\"}
729
+ qualifierMessage={undefined}
730
+ schema={{ type: \\"string\\" }}
731
+ ></SchemaItem>;
732
+ ",
733
+ "<SchemaItem
734
+ collapsible={false}
735
+ name={\\"type\\"}
736
+ required={false}
737
+ schemaName={\\"string\\"}
738
+ qualifierMessage={undefined}
739
+ schema={{ type: \\"string\\" }}
740
+ ></SchemaItem>;
741
+ ",
742
+ ]
743
+ `;
744
+
745
+ exports[`createNodes discriminator should handle discriminator with allOf and mapping 1`] = `
746
+ Array [
747
+ "<div className={\\"openapi-discriminator__item openapi-schema__list-item\\"}>
748
+ <div>
749
+ <span className={\\"openapi-schema__container\\"}>
750
+ <strong
751
+ className={\\"openapi-discriminator__name openapi-schema__property\\"}
752
+ >
753
+ type
754
+ </strong>
755
+ <span className={\\"openapi-schema__name\\"}>string</span>
756
+ </span>
757
+ <div style={{ paddingLeft: \\"1rem\\" }}>
758
+ **Possible values:** [\`typeA\`, \`typeB\`]
759
+ </div>
760
+ <DiscriminatorTabs className={\\"openapi-tabs__discriminator\\"}>
761
+ <TabItem label={\\"typeA\\"} value={\\"0-item-discriminator\\"}>
762
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
763
+ #/definitions/TypeA
764
+ </div>
765
+ </TabItem>
766
+ <TabItem label={\\"typeB\\"} value={\\"1-item-discriminator\\"}>
767
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
768
+ #/definitions/TypeB
769
+ </div>
770
+ </TabItem>
771
+ </DiscriminatorTabs>
772
+ </div>
773
+ </div>;
774
+ ",
775
+ "<div>
776
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
777
+ oneOf
778
+ </span>
779
+ <SchemaTabs>
780
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
781
+ <SchemaItem
782
+ collapsible={false}
783
+ name={\\"type\\"}
784
+ required={true}
785
+ schemaName={\\"string\\"}
786
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
787
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
788
+ ></SchemaItem>
789
+ <SchemaItem
790
+ collapsible={false}
791
+ name={\\"propA\\"}
792
+ required={false}
793
+ schemaName={\\"string\\"}
794
+ qualifierMessage={undefined}
795
+ schema={{ type: \\"string\\" }}
796
+ ></SchemaItem>
797
+ </TabItem>
798
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
799
+ <SchemaItem
800
+ collapsible={false}
801
+ name={\\"type\\"}
802
+ required={true}
803
+ schemaName={\\"string\\"}
804
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
805
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
806
+ ></SchemaItem>
807
+ <SchemaItem
808
+ collapsible={false}
809
+ name={\\"propB\\"}
810
+ required={false}
811
+ schemaName={\\"number\\"}
812
+ qualifierMessage={undefined}
813
+ schema={{ type: \\"number\\" }}
814
+ ></SchemaItem>
815
+ </TabItem>
816
+ </SchemaTabs>
817
+ </div>;
818
+ ",
819
+ "<SchemaItem
820
+ collapsible={false}
821
+ name={\\"sharedProp\\"}
822
+ required={false}
823
+ schemaName={\\"string\\"}
824
+ qualifierMessage={undefined}
825
+ schema={{ type: \\"string\\" }}
826
+ ></SchemaItem>;
827
+ ",
828
+ "<div className={\\"openapi-discriminator__item openapi-schema__list-item\\"}>
829
+ <div>
830
+ <span className={\\"openapi-schema__container\\"}>
831
+ <strong
832
+ className={\\"openapi-discriminator__name openapi-schema__property\\"}
833
+ >
834
+ type
835
+ </strong>
836
+ <span className={\\"openapi-schema__name\\"}>string</span>
837
+ </span>
838
+ <div style={{ paddingLeft: \\"1rem\\" }}>
839
+ **Possible values:** [\`typeA\`, \`typeB\`]
840
+ </div>
841
+ <DiscriminatorTabs className={\\"openapi-tabs__discriminator\\"}>
842
+ <TabItem label={\\"typeA\\"} value={\\"0-item-discriminator\\"}>
843
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
844
+ #/definitions/TypeA
845
+ </div>
846
+ </TabItem>
847
+ <TabItem label={\\"typeB\\"} value={\\"1-item-discriminator\\"}>
848
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
849
+ #/definitions/TypeB
850
+ </div>
851
+ </TabItem>
852
+ </DiscriminatorTabs>
853
+ </div>
854
+ </div>;
855
+ ",
856
+ ]
857
+ `;
858
+
859
+ exports[`createNodes discriminator should handle discriminator with nested schemas 1`] = `
860
+ Array [
861
+ "<div>
862
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
863
+ oneOf
864
+ </span>
865
+ <SchemaTabs>
866
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
867
+ <SchemaItem
868
+ collapsible={false}
869
+ name={\\"type\\"}
870
+ required={true}
871
+ schemaName={\\"string\\"}
872
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
873
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
874
+ ></SchemaItem>
875
+ <SchemaItem collapsible={true} className={\\"schemaItem\\"}>
876
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
877
+ <summary style={{}}>
878
+ <span className={\\"openapi-schema__container\\"}>
879
+ <strong className={\\"openapi-schema__property\\"}>nestedA</strong>
880
+ <span className={\\"openapi-schema__name\\"}>object</span>
881
+ </span>
882
+ </summary>
883
+ <div style={{ marginLeft: \\"1rem\\" }}>
884
+ <SchemaItem
885
+ collapsible={false}
886
+ name={\\"propA1\\"}
887
+ required={false}
888
+ schemaName={\\"string\\"}
889
+ qualifierMessage={undefined}
890
+ schema={{ type: \\"string\\" }}
891
+ ></SchemaItem>
892
+ <SchemaItem
893
+ collapsible={false}
894
+ name={\\"propA2\\"}
895
+ required={false}
896
+ schemaName={\\"number\\"}
897
+ qualifierMessage={undefined}
898
+ schema={{ type: \\"number\\" }}
899
+ ></SchemaItem>
900
+ </div>
901
+ </details>
902
+ </SchemaItem>
903
+ </TabItem>
904
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
905
+ <SchemaItem
906
+ collapsible={false}
907
+ name={\\"type\\"}
908
+ required={true}
909
+ schemaName={\\"string\\"}
910
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
911
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
912
+ ></SchemaItem>
913
+ <SchemaItem collapsible={true} className={\\"schemaItem\\"}>
914
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
915
+ <summary style={{}}>
916
+ <span className={\\"openapi-schema__container\\"}>
917
+ <strong className={\\"openapi-schema__property\\"}>nestedB</strong>
918
+ <span className={\\"openapi-schema__name\\"}>object</span>
919
+ </span>
920
+ </summary>
921
+ <div style={{ marginLeft: \\"1rem\\" }}>
922
+ <SchemaItem
923
+ collapsible={false}
924
+ name={\\"propB1\\"}
925
+ required={false}
926
+ schemaName={\\"string\\"}
927
+ qualifierMessage={undefined}
928
+ schema={{ type: \\"string\\" }}
929
+ ></SchemaItem>
930
+ <SchemaItem
931
+ collapsible={false}
932
+ name={\\"propB2\\"}
933
+ required={false}
934
+ schemaName={\\"boolean\\"}
935
+ qualifierMessage={undefined}
936
+ schema={{ type: \\"boolean\\" }}
937
+ ></SchemaItem>
938
+ </div>
939
+ </details>
940
+ </SchemaItem>
941
+ </TabItem>
942
+ </SchemaTabs>
943
+ </div>;
944
+ ",
945
+ "<SchemaItem
946
+ collapsible={false}
947
+ name={\\"type\\"}
948
+ required={false}
949
+ schemaName={\\"string\\"}
950
+ qualifierMessage={undefined}
951
+ schema={{ type: \\"string\\" }}
952
+ ></SchemaItem>;
953
+ ",
954
+ ]
955
+ `;
956
+
957
+ exports[`createNodes discriminator should handle discriminator with required properties 1`] = `
958
+ Array [
959
+ "<div>
960
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
961
+ oneOf
962
+ </span>
963
+ <SchemaTabs>
964
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
965
+ <SchemaItem
966
+ collapsible={false}
967
+ name={\\"type\\"}
968
+ required={true}
969
+ schemaName={\\"string\\"}
970
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
971
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
972
+ ></SchemaItem>
973
+ <SchemaItem
974
+ collapsible={false}
975
+ name={\\"propA\\"}
976
+ required={true}
977
+ schemaName={\\"string\\"}
978
+ qualifierMessage={undefined}
979
+ schema={{ type: \\"string\\" }}
980
+ ></SchemaItem>
981
+ </TabItem>
982
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
983
+ <SchemaItem
984
+ collapsible={false}
985
+ name={\\"type\\"}
986
+ required={true}
987
+ schemaName={\\"string\\"}
988
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
989
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
990
+ ></SchemaItem>
991
+ <SchemaItem
992
+ collapsible={false}
993
+ name={\\"propB\\"}
994
+ required={true}
995
+ schemaName={\\"number\\"}
996
+ qualifierMessage={undefined}
997
+ schema={{ type: \\"number\\" }}
998
+ ></SchemaItem>
999
+ </TabItem>
1000
+ </SchemaTabs>
1001
+ </div>;
1002
+ ",
1003
+ "<SchemaItem
1004
+ collapsible={false}
1005
+ name={\\"type\\"}
1006
+ required={false}
1007
+ schemaName={\\"string\\"}
1008
+ qualifierMessage={undefined}
1009
+ schema={{ type: \\"string\\" }}
1010
+ ></SchemaItem>;
1011
+ ",
1012
+ ]
1013
+ `;
1014
+
1015
+ exports[`createNodes discriminator should handle discriminator with required properties and mapping 1`] = `
1016
+ Array [
1017
+ "<div>
1018
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1019
+ oneOf
1020
+ </span>
1021
+ <SchemaTabs>
1022
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1023
+ <SchemaItem
1024
+ collapsible={false}
1025
+ name={\\"type\\"}
1026
+ required={true}
1027
+ schemaName={\\"string\\"}
1028
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
1029
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
1030
+ ></SchemaItem>
1031
+ <SchemaItem
1032
+ collapsible={false}
1033
+ name={\\"propA\\"}
1034
+ required={true}
1035
+ schemaName={\\"string\\"}
1036
+ qualifierMessage={undefined}
1037
+ schema={{ type: \\"string\\" }}
1038
+ ></SchemaItem>
1039
+ </TabItem>
1040
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1041
+ <SchemaItem
1042
+ collapsible={false}
1043
+ name={\\"type\\"}
1044
+ required={true}
1045
+ schemaName={\\"string\\"}
1046
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
1047
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
1048
+ ></SchemaItem>
1049
+ <SchemaItem
1050
+ collapsible={false}
1051
+ name={\\"propB\\"}
1052
+ required={true}
1053
+ schemaName={\\"number\\"}
1054
+ qualifierMessage={undefined}
1055
+ schema={{ type: \\"number\\" }}
1056
+ ></SchemaItem>
1057
+ </TabItem>
1058
+ </SchemaTabs>
1059
+ </div>;
1060
+ ",
1061
+ "<div className={\\"openapi-discriminator__item openapi-schema__list-item\\"}>
1062
+ <div>
1063
+ <span className={\\"openapi-schema__container\\"}>
1064
+ <strong
1065
+ className={\\"openapi-discriminator__name openapi-schema__property\\"}
1066
+ >
1067
+ type
1068
+ </strong>
1069
+ <span className={\\"openapi-schema__name\\"}>string</span>
1070
+ </span>
1071
+ <div style={{ paddingLeft: \\"1rem\\" }}>
1072
+ **Possible values:** [\`typeA\`, \`typeB\`]
1073
+ </div>
1074
+ <DiscriminatorTabs className={\\"openapi-tabs__discriminator\\"}>
1075
+ <TabItem label={\\"typeA\\"} value={\\"0-item-discriminator\\"}>
1076
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1077
+ #/definitions/TypeA
1078
+ </div>
1079
+ </TabItem>
1080
+ <TabItem label={\\"typeB\\"} value={\\"1-item-discriminator\\"}>
1081
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1082
+ #/definitions/TypeB
1083
+ </div>
1084
+ </TabItem>
1085
+ </DiscriminatorTabs>
1086
+ </div>
1087
+ </div>;
1088
+ ",
1089
+ ]
1090
+ `;
1091
+
1092
+ exports[`createNodes discriminator should handle discriminator with shared properties 1`] = `
1093
+ Array [
1094
+ "<div>
1095
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1096
+ oneOf
1097
+ </span>
1098
+ <SchemaTabs>
1099
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1100
+ <SchemaItem
1101
+ collapsible={false}
1102
+ name={\\"type\\"}
1103
+ required={true}
1104
+ schemaName={\\"string\\"}
1105
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
1106
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
1107
+ ></SchemaItem>
1108
+ <SchemaItem
1109
+ collapsible={false}
1110
+ name={\\"propA\\"}
1111
+ required={false}
1112
+ schemaName={\\"string\\"}
1113
+ qualifierMessage={undefined}
1114
+ schema={{ type: \\"string\\" }}
1115
+ ></SchemaItem>
1116
+ </TabItem>
1117
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1118
+ <SchemaItem
1119
+ collapsible={false}
1120
+ name={\\"type\\"}
1121
+ required={true}
1122
+ schemaName={\\"string\\"}
1123
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
1124
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
1125
+ ></SchemaItem>
1126
+ <SchemaItem
1127
+ collapsible={false}
1128
+ name={\\"propB\\"}
1129
+ required={false}
1130
+ schemaName={\\"number\\"}
1131
+ qualifierMessage={undefined}
1132
+ schema={{ type: \\"number\\" }}
1133
+ ></SchemaItem>
1134
+ </TabItem>
1135
+ </SchemaTabs>
1136
+ </div>;
1137
+ ",
1138
+ "<SchemaItem
1139
+ collapsible={false}
1140
+ name={\\"type\\"}
1141
+ required={false}
1142
+ schemaName={\\"string\\"}
1143
+ qualifierMessage={undefined}
1144
+ schema={{ type: \\"string\\" }}
1145
+ ></SchemaItem>;
1146
+ ",
1147
+ "<SchemaItem
1148
+ collapsible={false}
1149
+ name={\\"sharedProp\\"}
1150
+ required={false}
1151
+ schemaName={\\"string\\"}
1152
+ qualifierMessage={undefined}
1153
+ schema={{ type: \\"string\\" }}
1154
+ ></SchemaItem>;
1155
+ ",
1156
+ ]
1157
+ `;
1158
+
1159
+ exports[`createNodes discriminator should handle discriminator with shared properties and mapping 1`] = `
1160
+ Array [
1161
+ "<div>
1162
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1163
+ oneOf
1164
+ </span>
1165
+ <SchemaTabs>
1166
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1167
+ <SchemaItem
1168
+ collapsible={false}
1169
+ name={\\"type\\"}
1170
+ required={true}
1171
+ schemaName={\\"string\\"}
1172
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
1173
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
1174
+ ></SchemaItem>
1175
+ <SchemaItem
1176
+ collapsible={false}
1177
+ name={\\"propA\\"}
1178
+ required={false}
1179
+ schemaName={\\"string\\"}
1180
+ qualifierMessage={undefined}
1181
+ schema={{ type: \\"string\\" }}
1182
+ ></SchemaItem>
1183
+ </TabItem>
1184
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1185
+ <SchemaItem
1186
+ collapsible={false}
1187
+ name={\\"type\\"}
1188
+ required={true}
1189
+ schemaName={\\"string\\"}
1190
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
1191
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
1192
+ ></SchemaItem>
1193
+ <SchemaItem
1194
+ collapsible={false}
1195
+ name={\\"propB\\"}
1196
+ required={false}
1197
+ schemaName={\\"number\\"}
1198
+ qualifierMessage={undefined}
1199
+ schema={{ type: \\"number\\" }}
1200
+ ></SchemaItem>
1201
+ </TabItem>
1202
+ </SchemaTabs>
1203
+ </div>;
1204
+ ",
1205
+ "<div className={\\"openapi-discriminator__item openapi-schema__list-item\\"}>
1206
+ <div>
1207
+ <span className={\\"openapi-schema__container\\"}>
1208
+ <strong
1209
+ className={\\"openapi-discriminator__name openapi-schema__property\\"}
1210
+ >
1211
+ type
1212
+ </strong>
1213
+ <span className={\\"openapi-schema__name\\"}>string</span>
1214
+ </span>
1215
+ <div style={{ paddingLeft: \\"1rem\\" }}>
1216
+ **Possible values:** [\`typeA\`, \`typeB\`]
1217
+ </div>
1218
+ <DiscriminatorTabs className={\\"openapi-tabs__discriminator\\"}>
1219
+ <TabItem label={\\"typeA\\"} value={\\"0-item-discriminator\\"}>
1220
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1221
+ #/definitions/TypeA
1222
+ </div>
1223
+ </TabItem>
1224
+ <TabItem label={\\"typeB\\"} value={\\"1-item-discriminator\\"}>
1225
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1226
+ #/definitions/TypeB
1227
+ </div>
1228
+ </TabItem>
1229
+ </DiscriminatorTabs>
1230
+ </div>
1231
+ </div>;
1232
+ ",
1233
+ "<SchemaItem
1234
+ collapsible={false}
1235
+ name={\\"sharedProp\\"}
1236
+ required={false}
1237
+ schemaName={\\"string\\"}
1238
+ qualifierMessage={undefined}
1239
+ schema={{ type: \\"string\\" }}
1240
+ ></SchemaItem>;
1241
+ ",
1242
+ ]
1243
+ `;
1244
+
1245
+ exports[`createNodes oneOf should create readable MODs for oneOf primitive properties 1`] = `
1246
+ Array [
1247
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1248
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1249
+ <summary style={{}}>
1250
+ <span className={\\"openapi-schema__container\\"}>
1251
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
1252
+ <span className={\\"openapi-schema__name\\"}>object</span>
1253
+ </span>
1254
+ </summary>
1255
+ <div style={{ marginLeft: \\"1rem\\" }}>
1256
+ <div>
1257
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1258
+ oneOf
1259
+ </span>
1260
+ <SchemaTabs>
1261
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1262
+ <div
1263
+ style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}
1264
+ className={\\"openapi-schema__summary\\"}
1265
+ >
1266
+ Clown's nose length
1267
+ </div>
1268
+ <SchemaItem
1269
+ collapsible={false}
1270
+ name={\\"noseLength\\"}
1271
+ required={true}
1272
+ schemaName={\\"number\\"}
1273
+ qualifierMessage={undefined}
1274
+ schema={{ type: \\"number\\" }}
1275
+ ></SchemaItem>
1276
+ </TabItem>
1277
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1278
+ <div
1279
+ style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}
1280
+ className={\\"openapi-schema__summary\\"}
1281
+ >
1282
+ Array of strings
1283
+ </div>
1284
+ <li>
1285
+ <div
1286
+ style={{
1287
+ fontSize: \\"var(--ifm-code-font-size)\\",
1288
+ opacity: \\"0.6\\",
1289
+ marginLeft: \\"-.5rem\\",
1290
+ paddingBottom: \\".5rem\\",
1291
+ }}
1292
+ >
1293
+ Array [
1294
+ </div>
1295
+ </li>
1296
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1297
+ string
1298
+ </div>
1299
+ <li>
1300
+ <div
1301
+ style={{
1302
+ fontSize: \\"var(--ifm-code-font-size)\\",
1303
+ opacity: \\"0.6\\",
1304
+ marginLeft: \\"-.5rem\\",
1305
+ }}
1306
+ >
1307
+ ]
1308
+ </div>
1309
+ </li>
1310
+ </TabItem>
1311
+ <TabItem label={\\"MOD3\\"} value={\\"2-item-properties\\"}>
1312
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1313
+ boolean
1314
+ </div>
1315
+ </TabItem>
1316
+ <TabItem label={\\"MOD4\\"} value={\\"3-item-properties\\"}>
1317
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1318
+ number
1319
+ </div>
1320
+ </TabItem>
1321
+ <TabItem label={\\"MOD5\\"} value={\\"4-item-properties\\"}>
1322
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1323
+ string
1324
+ </div>
1325
+ </TabItem>
1326
+ </SchemaTabs>
1327
+ </div>
1328
+ </div>
1329
+ </details>
1330
+ </SchemaItem>;
1331
+ ",
1332
+ ]
1333
+ `;
1334
+
1335
+ exports[`createNodes oneOf should handle nested oneOf clauses 1`] = `
1336
+ Array [
1337
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1338
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1339
+ <summary style={{}}>
1340
+ <span className={\\"openapi-schema__container\\"}>
1341
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
1342
+ <span className={\\"openapi-schema__name\\"}>object</span>
1343
+ </span>
1344
+ </summary>
1345
+ <div style={{ marginLeft: \\"1rem\\" }}>
1346
+ <div>
1347
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1348
+ oneOf
1349
+ </span>
1350
+ <SchemaTabs>
1351
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1352
+ <SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1353
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1354
+ <summary style={{}}>
1355
+ <span className={\\"openapi-schema__container\\"}>
1356
+ <strong className={\\"openapi-schema__property\\"}>
1357
+ nestedOneOfProp
1358
+ </strong>
1359
+ <span className={\\"openapi-schema__name\\"}>object</span>
1360
+ </span>
1361
+ </summary>
1362
+ <div style={{ marginLeft: \\"1rem\\" }}>
1363
+ <div>
1364
+ <span
1365
+ className={\\"badge badge--info\\"}
1366
+ style={{ marginBottom: \\"1rem\\" }}
1367
+ >
1368
+ oneOf
1369
+ </span>
1370
+ <SchemaTabs>
1371
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1372
+ <div
1373
+ style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}
1374
+ >
1375
+ string
1376
+ </div>
1377
+ </TabItem>
1378
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1379
+ <div
1380
+ style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}
1381
+ >
1382
+ number
1383
+ </div>
1384
+ </TabItem>
1385
+ </SchemaTabs>
1386
+ </div>
1387
+ </div>
1388
+ </details>
1389
+ </SchemaItem>
1390
+ </TabItem>
1391
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1392
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1393
+ boolean
1394
+ </div>
1395
+ </TabItem>
1396
+ </SchemaTabs>
1397
+ </div>
1398
+ </div>
1399
+ </details>
1400
+ </SchemaItem>;
1401
+ ",
1402
+ ]
1403
+ `;
1404
+
1405
+ exports[`createNodes oneOf should handle oneOf with complex types 1`] = `
1406
+ Array [
1407
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1408
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1409
+ <summary style={{}}>
1410
+ <span className={\\"openapi-schema__container\\"}>
1411
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
1412
+ <span className={\\"openapi-schema__name\\"}>object</span>
1413
+ </span>
1414
+ </summary>
1415
+ <div style={{ marginLeft: \\"1rem\\" }}>
1416
+ <div>
1417
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1418
+ oneOf
1419
+ </span>
1420
+ <SchemaTabs>
1421
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1422
+ <SchemaItem
1423
+ collapsible={false}
1424
+ name={\\"objectProp\\"}
1425
+ required={false}
1426
+ schemaName={\\"string\\"}
1427
+ qualifierMessage={undefined}
1428
+ schema={{ type: \\"string\\" }}
1429
+ ></SchemaItem>
1430
+ </TabItem>
1431
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1432
+ <li>
1433
+ <div
1434
+ style={{
1435
+ fontSize: \\"var(--ifm-code-font-size)\\",
1436
+ opacity: \\"0.6\\",
1437
+ marginLeft: \\"-.5rem\\",
1438
+ paddingBottom: \\".5rem\\",
1439
+ }}
1440
+ >
1441
+ Array [
1442
+ </div>
1443
+ </li>
1444
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1445
+ number
1446
+ </div>
1447
+ <li>
1448
+ <div
1449
+ style={{
1450
+ fontSize: \\"var(--ifm-code-font-size)\\",
1451
+ opacity: \\"0.6\\",
1452
+ marginLeft: \\"-.5rem\\",
1453
+ }}
1454
+ >
1455
+ ]
1456
+ </div>
1457
+ </li>
1458
+ </TabItem>
1459
+ </SchemaTabs>
1460
+ </div>
1461
+ </div>
1462
+ </details>
1463
+ </SchemaItem>;
1464
+ ",
1465
+ ]
1466
+ `;
1467
+
1468
+ exports[`createNodes oneOf should handle oneOf with different primitive types 1`] = `
1469
+ Array [
1470
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1471
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1472
+ <summary style={{}}>
1473
+ <span className={\\"openapi-schema__container\\"}>
1474
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
1475
+ <span className={\\"openapi-schema__name\\"}>object</span>
1476
+ </span>
1477
+ </summary>
1478
+ <div style={{ marginLeft: \\"1rem\\" }}>
1479
+ <div>
1480
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1481
+ oneOf
1482
+ </span>
1483
+ <SchemaTabs>
1484
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1485
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1486
+ string
1487
+ </div>
1488
+ </TabItem>
1489
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1490
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1491
+ number
1492
+ </div>
1493
+ </TabItem>
1494
+ <TabItem label={\\"MOD3\\"} value={\\"2-item-properties\\"}>
1495
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1496
+ boolean
1497
+ </div>
1498
+ </TabItem>
1499
+ </SchemaTabs>
1500
+ </div>
1501
+ </div>
1502
+ </details>
1503
+ </SchemaItem>;
1504
+ ",
1505
+ ]
1506
+ `;
1507
+
1508
+ exports[`createNodes oneOf should handle oneOf with required properties 1`] = `
1509
+ Array [
1510
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1511
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1512
+ <summary style={{}}>
1513
+ <span className={\\"openapi-schema__container\\"}>
1514
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
1515
+ <span className={\\"openapi-schema__name\\"}>object</span>
1516
+ </span>
1517
+ </summary>
1518
+ <div style={{ marginLeft: \\"1rem\\" }}>
1519
+ <div>
1520
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1521
+ oneOf
1522
+ </span>
1523
+ <SchemaTabs>
1524
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1525
+ <SchemaItem
1526
+ collapsible={false}
1527
+ name={\\"requiredPropA\\"}
1528
+ required={true}
1529
+ schemaName={\\"string\\"}
1530
+ qualifierMessage={undefined}
1531
+ schema={{ type: \\"string\\" }}
1532
+ ></SchemaItem>
1533
+ </TabItem>
1534
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1535
+ <SchemaItem
1536
+ collapsible={false}
1537
+ name={\\"requiredPropB\\"}
1538
+ required={true}
1539
+ schemaName={\\"number\\"}
1540
+ qualifierMessage={undefined}
1541
+ schema={{ type: \\"number\\" }}
1542
+ ></SchemaItem>
1543
+ </TabItem>
1544
+ </SchemaTabs>
1545
+ </div>
1546
+ </div>
1547
+ </details>
1548
+ </SchemaItem>;
1549
+ ",
1550
+ ]
1551
+ `;
1552
+
1553
+ exports[`createNodes oneOf should handle oneOf with shared properties 1`] = `
1554
+ Array [
1555
+ "<SchemaItem
1556
+ collapsible={false}
1557
+ name={\\"sharedProp\\"}
1558
+ required={false}
1559
+ schemaName={\\"string\\"}
1560
+ qualifierMessage={undefined}
1561
+ schema={{ type: \\"string\\" }}
1562
+ ></SchemaItem>;
1563
+ ",
1564
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1565
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1566
+ <summary style={{}}>
1567
+ <span className={\\"openapi-schema__container\\"}>
1568
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
1569
+ <span className={\\"openapi-schema__name\\"}>object</span>
1570
+ </span>
1571
+ </summary>
1572
+ <div style={{ marginLeft: \\"1rem\\" }}>
1573
+ <div>
1574
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1575
+ oneOf
1576
+ </span>
1577
+ <SchemaTabs>
1578
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1579
+ <SchemaItem
1580
+ collapsible={false}
1581
+ name={\\"specificPropA\\"}
1582
+ required={false}
1583
+ schemaName={\\"string\\"}
1584
+ qualifierMessage={undefined}
1585
+ schema={{ type: \\"string\\" }}
1586
+ ></SchemaItem>
1587
+ </TabItem>
1588
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1589
+ <SchemaItem
1590
+ collapsible={false}
1591
+ name={\\"specificPropB\\"}
1592
+ required={false}
1593
+ schemaName={\\"number\\"}
1594
+ qualifierMessage={undefined}
1595
+ schema={{ type: \\"number\\" }}
1596
+ ></SchemaItem>
1597
+ </TabItem>
1598
+ </SchemaTabs>
1599
+ </div>
1600
+ </div>
1601
+ </details>
1602
+ </SchemaItem>;
1603
+ ",
1604
+ ]
1605
+ `;