docusaurus-plugin-openapi-docs 0.0.0-572 → 0.0.0-573
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.
|
@@ -373,7 +373,7 @@ function createItems(schema) {
|
|
|
373
373
|
// }),
|
|
374
374
|
// });
|
|
375
375
|
// }
|
|
376
|
-
function createDetailsNode(name, schemaName, schema, required) {
|
|
376
|
+
function createDetailsNode(name, schemaName, schema, required, nullable) {
|
|
377
377
|
return (0, utils_1.create)("SchemaItem", {
|
|
378
378
|
collapsible: true,
|
|
379
379
|
className: "schemaItem",
|
|
@@ -387,7 +387,8 @@ function createDetailsNode(name, schemaName, schema, required) {
|
|
|
387
387
|
style: { opacity: "0.6" },
|
|
388
388
|
children: ` ${schemaName}`,
|
|
389
389
|
}),
|
|
390
|
-
(0, utils_1.guard)(schema.nullable && schema.nullable === true
|
|
390
|
+
(0, utils_1.guard)((schema.nullable && schema.nullable === true) ||
|
|
391
|
+
(nullable && nullable === true), () => [
|
|
391
392
|
(0, utils_1.create)("strong", {
|
|
392
393
|
style: {
|
|
393
394
|
fontSize: "var(--ifm-code-font-size)",
|
|
@@ -498,24 +499,24 @@ function createEdges({ name, schema, required, discriminator, }) {
|
|
|
498
499
|
return createPropertyDiscriminator(name, "string", schema, discriminator, required);
|
|
499
500
|
}
|
|
500
501
|
if (schema.oneOf !== undefined || schema.anyOf !== undefined) {
|
|
501
|
-
return createDetailsNode(name, schemaName, schema, required);
|
|
502
|
+
return createDetailsNode(name, schemaName, schema, required, schema.nullable);
|
|
502
503
|
}
|
|
503
504
|
if (schema.allOf !== undefined) {
|
|
504
505
|
const { mergedSchemas, required, } = mergeAllOf(schema.allOf);
|
|
505
506
|
const mergedSchemaName = (0, schema_1.getSchemaName)(mergedSchemas);
|
|
506
507
|
if (mergedSchemas.oneOf !== undefined ||
|
|
507
508
|
mergedSchemas.anyOf !== undefined) {
|
|
508
|
-
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required);
|
|
509
|
+
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, schema.nullable);
|
|
509
510
|
}
|
|
510
511
|
if (mergedSchemas.properties !== undefined) {
|
|
511
|
-
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required);
|
|
512
|
+
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, schema.nullable);
|
|
512
513
|
}
|
|
513
514
|
if (mergedSchemas.additionalProperties !== undefined) {
|
|
514
|
-
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required);
|
|
515
|
+
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, schema.nullable);
|
|
515
516
|
}
|
|
516
517
|
// array of objects
|
|
517
518
|
if (((_a = mergedSchemas.items) === null || _a === void 0 ? void 0 : _a.properties) !== undefined) {
|
|
518
|
-
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required);
|
|
519
|
+
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, schema.nullable);
|
|
519
520
|
}
|
|
520
521
|
if (mergedSchemas.readOnly && mergedSchemas.readOnly === true) {
|
|
521
522
|
return undefined;
|
|
@@ -530,17 +531,17 @@ function createEdges({ name, schema, required, discriminator, }) {
|
|
|
530
531
|
});
|
|
531
532
|
}
|
|
532
533
|
if (schema.properties !== undefined) {
|
|
533
|
-
return createDetailsNode(name, schemaName, schema, required);
|
|
534
|
+
return createDetailsNode(name, schemaName, schema, required, schema.nullable);
|
|
534
535
|
}
|
|
535
536
|
if (schema.additionalProperties !== undefined) {
|
|
536
|
-
return createDetailsNode(name, schemaName, schema, required);
|
|
537
|
+
return createDetailsNode(name, schemaName, schema, required, schema.nullable);
|
|
537
538
|
}
|
|
538
539
|
// array of objects
|
|
539
540
|
if (((_b = schema.items) === null || _b === void 0 ? void 0 : _b.properties) !== undefined) {
|
|
540
|
-
return createDetailsNode(name, schemaName, schema, required);
|
|
541
|
+
return createDetailsNode(name, schemaName, schema, required, schema.nullable);
|
|
541
542
|
}
|
|
542
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) {
|
|
543
|
-
return createDetailsNode(name, schemaName, schema, required);
|
|
544
|
+
return createDetailsNode(name, schemaName, schema, required, schema.nullable);
|
|
544
545
|
}
|
|
545
546
|
if (schema.readOnly && schema.readOnly === true) {
|
|
546
547
|
return undefined;
|
|
@@ -610,9 +611,10 @@ function createNodes(schema) {
|
|
|
610
611
|
}
|
|
611
612
|
// Unknown node/schema type should return undefined
|
|
612
613
|
// So far, haven't seen this hit in testing
|
|
613
|
-
return
|
|
614
|
+
return "any";
|
|
614
615
|
}
|
|
615
616
|
function createRequestSchema({ title, body, ...rest }) {
|
|
617
|
+
var _a;
|
|
616
618
|
if (body === undefined ||
|
|
617
619
|
body.content === undefined ||
|
|
618
620
|
Object.keys(body).length === 0 ||
|
|
@@ -681,7 +683,7 @@ function createRequestSchema({ title, body, ...rest }) {
|
|
|
681
683
|
});
|
|
682
684
|
}
|
|
683
685
|
const randomFirstKey = Object.keys(body.content)[0];
|
|
684
|
-
const firstBody = body.content[randomFirstKey].schema;
|
|
686
|
+
const firstBody = (_a = body.content[randomFirstKey].schema) !== null && _a !== void 0 ? _a : body.content[randomFirstKey];
|
|
685
687
|
if (firstBody === undefined) {
|
|
686
688
|
return undefined;
|
|
687
689
|
}
|
|
@@ -374,7 +374,7 @@ function createItems(schema) {
|
|
|
374
374
|
// }),
|
|
375
375
|
// });
|
|
376
376
|
// }
|
|
377
|
-
function createDetailsNode(name, schemaName, schema, required) {
|
|
377
|
+
function createDetailsNode(name, schemaName, schema, required, nullable) {
|
|
378
378
|
return (0, utils_1.create)("SchemaItem", {
|
|
379
379
|
collapsible: true,
|
|
380
380
|
className: "schemaItem",
|
|
@@ -388,7 +388,8 @@ function createDetailsNode(name, schemaName, schema, required) {
|
|
|
388
388
|
style: { opacity: "0.6" },
|
|
389
389
|
children: ` ${schemaName}`,
|
|
390
390
|
}),
|
|
391
|
-
(0, utils_1.guard)(schema.nullable && schema.nullable === true
|
|
391
|
+
(0, utils_1.guard)((schema.nullable && schema.nullable === true) ||
|
|
392
|
+
(nullable && nullable === true), () => [
|
|
392
393
|
(0, utils_1.create)("strong", {
|
|
393
394
|
style: {
|
|
394
395
|
fontSize: "var(--ifm-code-font-size)",
|
|
@@ -499,24 +500,24 @@ function createEdges({ name, schema, required, discriminator, }) {
|
|
|
499
500
|
return createPropertyDiscriminator(name, "string", schema, discriminator, required);
|
|
500
501
|
}
|
|
501
502
|
if (schema.oneOf !== undefined || schema.anyOf !== undefined) {
|
|
502
|
-
return createDetailsNode(name, schemaName, schema, required);
|
|
503
|
+
return createDetailsNode(name, schemaName, schema, required, schema.nullable);
|
|
503
504
|
}
|
|
504
505
|
if (schema.allOf !== undefined) {
|
|
505
506
|
const { mergedSchemas, required, } = mergeAllOf(schema.allOf);
|
|
506
507
|
const mergedSchemaName = (0, schema_1.getSchemaName)(mergedSchemas);
|
|
507
508
|
if (mergedSchemas.oneOf !== undefined ||
|
|
508
509
|
mergedSchemas.anyOf !== undefined) {
|
|
509
|
-
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required);
|
|
510
|
+
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, schema.nullable);
|
|
510
511
|
}
|
|
511
512
|
if (mergedSchemas.properties !== undefined) {
|
|
512
|
-
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required);
|
|
513
|
+
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, schema.nullable);
|
|
513
514
|
}
|
|
514
515
|
if (mergedSchemas.additionalProperties !== undefined) {
|
|
515
|
-
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required);
|
|
516
|
+
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, schema.nullable);
|
|
516
517
|
}
|
|
517
518
|
// array of objects
|
|
518
519
|
if (((_a = mergedSchemas.items) === null || _a === void 0 ? void 0 : _a.properties) !== undefined) {
|
|
519
|
-
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required);
|
|
520
|
+
return createDetailsNode(name, mergedSchemaName, mergedSchemas, required, schema.nullable);
|
|
520
521
|
}
|
|
521
522
|
if (mergedSchemas.writeOnly && mergedSchemas.writeOnly === true) {
|
|
522
523
|
return undefined;
|
|
@@ -531,17 +532,17 @@ function createEdges({ name, schema, required, discriminator, }) {
|
|
|
531
532
|
});
|
|
532
533
|
}
|
|
533
534
|
if (schema.properties !== undefined) {
|
|
534
|
-
return createDetailsNode(name, schemaName, schema, required);
|
|
535
|
+
return createDetailsNode(name, schemaName, schema, required, schema.nullable);
|
|
535
536
|
}
|
|
536
537
|
if (schema.additionalProperties !== undefined) {
|
|
537
|
-
return createDetailsNode(name, schemaName, schema, required);
|
|
538
|
+
return createDetailsNode(name, schemaName, schema, required, schema.nullable);
|
|
538
539
|
}
|
|
539
540
|
// array of objects
|
|
540
541
|
if (((_b = schema.items) === null || _b === void 0 ? void 0 : _b.properties) !== undefined) {
|
|
541
|
-
return createDetailsNode(name, schemaName, schema, required);
|
|
542
|
+
return createDetailsNode(name, schemaName, schema, required, schema.nullable);
|
|
542
543
|
}
|
|
543
544
|
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) {
|
|
544
|
-
return createDetailsNode(name, schemaName, schema, required);
|
|
545
|
+
return createDetailsNode(name, schemaName, schema, required, schema.nullable);
|
|
545
546
|
}
|
|
546
547
|
if (schema.writeOnly && schema.writeOnly === true) {
|
|
547
548
|
return undefined;
|
|
@@ -613,7 +614,7 @@ function createNodes(schema) {
|
|
|
613
614
|
}
|
|
614
615
|
// Unknown node/schema type should return undefined
|
|
615
616
|
// So far, haven't seen this hit in testing
|
|
616
|
-
return
|
|
617
|
+
return "any";
|
|
617
618
|
}
|
|
618
619
|
function createResponseSchema({ title, body, ...rest }) {
|
|
619
620
|
if (body === undefined ||
|
|
@@ -628,9 +629,10 @@ function createResponseSchema({ title, body, ...rest }) {
|
|
|
628
629
|
return (0, utils_1.create)("MimeTabs", {
|
|
629
630
|
schemaType: "response",
|
|
630
631
|
children: mimeTypes.map((mimeType) => {
|
|
632
|
+
var _a;
|
|
631
633
|
const responseExamples = body.content[mimeType].examples;
|
|
632
634
|
const responseExample = body.content[mimeType].example;
|
|
633
|
-
const firstBody = body.content[mimeType].schema;
|
|
635
|
+
const firstBody = (_a = body.content[mimeType].schema) !== null && _a !== void 0 ? _a : body.content[mimeType];
|
|
634
636
|
if (firstBody === undefined &&
|
|
635
637
|
responseExample === undefined &&
|
|
636
638
|
responseExamples === undefined) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "docusaurus-plugin-openapi-docs",
|
|
3
3
|
"description": "OpenAPI plugin for Docusaurus.",
|
|
4
|
-
"version": "0.0.0-
|
|
4
|
+
"version": "0.0.0-573",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"openapi",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"engines": {
|
|
69
69
|
"node": ">=14"
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "a584334c8e04f672fd778d6e80836f6d5b18611a"
|
|
72
72
|
}
|
|
@@ -436,7 +436,8 @@ function createDetailsNode(
|
|
|
436
436
|
name: string,
|
|
437
437
|
schemaName: string,
|
|
438
438
|
schema: SchemaObject,
|
|
439
|
-
required: string[] | boolean
|
|
439
|
+
required: string[] | boolean,
|
|
440
|
+
nullable: boolean | unknown
|
|
440
441
|
): any {
|
|
441
442
|
return create("SchemaItem", {
|
|
442
443
|
collapsible: true,
|
|
@@ -451,15 +452,19 @@ function createDetailsNode(
|
|
|
451
452
|
style: { opacity: "0.6" },
|
|
452
453
|
children: ` ${schemaName}`,
|
|
453
454
|
}),
|
|
454
|
-
guard(
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
455
|
+
guard(
|
|
456
|
+
(schema.nullable && schema.nullable === true) ||
|
|
457
|
+
(nullable && nullable === true),
|
|
458
|
+
() => [
|
|
459
|
+
create("strong", {
|
|
460
|
+
style: {
|
|
461
|
+
fontSize: "var(--ifm-code-font-size)",
|
|
462
|
+
color: "var(--openapi-nullable)",
|
|
463
|
+
},
|
|
464
|
+
children: " nullable",
|
|
465
|
+
}),
|
|
466
|
+
]
|
|
467
|
+
),
|
|
463
468
|
guard(
|
|
464
469
|
Array.isArray(required)
|
|
465
470
|
? required.includes(name)
|
|
@@ -604,7 +609,13 @@ function createEdges({
|
|
|
604
609
|
}
|
|
605
610
|
|
|
606
611
|
if (schema.oneOf !== undefined || schema.anyOf !== undefined) {
|
|
607
|
-
return createDetailsNode(
|
|
612
|
+
return createDetailsNode(
|
|
613
|
+
name,
|
|
614
|
+
schemaName,
|
|
615
|
+
schema,
|
|
616
|
+
required,
|
|
617
|
+
schema.nullable
|
|
618
|
+
);
|
|
608
619
|
}
|
|
609
620
|
|
|
610
621
|
if (schema.allOf !== undefined) {
|
|
@@ -619,20 +630,44 @@ function createEdges({
|
|
|
619
630
|
mergedSchemas.oneOf !== undefined ||
|
|
620
631
|
mergedSchemas.anyOf !== undefined
|
|
621
632
|
) {
|
|
622
|
-
return createDetailsNode(
|
|
633
|
+
return createDetailsNode(
|
|
634
|
+
name,
|
|
635
|
+
mergedSchemaName,
|
|
636
|
+
mergedSchemas,
|
|
637
|
+
required,
|
|
638
|
+
schema.nullable
|
|
639
|
+
);
|
|
623
640
|
}
|
|
624
641
|
|
|
625
642
|
if (mergedSchemas.properties !== undefined) {
|
|
626
|
-
return createDetailsNode(
|
|
643
|
+
return createDetailsNode(
|
|
644
|
+
name,
|
|
645
|
+
mergedSchemaName,
|
|
646
|
+
mergedSchemas,
|
|
647
|
+
required,
|
|
648
|
+
schema.nullable
|
|
649
|
+
);
|
|
627
650
|
}
|
|
628
651
|
|
|
629
652
|
if (mergedSchemas.additionalProperties !== undefined) {
|
|
630
|
-
return createDetailsNode(
|
|
653
|
+
return createDetailsNode(
|
|
654
|
+
name,
|
|
655
|
+
mergedSchemaName,
|
|
656
|
+
mergedSchemas,
|
|
657
|
+
required,
|
|
658
|
+
schema.nullable
|
|
659
|
+
);
|
|
631
660
|
}
|
|
632
661
|
|
|
633
662
|
// array of objects
|
|
634
663
|
if (mergedSchemas.items?.properties !== undefined) {
|
|
635
|
-
return createDetailsNode(
|
|
664
|
+
return createDetailsNode(
|
|
665
|
+
name,
|
|
666
|
+
mergedSchemaName,
|
|
667
|
+
mergedSchemas,
|
|
668
|
+
required,
|
|
669
|
+
schema.nullable
|
|
670
|
+
);
|
|
636
671
|
}
|
|
637
672
|
|
|
638
673
|
if (mergedSchemas.readOnly && mergedSchemas.readOnly === true) {
|
|
@@ -650,20 +685,44 @@ function createEdges({
|
|
|
650
685
|
}
|
|
651
686
|
|
|
652
687
|
if (schema.properties !== undefined) {
|
|
653
|
-
return createDetailsNode(
|
|
688
|
+
return createDetailsNode(
|
|
689
|
+
name,
|
|
690
|
+
schemaName,
|
|
691
|
+
schema,
|
|
692
|
+
required,
|
|
693
|
+
schema.nullable
|
|
694
|
+
);
|
|
654
695
|
}
|
|
655
696
|
|
|
656
697
|
if (schema.additionalProperties !== undefined) {
|
|
657
|
-
return createDetailsNode(
|
|
698
|
+
return createDetailsNode(
|
|
699
|
+
name,
|
|
700
|
+
schemaName,
|
|
701
|
+
schema,
|
|
702
|
+
required,
|
|
703
|
+
schema.nullable
|
|
704
|
+
);
|
|
658
705
|
}
|
|
659
706
|
|
|
660
707
|
// array of objects
|
|
661
708
|
if (schema.items?.properties !== undefined) {
|
|
662
|
-
return createDetailsNode(
|
|
709
|
+
return createDetailsNode(
|
|
710
|
+
name,
|
|
711
|
+
schemaName,
|
|
712
|
+
schema,
|
|
713
|
+
required,
|
|
714
|
+
schema.nullable
|
|
715
|
+
);
|
|
663
716
|
}
|
|
664
717
|
|
|
665
718
|
if (schema.items?.anyOf !== undefined || schema.items?.oneOf !== undefined) {
|
|
666
|
-
return createDetailsNode(
|
|
719
|
+
return createDetailsNode(
|
|
720
|
+
name,
|
|
721
|
+
schemaName,
|
|
722
|
+
schema,
|
|
723
|
+
required,
|
|
724
|
+
schema.nullable
|
|
725
|
+
);
|
|
667
726
|
}
|
|
668
727
|
|
|
669
728
|
if (schema.readOnly && schema.readOnly === true) {
|
|
@@ -751,7 +810,7 @@ function createNodes(schema: SchemaObject): any {
|
|
|
751
810
|
|
|
752
811
|
// Unknown node/schema type should return undefined
|
|
753
812
|
// So far, haven't seen this hit in testing
|
|
754
|
-
return
|
|
813
|
+
return "any";
|
|
755
814
|
}
|
|
756
815
|
|
|
757
816
|
interface Props {
|
|
@@ -840,7 +899,8 @@ export function createRequestSchema({ title, body, ...rest }: Props) {
|
|
|
840
899
|
}
|
|
841
900
|
|
|
842
901
|
const randomFirstKey = Object.keys(body.content)[0];
|
|
843
|
-
const firstBody =
|
|
902
|
+
const firstBody: any =
|
|
903
|
+
body.content[randomFirstKey].schema ?? body.content![randomFirstKey];
|
|
844
904
|
|
|
845
905
|
if (firstBody === undefined) {
|
|
846
906
|
return undefined;
|
|
@@ -442,7 +442,8 @@ function createDetailsNode(
|
|
|
442
442
|
name: string,
|
|
443
443
|
schemaName: string,
|
|
444
444
|
schema: SchemaObject,
|
|
445
|
-
required: string[] | boolean
|
|
445
|
+
required: string[] | boolean,
|
|
446
|
+
nullable: boolean | unknown
|
|
446
447
|
): any {
|
|
447
448
|
return create("SchemaItem", {
|
|
448
449
|
collapsible: true,
|
|
@@ -457,15 +458,19 @@ function createDetailsNode(
|
|
|
457
458
|
style: { opacity: "0.6" },
|
|
458
459
|
children: ` ${schemaName}`,
|
|
459
460
|
}),
|
|
460
|
-
guard(
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
461
|
+
guard(
|
|
462
|
+
(schema.nullable && schema.nullable === true) ||
|
|
463
|
+
(nullable && nullable === true),
|
|
464
|
+
() => [
|
|
465
|
+
create("strong", {
|
|
466
|
+
style: {
|
|
467
|
+
fontSize: "var(--ifm-code-font-size)",
|
|
468
|
+
color: "var(--openapi-nullable)",
|
|
469
|
+
},
|
|
470
|
+
children: " nullable",
|
|
471
|
+
}),
|
|
472
|
+
]
|
|
473
|
+
),
|
|
469
474
|
guard(
|
|
470
475
|
Array.isArray(required)
|
|
471
476
|
? required.includes(name)
|
|
@@ -610,7 +615,13 @@ function createEdges({
|
|
|
610
615
|
}
|
|
611
616
|
|
|
612
617
|
if (schema.oneOf !== undefined || schema.anyOf !== undefined) {
|
|
613
|
-
return createDetailsNode(
|
|
618
|
+
return createDetailsNode(
|
|
619
|
+
name,
|
|
620
|
+
schemaName,
|
|
621
|
+
schema,
|
|
622
|
+
required,
|
|
623
|
+
schema.nullable
|
|
624
|
+
);
|
|
614
625
|
}
|
|
615
626
|
|
|
616
627
|
if (schema.allOf !== undefined) {
|
|
@@ -625,20 +636,44 @@ function createEdges({
|
|
|
625
636
|
mergedSchemas.oneOf !== undefined ||
|
|
626
637
|
mergedSchemas.anyOf !== undefined
|
|
627
638
|
) {
|
|
628
|
-
return createDetailsNode(
|
|
639
|
+
return createDetailsNode(
|
|
640
|
+
name,
|
|
641
|
+
mergedSchemaName,
|
|
642
|
+
mergedSchemas,
|
|
643
|
+
required,
|
|
644
|
+
schema.nullable
|
|
645
|
+
);
|
|
629
646
|
}
|
|
630
647
|
|
|
631
648
|
if (mergedSchemas.properties !== undefined) {
|
|
632
|
-
return createDetailsNode(
|
|
649
|
+
return createDetailsNode(
|
|
650
|
+
name,
|
|
651
|
+
mergedSchemaName,
|
|
652
|
+
mergedSchemas,
|
|
653
|
+
required,
|
|
654
|
+
schema.nullable
|
|
655
|
+
);
|
|
633
656
|
}
|
|
634
657
|
|
|
635
658
|
if (mergedSchemas.additionalProperties !== undefined) {
|
|
636
|
-
return createDetailsNode(
|
|
659
|
+
return createDetailsNode(
|
|
660
|
+
name,
|
|
661
|
+
mergedSchemaName,
|
|
662
|
+
mergedSchemas,
|
|
663
|
+
required,
|
|
664
|
+
schema.nullable
|
|
665
|
+
);
|
|
637
666
|
}
|
|
638
667
|
|
|
639
668
|
// array of objects
|
|
640
669
|
if (mergedSchemas.items?.properties !== undefined) {
|
|
641
|
-
return createDetailsNode(
|
|
670
|
+
return createDetailsNode(
|
|
671
|
+
name,
|
|
672
|
+
mergedSchemaName,
|
|
673
|
+
mergedSchemas,
|
|
674
|
+
required,
|
|
675
|
+
schema.nullable
|
|
676
|
+
);
|
|
642
677
|
}
|
|
643
678
|
|
|
644
679
|
if (mergedSchemas.writeOnly && mergedSchemas.writeOnly === true) {
|
|
@@ -656,20 +691,44 @@ function createEdges({
|
|
|
656
691
|
}
|
|
657
692
|
|
|
658
693
|
if (schema.properties !== undefined) {
|
|
659
|
-
return createDetailsNode(
|
|
694
|
+
return createDetailsNode(
|
|
695
|
+
name,
|
|
696
|
+
schemaName,
|
|
697
|
+
schema,
|
|
698
|
+
required,
|
|
699
|
+
schema.nullable
|
|
700
|
+
);
|
|
660
701
|
}
|
|
661
702
|
|
|
662
703
|
if (schema.additionalProperties !== undefined) {
|
|
663
|
-
return createDetailsNode(
|
|
704
|
+
return createDetailsNode(
|
|
705
|
+
name,
|
|
706
|
+
schemaName,
|
|
707
|
+
schema,
|
|
708
|
+
required,
|
|
709
|
+
schema.nullable
|
|
710
|
+
);
|
|
664
711
|
}
|
|
665
712
|
|
|
666
713
|
// array of objects
|
|
667
714
|
if (schema.items?.properties !== undefined) {
|
|
668
|
-
return createDetailsNode(
|
|
715
|
+
return createDetailsNode(
|
|
716
|
+
name,
|
|
717
|
+
schemaName,
|
|
718
|
+
schema,
|
|
719
|
+
required,
|
|
720
|
+
schema.nullable
|
|
721
|
+
);
|
|
669
722
|
}
|
|
670
723
|
|
|
671
724
|
if (schema.items?.anyOf !== undefined || schema.items?.oneOf !== undefined) {
|
|
672
|
-
return createDetailsNode(
|
|
725
|
+
return createDetailsNode(
|
|
726
|
+
name,
|
|
727
|
+
schemaName,
|
|
728
|
+
schema,
|
|
729
|
+
required,
|
|
730
|
+
schema.nullable
|
|
731
|
+
);
|
|
673
732
|
}
|
|
674
733
|
|
|
675
734
|
if (schema.writeOnly && schema.writeOnly === true) {
|
|
@@ -702,7 +761,6 @@ function createNodes(schema: SchemaObject): any {
|
|
|
702
761
|
|
|
703
762
|
if (schema.allOf !== undefined) {
|
|
704
763
|
const { mergedSchemas } = mergeAllOf(schema.allOf);
|
|
705
|
-
|
|
706
764
|
if (mergedSchemas.properties !== undefined) {
|
|
707
765
|
nodes.push(createProperties(mergedSchemas));
|
|
708
766
|
}
|
|
@@ -760,7 +818,7 @@ function createNodes(schema: SchemaObject): any {
|
|
|
760
818
|
|
|
761
819
|
// Unknown node/schema type should return undefined
|
|
762
820
|
// So far, haven't seen this hit in testing
|
|
763
|
-
return
|
|
821
|
+
return "any";
|
|
764
822
|
}
|
|
765
823
|
|
|
766
824
|
interface Props {
|
|
@@ -794,7 +852,8 @@ export function createResponseSchema({ title, body, ...rest }: Props) {
|
|
|
794
852
|
children: mimeTypes.map((mimeType: any) => {
|
|
795
853
|
const responseExamples = body.content![mimeType].examples;
|
|
796
854
|
const responseExample = body.content![mimeType].example;
|
|
797
|
-
const firstBody =
|
|
855
|
+
const firstBody: any =
|
|
856
|
+
body.content![mimeType].schema ?? body.content![mimeType];
|
|
798
857
|
|
|
799
858
|
if (
|
|
800
859
|
firstBody === undefined &&
|