fumadocs-openapi
Version:
Generate MDX docs for your OpenAPI spec
51 lines • 1.51 kB
TypeScript
//#region src/requests/media/adapter.d.ts
interface BaseContext {
/**
* Passed by your custom example generator, for your custom media adapter to receive.
*/
customData?: Record<string, unknown>;
}
interface GoContext extends BaseContext {
lang: 'go';
addImport: (name: string) => void;
}
interface JavaScriptContext extends BaseContext {
lang: 'js';
addImport: (pkg: string, name: string) => void;
}
interface JavaContext extends BaseContext {
lang: 'java';
addImport: (specifier: string) => void;
}
interface CSharpContext extends BaseContext {
lang: 'csharp';
addImport: (specifier: string) => void;
}
type MediaContext = JavaContext | GoContext | JavaScriptContext | CSharpContext | (BaseContext & {
lang: string;
});
interface MediaAdapter {
/**
* encode data into specified media type for `fetch()`.
*
* Return the encoded form of `data.body` property.
*/
encode: (data: {
body: unknown;
}) => BodyInit;
/**
* generate code example for creating the body in a given programming language.
*
* @param data - request data.
* @param lang - name of programming language.
* @param ctx - context passed from the generator of programming language.
*
* @returns code that inits a `body` variable, or undefined if not supported (skip example for that language).
*/
generateExample: (data: {
body: unknown;
}, ctx: MediaContext) => string | undefined;
}
//#endregion
export { MediaAdapter };
//# sourceMappingURL=adapter.d.ts.map