EdgeAIG's picture
download
raw
4.49 kB
import type * as Layer from "../../Layer.ts";
import * as HttpRouter from "../http/HttpRouter.ts";
import type * as HttpApi from "./HttpApi.ts";
import type * as HttpApiGroup from "./HttpApiGroup.ts";
/**
* Theme preset identifier accepted by the Scalar API reference UI.
*
* @category models
* @since 4.0.0
*/
export type ScalarThemeId = "alternate" | "default" | "moon" | "purple" | "solarized" | "bluePlanet" | "saturn" | "kepler" | "mars" | "deepSpace" | "laserwave" | "none";
/**
* Configuration passed to the embedded Scalar API reference UI.
*
* **Details**
*
* This configuration follows Scalar's API reference configuration:
* https://github.com/scalar/scalar/blob/main/documentation/configuration.md
*
* @category models
* @since 4.0.0
*/
export type ScalarConfig = {
/** A string to use one of the color presets */
theme?: ScalarThemeId;
/** The layout to use for the references */
layout?: "modern" | "classic";
/** URL to a request proxy for the API client */
proxyUrl?: string;
/** Browser JavaScript function expression used by Scalar for documents and test requests */
customFetch?: string;
/** Whether to show the sidebar */
showSidebar?: boolean;
/**
* Whether to show models in the sidebar, search, and content.
*
* @default false
*/
hideModels?: boolean;
/**
* Whether to show the "Test Request" button.
*
* @default false
*/
hideTestRequestButton?: boolean;
/**
* Whether to show the sidebar search bar.
*
* @default false
*/
hideSearch?: boolean;
/** Whether dark mode is on or off initially (light mode) */
darkMode?: boolean;
/** forceDarkModeState makes it always this state no matter what */
forceDarkModeState?: "dark" | "light";
/** Whether to show the dark mode toggle */
hideDarkModeToggle?: boolean;
/**
* Path to a favicon image.
*
* **Example** (Relative favicon)
*
* ```ts
* const favicon = "/favicon.svg"
* ```
*
* @default undefined
*/
favicon?: string;
/** Custom CSS to be added to the page */
customCss?: string;
/**
* Origin used when the OpenAPI document contains relative server URLs and is
* rendered during SSR.
*
* **Details**
*
* Browsers can derive the origin from `window.location.origin`; server
* rendering needs this value supplied explicitly.
*
* **Example** (Local server URL)
*
* ```ts
* const baseServerURL = "http://localhost:3000"
* ```
*
* @default undefined
*/
baseServerURL?: string;
/**
* Whether Scalar loads its default Inter and JetBrains Mono fonts.
*
* **Details**
*
* Set this to `false` when supplying custom fonts.
*
* @default true
*/
withDefaultFonts?: boolean;
/**
* Whether all tags are open by default instead of only the tag matching the
* current URL.
*
* @default false
*/
defaultOpenAllTags?: boolean;
/**
* Whether to display the operation ID in the operation reference.
*
* @default false
*/
showOperationId?: boolean;
};
/**
* Mounts a Scalar API reference page for an `HttpApi` using the bundled Scalar script.
*
* **Details**
*
* The route serves the OpenAPI specification generated from the API at the
* configured path, defaulting to `/docs`.
*
* @category layers
* @since 4.0.0
*/
export declare const layer: <Id extends string, Groups extends HttpApiGroup.Any>(api: HttpApi.HttpApi<Id, Groups>, options?: {
readonly path?: `/${string}` | undefined;
readonly scalar?: ScalarConfig;
} | undefined) => Layer.Layer<never, never, HttpRouter.HttpRouter>;
/**
* Mounts a Scalar API reference page for an `HttpApi` that loads Scalar from jsDelivr.
*
* **Details**
*
* The route serves the OpenAPI specification generated from the API at the
* configured path, defaulting to `/docs`; `version` selects the Scalar package
* version loaded from the CDN.
*
* @category layers
* @since 4.0.0
*/
export declare const layerCdn: <Id extends string, Groups extends HttpApiGroup.Any>(api: HttpApi.HttpApi<Id, Groups>, options?: {
readonly path?: `/${string}` | undefined;
readonly scalar?: ScalarConfig;
readonly version?: string | undefined;
} | undefined) => Layer.Layer<never, never, HttpRouter.HttpRouter>;
//# sourceMappingURL=HttpApiScalar.d.ts.map

Xet Storage Details

Size:
4.49 kB
·
Xet hash:
24367071dc6c6af223b5180d1e86337500ede9ca71f06ae2191e9517a31c61c2

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.