UNPKG

fluid-oas

Version:

Build declarative OpenApiv3.* specifications.

127 lines (126 loc) 4.03 kB
import type { OpenApiSchema } from "../schema"; import type { OpenApiExtensionString } from "../types"; import type { OpenApiDocumentation } from "./OpenApiDocumentation"; import type { OpenApiExample } from "./OpenApiExample"; export declare class Root { toJSON(): unknown; override(overrideVal: unknown): this; } export interface RootInterface { /** * Serializes the object into its equivalent OpenApi JSON value. */ toJSON(): unknown; /** * Overrides the toJSON method for a custom serialization. * * WARNING: overrideVal must be serializable and future changes are subject to breaking. * * @param overrideVal - Overrides the serialization of this object into this value. */ override(overrideVal: unknown): this; } export interface BaseInterface extends RootInterface { /** * Extend the specification with an extension object schema. * * @param mappings - key value mappings with names MUST beginning with "x-" */ addExtensions(mappings: { [K in OpenApiExtensionString]: OpenApiSchema; }): this; } export interface SchemaInterface<T> extends BaseInterface { /** * Adds a description to this OpenApiSchema * * @param description - Description */ addDescription(description: string): this; /** * Adds an external documentation to this OpenApiSchema * * @param docs - Documentation to add to this schema. */ addExternalDocs(docs: OpenApiDocumentation): this; addExample(example: any): this; addEnums(val: (T | null)[]): this; addDefault(val: T): this; addReadOnly(readOnly: boolean): this; addWriteOnly(writeOnly: boolean): this; /** * As of v3.1.0 this has been removed. Still available for v3.0.* OAS */ addNullable(nullable: boolean): this; } declare const _Base: { new (...args: any[]): { _extensions?: Map<OpenApiExtensionString, OpenApiSchema | import("./OpenApiReferenceObject").OpenApiReferenceObject>; addExtensions(mappings: Partial<{ [x: `x-${string}`]: import("./OpenApiReferenceObject").OpenApiReferenceObject | OpenApiSchema; }>): /*elided*/ any; toJSON(): unknown; }; } & typeof Root; export declare class Base extends _Base implements BaseInterface { } declare const _SchemaBase: { new (...args: any[]): { _default?: unknown; addDefault(val: unknown): /*elided*/ any; toJSON(): unknown; }; } & { new (...args: any[]): { _enum?: unknown[] | undefined; addEnums(val: unknown[]): /*elided*/ any; toJSON(): unknown; }; } & { new (...args: any[]): { _nullable?: boolean; addNullable(val: boolean): /*elided*/ any; toJSON(): unknown; }; } & { new (...args: any[]): { _writeOnly?: boolean; addWriteOnly(val: boolean): /*elided*/ any; toJSON(): unknown; }; } & { new (...args: any[]): { _readOnly?: boolean; addReadOnly(val: boolean): /*elided*/ any; toJSON(): unknown; }; } & { new (...args: any[]): { _examples?: Map<string, OpenApiExample | import("./OpenApiReferenceObject").OpenApiReferenceObject>; addExamples(mappings: Partial<{ [x: string]: OpenApiExample | import("./OpenApiReferenceObject").OpenApiReferenceObject; }>): /*elided*/ any; toJSON(): unknown; }; } & { new (...args: any[]): { _example?: any; addExample(val: any): /*elided*/ any; toJSON(): unknown; }; } & { new (...args: any[]): { _externalDocs?: OpenApiDocumentation; addExternalDocs(val: OpenApiDocumentation): /*elided*/ any; toJSON(): unknown; }; } & { new (...args: any[]): { _description?: string; addDescription(val: string): /*elided*/ any; toJSON(): unknown; }; } & typeof Base; export declare class SchemaBase<T> extends _SchemaBase implements SchemaInterface<T> { } export {};