UNPKG

@azure-tools/openapi

Version:
43 lines 1.37 kB
import { OpenAPI2Document } from "./v2"; import { OpenAPI3Document } from "./v3"; export interface WorkspaceConfig<T extends OpenAPI2Document | OpenAPI3Document> { specs: { [filePath: string]: T; } | Map<string, T>; } export interface ResolveReferenceRelativeTo { /** * Reference as it is. * @example * #/components/schemas/Foo * file:///bar.json#/components/schemas/Foo */ ref: string; /** * File where the reference was defined. * @example file:///foo.json * */ relativeTo: string; } export interface TargetedJsonRef { /** * File part of the json ref. * @example foo.json for "foo.json#/components/schemas/Bar" */ file: string; /** * Path part of the json ref. * @example /components/schemas/Bar for "foo.json#/components/schemas/Bar" */ path?: string; } export type ResolveReferenceArgs = TargetedJsonRef | ResolveReferenceRelativeTo; export interface OpenAPIWorkspace<T extends OpenAPI2Document | OpenAPI3Document> { specs: Map<string, T>; resolveReference<T>(args: ResolveReferenceArgs): T; } export declare class InvalidRefError extends Error { } export declare function createOpenAPIWorkspace<T extends OpenAPI2Document | OpenAPI3Document>(workspace: WorkspaceConfig<T>): OpenAPIWorkspace<T>; //# sourceMappingURL=workspace.d.ts.map