UNPKG

@scalar/api-client

Version:

the open source API testing client

134 lines 5.87 kB
import type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'; import { type AvailableClients } from '@scalar/types/snippetz'; import type { WorkspaceStore } from '@scalar/workspace-store/client'; import type { WorkspaceEventBus } from '@scalar/workspace-store/events'; import type { AuthMeta } from '@scalar/workspace-store/mutators'; import type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'; import type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'; import type { OpenApiDocument, ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'; import type { OperationObject } from '@scalar/workspace-store/schemas/v3.1/strict/operation'; import type { ClientLayout } from '../../../hooks/index.js'; import { type History } from '../../../v2/blocks/scalar-address-bar-block/index.js'; import { type ClientPlugin } from '../../../v2/helpers/plugins.js'; /** * OperationBlock * * Orchestrates the operation view by wiring together the Header, OperationBlock, * and ResponseBlock. Forwards user interactions to the workspace event bus and * passes through configuration such as auth, servers, plugins, and environment. * This component keeps the Operation page lean by centralizing event emission * and prop wiring between the blocks. * * Notable behavior: * - Uses operation['x-scalar-method'] and operation['x-scalar-path'] to provide * draft overrides for the UI when present. */ declare const _default: import("vue").DefineComponent<{ /** Event bus */ eventBus: WorkspaceEventBus; /** Application version */ appVersion: string; /** Workspace/document cookies */ globalCookies: XScalarCookie[]; /** Current request path */ path: string; /** Current request method */ method: HttpMethodType; /** HTTP clients */ httpClients: AvailableClients; /** Client layout */ layout: ClientLayout; /** Currently selected server */ server: ServerObject | null; /** Currently selected client */ selectedClient: WorkspaceStore["workspace"]["x-scalar-default-client"]; /** Server list available for operation/document */ servers: ServerObject[]; /** List of request history */ history: History[]; /** Total number of performed requests */ totalPerformedRequests: number; /** Hides the client button on the header */ hideClientButton?: boolean; /** Client integration */ integration?: string | null; /** Openapi document url for `modal` mode to open the client app */ documentUrl?: string; /** Client source */ source?: "gitbook" | "api-reference"; /** Operation object */ operation: OperationObject; /** Currently selected example key for the current operation */ exampleKey: string; /** Meta information for the auth update */ authMeta: AuthMeta; /** Document defined security schemes */ securitySchemes: NonNullable<OpenApiDocument["components"]>["securitySchemes"]; /** Currently selected security for the current operation */ selectedSecurity: OpenApiDocument["x-scalar-selected-security"]; /** Required security for the operation/document */ securityRequirements: OpenApiDocument["security"]; /** Client plugins */ plugins: ClientPlugin[]; /** For environment variables in the inputs */ environment: XScalarEnvironment; /** The proxy URL for sending requests */ proxyUrl: string; }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & { "update:servers": () => any; }, string, import("vue").PublicProps, Readonly<{ /** Event bus */ eventBus: WorkspaceEventBus; /** Application version */ appVersion: string; /** Workspace/document cookies */ globalCookies: XScalarCookie[]; /** Current request path */ path: string; /** Current request method */ method: HttpMethodType; /** HTTP clients */ httpClients: AvailableClients; /** Client layout */ layout: ClientLayout; /** Currently selected server */ server: ServerObject | null; /** Currently selected client */ selectedClient: WorkspaceStore["workspace"]["x-scalar-default-client"]; /** Server list available for operation/document */ servers: ServerObject[]; /** List of request history */ history: History[]; /** Total number of performed requests */ totalPerformedRequests: number; /** Hides the client button on the header */ hideClientButton?: boolean; /** Client integration */ integration?: string | null; /** Openapi document url for `modal` mode to open the client app */ documentUrl?: string; /** Client source */ source?: "gitbook" | "api-reference"; /** Operation object */ operation: OperationObject; /** Currently selected example key for the current operation */ exampleKey: string; /** Meta information for the auth update */ authMeta: AuthMeta; /** Document defined security schemes */ securitySchemes: NonNullable<OpenApiDocument["components"]>["securitySchemes"]; /** Currently selected security for the current operation */ selectedSecurity: OpenApiDocument["x-scalar-selected-security"]; /** Required security for the operation/document */ securityRequirements: OpenApiDocument["security"]; /** Client plugins */ plugins: ClientPlugin[]; /** For environment variables in the inputs */ environment: XScalarEnvironment; /** The proxy URL for sending requests */ proxyUrl: string; }> & Readonly<{ "onUpdate:servers"?: (() => any) | undefined; }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>; export default _default; //# sourceMappingURL=OperationBlock.vue.d.ts.map