forked from PaloAltoNetworks/docusaurus-openapi-docs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.tsx
More file actions
52 lines (46 loc) · 1.48 KB
/
index.tsx
File metadata and controls
52 lines (46 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* ============================================================================
* Copyright (c) Palo Alto Networks
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
* ========================================================================== */
import React from "react";
import { useDoc } from "@docusaurus/plugin-content-docs/client";
import CodeSnippets from "@theme/ApiExplorer/CodeSnippets";
import Request from "@theme/ApiExplorer/Request";
import Response from "@theme/ApiExplorer/Response";
import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes";
import { ApiItem } from "docusaurus-plugin-openapi-docs/src/types";
import * as sdk from "postman-collection";
function ApiExplorer({
item,
infoPath,
}: {
item: NonNullable<ApiItem>;
infoPath: string;
}) {
const metadata = useDoc();
const { mask_credentials } = metadata.frontMatter;
const postman = new sdk.Request(
item.postman
? sdk.Request.isRequest(item.postman)
? (item.postman as any).toJSON()
: (item.postman as any)
: {}
);
return (
<>
<SecuritySchemes infoPath={infoPath} />
{item.method !== "event" && (
<CodeSnippets
postman={postman}
codeSamples={(item as any)["x-codeSamples"] ?? []}
maskCredentials={mask_credentials}
/>
)}
<Request item={item} />
<Response item={item} />
</>
);
}
export default ApiExplorer;