fumadocs-openapi 6.0.1 → 6.0.3
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/dist/build-routes.d.ts +15 -0
- package/dist/build-routes.d.ts.map +1 -0
- package/dist/build-routes.js +38 -0
- package/dist/generate-file.d.ts +38 -0
- package/dist/generate-file.d.ts.map +1 -0
- package/dist/generate-file.js +118 -0
- package/dist/generate.d.ts +48 -0
- package/dist/generate.d.ts.map +1 -0
- package/dist/generate.js +129 -0
- package/dist/index.d.ts +4 -274
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -389
- package/dist/render/codeblock.d.ts +9 -0
- package/dist/render/codeblock.d.ts.map +1 -0
- package/dist/render/codeblock.js +13 -0
- package/dist/render/heading.d.ts +4 -0
- package/dist/render/heading.d.ts.map +1 -0
- package/dist/render/heading.js +6 -0
- package/dist/render/markdown.d.ts +5 -0
- package/dist/render/markdown.d.ts.map +1 -0
- package/dist/render/markdown.js +25 -0
- package/dist/render/operation.d.ts +17 -0
- package/dist/render/operation.d.ts.map +1 -0
- package/dist/render/operation.js +230 -0
- package/dist/render/playground.d.ts +66 -0
- package/dist/render/playground.d.ts.map +1 -0
- package/dist/render/playground.js +181 -0
- package/dist/render/renderer.d.ts +76 -0
- package/dist/render/renderer.d.ts.map +1 -0
- package/dist/render/renderer.js +23 -0
- package/dist/render/schema.d.ts +29 -0
- package/dist/render/schema.d.ts.map +1 -0
- package/dist/render/schema.js +151 -0
- package/dist/requests/curl.d.ts +3 -0
- package/dist/requests/curl.d.ts.map +1 -0
- package/dist/requests/curl.js +33 -0
- package/dist/requests/go.d.ts +3 -0
- package/dist/requests/go.d.ts.map +1 -0
- package/dist/requests/go.js +54 -0
- package/dist/requests/javascript.d.ts +3 -0
- package/dist/requests/javascript.d.ts.map +1 -0
- package/dist/requests/javascript.js +49 -0
- package/dist/requests/python.d.ts +3 -0
- package/dist/requests/python.d.ts.map +1 -0
- package/dist/requests/python.js +45 -0
- package/dist/scalar/client.d.ts +6 -0
- package/dist/scalar/client.d.ts.map +1 -0
- package/dist/scalar/client.js +25 -0
- package/dist/scalar/index.d.ts +4 -173
- package/dist/scalar/index.d.ts.map +1 -0
- package/dist/scalar/index.js +4 -11
- package/dist/server/api-page.d.ts +33 -0
- package/dist/server/api-page.d.ts.map +1 -0
- package/dist/server/api-page.js +59 -0
- package/dist/server/create-method.d.ts +7 -0
- package/dist/server/create-method.d.ts.map +1 -0
- package/dist/server/create-method.js +12 -0
- package/dist/server/create.d.ts +16 -0
- package/dist/server/create.d.ts.map +1 -0
- package/dist/server/create.js +11 -0
- package/dist/server/index.d.ts +3 -221
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +2 -1493
- package/dist/server/proxy.d.ts +8 -0
- package/dist/server/proxy.d.ts.map +1 -0
- package/dist/server/proxy.js +53 -0
- package/dist/server/source-api.d.ts +8 -0
- package/dist/server/source-api.d.ts.map +1 -0
- package/dist/server/source-api.js +34 -0
- package/dist/types.d.ts +60 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/dist/ui/client.d.ts +22 -0
- package/dist/ui/client.d.ts.map +1 -0
- package/dist/ui/client.js +10 -0
- package/dist/ui/components/input.d.ts +6 -0
- package/dist/ui/components/input.d.ts.map +1 -0
- package/dist/ui/components/input.js +10 -0
- package/dist/ui/components/method-label.d.ts +5 -0
- package/dist/ui/components/method-label.d.ts.map +1 -0
- package/dist/ui/components/method-label.js +33 -0
- package/dist/ui/components/select.d.ts +14 -0
- package/dist/ui/components/select.d.ts.map +1 -0
- package/dist/ui/components/select.js +24 -0
- package/dist/ui/components/variants.d.ts +6 -0
- package/dist/ui/components/variants.d.ts.map +1 -0
- package/dist/ui/components/variants.js +26 -0
- package/dist/ui/contexts/api.d.ts +28 -0
- package/dist/ui/contexts/api.d.ts.map +1 -0
- package/dist/ui/contexts/api.js +74 -0
- package/dist/ui/contexts/schema.d.ts +17 -0
- package/dist/ui/contexts/schema.d.ts.map +1 -0
- package/dist/ui/contexts/schema.js +8 -0
- package/dist/ui/index.d.ts +12 -302
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +18 -98
- package/dist/ui/playground/fetcher.d.ts +34 -0
- package/dist/ui/playground/fetcher.d.ts.map +1 -0
- package/dist/ui/{fetcher-CsHhplmD.js → playground/fetcher.js} +45 -44
- package/dist/ui/playground/get-default-values.d.ts +4 -0
- package/dist/ui/playground/get-default-values.d.ts.map +1 -0
- package/dist/ui/playground/get-default-values.js +24 -0
- package/dist/ui/playground/index.d.ts +44 -0
- package/dist/ui/playground/index.d.ts.map +1 -0
- package/dist/ui/playground/index.js +187 -0
- package/dist/ui/playground/inputs.d.ts +23 -0
- package/dist/ui/playground/inputs.d.ts.map +1 -0
- package/dist/ui/playground/inputs.js +172 -0
- package/dist/ui/playground/resolve.d.ts +6 -0
- package/dist/ui/playground/resolve.d.ts.map +1 -0
- package/dist/ui/playground/resolve.js +14 -0
- package/dist/ui/playground/status-info.d.ts +8 -0
- package/dist/ui/playground/status-info.d.ts.map +1 -0
- package/dist/ui/playground/status-info.js +40 -0
- package/dist/ui/server-select.d.ts +3 -0
- package/dist/ui/server-select.d.ts.map +1 -0
- package/dist/ui/server-select.js +27 -0
- package/dist/utils/combine-schema.d.ts +6 -0
- package/dist/utils/combine-schema.d.ts.map +1 -0
- package/dist/utils/combine-schema.js +46 -0
- package/dist/utils/generate-document.d.ts +20 -0
- package/dist/utils/generate-document.d.ts.map +1 -0
- package/dist/utils/generate-document.js +82 -0
- package/dist/utils/generate-sample.d.ts +33 -0
- package/dist/utils/generate-sample.d.ts.map +1 -0
- package/dist/utils/generate-sample.js +97 -0
- package/dist/utils/get-security.d.ts +8 -0
- package/dist/utils/get-security.d.ts.map +1 -0
- package/dist/utils/get-security.js +23 -0
- package/dist/utils/get-typescript-schema.d.ts +4 -0
- package/dist/utils/get-typescript-schema.d.ts.map +1 -0
- package/dist/utils/get-typescript-schema.js +18 -0
- package/dist/utils/id-to-title.d.ts +2 -0
- package/dist/utils/id-to-title.d.ts.map +1 -0
- package/dist/utils/id-to-title.js +17 -0
- package/dist/utils/input-to-string.d.ts +5 -0
- package/dist/utils/input-to-string.d.ts.map +1 -0
- package/dist/utils/input-to-string.js +21 -0
- package/dist/utils/process-document.d.ts +14 -0
- package/dist/utils/process-document.d.ts.map +1 -0
- package/dist/utils/process-document.js +32 -0
- package/dist/utils/schema.d.ts +9 -0
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +16 -0
- package/dist/utils/server-url.d.ts +2 -0
- package/dist/utils/server-url.d.ts.map +1 -0
- package/dist/utils/server-url.js +7 -0
- package/dist/utils/use-query.d.ts +6 -0
- package/dist/utils/use-query.d.ts.map +1 -0
- package/dist/utils/use-query.js +22 -0
- package/package.json +8 -8
- package/dist/scalar/client-client-BXAjVueF.js +0 -93
- package/dist/ui/client-client-CYO00OiB.js +0 -107
- package/dist/ui/index-client-BUeWwFWK.js +0 -1116
- package/dist/ui/server-select-client-Ct_HJ46K.js +0 -86
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import Slugger from 'github-slugger';
|
|
3
|
+
import { Operation } from '../render/operation.js';
|
|
4
|
+
import { createMethod } from '../server/create-method.js';
|
|
5
|
+
import { createRenders } from '../render/renderer.js';
|
|
6
|
+
import { processDocument, } from '../utils/process-document.js';
|
|
7
|
+
import { getUrl } from '../utils/server-url.js';
|
|
8
|
+
export async function APIPage(props) {
|
|
9
|
+
const { operations, hasHead = true, webhooks, disableCache = process.env.NODE_ENV === 'development', } = props;
|
|
10
|
+
const processed = await processDocument(props.document, disableCache);
|
|
11
|
+
const ctx = await getContext(processed, props);
|
|
12
|
+
const { document } = processed;
|
|
13
|
+
return (_jsxs(ctx.renderer.Root, { baseUrl: ctx.baseUrl, servers: ctx.servers, children: [operations?.map((item) => {
|
|
14
|
+
const pathItem = document.paths?.[item.path];
|
|
15
|
+
if (!pathItem)
|
|
16
|
+
return null;
|
|
17
|
+
const operation = pathItem[item.method];
|
|
18
|
+
if (!operation)
|
|
19
|
+
return null;
|
|
20
|
+
const method = createMethod(item.method, pathItem, operation);
|
|
21
|
+
return (_jsx(Operation, { method: method, path: item.path, ctx: ctx, hasHead: hasHead }, `${item.path}:${item.method}`));
|
|
22
|
+
}), webhooks?.map((item) => {
|
|
23
|
+
const webhook = document.webhooks?.[item.name];
|
|
24
|
+
if (!webhook)
|
|
25
|
+
return;
|
|
26
|
+
const hook = webhook[item.method];
|
|
27
|
+
if (!hook)
|
|
28
|
+
return;
|
|
29
|
+
const method = createMethod(item.method, webhook, hook);
|
|
30
|
+
return (_jsx(Operation, { type: "webhook", method: method, ctx: {
|
|
31
|
+
...ctx,
|
|
32
|
+
baseUrl: 'http://localhost:8080',
|
|
33
|
+
}, path: `/${item.name}`, hasHead: hasHead }, `${item.name}:${item.method}`));
|
|
34
|
+
})] }));
|
|
35
|
+
}
|
|
36
|
+
export async function getContext(schema, options = {}) {
|
|
37
|
+
const document = schema.document;
|
|
38
|
+
const servers = document.servers && document.servers.length > 0
|
|
39
|
+
? document.servers
|
|
40
|
+
: [{ url: 'https://example.com' }];
|
|
41
|
+
const server = servers[0];
|
|
42
|
+
return {
|
|
43
|
+
schema,
|
|
44
|
+
proxyUrl: options.proxyUrl,
|
|
45
|
+
showResponseSchema: options.showResponseSchema,
|
|
46
|
+
renderer: {
|
|
47
|
+
...createRenders(options.shikiOptions),
|
|
48
|
+
...options.renderer,
|
|
49
|
+
},
|
|
50
|
+
shikiOptions: options.shikiOptions,
|
|
51
|
+
generateTypeScriptSchema: options.generateTypeScriptSchema,
|
|
52
|
+
generateCodeSamples: options.generateCodeSamples,
|
|
53
|
+
baseUrl: getUrl(server.url, server.variables
|
|
54
|
+
? Object.fromEntries(Object.entries(server.variables).map(([k, v]) => [k, v.default]))
|
|
55
|
+
: {}),
|
|
56
|
+
servers,
|
|
57
|
+
slugger: new Slugger(),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MethodInformation, OperationObject, PathItemObject } from '../types.js';
|
|
2
|
+
import type { NoReference } from '../utils/schema.js';
|
|
3
|
+
/**
|
|
4
|
+
* Summarize method endpoint information
|
|
5
|
+
*/
|
|
6
|
+
export declare function createMethod(method: string, path: NoReference<PathItemObject>, operation: NoReference<OperationObject>): MethodInformation;
|
|
7
|
+
//# sourceMappingURL=create-method.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-method.d.ts","sourceRoot":"","sources":["../../src/server/create-method.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,cAAc,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC,EACjC,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,GACtC,iBAAiB,CAQnB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Summarize method endpoint information
|
|
3
|
+
*/
|
|
4
|
+
export function createMethod(method, path, operation) {
|
|
5
|
+
return {
|
|
6
|
+
description: path.description,
|
|
7
|
+
summary: path.summary,
|
|
8
|
+
...operation,
|
|
9
|
+
parameters: [...(operation.parameters ?? []), ...(path.parameters ?? [])],
|
|
10
|
+
method: method.toUpperCase(),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type ApiPageProps } from '../server/api-page.js';
|
|
3
|
+
import type { DocumentInput } from '../utils/process-document.js';
|
|
4
|
+
import { createProxy } from '../server/proxy.js';
|
|
5
|
+
export interface OpenAPIOptions extends Omit<Partial<ApiPageProps>, 'document'> {
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated Pass document to `APIPage` instead
|
|
8
|
+
*/
|
|
9
|
+
documentOrPath?: DocumentInput;
|
|
10
|
+
}
|
|
11
|
+
export interface OpenAPIServer {
|
|
12
|
+
APIPage: FC<ApiPageProps>;
|
|
13
|
+
createProxy: typeof createProxy;
|
|
14
|
+
}
|
|
15
|
+
export declare function createOpenAPI(options?: OpenAPIOptions): OpenAPIServer;
|
|
16
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/server/create.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;IAC/C;;OAEG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1B,WAAW,EAAE,OAAO,WAAW,CAAC;CACjC;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,CAOzE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { APIPage } from '../server/api-page.js';
|
|
3
|
+
import { createProxy } from '../server/proxy.js';
|
|
4
|
+
export function createOpenAPI(options = {}) {
|
|
5
|
+
return {
|
|
6
|
+
createProxy,
|
|
7
|
+
APIPage(props) {
|
|
8
|
+
return _jsx(APIPage, { ...options, ...props });
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1,221 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { CodeToHastOptionsCommon, CodeOptionsThemes, BuiltinTheme } from 'shiki';
|
|
5
|
-
import { NextRequest } from 'next/server';
|
|
6
|
-
import { BuildPageTreeOptions } from 'fumadocs-core/source';
|
|
7
|
-
|
|
8
|
-
type NoReference<T> = T extends (infer I)[] ? NoReference<I>[] : T extends ReferenceObject ? Exclude<T, ReferenceObject> : T extends object ? {
|
|
9
|
-
[K in keyof T]: NoReference<T[K]>;
|
|
10
|
-
} : T;
|
|
11
|
-
type ParsedSchema = OpenAPIV3_1.SchemaObject;
|
|
12
|
-
|
|
13
|
-
interface ResponsesProps {
|
|
14
|
-
items: string[];
|
|
15
|
-
children: ReactNode;
|
|
16
|
-
}
|
|
17
|
-
interface ResponseProps {
|
|
18
|
-
value: string;
|
|
19
|
-
children: ReactNode;
|
|
20
|
-
}
|
|
21
|
-
interface APIInfoProps {
|
|
22
|
-
method: string;
|
|
23
|
-
route: string;
|
|
24
|
-
head: ReactNode;
|
|
25
|
-
children: ReactNode;
|
|
26
|
-
}
|
|
27
|
-
interface PropertyProps {
|
|
28
|
-
name: string;
|
|
29
|
-
type: string;
|
|
30
|
-
required?: boolean;
|
|
31
|
-
deprecated?: boolean;
|
|
32
|
-
children?: ReactNode;
|
|
33
|
-
}
|
|
34
|
-
interface ObjectCollapsibleProps {
|
|
35
|
-
name: string;
|
|
36
|
-
children: ReactNode;
|
|
37
|
-
}
|
|
38
|
-
interface RequestProps {
|
|
39
|
-
language: string;
|
|
40
|
-
name: string;
|
|
41
|
-
code: string;
|
|
42
|
-
}
|
|
43
|
-
interface ResponseTypeProps {
|
|
44
|
-
lang: string;
|
|
45
|
-
code: string;
|
|
46
|
-
label: string;
|
|
47
|
-
}
|
|
48
|
-
interface RootProps {
|
|
49
|
-
baseUrl?: string;
|
|
50
|
-
servers: ServerObject[];
|
|
51
|
-
children: ReactNode;
|
|
52
|
-
}
|
|
53
|
-
interface Renderer {
|
|
54
|
-
Root: ComponentType<RootProps>;
|
|
55
|
-
API: ComponentType<{
|
|
56
|
-
children: ReactNode;
|
|
57
|
-
}>;
|
|
58
|
-
APIInfo: ComponentType<APIInfoProps>;
|
|
59
|
-
APIExample: ComponentType<{
|
|
60
|
-
children: ReactNode;
|
|
61
|
-
}>;
|
|
62
|
-
Responses: ComponentType<ResponsesProps>;
|
|
63
|
-
Response: ComponentType<ResponseProps>;
|
|
64
|
-
Requests: ComponentType<{
|
|
65
|
-
items: string[];
|
|
66
|
-
children: ReactNode;
|
|
67
|
-
}>;
|
|
68
|
-
Request: ComponentType<RequestProps>;
|
|
69
|
-
ResponseTypes: ComponentType<{
|
|
70
|
-
children: ReactNode;
|
|
71
|
-
}>;
|
|
72
|
-
ResponseType: ComponentType<ResponseTypeProps>;
|
|
73
|
-
/**
|
|
74
|
-
* Collapsible to show object schemas
|
|
75
|
-
*/
|
|
76
|
-
ObjectCollapsible: ComponentType<ObjectCollapsibleProps>;
|
|
77
|
-
Property: ComponentType<PropertyProps>;
|
|
78
|
-
APIPlayground: ComponentType<{
|
|
79
|
-
path: string;
|
|
80
|
-
method: MethodInformation;
|
|
81
|
-
ctx: RenderContext;
|
|
82
|
-
}>;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Sample info of endpoint
|
|
87
|
-
*/
|
|
88
|
-
interface EndpointSample {
|
|
89
|
-
/**
|
|
90
|
-
* Request URL, including path and query parameters
|
|
91
|
-
*/
|
|
92
|
-
url: string;
|
|
93
|
-
method: string;
|
|
94
|
-
body?: {
|
|
95
|
-
schema: ParsedSchema;
|
|
96
|
-
mediaType: string;
|
|
97
|
-
sample: unknown;
|
|
98
|
-
};
|
|
99
|
-
responses: Record<string, ResponseSample>;
|
|
100
|
-
parameters: ParameterSample[];
|
|
101
|
-
}
|
|
102
|
-
interface ResponseSample {
|
|
103
|
-
mediaType: string;
|
|
104
|
-
sample: unknown;
|
|
105
|
-
schema: ParsedSchema;
|
|
106
|
-
}
|
|
107
|
-
interface ParameterSample {
|
|
108
|
-
name: string;
|
|
109
|
-
in: string;
|
|
110
|
-
schema: ParsedSchema;
|
|
111
|
-
sample: unknown;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
interface CodeSample {
|
|
115
|
-
lang: string;
|
|
116
|
-
label: string;
|
|
117
|
-
source: string | ((endpoint: EndpointSample) => string | undefined) | false;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
type DocumentInput = string | OpenAPIV3_1.Document | OpenAPIV3.Document;
|
|
121
|
-
type ProcessedDocument = {
|
|
122
|
-
document: NoReference<Document>;
|
|
123
|
-
dereferenceMap: DereferenceMap;
|
|
124
|
-
downloaded: Document;
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
type Document = OpenAPIV3_1.Document;
|
|
128
|
-
type OperationObject = OpenAPIV3_1.OperationObject;
|
|
129
|
-
type ReferenceObject = OpenAPIV3_1.ReferenceObject;
|
|
130
|
-
type ServerObject = NoReference<OpenAPIV3_1.ServerObject>;
|
|
131
|
-
type MethodInformation = NoReference<OperationObject> & {
|
|
132
|
-
method: string;
|
|
133
|
-
};
|
|
134
|
-
type Awaitable<T> = T | Promise<T>;
|
|
135
|
-
/**
|
|
136
|
-
* Dereferenced value and its original `$ref` value
|
|
137
|
-
*/
|
|
138
|
-
type DereferenceMap = Map<unknown, string>;
|
|
139
|
-
interface RenderContext {
|
|
140
|
-
/**
|
|
141
|
-
* The url of proxy to avoid CORS issues
|
|
142
|
-
*/
|
|
143
|
-
proxyUrl?: string;
|
|
144
|
-
renderer: Renderer;
|
|
145
|
-
baseUrl: string;
|
|
146
|
-
servers: ServerObject[];
|
|
147
|
-
slugger: Slugger;
|
|
148
|
-
/**
|
|
149
|
-
* dereferenced schema
|
|
150
|
-
*/
|
|
151
|
-
schema: ProcessedDocument;
|
|
152
|
-
/**
|
|
153
|
-
* Generate TypeScript definitions from response schema.
|
|
154
|
-
*
|
|
155
|
-
* Pass `false` to disable it.
|
|
156
|
-
*
|
|
157
|
-
* @param endpoint - the API endpoint
|
|
158
|
-
* @param code - status code
|
|
159
|
-
*/
|
|
160
|
-
generateTypeScriptSchema?: ((endpoint: EndpointSample, code: string) => Awaitable<string>) | false;
|
|
161
|
-
/**
|
|
162
|
-
* Generate code samples for endpoint.
|
|
163
|
-
*/
|
|
164
|
-
generateCodeSamples?: (endpoint: EndpointSample) => Awaitable<CodeSample[]>;
|
|
165
|
-
shikiOptions?: Omit<CodeToHastOptionsCommon, 'lang'> & CodeOptionsThemes<BuiltinTheme>;
|
|
166
|
-
/**
|
|
167
|
-
* Show full response schema instead of only example response & Typescript definitions
|
|
168
|
-
*/
|
|
169
|
-
showResponseSchema?: boolean;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
type ApiPageContextProps = Pick<Partial<RenderContext>, 'shikiOptions' | 'generateTypeScriptSchema' | 'generateCodeSamples' | 'proxyUrl' | 'showResponseSchema'>;
|
|
173
|
-
interface ApiPageProps extends ApiPageContextProps {
|
|
174
|
-
document: DocumentInput;
|
|
175
|
-
hasHead: boolean;
|
|
176
|
-
renderer?: Partial<Renderer>;
|
|
177
|
-
/**
|
|
178
|
-
* An array of operations
|
|
179
|
-
*/
|
|
180
|
-
operations?: OperationItem[];
|
|
181
|
-
webhooks?: WebhookItem[];
|
|
182
|
-
/**
|
|
183
|
-
* By default, it is disabled on dev mode
|
|
184
|
-
*/
|
|
185
|
-
disableCache?: boolean;
|
|
186
|
-
}
|
|
187
|
-
interface WebhookItem {
|
|
188
|
-
name: string;
|
|
189
|
-
method: OpenAPIV3_1.HttpMethods;
|
|
190
|
-
}
|
|
191
|
-
interface OperationItem {
|
|
192
|
-
path: string;
|
|
193
|
-
method: OpenAPIV3_1.HttpMethods;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
declare const keys: readonly ["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD"];
|
|
197
|
-
type Proxy = {
|
|
198
|
-
[K in (typeof keys)[number]]: (req: NextRequest) => Promise<Response>;
|
|
199
|
-
};
|
|
200
|
-
declare function createProxy(allowedUrls?: string[]): Proxy;
|
|
201
|
-
|
|
202
|
-
interface OpenAPIOptions extends Omit<Partial<ApiPageProps>, 'document'> {
|
|
203
|
-
/**
|
|
204
|
-
* @deprecated Pass document to `APIPage` instead
|
|
205
|
-
*/
|
|
206
|
-
documentOrPath?: DocumentInput;
|
|
207
|
-
}
|
|
208
|
-
interface OpenAPIServer {
|
|
209
|
-
APIPage: FC<ApiPageProps>;
|
|
210
|
-
createProxy: typeof createProxy;
|
|
211
|
-
}
|
|
212
|
-
declare function createOpenAPI(options?: OpenAPIOptions): OpenAPIServer;
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Source API Integration
|
|
216
|
-
*
|
|
217
|
-
* Add this to page tree builder options
|
|
218
|
-
*/
|
|
219
|
-
declare const attachFile: BuildPageTreeOptions['attachFile'];
|
|
220
|
-
|
|
221
|
-
export { type OpenAPIOptions, type OpenAPIServer, attachFile, createOpenAPI };
|
|
1
|
+
export * from './create.js';
|
|
2
|
+
export * from './source-api.js';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
|