docusaurus-plugin-openapi-docs 0.0.0-beta.663 → 0.0.0-beta.664
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/markdown/createSchema.js +95 -43
- package/package.json +2 -2
- package/src/markdown/createSchema.ts +103 -48
|
@@ -5,8 +5,12 @@
|
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
* ========================================================================== */
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
8
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
12
|
exports.createNodes = exports.mergeAllOf = void 0;
|
|
13
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
10
14
|
const createArrayBracket_1 = require("./createArrayBracket");
|
|
11
15
|
const createDescription_1 = require("./createDescription");
|
|
12
16
|
const createDetails_1 = require("./createDetails");
|
|
@@ -279,35 +283,54 @@ function createDetailsNode(name, schemaName, schema, required, nullable) {
|
|
|
279
283
|
className: "schemaItem",
|
|
280
284
|
children: [
|
|
281
285
|
(0, createDetails_1.createDetails)({
|
|
286
|
+
className: "openapi-markdown__details",
|
|
282
287
|
children: [
|
|
283
288
|
(0, createDetailsSummary_1.createDetailsSummary)({
|
|
284
289
|
children: [
|
|
285
|
-
(0, utils_1.create)("strong", { children: name }),
|
|
286
290
|
(0, utils_1.create)("span", {
|
|
287
|
-
|
|
288
|
-
children:
|
|
291
|
+
className: "openapi-schema__container",
|
|
292
|
+
children: [
|
|
293
|
+
(0, utils_1.create)("strong", {
|
|
294
|
+
className: (0, clsx_1.default)("openapi-schema__property", {
|
|
295
|
+
"openapi-schema__strikethrough": schema.deprecated,
|
|
296
|
+
}),
|
|
297
|
+
children: name,
|
|
298
|
+
}),
|
|
299
|
+
(0, utils_1.create)("span", {
|
|
300
|
+
className: "openapi-schema__name",
|
|
301
|
+
children: ` ${schemaName}`,
|
|
302
|
+
}),
|
|
303
|
+
(0, utils_1.guard)((Array.isArray(required)
|
|
304
|
+
? required.includes(name)
|
|
305
|
+
: required === true) ||
|
|
306
|
+
schema.deprecated ||
|
|
307
|
+
nullable, () => [
|
|
308
|
+
(0, utils_1.create)("span", {
|
|
309
|
+
className: "openapi-schema__divider",
|
|
310
|
+
}),
|
|
311
|
+
]),
|
|
312
|
+
(0, utils_1.guard)(nullable, () => [
|
|
313
|
+
(0, utils_1.create)("span", {
|
|
314
|
+
className: "openapi-schema__nullable",
|
|
315
|
+
children: "nullable",
|
|
316
|
+
}),
|
|
317
|
+
]),
|
|
318
|
+
(0, utils_1.guard)(Array.isArray(required)
|
|
319
|
+
? required.includes(name)
|
|
320
|
+
: required === true, () => [
|
|
321
|
+
(0, utils_1.create)("span", {
|
|
322
|
+
className: "openapi-schema__required",
|
|
323
|
+
children: "required",
|
|
324
|
+
}),
|
|
325
|
+
]),
|
|
326
|
+
(0, utils_1.guard)(schema.deprecated, () => [
|
|
327
|
+
(0, utils_1.create)("span", {
|
|
328
|
+
className: "openapi-schema__deprecated",
|
|
329
|
+
children: "deprecated",
|
|
330
|
+
}),
|
|
331
|
+
]),
|
|
332
|
+
],
|
|
289
333
|
}),
|
|
290
|
-
(0, utils_1.guard)((schema.nullable && schema.nullable === true) ||
|
|
291
|
-
(nullable && nullable === true), () => [
|
|
292
|
-
(0, utils_1.create)("strong", {
|
|
293
|
-
style: {
|
|
294
|
-
fontSize: "var(--ifm-code-font-size)",
|
|
295
|
-
color: "var(--openapi-nullable)",
|
|
296
|
-
},
|
|
297
|
-
children: " nullable",
|
|
298
|
-
}),
|
|
299
|
-
]),
|
|
300
|
-
(0, utils_1.guard)(Array.isArray(required)
|
|
301
|
-
? required.includes(name)
|
|
302
|
-
: required === true, () => [
|
|
303
|
-
(0, utils_1.create)("strong", {
|
|
304
|
-
style: {
|
|
305
|
-
fontSize: "var(--ifm-code-font-size)",
|
|
306
|
-
color: "var(--openapi-required)",
|
|
307
|
-
},
|
|
308
|
-
children: " required",
|
|
309
|
-
}),
|
|
310
|
-
]),
|
|
311
334
|
],
|
|
312
335
|
}),
|
|
313
336
|
(0, utils_1.create)("div", {
|
|
@@ -432,26 +455,55 @@ function createPropertyDiscriminator(name, schemaName, schema, discriminator, re
|
|
|
432
455
|
if (discriminator.mapping === undefined) {
|
|
433
456
|
return undefined;
|
|
434
457
|
}
|
|
435
|
-
return (0, utils_1.create)("
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
458
|
+
return (0, utils_1.create)("div", {
|
|
459
|
+
className: "openapi-discriminator__item openapi-schema__list-item",
|
|
460
|
+
children: (0, utils_1.create)("div", {
|
|
461
|
+
children: [
|
|
462
|
+
(0, utils_1.create)("span", {
|
|
463
|
+
className: "openapi-schema__container",
|
|
464
|
+
children: [
|
|
465
|
+
(0, utils_1.create)("strong", {
|
|
466
|
+
className: "openapi-discriminator__name openapi-schema__property",
|
|
467
|
+
children: name,
|
|
468
|
+
}),
|
|
469
|
+
(0, utils_1.guard)(schemaName, (name) => (0, utils_1.create)("span", {
|
|
470
|
+
className: "openapi-schema__name",
|
|
471
|
+
children: ` ${schemaName}`,
|
|
472
|
+
})),
|
|
473
|
+
(0, utils_1.guard)(required, () => [
|
|
474
|
+
(0, utils_1.create)("span", {
|
|
475
|
+
className: "openapi-schema__required",
|
|
476
|
+
children: "required",
|
|
477
|
+
}),
|
|
478
|
+
]),
|
|
479
|
+
],
|
|
452
480
|
}),
|
|
453
|
-
|
|
454
|
-
|
|
481
|
+
(0, utils_1.guard)((0, schema_1.getQualifierMessage)(discriminator), (message) => (0, utils_1.create)("div", {
|
|
482
|
+
style: {
|
|
483
|
+
paddingLeft: "1rem",
|
|
484
|
+
},
|
|
485
|
+
children: (0, createDescription_1.createDescription)(message),
|
|
486
|
+
})),
|
|
487
|
+
(0, utils_1.guard)(schema.description, (description) => (0, utils_1.create)("div", {
|
|
488
|
+
style: {
|
|
489
|
+
paddingLeft: "1rem",
|
|
490
|
+
},
|
|
491
|
+
children: (0, createDescription_1.createDescription)(description),
|
|
492
|
+
})),
|
|
493
|
+
(0, utils_1.create)("DiscriminatorTabs", {
|
|
494
|
+
className: "openapi-tabs__discriminator",
|
|
495
|
+
children: Object.keys(discriminator === null || discriminator === void 0 ? void 0 : discriminator.mapping).map((key, index) => {
|
|
496
|
+
const label = key;
|
|
497
|
+
return (0, utils_1.create)("TabItem", {
|
|
498
|
+
// className: "openapi-tabs__discriminator-item",
|
|
499
|
+
label: label,
|
|
500
|
+
value: `${index}-item-discriminator`,
|
|
501
|
+
children: [createNodes(discriminator === null || discriminator === void 0 ? void 0 : discriminator.mapping[key])],
|
|
502
|
+
});
|
|
503
|
+
}),
|
|
504
|
+
}),
|
|
505
|
+
],
|
|
506
|
+
}),
|
|
455
507
|
});
|
|
456
508
|
}
|
|
457
509
|
/**
|
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-beta.
|
|
4
|
+
"version": "0.0.0-beta.664",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"openapi",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"engines": {
|
|
61
61
|
"node": ">=14"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "367edb06131afc739af241361405c7fd496594a3"
|
|
64
64
|
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
* ========================================================================== */
|
|
7
7
|
|
|
8
|
+
import clsx from "clsx";
|
|
8
9
|
import { SchemaObject } from "../openapi/types";
|
|
9
10
|
import {
|
|
10
11
|
createClosingArrayBracket,
|
|
@@ -338,41 +339,60 @@ function createDetailsNode(
|
|
|
338
339
|
className: "schemaItem",
|
|
339
340
|
children: [
|
|
340
341
|
createDetails({
|
|
342
|
+
className: "openapi-markdown__details",
|
|
341
343
|
children: [
|
|
342
344
|
createDetailsSummary({
|
|
343
345
|
children: [
|
|
344
|
-
create("strong", { children: name }),
|
|
345
346
|
create("span", {
|
|
346
|
-
|
|
347
|
-
children:
|
|
348
|
-
}),
|
|
349
|
-
guard(
|
|
350
|
-
(schema.nullable && schema.nullable === true) ||
|
|
351
|
-
(nullable && nullable === true),
|
|
352
|
-
() => [
|
|
347
|
+
className: "openapi-schema__container",
|
|
348
|
+
children: [
|
|
353
349
|
create("strong", {
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
children: " nullable",
|
|
350
|
+
className: clsx("openapi-schema__property", {
|
|
351
|
+
"openapi-schema__strikethrough": schema.deprecated,
|
|
352
|
+
}),
|
|
353
|
+
children: name,
|
|
359
354
|
}),
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
Array.isArray(required)
|
|
364
|
-
? required.includes(name)
|
|
365
|
-
: required === true,
|
|
366
|
-
() => [
|
|
367
|
-
create("strong", {
|
|
368
|
-
style: {
|
|
369
|
-
fontSize: "var(--ifm-code-font-size)",
|
|
370
|
-
color: "var(--openapi-required)",
|
|
371
|
-
},
|
|
372
|
-
children: " required",
|
|
355
|
+
create("span", {
|
|
356
|
+
className: "openapi-schema__name",
|
|
357
|
+
children: ` ${schemaName}`,
|
|
373
358
|
}),
|
|
374
|
-
|
|
375
|
-
|
|
359
|
+
guard(
|
|
360
|
+
(Array.isArray(required)
|
|
361
|
+
? required.includes(name)
|
|
362
|
+
: required === true) ||
|
|
363
|
+
schema.deprecated ||
|
|
364
|
+
nullable,
|
|
365
|
+
() => [
|
|
366
|
+
create("span", {
|
|
367
|
+
className: "openapi-schema__divider",
|
|
368
|
+
}),
|
|
369
|
+
]
|
|
370
|
+
),
|
|
371
|
+
guard(nullable, () => [
|
|
372
|
+
create("span", {
|
|
373
|
+
className: "openapi-schema__nullable",
|
|
374
|
+
children: "nullable",
|
|
375
|
+
}),
|
|
376
|
+
]),
|
|
377
|
+
guard(
|
|
378
|
+
Array.isArray(required)
|
|
379
|
+
? required.includes(name)
|
|
380
|
+
: required === true,
|
|
381
|
+
() => [
|
|
382
|
+
create("span", {
|
|
383
|
+
className: "openapi-schema__required",
|
|
384
|
+
children: "required",
|
|
385
|
+
}),
|
|
386
|
+
]
|
|
387
|
+
),
|
|
388
|
+
guard(schema.deprecated, () => [
|
|
389
|
+
create("span", {
|
|
390
|
+
className: "openapi-schema__deprecated",
|
|
391
|
+
children: "deprecated",
|
|
392
|
+
}),
|
|
393
|
+
]),
|
|
394
|
+
],
|
|
395
|
+
}),
|
|
376
396
|
],
|
|
377
397
|
}),
|
|
378
398
|
create("div", {
|
|
@@ -519,7 +539,7 @@ function createPropertyDiscriminator(
|
|
|
519
539
|
schema: SchemaObject,
|
|
520
540
|
discriminator: any,
|
|
521
541
|
required: string[] | boolean
|
|
522
|
-
) {
|
|
542
|
+
): any {
|
|
523
543
|
if (schema === undefined) {
|
|
524
544
|
return undefined;
|
|
525
545
|
}
|
|
@@ -528,26 +548,61 @@ function createPropertyDiscriminator(
|
|
|
528
548
|
return undefined;
|
|
529
549
|
}
|
|
530
550
|
|
|
531
|
-
return create("
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
551
|
+
return create("div", {
|
|
552
|
+
className: "openapi-discriminator__item openapi-schema__list-item",
|
|
553
|
+
children: create("div", {
|
|
554
|
+
children: [
|
|
555
|
+
create("span", {
|
|
556
|
+
className: "openapi-schema__container",
|
|
557
|
+
children: [
|
|
558
|
+
create("strong", {
|
|
559
|
+
className: "openapi-discriminator__name openapi-schema__property",
|
|
560
|
+
children: name,
|
|
561
|
+
}),
|
|
562
|
+
guard(schemaName, (name) =>
|
|
563
|
+
create("span", {
|
|
564
|
+
className: "openapi-schema__name",
|
|
565
|
+
children: ` ${schemaName}`,
|
|
566
|
+
})
|
|
567
|
+
),
|
|
568
|
+
guard(required, () => [
|
|
569
|
+
create("span", {
|
|
570
|
+
className: "openapi-schema__required",
|
|
571
|
+
children: "required",
|
|
572
|
+
}),
|
|
573
|
+
]),
|
|
574
|
+
],
|
|
548
575
|
}),
|
|
549
|
-
|
|
550
|
-
|
|
576
|
+
guard(getQualifierMessage(discriminator), (message) =>
|
|
577
|
+
create("div", {
|
|
578
|
+
style: {
|
|
579
|
+
paddingLeft: "1rem",
|
|
580
|
+
},
|
|
581
|
+
children: createDescription(message),
|
|
582
|
+
})
|
|
583
|
+
),
|
|
584
|
+
guard(schema.description, (description) =>
|
|
585
|
+
create("div", {
|
|
586
|
+
style: {
|
|
587
|
+
paddingLeft: "1rem",
|
|
588
|
+
},
|
|
589
|
+
children: createDescription(description),
|
|
590
|
+
})
|
|
591
|
+
),
|
|
592
|
+
create("DiscriminatorTabs", {
|
|
593
|
+
className: "openapi-tabs__discriminator",
|
|
594
|
+
children: Object.keys(discriminator?.mapping!).map((key, index) => {
|
|
595
|
+
const label = key;
|
|
596
|
+
return create("TabItem", {
|
|
597
|
+
// className: "openapi-tabs__discriminator-item",
|
|
598
|
+
label: label,
|
|
599
|
+
value: `${index}-item-discriminator`,
|
|
600
|
+
children: [createNodes(discriminator?.mapping[key])],
|
|
601
|
+
});
|
|
602
|
+
}),
|
|
603
|
+
}),
|
|
604
|
+
],
|
|
605
|
+
}),
|
|
551
606
|
});
|
|
552
607
|
}
|
|
553
608
|
|