openapi-metadata
Version:
Auto-Generate OpenAPI specifications from Typescript decorators
72 lines (65 loc) • 4.11 kB
TypeScript
import { OpenAPIV3 } from 'openapi-types';
import { c as TypeOptions, H as HttpMethods } from './openapi-metadata.D34x6L94.js';
import { SetOptional } from 'type-fest';
type OperationBodyMetadata = Omit<OpenAPIV3.RequestBodyObject, "content"> & {
mediaType: string;
} & TypeOptions;
declare const OperationBodyMetadataKey: unique symbol;
declare const OperationBodyMetadataStorage: {
defineMetadata: (object: Object, metadata: OperationBodyMetadata, propertyKey?: string | symbol) => void;
getMetadata: (object: Object, propertyKey?: string | symbol, withParent?: boolean) => OperationBodyMetadata;
mergeMetadata: (object: Object, metadata: OperationBodyMetadata, propertyKey?: string | symbol) => OperationBodyMetadata;
};
type OperationParameterMetadata = Omit<OpenAPIV3.ParameterObject, "in" | "schema"> & {
name: string;
in: "path" | "query" | "header" | "cookie";
} & Partial<TypeOptions>;
declare const OperationParameterMetadataKey: unique symbol;
declare const OperationParameterMetadataStorage: {
defineMetadata: (object: Object, metadata: OperationParameterMetadata[], propertyKey?: string | symbol) => void;
getMetadata: (object: Object, propertyKey?: string | symbol, withParent?: boolean) => OperationParameterMetadata[];
mergeMetadata: (object: Object, metadata: OperationParameterMetadata[], propertyKey?: string | symbol) => OperationParameterMetadata[];
};
type OperationResponseMetadata = Omit<SetOptional<OpenAPIV3.ResponseObject, "description">, "content"> & {
status: number | "default";
mediaType: string;
} & TypeOptions;
declare const OperationResponseMetadataKey: unique symbol;
declare const OperationResponseMetadataStorage: {
defineMetadata: (object: Object, metadata: Record<string, OperationResponseMetadata>, propertyKey?: string | symbol) => void;
getMetadata: (object: Object, propertyKey?: string | symbol, withParent?: boolean) => Record<string, OperationResponseMetadata>;
mergeMetadata: (object: Object, metadata: Record<string, OperationResponseMetadata>, propertyKey?: string | symbol) => Record<string, OperationResponseMetadata>;
};
type OperationMetadata = Omit<OpenAPIV3.OperationObject, "responses" | "parameters"> & {
/**
* Operation path.
* Can include parameters.
*/
path?: string;
/**
* Available methods for this operation.
*/
methods?: HttpMethods[];
/**
* Represents metadata about an operation parameter.
*/
parameters?: OperationParameterMetadata[];
};
declare const OperationMetadataKey: unique symbol;
declare const OperationMetadataStorage: {
defineMetadata: (object: Object, metadata: OperationMetadata, propertyKey?: string | symbol) => void;
getMetadata: (object: Object, propertyKey?: string | symbol, withParent?: boolean) => OperationMetadata;
mergeMetadata: (object: Object, metadata: OperationMetadata, propertyKey?: string | symbol) => OperationMetadata;
};
type PropertyMetadata = Omit<OpenAPIV3.NonArraySchemaObject, "type" | "enum" | "properties" | "required"> & {
name: string;
required: boolean;
} & TypeOptions;
declare const PropertyMetadataKey: unique symbol;
declare const PropertyMetadataStorage: {
defineMetadata: (object: Object, metadata: Record<string, PropertyMetadata>, propertyKey?: string | symbol) => void;
getMetadata: (object: Object, propertyKey?: string | symbol, withParent?: boolean) => Record<string, PropertyMetadata>;
mergeMetadata: (object: Object, metadata: Record<string, PropertyMetadata>, propertyKey?: string | symbol) => Record<string, PropertyMetadata>;
};
export { OperationBodyMetadataKey as d, OperationBodyMetadataStorage as e, OperationParameterMetadataKey as f, OperationParameterMetadataStorage as g, OperationResponseMetadataKey as h, OperationResponseMetadataStorage as i, OperationMetadataKey as j, OperationMetadataStorage as k, PropertyMetadataKey as l, PropertyMetadataStorage as m };
export type { OperationBodyMetadata as O, PropertyMetadata as P, OperationParameterMetadata as a, OperationMetadata as b, OperationResponseMetadata as c };