docusaurus-plugin-openapi-docs 3.0.2 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -368,6 +368,738 @@ Array [
368
368
  ]
369
369
  `;
370
370
 
371
+ exports[`createNodes discriminator should handle basic discriminator with mapping 1`] = `
372
+ Array [
373
+ "<div>
374
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
375
+ oneOf
376
+ </span>
377
+ <SchemaTabs>
378
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
379
+ <SchemaItem
380
+ collapsible={false}
381
+ name={\\"type\\"}
382
+ required={true}
383
+ schemaName={\\"string\\"}
384
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
385
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
386
+ ></SchemaItem>
387
+ <SchemaItem
388
+ collapsible={false}
389
+ name={\\"propA\\"}
390
+ required={false}
391
+ schemaName={\\"string\\"}
392
+ qualifierMessage={undefined}
393
+ schema={{ type: \\"string\\" }}
394
+ ></SchemaItem>
395
+ </TabItem>
396
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
397
+ <SchemaItem
398
+ collapsible={false}
399
+ name={\\"type\\"}
400
+ required={true}
401
+ schemaName={\\"string\\"}
402
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
403
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
404
+ ></SchemaItem>
405
+ <SchemaItem
406
+ collapsible={false}
407
+ name={\\"propB\\"}
408
+ required={false}
409
+ schemaName={\\"number\\"}
410
+ qualifierMessage={undefined}
411
+ schema={{ type: \\"number\\" }}
412
+ ></SchemaItem>
413
+ </TabItem>
414
+ </SchemaTabs>
415
+ </div>;
416
+ ",
417
+ "<div className={\\"openapi-discriminator__item openapi-schema__list-item\\"}>
418
+ <div>
419
+ <span className={\\"openapi-schema__container\\"}>
420
+ <strong
421
+ className={\\"openapi-discriminator__name openapi-schema__property\\"}
422
+ >
423
+ type
424
+ </strong>
425
+ <span className={\\"openapi-schema__name\\"}>string</span>
426
+ </span>
427
+ <div style={{ paddingLeft: \\"1rem\\" }}>
428
+ **Possible values:** [\`typeA\`, \`typeB\`]
429
+ </div>
430
+ <DiscriminatorTabs className={\\"openapi-tabs__discriminator\\"}>
431
+ <TabItem label={\\"typeA\\"} value={\\"0-item-discriminator\\"}>
432
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
433
+ #/definitions/TypeA
434
+ </div>
435
+ </TabItem>
436
+ <TabItem label={\\"typeB\\"} value={\\"1-item-discriminator\\"}>
437
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
438
+ #/definitions/TypeB
439
+ </div>
440
+ </TabItem>
441
+ </DiscriminatorTabs>
442
+ </div>
443
+ </div>;
444
+ ",
445
+ ]
446
+ `;
447
+
448
+ exports[`createNodes discriminator should handle basic discriminator with oneOf 1`] = `
449
+ Array [
450
+ "<div>
451
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
452
+ oneOf
453
+ </span>
454
+ <SchemaTabs>
455
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
456
+ <SchemaItem
457
+ collapsible={false}
458
+ name={\\"type\\"}
459
+ required={true}
460
+ schemaName={\\"string\\"}
461
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
462
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
463
+ ></SchemaItem>
464
+ <SchemaItem
465
+ collapsible={false}
466
+ name={\\"propA\\"}
467
+ required={false}
468
+ schemaName={\\"string\\"}
469
+ qualifierMessage={undefined}
470
+ schema={{ type: \\"string\\" }}
471
+ ></SchemaItem>
472
+ </TabItem>
473
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
474
+ <SchemaItem
475
+ collapsible={false}
476
+ name={\\"type\\"}
477
+ required={true}
478
+ schemaName={\\"string\\"}
479
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
480
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
481
+ ></SchemaItem>
482
+ <SchemaItem
483
+ collapsible={false}
484
+ name={\\"propB\\"}
485
+ required={false}
486
+ schemaName={\\"number\\"}
487
+ qualifierMessage={undefined}
488
+ schema={{ type: \\"number\\" }}
489
+ ></SchemaItem>
490
+ </TabItem>
491
+ </SchemaTabs>
492
+ </div>;
493
+ ",
494
+ "<SchemaItem
495
+ collapsible={false}
496
+ name={\\"type\\"}
497
+ required={false}
498
+ schemaName={\\"string\\"}
499
+ qualifierMessage={undefined}
500
+ schema={{ type: \\"string\\" }}
501
+ ></SchemaItem>;
502
+ ",
503
+ ]
504
+ `;
505
+
506
+ exports[`createNodes discriminator should handle discriminator with additional properties 1`] = `
507
+ Array [
508
+ "<div>
509
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
510
+ oneOf
511
+ </span>
512
+ <SchemaTabs>
513
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
514
+ <SchemaItem
515
+ collapsible={false}
516
+ name={\\"type\\"}
517
+ required={true}
518
+ schemaName={\\"string\\"}
519
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
520
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
521
+ ></SchemaItem>
522
+ <SchemaItem
523
+ collapsible={false}
524
+ name={\\"propA\\"}
525
+ required={false}
526
+ schemaName={\\"string\\"}
527
+ qualifierMessage={undefined}
528
+ schema={{ type: \\"string\\" }}
529
+ ></SchemaItem>
530
+ </TabItem>
531
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
532
+ <SchemaItem
533
+ collapsible={false}
534
+ name={\\"type\\"}
535
+ required={true}
536
+ schemaName={\\"string\\"}
537
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
538
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
539
+ ></SchemaItem>
540
+ <SchemaItem
541
+ collapsible={false}
542
+ name={\\"propB\\"}
543
+ required={false}
544
+ schemaName={\\"number\\"}
545
+ qualifierMessage={undefined}
546
+ schema={{ type: \\"number\\" }}
547
+ ></SchemaItem>
548
+ </TabItem>
549
+ </SchemaTabs>
550
+ </div>;
551
+ ",
552
+ "<SchemaItem
553
+ collapsible={false}
554
+ name={\\"type\\"}
555
+ required={false}
556
+ schemaName={\\"string\\"}
557
+ qualifierMessage={undefined}
558
+ schema={{ type: \\"string\\" }}
559
+ ></SchemaItem>;
560
+ ",
561
+ ]
562
+ `;
563
+
564
+ exports[`createNodes discriminator should handle discriminator with allOf 1`] = `
565
+ Array [
566
+ "<SchemaItem
567
+ collapsible={false}
568
+ name={\\"type\\"}
569
+ required={false}
570
+ schemaName={\\"string\\"}
571
+ qualifierMessage={undefined}
572
+ schema={{ type: \\"string\\" }}
573
+ ></SchemaItem>;
574
+ ",
575
+ "<div>
576
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
577
+ oneOf
578
+ </span>
579
+ <SchemaTabs>
580
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
581
+ <SchemaItem
582
+ collapsible={false}
583
+ name={\\"type\\"}
584
+ required={true}
585
+ schemaName={\\"string\\"}
586
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
587
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
588
+ ></SchemaItem>
589
+ <SchemaItem
590
+ collapsible={false}
591
+ name={\\"propA\\"}
592
+ required={false}
593
+ schemaName={\\"string\\"}
594
+ qualifierMessage={undefined}
595
+ schema={{ type: \\"string\\" }}
596
+ ></SchemaItem>
597
+ </TabItem>
598
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
599
+ <SchemaItem
600
+ collapsible={false}
601
+ name={\\"type\\"}
602
+ required={true}
603
+ schemaName={\\"string\\"}
604
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
605
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
606
+ ></SchemaItem>
607
+ <SchemaItem
608
+ collapsible={false}
609
+ name={\\"propB\\"}
610
+ required={false}
611
+ schemaName={\\"number\\"}
612
+ qualifierMessage={undefined}
613
+ schema={{ type: \\"number\\" }}
614
+ ></SchemaItem>
615
+ </TabItem>
616
+ </SchemaTabs>
617
+ </div>;
618
+ ",
619
+ "<SchemaItem
620
+ collapsible={false}
621
+ name={\\"sharedProp\\"}
622
+ required={false}
623
+ schemaName={\\"string\\"}
624
+ qualifierMessage={undefined}
625
+ schema={{ type: \\"string\\" }}
626
+ ></SchemaItem>;
627
+ ",
628
+ ]
629
+ `;
630
+
631
+ exports[`createNodes discriminator should handle discriminator with allOf and mapping 1`] = `
632
+ Array [
633
+ "<div className={\\"openapi-discriminator__item openapi-schema__list-item\\"}>
634
+ <div>
635
+ <span className={\\"openapi-schema__container\\"}>
636
+ <strong
637
+ className={\\"openapi-discriminator__name openapi-schema__property\\"}
638
+ >
639
+ type
640
+ </strong>
641
+ <span className={\\"openapi-schema__name\\"}>string</span>
642
+ </span>
643
+ <div style={{ paddingLeft: \\"1rem\\" }}>
644
+ **Possible values:** [\`typeA\`, \`typeB\`]
645
+ </div>
646
+ <DiscriminatorTabs className={\\"openapi-tabs__discriminator\\"}>
647
+ <TabItem label={\\"typeA\\"} value={\\"0-item-discriminator\\"}>
648
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
649
+ #/definitions/TypeA
650
+ </div>
651
+ </TabItem>
652
+ <TabItem label={\\"typeB\\"} value={\\"1-item-discriminator\\"}>
653
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
654
+ #/definitions/TypeB
655
+ </div>
656
+ </TabItem>
657
+ </DiscriminatorTabs>
658
+ </div>
659
+ </div>;
660
+ ",
661
+ "<div>
662
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
663
+ oneOf
664
+ </span>
665
+ <SchemaTabs>
666
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
667
+ <SchemaItem
668
+ collapsible={false}
669
+ name={\\"type\\"}
670
+ required={true}
671
+ schemaName={\\"string\\"}
672
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
673
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
674
+ ></SchemaItem>
675
+ <SchemaItem
676
+ collapsible={false}
677
+ name={\\"propA\\"}
678
+ required={false}
679
+ schemaName={\\"string\\"}
680
+ qualifierMessage={undefined}
681
+ schema={{ type: \\"string\\" }}
682
+ ></SchemaItem>
683
+ </TabItem>
684
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
685
+ <SchemaItem
686
+ collapsible={false}
687
+ name={\\"type\\"}
688
+ required={true}
689
+ schemaName={\\"string\\"}
690
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
691
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
692
+ ></SchemaItem>
693
+ <SchemaItem
694
+ collapsible={false}
695
+ name={\\"propB\\"}
696
+ required={false}
697
+ schemaName={\\"number\\"}
698
+ qualifierMessage={undefined}
699
+ schema={{ type: \\"number\\" }}
700
+ ></SchemaItem>
701
+ </TabItem>
702
+ </SchemaTabs>
703
+ </div>;
704
+ ",
705
+ "<SchemaItem
706
+ collapsible={false}
707
+ name={\\"sharedProp\\"}
708
+ required={false}
709
+ schemaName={\\"string\\"}
710
+ qualifierMessage={undefined}
711
+ schema={{ type: \\"string\\" }}
712
+ ></SchemaItem>;
713
+ ",
714
+ ]
715
+ `;
716
+
717
+ exports[`createNodes discriminator should handle discriminator with nested schemas 1`] = `
718
+ Array [
719
+ "<div>
720
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
721
+ oneOf
722
+ </span>
723
+ <SchemaTabs>
724
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
725
+ <SchemaItem
726
+ collapsible={false}
727
+ name={\\"type\\"}
728
+ required={true}
729
+ schemaName={\\"string\\"}
730
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
731
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
732
+ ></SchemaItem>
733
+ <SchemaItem collapsible={true} className={\\"schemaItem\\"}>
734
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
735
+ <summary style={{}}>
736
+ <span className={\\"openapi-schema__container\\"}>
737
+ <strong className={\\"openapi-schema__property\\"}>nestedA</strong>
738
+ <span className={\\"openapi-schema__name\\"}>object</span>
739
+ </span>
740
+ </summary>
741
+ <div style={{ marginLeft: \\"1rem\\" }}>
742
+ <SchemaItem
743
+ collapsible={false}
744
+ name={\\"propA1\\"}
745
+ required={false}
746
+ schemaName={\\"string\\"}
747
+ qualifierMessage={undefined}
748
+ schema={{ type: \\"string\\" }}
749
+ ></SchemaItem>
750
+ <SchemaItem
751
+ collapsible={false}
752
+ name={\\"propA2\\"}
753
+ required={false}
754
+ schemaName={\\"number\\"}
755
+ qualifierMessage={undefined}
756
+ schema={{ type: \\"number\\" }}
757
+ ></SchemaItem>
758
+ </div>
759
+ </details>
760
+ </SchemaItem>
761
+ </TabItem>
762
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
763
+ <SchemaItem
764
+ collapsible={false}
765
+ name={\\"type\\"}
766
+ required={true}
767
+ schemaName={\\"string\\"}
768
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
769
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
770
+ ></SchemaItem>
771
+ <SchemaItem collapsible={true} className={\\"schemaItem\\"}>
772
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
773
+ <summary style={{}}>
774
+ <span className={\\"openapi-schema__container\\"}>
775
+ <strong className={\\"openapi-schema__property\\"}>nestedB</strong>
776
+ <span className={\\"openapi-schema__name\\"}>object</span>
777
+ </span>
778
+ </summary>
779
+ <div style={{ marginLeft: \\"1rem\\" }}>
780
+ <SchemaItem
781
+ collapsible={false}
782
+ name={\\"propB1\\"}
783
+ required={false}
784
+ schemaName={\\"string\\"}
785
+ qualifierMessage={undefined}
786
+ schema={{ type: \\"string\\" }}
787
+ ></SchemaItem>
788
+ <SchemaItem
789
+ collapsible={false}
790
+ name={\\"propB2\\"}
791
+ required={false}
792
+ schemaName={\\"boolean\\"}
793
+ qualifierMessage={undefined}
794
+ schema={{ type: \\"boolean\\" }}
795
+ ></SchemaItem>
796
+ </div>
797
+ </details>
798
+ </SchemaItem>
799
+ </TabItem>
800
+ </SchemaTabs>
801
+ </div>;
802
+ ",
803
+ "<SchemaItem
804
+ collapsible={false}
805
+ name={\\"type\\"}
806
+ required={false}
807
+ schemaName={\\"string\\"}
808
+ qualifierMessage={undefined}
809
+ schema={{ type: \\"string\\" }}
810
+ ></SchemaItem>;
811
+ ",
812
+ ]
813
+ `;
814
+
815
+ exports[`createNodes discriminator should handle discriminator with required properties 1`] = `
816
+ Array [
817
+ "<div>
818
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
819
+ oneOf
820
+ </span>
821
+ <SchemaTabs>
822
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
823
+ <SchemaItem
824
+ collapsible={false}
825
+ name={\\"type\\"}
826
+ required={true}
827
+ schemaName={\\"string\\"}
828
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
829
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
830
+ ></SchemaItem>
831
+ <SchemaItem
832
+ collapsible={false}
833
+ name={\\"propA\\"}
834
+ required={true}
835
+ schemaName={\\"string\\"}
836
+ qualifierMessage={undefined}
837
+ schema={{ type: \\"string\\" }}
838
+ ></SchemaItem>
839
+ </TabItem>
840
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
841
+ <SchemaItem
842
+ collapsible={false}
843
+ name={\\"type\\"}
844
+ required={true}
845
+ schemaName={\\"string\\"}
846
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
847
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
848
+ ></SchemaItem>
849
+ <SchemaItem
850
+ collapsible={false}
851
+ name={\\"propB\\"}
852
+ required={true}
853
+ schemaName={\\"number\\"}
854
+ qualifierMessage={undefined}
855
+ schema={{ type: \\"number\\" }}
856
+ ></SchemaItem>
857
+ </TabItem>
858
+ </SchemaTabs>
859
+ </div>;
860
+ ",
861
+ "<SchemaItem
862
+ collapsible={false}
863
+ name={\\"type\\"}
864
+ required={false}
865
+ schemaName={\\"string\\"}
866
+ qualifierMessage={undefined}
867
+ schema={{ type: \\"string\\" }}
868
+ ></SchemaItem>;
869
+ ",
870
+ ]
871
+ `;
872
+
873
+ exports[`createNodes discriminator should handle discriminator with required properties and mapping 1`] = `
874
+ Array [
875
+ "<div>
876
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
877
+ oneOf
878
+ </span>
879
+ <SchemaTabs>
880
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
881
+ <SchemaItem
882
+ collapsible={false}
883
+ name={\\"type\\"}
884
+ required={true}
885
+ schemaName={\\"string\\"}
886
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
887
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
888
+ ></SchemaItem>
889
+ <SchemaItem
890
+ collapsible={false}
891
+ name={\\"propA\\"}
892
+ required={true}
893
+ schemaName={\\"string\\"}
894
+ qualifierMessage={undefined}
895
+ schema={{ type: \\"string\\" }}
896
+ ></SchemaItem>
897
+ </TabItem>
898
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
899
+ <SchemaItem
900
+ collapsible={false}
901
+ name={\\"type\\"}
902
+ required={true}
903
+ schemaName={\\"string\\"}
904
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
905
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
906
+ ></SchemaItem>
907
+ <SchemaItem
908
+ collapsible={false}
909
+ name={\\"propB\\"}
910
+ required={true}
911
+ schemaName={\\"number\\"}
912
+ qualifierMessage={undefined}
913
+ schema={{ type: \\"number\\" }}
914
+ ></SchemaItem>
915
+ </TabItem>
916
+ </SchemaTabs>
917
+ </div>;
918
+ ",
919
+ "<div className={\\"openapi-discriminator__item openapi-schema__list-item\\"}>
920
+ <div>
921
+ <span className={\\"openapi-schema__container\\"}>
922
+ <strong
923
+ className={\\"openapi-discriminator__name openapi-schema__property\\"}
924
+ >
925
+ type
926
+ </strong>
927
+ <span className={\\"openapi-schema__name\\"}>string</span>
928
+ </span>
929
+ <div style={{ paddingLeft: \\"1rem\\" }}>
930
+ **Possible values:** [\`typeA\`, \`typeB\`]
931
+ </div>
932
+ <DiscriminatorTabs className={\\"openapi-tabs__discriminator\\"}>
933
+ <TabItem label={\\"typeA\\"} value={\\"0-item-discriminator\\"}>
934
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
935
+ #/definitions/TypeA
936
+ </div>
937
+ </TabItem>
938
+ <TabItem label={\\"typeB\\"} value={\\"1-item-discriminator\\"}>
939
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
940
+ #/definitions/TypeB
941
+ </div>
942
+ </TabItem>
943
+ </DiscriminatorTabs>
944
+ </div>
945
+ </div>;
946
+ ",
947
+ ]
948
+ `;
949
+
950
+ exports[`createNodes discriminator should handle discriminator with shared properties 1`] = `
951
+ Array [
952
+ "<div>
953
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
954
+ oneOf
955
+ </span>
956
+ <SchemaTabs>
957
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
958
+ <SchemaItem
959
+ collapsible={false}
960
+ name={\\"type\\"}
961
+ required={true}
962
+ schemaName={\\"string\\"}
963
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
964
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
965
+ ></SchemaItem>
966
+ <SchemaItem
967
+ collapsible={false}
968
+ name={\\"propA\\"}
969
+ required={false}
970
+ schemaName={\\"string\\"}
971
+ qualifierMessage={undefined}
972
+ schema={{ type: \\"string\\" }}
973
+ ></SchemaItem>
974
+ </TabItem>
975
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
976
+ <SchemaItem
977
+ collapsible={false}
978
+ name={\\"type\\"}
979
+ required={true}
980
+ schemaName={\\"string\\"}
981
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
982
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
983
+ ></SchemaItem>
984
+ <SchemaItem
985
+ collapsible={false}
986
+ name={\\"propB\\"}
987
+ required={false}
988
+ schemaName={\\"number\\"}
989
+ qualifierMessage={undefined}
990
+ schema={{ type: \\"number\\" }}
991
+ ></SchemaItem>
992
+ </TabItem>
993
+ </SchemaTabs>
994
+ </div>;
995
+ ",
996
+ "<SchemaItem
997
+ collapsible={false}
998
+ name={\\"type\\"}
999
+ required={false}
1000
+ schemaName={\\"string\\"}
1001
+ qualifierMessage={undefined}
1002
+ schema={{ type: \\"string\\" }}
1003
+ ></SchemaItem>;
1004
+ ",
1005
+ "<SchemaItem
1006
+ collapsible={false}
1007
+ name={\\"sharedProp\\"}
1008
+ required={false}
1009
+ schemaName={\\"string\\"}
1010
+ qualifierMessage={undefined}
1011
+ schema={{ type: \\"string\\" }}
1012
+ ></SchemaItem>;
1013
+ ",
1014
+ ]
1015
+ `;
1016
+
1017
+ exports[`createNodes discriminator should handle discriminator with shared properties and mapping 1`] = `
1018
+ Array [
1019
+ "<div>
1020
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1021
+ oneOf
1022
+ </span>
1023
+ <SchemaTabs>
1024
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1025
+ <SchemaItem
1026
+ collapsible={false}
1027
+ name={\\"type\\"}
1028
+ required={true}
1029
+ schemaName={\\"string\\"}
1030
+ qualifierMessage={\\"**Possible values:** [\`typeA\`]\\"}
1031
+ schema={{ type: \\"string\\", enum: [\\"typeA\\"] }}
1032
+ ></SchemaItem>
1033
+ <SchemaItem
1034
+ collapsible={false}
1035
+ name={\\"propA\\"}
1036
+ required={false}
1037
+ schemaName={\\"string\\"}
1038
+ qualifierMessage={undefined}
1039
+ schema={{ type: \\"string\\" }}
1040
+ ></SchemaItem>
1041
+ </TabItem>
1042
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1043
+ <SchemaItem
1044
+ collapsible={false}
1045
+ name={\\"type\\"}
1046
+ required={true}
1047
+ schemaName={\\"string\\"}
1048
+ qualifierMessage={\\"**Possible values:** [\`typeB\`]\\"}
1049
+ schema={{ type: \\"string\\", enum: [\\"typeB\\"] }}
1050
+ ></SchemaItem>
1051
+ <SchemaItem
1052
+ collapsible={false}
1053
+ name={\\"propB\\"}
1054
+ required={false}
1055
+ schemaName={\\"number\\"}
1056
+ qualifierMessage={undefined}
1057
+ schema={{ type: \\"number\\" }}
1058
+ ></SchemaItem>
1059
+ </TabItem>
1060
+ </SchemaTabs>
1061
+ </div>;
1062
+ ",
1063
+ "<div className={\\"openapi-discriminator__item openapi-schema__list-item\\"}>
1064
+ <div>
1065
+ <span className={\\"openapi-schema__container\\"}>
1066
+ <strong
1067
+ className={\\"openapi-discriminator__name openapi-schema__property\\"}
1068
+ >
1069
+ type
1070
+ </strong>
1071
+ <span className={\\"openapi-schema__name\\"}>string</span>
1072
+ </span>
1073
+ <div style={{ paddingLeft: \\"1rem\\" }}>
1074
+ **Possible values:** [\`typeA\`, \`typeB\`]
1075
+ </div>
1076
+ <DiscriminatorTabs className={\\"openapi-tabs__discriminator\\"}>
1077
+ <TabItem label={\\"typeA\\"} value={\\"0-item-discriminator\\"}>
1078
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1079
+ #/definitions/TypeA
1080
+ </div>
1081
+ </TabItem>
1082
+ <TabItem label={\\"typeB\\"} value={\\"1-item-discriminator\\"}>
1083
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1084
+ #/definitions/TypeB
1085
+ </div>
1086
+ </TabItem>
1087
+ </DiscriminatorTabs>
1088
+ </div>
1089
+ </div>;
1090
+ ",
1091
+ "<SchemaItem
1092
+ collapsible={false}
1093
+ name={\\"sharedProp\\"}
1094
+ required={false}
1095
+ schemaName={\\"string\\"}
1096
+ qualifierMessage={undefined}
1097
+ schema={{ type: \\"string\\" }}
1098
+ ></SchemaItem>;
1099
+ ",
1100
+ ]
1101
+ `;
1102
+
371
1103
  exports[`createNodes oneOf should create readable MODs for oneOf primitive properties 1`] = `
372
1104
  Array [
373
1105
  "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
@@ -457,3 +1189,275 @@ Array [
457
1189
  ",
458
1190
  ]
459
1191
  `;
1192
+
1193
+ exports[`createNodes oneOf should handle nested oneOf clauses 1`] = `
1194
+ Array [
1195
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1196
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1197
+ <summary style={{}}>
1198
+ <span className={\\"openapi-schema__container\\"}>
1199
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
1200
+ <span className={\\"openapi-schema__name\\"}>object</span>
1201
+ </span>
1202
+ </summary>
1203
+ <div style={{ marginLeft: \\"1rem\\" }}>
1204
+ <div>
1205
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1206
+ oneOf
1207
+ </span>
1208
+ <SchemaTabs>
1209
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1210
+ <SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1211
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1212
+ <summary style={{}}>
1213
+ <span className={\\"openapi-schema__container\\"}>
1214
+ <strong className={\\"openapi-schema__property\\"}>
1215
+ nestedOneOfProp
1216
+ </strong>
1217
+ <span className={\\"openapi-schema__name\\"}>object</span>
1218
+ </span>
1219
+ </summary>
1220
+ <div style={{ marginLeft: \\"1rem\\" }}>
1221
+ <div>
1222
+ <span
1223
+ className={\\"badge badge--info\\"}
1224
+ style={{ marginBottom: \\"1rem\\" }}
1225
+ >
1226
+ oneOf
1227
+ </span>
1228
+ <SchemaTabs>
1229
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1230
+ <div
1231
+ style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}
1232
+ >
1233
+ string
1234
+ </div>
1235
+ </TabItem>
1236
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1237
+ <div
1238
+ style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}
1239
+ >
1240
+ number
1241
+ </div>
1242
+ </TabItem>
1243
+ </SchemaTabs>
1244
+ </div>
1245
+ </div>
1246
+ </details>
1247
+ </SchemaItem>
1248
+ </TabItem>
1249
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1250
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1251
+ boolean
1252
+ </div>
1253
+ </TabItem>
1254
+ </SchemaTabs>
1255
+ </div>
1256
+ </div>
1257
+ </details>
1258
+ </SchemaItem>;
1259
+ ",
1260
+ ]
1261
+ `;
1262
+
1263
+ exports[`createNodes oneOf should handle oneOf with complex types 1`] = `
1264
+ Array [
1265
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1266
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1267
+ <summary style={{}}>
1268
+ <span className={\\"openapi-schema__container\\"}>
1269
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
1270
+ <span className={\\"openapi-schema__name\\"}>object</span>
1271
+ </span>
1272
+ </summary>
1273
+ <div style={{ marginLeft: \\"1rem\\" }}>
1274
+ <div>
1275
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1276
+ oneOf
1277
+ </span>
1278
+ <SchemaTabs>
1279
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1280
+ <SchemaItem
1281
+ collapsible={false}
1282
+ name={\\"objectProp\\"}
1283
+ required={false}
1284
+ schemaName={\\"string\\"}
1285
+ qualifierMessage={undefined}
1286
+ schema={{ type: \\"string\\" }}
1287
+ ></SchemaItem>
1288
+ </TabItem>
1289
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1290
+ <li>
1291
+ <div
1292
+ style={{
1293
+ fontSize: \\"var(--ifm-code-font-size)\\",
1294
+ opacity: \\"0.6\\",
1295
+ marginLeft: \\"-.5rem\\",
1296
+ paddingBottom: \\".5rem\\",
1297
+ }}
1298
+ >
1299
+ Array [
1300
+ </div>
1301
+ </li>
1302
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1303
+ number
1304
+ </div>
1305
+ <li>
1306
+ <div
1307
+ style={{
1308
+ fontSize: \\"var(--ifm-code-font-size)\\",
1309
+ opacity: \\"0.6\\",
1310
+ marginLeft: \\"-.5rem\\",
1311
+ }}
1312
+ >
1313
+ ]
1314
+ </div>
1315
+ </li>
1316
+ </TabItem>
1317
+ </SchemaTabs>
1318
+ </div>
1319
+ </div>
1320
+ </details>
1321
+ </SchemaItem>;
1322
+ ",
1323
+ ]
1324
+ `;
1325
+
1326
+ exports[`createNodes oneOf should handle oneOf with different primitive types 1`] = `
1327
+ Array [
1328
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1329
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1330
+ <summary style={{}}>
1331
+ <span className={\\"openapi-schema__container\\"}>
1332
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
1333
+ <span className={\\"openapi-schema__name\\"}>object</span>
1334
+ </span>
1335
+ </summary>
1336
+ <div style={{ marginLeft: \\"1rem\\" }}>
1337
+ <div>
1338
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1339
+ oneOf
1340
+ </span>
1341
+ <SchemaTabs>
1342
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1343
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1344
+ string
1345
+ </div>
1346
+ </TabItem>
1347
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1348
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1349
+ number
1350
+ </div>
1351
+ </TabItem>
1352
+ <TabItem label={\\"MOD3\\"} value={\\"2-item-properties\\"}>
1353
+ <div style={{ marginTop: \\".5rem\\", marginBottom: \\".5rem\\" }}>
1354
+ boolean
1355
+ </div>
1356
+ </TabItem>
1357
+ </SchemaTabs>
1358
+ </div>
1359
+ </div>
1360
+ </details>
1361
+ </SchemaItem>;
1362
+ ",
1363
+ ]
1364
+ `;
1365
+
1366
+ exports[`createNodes oneOf should handle oneOf with required properties 1`] = `
1367
+ Array [
1368
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1369
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1370
+ <summary style={{}}>
1371
+ <span className={\\"openapi-schema__container\\"}>
1372
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
1373
+ <span className={\\"openapi-schema__name\\"}>object</span>
1374
+ </span>
1375
+ </summary>
1376
+ <div style={{ marginLeft: \\"1rem\\" }}>
1377
+ <div>
1378
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1379
+ oneOf
1380
+ </span>
1381
+ <SchemaTabs>
1382
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1383
+ <SchemaItem
1384
+ collapsible={false}
1385
+ name={\\"requiredPropA\\"}
1386
+ required={true}
1387
+ schemaName={\\"string\\"}
1388
+ qualifierMessage={undefined}
1389
+ schema={{ type: \\"string\\" }}
1390
+ ></SchemaItem>
1391
+ </TabItem>
1392
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1393
+ <SchemaItem
1394
+ collapsible={false}
1395
+ name={\\"requiredPropB\\"}
1396
+ required={true}
1397
+ schemaName={\\"number\\"}
1398
+ qualifierMessage={undefined}
1399
+ schema={{ type: \\"number\\" }}
1400
+ ></SchemaItem>
1401
+ </TabItem>
1402
+ </SchemaTabs>
1403
+ </div>
1404
+ </div>
1405
+ </details>
1406
+ </SchemaItem>;
1407
+ ",
1408
+ ]
1409
+ `;
1410
+
1411
+ exports[`createNodes oneOf should handle oneOf with shared properties 1`] = `
1412
+ Array [
1413
+ "<SchemaItem
1414
+ collapsible={false}
1415
+ name={\\"sharedProp\\"}
1416
+ required={false}
1417
+ schemaName={\\"string\\"}
1418
+ qualifierMessage={undefined}
1419
+ schema={{ type: \\"string\\" }}
1420
+ ></SchemaItem>;
1421
+ ",
1422
+ "<SchemaItem collapsible={true} className={\\"schemaItem\\"}>
1423
+ <details style={{}} className={\\"openapi-markdown__details\\"}>
1424
+ <summary style={{}}>
1425
+ <span className={\\"openapi-schema__container\\"}>
1426
+ <strong className={\\"openapi-schema__property\\"}>oneOfProperty</strong>
1427
+ <span className={\\"openapi-schema__name\\"}>object</span>
1428
+ </span>
1429
+ </summary>
1430
+ <div style={{ marginLeft: \\"1rem\\" }}>
1431
+ <div>
1432
+ <span className={\\"badge badge--info\\"} style={{ marginBottom: \\"1rem\\" }}>
1433
+ oneOf
1434
+ </span>
1435
+ <SchemaTabs>
1436
+ <TabItem label={\\"MOD1\\"} value={\\"0-item-properties\\"}>
1437
+ <SchemaItem
1438
+ collapsible={false}
1439
+ name={\\"specificPropA\\"}
1440
+ required={false}
1441
+ schemaName={\\"string\\"}
1442
+ qualifierMessage={undefined}
1443
+ schema={{ type: \\"string\\" }}
1444
+ ></SchemaItem>
1445
+ </TabItem>
1446
+ <TabItem label={\\"MOD2\\"} value={\\"1-item-properties\\"}>
1447
+ <SchemaItem
1448
+ collapsible={false}
1449
+ name={\\"specificPropB\\"}
1450
+ required={false}
1451
+ schemaName={\\"number\\"}
1452
+ qualifierMessage={undefined}
1453
+ schema={{ type: \\"number\\" }}
1454
+ ></SchemaItem>
1455
+ </TabItem>
1456
+ </SchemaTabs>
1457
+ </div>
1458
+ </div>
1459
+ </details>
1460
+ </SchemaItem>;
1461
+ ",
1462
+ ]
1463
+ `;