docusaurus-plugin-openapi-docs 1.5.1 → 1.6.0

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.
package/lib/index.js CHANGED
@@ -77,6 +77,8 @@ function pluginOpenAPIDocs(context, options) {
77
77
  let docPath = docData ? (docData.path ? docData.path : "docs") : undefined;
78
78
  async function generateApiDocs(options, pluginId) {
79
79
  let { specPath, outputDir, template, downloadUrl, sidebarOptions } = options;
80
+ // Remove trailing slash before proceeding
81
+ outputDir = outputDir.replace(/\/$/, "");
80
82
  // Override docPath if pluginId provided
81
83
  if (pluginId) {
82
84
  docData = getDocsPluginConfig(presetsPlugins, pluginId);
@@ -147,6 +149,9 @@ custom_edit_url: null
147
149
  {{#frontMatter.proxy}}
148
150
  proxy: {{{frontMatter.proxy}}}
149
151
  {{/frontMatter.proxy}}
152
+ {{#frontMatter.hide_send_button}}
153
+ hide_send_button: true
154
+ {{/frontMatter.hide_send_button}}
150
155
  ---
151
156
 
152
157
  {{{markdown}}}
@@ -0,0 +1,2 @@
1
+ export declare function createOpeningArrayBracket(): string;
2
+ export declare function createClosingArrayBracket(): string;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /* ============================================================================
3
+ * Copyright (c) Palo Alto Networks
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ * ========================================================================== */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createClosingArrayBracket = exports.createOpeningArrayBracket = void 0;
10
+ const utils_1 = require("./utils");
11
+ function createOpeningArrayBracket() {
12
+ return (0, utils_1.create)("li", {
13
+ children: (0, utils_1.create)("div", {
14
+ style: {
15
+ fontSize: "var(--ifm-code-font-size)",
16
+ opacity: "0.6",
17
+ marginLeft: "-.5rem",
18
+ paddingBottom: ".5rem",
19
+ },
20
+ children: ["Array ["],
21
+ }),
22
+ });
23
+ }
24
+ exports.createOpeningArrayBracket = createOpeningArrayBracket;
25
+ function createClosingArrayBracket() {
26
+ return (0, utils_1.create)("li", {
27
+ children: (0, utils_1.create)("div", {
28
+ style: {
29
+ fontSize: "var(--ifm-code-font-size)",
30
+ opacity: "0.6",
31
+ marginLeft: "-.5rem",
32
+ },
33
+ children: ["]"],
34
+ }),
35
+ });
36
+ }
37
+ exports.createClosingArrayBracket = createClosingArrayBracket;
@@ -13,7 +13,7 @@ function createAuthentication(securitySchemes) {
13
13
  if (!securitySchemes || !Object.keys(securitySchemes).length)
14
14
  return "";
15
15
  const createAuthenticationTable = (securityScheme) => {
16
- const { bearerFormat, flows, name, scheme, type } = securityScheme;
16
+ const { bearerFormat, flows, name, scheme, type, openIdConnectUrl } = securityScheme;
17
17
  const createSecuritySchemeTypeRow = () => (0, utils_1.create)("tr", {
18
18
  children: [
19
19
  (0, utils_1.create)("th", { children: "Security Scheme Type:" }),
@@ -25,7 +25,7 @@ function createAuthentication(securitySchemes) {
25
25
  const { authorizationUrl, tokenUrl, refreshUrl, scopes } = flowObj;
26
26
  return (0, utils_1.create)("tr", {
27
27
  children: [
28
- (0, utils_1.create)("th", { children: `${flowType} OAuth Flow:` }),
28
+ (0, utils_1.create)("th", { children: `OAuth Flow (${flowType}):` }),
29
29
  (0, utils_1.create)("td", {
30
30
  children: [
31
31
  (0, utils_1.guard)(tokenUrl, () => (0, utils_1.create)("p", { children: `Token URL: ${tokenUrl}` })),
@@ -76,12 +76,12 @@ function createAuthentication(securitySchemes) {
76
76
  (0, utils_1.create)("td", { children: scheme }),
77
77
  ],
78
78
  }),
79
- (0, utils_1.create)("tr", {
79
+ (0, utils_1.guard)(bearerFormat, () => (0, utils_1.create)("tr", {
80
80
  children: [
81
81
  (0, utils_1.create)("th", { children: "Bearer format:" }),
82
82
  (0, utils_1.create)("td", { children: bearerFormat }),
83
83
  ],
84
- }),
84
+ })),
85
85
  ],
86
86
  }),
87
87
  }),
@@ -100,20 +100,51 @@ function createAuthentication(securitySchemes) {
100
100
  }),
101
101
  ],
102
102
  });
103
+ case "openIdConnect":
104
+ return (0, utils_1.create)("div", {
105
+ children: [
106
+ (0, utils_1.create)("table", {
107
+ children: (0, utils_1.create)("tbody", {
108
+ children: [
109
+ createSecuritySchemeTypeRow(),
110
+ (0, utils_1.guard)(openIdConnectUrl, () => (0, utils_1.create)("tr", {
111
+ children: [
112
+ (0, utils_1.create)("th", { children: "OpenID Connect URL:" }),
113
+ (0, utils_1.create)("td", { children: openIdConnectUrl }),
114
+ ],
115
+ })),
116
+ ],
117
+ }),
118
+ }),
119
+ ],
120
+ });
103
121
  default:
104
122
  return "";
105
123
  }
106
124
  };
107
- const formatTabLabel = (str) => {
108
- const formattedLabel = str
125
+ const formatTabLabel = (key, type, scheme) => {
126
+ const formattedLabel = key
109
127
  .replace(/(_|-)/g, " ")
110
128
  .trim()
111
129
  .replace(/\w\S*/g, (str) => str.charAt(0).toUpperCase() + str.substr(1))
112
130
  .replace(/([a-z])([A-Z])/g, "$1 $2")
113
131
  .replace(/([A-Z])([A-Z][a-z])/g, "$1 $2");
114
- const isOAuth = formattedLabel.toLowerCase().includes("oauth2");
115
- const isApiKey = formattedLabel.toLowerCase().includes("api");
116
- return isOAuth ? "OAuth 2.0" : isApiKey ? "API Key" : formattedLabel;
132
+ const isOAuth = type === "oauth2";
133
+ const isApiKey = type === "apiKey";
134
+ const isHttpBasic = type === "http" && scheme === "basic";
135
+ const isHttpBearer = type === "http" && scheme === "bearer";
136
+ const isOpenId = type === "openIdConnect";
137
+ if (isOAuth)
138
+ return `OAuth 2.0: ${key}`;
139
+ if (isApiKey)
140
+ return `API Key: ${key}`;
141
+ if (isHttpBasic)
142
+ return "HTTP: Basic Auth";
143
+ if (isHttpBearer)
144
+ return "HTTP: Bearer Auth";
145
+ if (isOpenId)
146
+ return `OpenID Connect: ${key}`;
147
+ return formattedLabel;
117
148
  };
118
149
  return (0, utils_1.create)("div", {
119
150
  children: [
@@ -122,10 +153,11 @@ function createAuthentication(securitySchemes) {
122
153
  id: "authentication",
123
154
  style: { marginBottom: "1rem" },
124
155
  }),
125
- (0, utils_1.create)("Tabs", {
126
- children: Object.entries(securitySchemes).map(([schemeType, schemeObj]) => (0, utils_1.create)("TabItem", {
127
- label: formatTabLabel(schemeType),
128
- value: `${schemeType}`,
156
+ (0, utils_1.create)("SchemaTabs", {
157
+ className: "openapi-tabs__security-schemes",
158
+ children: Object.entries(securitySchemes).map(([schemeKey, schemeObj]) => (0, utils_1.create)("TabItem", {
159
+ label: formatTabLabel(schemeKey, schemeObj.type, schemeObj.scheme),
160
+ value: `${schemeKey}`,
129
161
  children: [
130
162
  (0, createDescription_1.createDescription)(schemeObj.description),
131
163
  createAuthenticationTable(schemeObj),
@@ -7,6 +7,7 @@
7
7
  * ========================================================================== */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.createRequestSchema = exports.mergeAllOf = void 0;
10
+ const createArrayBracket_1 = require("./createArrayBracket");
10
11
  const createDescription_1 = require("./createDescription");
11
12
  const createDetails_1 = require("./createDetails");
12
13
  const createDetailsSummary_1 = require("./createDetailsSummary");
@@ -46,46 +47,55 @@ exports.mergeAllOf = mergeAllOf;
46
47
  */
47
48
  function createAnyOneOf(schema) {
48
49
  const type = schema.oneOf ? "oneOf" : "anyOf";
49
- return (0, utils_1.create)("div", {
50
+ return (0, utils_1.create)("li", {
50
51
  children: [
51
- (0, utils_1.create)("div", {
52
- children: [
53
- (0, utils_1.create)("span", {
54
- className: "badge badge--info",
55
- children: type,
56
- }),
57
- (0, utils_1.create)("SchemaTabs", {
58
- children: schema[type].map((anyOneSchema, index) => {
59
- const label = anyOneSchema.title
60
- ? anyOneSchema.title
61
- : `MOD${index + 1}`;
62
- const anyOneChildren = [];
63
- if (anyOneSchema.properties !== undefined) {
64
- anyOneChildren.push(createProperties(anyOneSchema));
65
- }
66
- if (anyOneSchema.allOf !== undefined) {
67
- anyOneChildren.push(createNodes(anyOneSchema));
68
- }
69
- if (anyOneSchema.items !== undefined) {
70
- anyOneChildren.push(createItems(anyOneSchema));
71
- }
72
- if (anyOneSchema.type === "string" ||
73
- anyOneSchema.type === "number" ||
74
- anyOneSchema.type === "integer" ||
75
- anyOneSchema.type === "boolean") {
76
- anyOneChildren.push(createNodes(anyOneSchema));
77
- }
78
- if (anyOneChildren.length) {
79
- return (0, utils_1.create)("TabItem", {
80
- label: label,
81
- value: `${index}-item-properties`,
82
- children: anyOneChildren,
83
- });
84
- }
85
- return undefined;
86
- }),
87
- }),
88
- ],
52
+ (0, utils_1.create)("span", {
53
+ className: "badge badge--info",
54
+ children: type,
55
+ }),
56
+ (0, utils_1.create)("SchemaTabs", {
57
+ children: schema[type].map((anyOneSchema, index) => {
58
+ const label = anyOneSchema.title
59
+ ? anyOneSchema.title
60
+ : `MOD${index + 1}`;
61
+ const anyOneChildren = [];
62
+ if (anyOneSchema.properties !== undefined) {
63
+ anyOneChildren.push(createProperties(anyOneSchema));
64
+ }
65
+ if (anyOneSchema.allOf !== undefined) {
66
+ anyOneChildren.push(createNodes(anyOneSchema));
67
+ }
68
+ if (anyOneSchema.items !== undefined) {
69
+ anyOneChildren.push(createItems(anyOneSchema));
70
+ }
71
+ if (anyOneSchema.type === "string" ||
72
+ anyOneSchema.type === "number" ||
73
+ anyOneSchema.type === "integer" ||
74
+ anyOneSchema.type === "boolean") {
75
+ anyOneChildren.push(createNodes(anyOneSchema));
76
+ }
77
+ if (anyOneChildren.length) {
78
+ if (schema.type === "array") {
79
+ return (0, utils_1.create)("TabItem", {
80
+ label: label,
81
+ value: `${index}-item-properties`,
82
+ children: [
83
+ (0, createArrayBracket_1.createOpeningArrayBracket)(),
84
+ anyOneChildren,
85
+ (0, createArrayBracket_1.createClosingArrayBracket)(),
86
+ ]
87
+ .filter(Boolean)
88
+ .flat(),
89
+ });
90
+ }
91
+ return (0, utils_1.create)("TabItem", {
92
+ label: label,
93
+ value: `${index}-item-properties`,
94
+ children: anyOneChildren.filter(Boolean).flat(),
95
+ });
96
+ }
97
+ return undefined;
98
+ }),
89
99
  }),
90
100
  ],
91
101
  });
@@ -188,15 +198,27 @@ function createAdditionalProperties(schema) {
188
198
  }
189
199
  // TODO: figure out how to handle array of objects
190
200
  function createItems(schema) {
191
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
201
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
192
202
  if (((_a = schema.items) === null || _a === void 0 ? void 0 : _a.properties) !== undefined) {
193
- return createProperties(schema.items);
203
+ return [
204
+ (0, createArrayBracket_1.createOpeningArrayBracket)(),
205
+ createProperties(schema.items),
206
+ (0, createArrayBracket_1.createClosingArrayBracket)(),
207
+ ].flat();
194
208
  }
195
209
  if (((_b = schema.items) === null || _b === void 0 ? void 0 : _b.additionalProperties) !== undefined) {
196
- return createAdditionalProperties(schema.items);
210
+ return [
211
+ (0, createArrayBracket_1.createOpeningArrayBracket)(),
212
+ createAdditionalProperties(schema.items),
213
+ (0, createArrayBracket_1.createClosingArrayBracket)(),
214
+ ].flat();
197
215
  }
198
216
  if (((_c = schema.items) === null || _c === void 0 ? void 0 : _c.oneOf) !== undefined || ((_d = schema.items) === null || _d === void 0 ? void 0 : _d.anyOf) !== undefined) {
199
- return createAnyOneOf(schema.items);
217
+ return [
218
+ (0, createArrayBracket_1.createOpeningArrayBracket)(),
219
+ createAnyOneOf(schema.items),
220
+ (0, createArrayBracket_1.createClosingArrayBracket)(),
221
+ ].flat();
200
222
  }
201
223
  if (((_e = schema.items) === null || _e === void 0 ? void 0 : _e.allOf) !== undefined) {
202
224
  // TODO: figure out if and how we should pass merged required array
@@ -205,41 +227,54 @@ function createItems(schema) {
205
227
  if ((mergedSchemas.oneOf !== undefined ||
206
228
  mergedSchemas.anyOf !== undefined) &&
207
229
  mergedSchemas.properties) {
208
- return (0, utils_1.create)("div", {
209
- children: [
210
- createAnyOneOf(mergedSchemas),
211
- createProperties(mergedSchemas),
212
- ],
213
- });
230
+ return [
231
+ (0, createArrayBracket_1.createOpeningArrayBracket)(),
232
+ createAnyOneOf(mergedSchemas),
233
+ createProperties(mergedSchemas),
234
+ (0, createArrayBracket_1.createClosingArrayBracket)(),
235
+ ].flat();
214
236
  }
215
237
  // Handles only anyOf/oneOf
216
238
  if (mergedSchemas.oneOf !== undefined ||
217
239
  mergedSchemas.anyOf !== undefined) {
218
- return (0, utils_1.create)("div", {
219
- children: [createAnyOneOf(mergedSchemas)],
220
- });
240
+ return [
241
+ (0, createArrayBracket_1.createOpeningArrayBracket)(),
242
+ createAnyOneOf(mergedSchemas),
243
+ (0, createArrayBracket_1.createClosingArrayBracket)(),
244
+ ].flat();
221
245
  }
222
246
  // Handles properties
223
247
  if (mergedSchemas.properties !== undefined) {
224
- return (0, utils_1.create)("div", {
225
- children: [createProperties(mergedSchemas)],
226
- });
248
+ return [
249
+ (0, createArrayBracket_1.createOpeningArrayBracket)(),
250
+ createProperties(mergedSchemas),
251
+ (0, createArrayBracket_1.createClosingArrayBracket)(),
252
+ ].flat();
227
253
  }
228
254
  }
229
255
  if (((_g = schema.items) === null || _g === void 0 ? void 0 : _g.type) === "string" ||
230
256
  ((_h = schema.items) === null || _h === void 0 ? void 0 : _h.type) === "number" ||
231
257
  ((_j = schema.items) === null || _j === void 0 ? void 0 : _j.type) === "integer" ||
232
- ((_k = schema.items) === null || _k === void 0 ? void 0 : _k.type) === "boolean") {
233
- return createNodes(schema.items);
258
+ ((_k = schema.items) === null || _k === void 0 ? void 0 : _k.type) === "boolean" ||
259
+ ((_l = schema.items) === null || _l === void 0 ? void 0 : _l.type) === "object") {
260
+ return [
261
+ (0, createArrayBracket_1.createOpeningArrayBracket)(),
262
+ createNodes(schema.items),
263
+ (0, createArrayBracket_1.createClosingArrayBracket)(),
264
+ ].flat();
234
265
  }
235
266
  // TODO: clean this up or eliminate it?
236
- return Object.entries(schema.items).map(([key, val]) => createEdges({
237
- name: key,
238
- schema: val,
239
- required: Array.isArray(schema.required)
240
- ? schema.required.includes(key)
241
- : false,
242
- }));
267
+ return [
268
+ (0, createArrayBracket_1.createOpeningArrayBracket)(),
269
+ Object.entries(schema.items).map(([key, val]) => createEdges({
270
+ name: key,
271
+ schema: val,
272
+ required: Array.isArray(schema.required)
273
+ ? schema.required.includes(key)
274
+ : false,
275
+ })),
276
+ (0, createArrayBracket_1.createClosingArrayBracket)(),
277
+ ].flat();
243
278
  }
244
279
  /**
245
280
  * For handling discriminators that do not map to a same-level property
@@ -338,7 +373,7 @@ function createItems(schema) {
338
373
  // }),
339
374
  // });
340
375
  // }
341
- function createDetailsNode(name, schemaName, schema, required) {
376
+ function createDetailsNode(name, schemaName, schema, required, nullable) {
342
377
  return (0, utils_1.create)("SchemaItem", {
343
378
  collapsible: true,
344
379
  className: "schemaItem",
@@ -352,6 +387,16 @@ function createDetailsNode(name, schemaName, schema, required) {
352
387
  style: { opacity: "0.6" },
353
388
  children: ` ${schemaName}`,
354
389
  }),
390
+ (0, utils_1.guard)((schema.nullable && schema.nullable === true) ||
391
+ (nullable && nullable === true), () => [
392
+ (0, utils_1.create)("strong", {
393
+ style: {
394
+ fontSize: "var(--ifm-code-font-size)",
395
+ color: "var(--openapi-nullable)",
396
+ },
397
+ children: " nullable",
398
+ }),
399
+ ]),
355
400
  (0, utils_1.guard)(Array.isArray(required)
356
401
  ? required.includes(name)
357
402
  : required === true, () => [
@@ -454,24 +499,24 @@ function createEdges({ name, schema, required, discriminator, }) {
454
499
  return createPropertyDiscriminator(name, "string", schema, discriminator, required);
455
500
  }
456
501
  if (schema.oneOf !== undefined || schema.anyOf !== undefined) {
457
- return createDetailsNode(name, schemaName, schema, required);
502
+ return createDetailsNode(name, schemaName, schema, required, schema.nullable);
458
503
  }
459
504
  if (schema.allOf !== undefined) {
460
505
  const { mergedSchemas, required, } = mergeAllOf(schema.allOf);
461
506
  const mergedSchemaName = (0, schema_1.getSchemaName)(mergedSchemas);
462
507
  if (mergedSchemas.oneOf !== undefined ||
463
508
  mergedSchemas.anyOf !== undefined) {
464
- return createDetailsNode(name, mergedSchemaName, mergedSchemas, required);
509
+ return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, schema.nullable);
465
510
  }
466
511
  if (mergedSchemas.properties !== undefined) {
467
- return createDetailsNode(name, mergedSchemaName, mergedSchemas, required);
512
+ return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, schema.nullable);
468
513
  }
469
514
  if (mergedSchemas.additionalProperties !== undefined) {
470
- return createDetailsNode(name, mergedSchemaName, mergedSchemas, required);
515
+ return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, schema.nullable);
471
516
  }
472
517
  // array of objects
473
518
  if (((_a = mergedSchemas.items) === null || _a === void 0 ? void 0 : _a.properties) !== undefined) {
474
- return createDetailsNode(name, mergedSchemaName, mergedSchemas, required);
519
+ return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, schema.nullable);
475
520
  }
476
521
  if (mergedSchemas.readOnly && mergedSchemas.readOnly === true) {
477
522
  return undefined;
@@ -480,25 +525,23 @@ function createEdges({ name, schema, required, discriminator, }) {
480
525
  collapsible: false,
481
526
  name,
482
527
  required: Array.isArray(required) ? required.includes(name) : required,
483
- deprecated: mergedSchemas.deprecated,
484
- schemaDescription: mergedSchemas.description,
485
528
  schemaName: schemaName,
486
529
  qualifierMessage: (0, schema_1.getQualifierMessage)(schema),
487
- defaultValue: mergedSchemas.default,
530
+ schema: mergedSchemas,
488
531
  });
489
532
  }
490
533
  if (schema.properties !== undefined) {
491
- return createDetailsNode(name, schemaName, schema, required);
534
+ return createDetailsNode(name, schemaName, schema, required, schema.nullable);
492
535
  }
493
536
  if (schema.additionalProperties !== undefined) {
494
- return createDetailsNode(name, schemaName, schema, required);
537
+ return createDetailsNode(name, schemaName, schema, required, schema.nullable);
495
538
  }
496
539
  // array of objects
497
540
  if (((_b = schema.items) === null || _b === void 0 ? void 0 : _b.properties) !== undefined) {
498
- return createDetailsNode(name, schemaName, schema, required);
541
+ return createDetailsNode(name, schemaName, schema, required, schema.nullable);
499
542
  }
500
543
  if (((_c = schema.items) === null || _c === void 0 ? void 0 : _c.anyOf) !== undefined || ((_d = schema.items) === null || _d === void 0 ? void 0 : _d.oneOf) !== undefined) {
501
- return createDetailsNode(name, schemaName, schema, required);
544
+ return createDetailsNode(name, schemaName, schema, required, schema.nullable);
502
545
  }
503
546
  if (schema.readOnly && schema.readOnly === true) {
504
547
  return undefined;
@@ -508,39 +551,41 @@ function createEdges({ name, schema, required, discriminator, }) {
508
551
  collapsible: false,
509
552
  name,
510
553
  required: Array.isArray(required) ? required.includes(name) : required,
511
- deprecated: schema.deprecated,
512
- schemaDescription: schema.description,
513
554
  schemaName: schemaName,
514
555
  qualifierMessage: (0, schema_1.getQualifierMessage)(schema),
515
- defaultValue: schema.default,
556
+ schema: schema,
516
557
  });
517
558
  }
518
559
  /**
519
560
  * Creates a hierarchical level of a schema tree. Nodes produce edges that can branch into sub-nodes with edges, recursively.
520
561
  */
521
562
  function createNodes(schema) {
563
+ const nodes = [];
522
564
  // if (schema.discriminator !== undefined) {
523
565
  // return createDiscriminator(schema);
524
566
  // }
525
567
  if (schema.oneOf !== undefined || schema.anyOf !== undefined) {
526
- return createAnyOneOf(schema);
568
+ nodes.push(createAnyOneOf(schema));
527
569
  }
528
570
  if (schema.allOf !== undefined) {
529
571
  const { mergedSchemas } = mergeAllOf(schema.allOf);
530
572
  // allOf seems to always result in properties
531
573
  if (mergedSchemas.properties !== undefined) {
532
- return createProperties(mergedSchemas);
574
+ nodes.push(createProperties(mergedSchemas));
533
575
  }
534
576
  }
535
577
  if (schema.properties !== undefined) {
536
- return createProperties(schema);
578
+ nodes.push(createProperties(schema));
537
579
  }
538
580
  if (schema.additionalProperties !== undefined) {
539
- return createAdditionalProperties(schema);
581
+ nodes.push(createAdditionalProperties(schema));
540
582
  }
541
583
  // TODO: figure out how to handle array of objects
542
584
  if (schema.items !== undefined) {
543
- return createItems(schema);
585
+ nodes.push(createItems(schema));
586
+ }
587
+ if (nodes.length && nodes.length > 0) {
588
+ return nodes.filter(Boolean).flat();
544
589
  }
545
590
  // primitive
546
591
  if (schema.type !== undefined) {
@@ -566,9 +611,10 @@ function createNodes(schema) {
566
611
  }
567
612
  // Unknown node/schema type should return undefined
568
613
  // So far, haven't seen this hit in testing
569
- return undefined;
614
+ return "any";
570
615
  }
571
616
  function createRequestSchema({ title, body, ...rest }) {
617
+ var _a;
572
618
  if (body === undefined ||
573
619
  body.content === undefined ||
574
620
  Object.keys(body).length === 0 ||
@@ -603,10 +649,6 @@ function createRequestSchema({ title, body, ...rest }) {
603
649
  style: { textAlign: "left" },
604
650
  children: [
605
651
  (0, utils_1.create)("strong", { children: `${title}` }),
606
- (0, utils_1.guard)(firstBody.type === "array", (format) => (0, utils_1.create)("span", {
607
- style: { opacity: "0.6" },
608
- children: ` array`,
609
- })),
610
652
  (0, utils_1.guard)(body.required && body.required === true, () => [
611
653
  (0, utils_1.create)("strong", {
612
654
  style: {
@@ -641,7 +683,7 @@ function createRequestSchema({ title, body, ...rest }) {
641
683
  });
642
684
  }
643
685
  const randomFirstKey = Object.keys(body.content)[0];
644
- const firstBody = body.content[randomFirstKey].schema;
686
+ const firstBody = (_a = body.content[randomFirstKey].schema) !== null && _a !== void 0 ? _a : body.content[randomFirstKey];
645
687
  if (firstBody === undefined) {
646
688
  return undefined;
647
689
  }