fluid-oas
Version:
Build declarative OpenApiv3.* specifications.
127 lines (126 loc) • 4.03 kB
TypeScript
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 {};