fluid-oas
Version:
Build declarative OpenApiv3.* specifications.
24 lines (23 loc) • 1.09 kB
TypeScript
import type { OpenApiReferenceObject } from "../lib";
import { type SchemaInterface } from "../lib/base";
import type { OpenApiSchema } from "./OpenApiSchema";
type omitValues = "addEnums" | "addDefault" | "addReadOnly" | "addWriteOnly" | "addNullable";
/**
* A special type of schema, used for multiple "types" as specified in the latest JSON Schema.
*/
export interface OpenApiUnion extends Omit<SchemaInterface<OpenApiSchema | OpenApiReferenceObject>, omitValues> {
/**
* Compose multiple OpenApi schema types.
* @param val - A list of schema types to union over, creating a union schema.
*/
ofTypes(...val: (OpenApiSchema | OpenApiReferenceObject)[]): this;
}
/**
* A special utility schema to capture multple types into one.
*
* WARNING: If multiple schemas have the same field type, one may overwrite another.
* In addition, do not provide multiple of the same schema types, doing so will result
* in those schema types overwriting each other.
*/
export declare const Union: (...val: (OpenApiSchema | OpenApiReferenceObject)[]) => OpenApiUnion;
export {};