| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- import {Optional} from './types.js';
- import {Service, ServiceContainer} from '@e22m4u/js-service';
- import {OADocumentScope, OADocumentScopeOptions} from './oa-document-scope.js';
- import {
- OALinkObject,
- OASchemaObject,
- OAHeaderObject,
- OAExampleObject,
- OADocumentObject,
- OACallbackObject,
- OAResponseObject,
- OAPathItemObject,
- OAOperationMethod,
- OAOperationObject,
- OAReferenceObject,
- OAParameterObject,
- OARequestBodyObject,
- OASecuritySchemeObject,
- } from './document-specification.js';
- /**
- * Document input.
- */
- export type OADocumentInput = Optional<OADocumentObject, 'openapi' | 'info'>;
- /**
- * Schema component definition.
- */
- export type OASchemaComponentDefinition = {
- name: string;
- schema: OASchemaObject;
- };
- /**
- * Response component definition.
- */
- export type OAResponseComponentDefinition = {
- name: string;
- response: OAResponseObject | OAReferenceObject;
- };
- /**
- * Parameter component definition.
- */
- export type OAParameterComponentDefinition = {
- name: string;
- parameter: OAParameterObject | OAReferenceObject;
- };
- /**
- * Example component definition.
- */
- export type OAExampleComponentDefinition = {
- name: string;
- example: OAExampleObject | OAReferenceObject;
- };
- /**
- * Request body component definition.
- */
- export type OARequestBodyComponentDefinition = {
- name: string;
- requestBody: OARequestBodyObject | OAReferenceObject;
- };
- /**
- * Header component definition.
- */
- export type OAHeaderComponentDefinition = {
- name: string;
- header: OAHeaderObject | OAReferenceObject;
- };
- /**
- * Security scheme component definition.
- */
- export type OASecuritySchemeComponentDefinition = {
- name: string;
- securityScheme: OASecuritySchemeObject | OAReferenceObject;
- };
- /**
- * Link component definition.
- */
- export type OALinkComponentDefinition = {
- name: string;
- link: OALinkObject | OAReferenceObject;
- };
- /**
- * Callback component definition.
- */
- export type OACallbackComponentDefinition = {
- name: string;
- callback: OACallbackObject | OAReferenceObject;
- };
- /**
- * Path item component definition.
- */
- export type OAPathItemComponentDefinition = {
- name: string;
- pathItem: OAPathItemObject | OAReferenceObject;
- };
- /**
- * Operation definition.
- */
- export type OAOperationDefinition = {
- path: string;
- method: OAOperationMethod;
- operation: OAOperationObject;
- };
- /**
- * Document builder.
- */
- export declare class OADocumentBuilder extends Service {
- /**
- * Constructor.
- *
- * @param container
- * @param document
- */
- constructor(container: ServiceContainer, document?: OADocumentInput);
- /**
- * Constructor.
- *
- * @param document
- */
- constructor(document?: OADocumentInput);
- /**
- * Constructor.
- *
- * @param containerOrDocument
- * @param document
- */
- constructor(
- containerOrDocument?: ServiceContainer | OADocumentInput,
- document?: OADocumentInput,
- );
- /**
- * Define schema component.
- *
- * @param schemaDef
- */
- defineSchemaComponent(schemaDef: OASchemaComponentDefinition): this;
- /**
- * Define response component.
- *
- * @param responseDef
- */
- defineResponseComponent(responseDef: OAResponseComponentDefinition): this;
- /**
- * Define parameter component.
- *
- * @param parameterDef
- */
- defineParameterComponent(parameterDef: OAParameterComponentDefinition): this;
- /**
- * Define example component.
- *
- * @param exampleDef
- */
- defineExampleComponent(exampleDef: OAExampleComponentDefinition): this;
- /**
- * Define request body component.
- *
- * @param requestBodyDef
- */
- defineRequestBodyComponent(
- requestBodyDef: OARequestBodyComponentDefinition,
- ): this;
- /**
- * Define header component.
- *
- * @param headerDef
- */
- defineHeaderComponent(headerDef: OAHeaderComponentDefinition): this;
- /**
- * Define security scheme component.
- *
- * @param securitySchemeDef
- */
- defineSecuritySchemeComponent(
- securitySchemeDef: OASecuritySchemeComponentDefinition,
- ): this;
- /**
- * Define link component.
- *
- * @param linkDef
- */
- defineLinkComponent(linkDef: OALinkComponentDefinition): this;
- /**
- * Define callback component.
- *
- * @param callbackDef
- */
- defineCallbackComponent(callbackDef: OACallbackComponentDefinition): this;
- /**
- * Define path item component.
- *
- * @param pathItemDef
- */
- definePathItemComponent(pathItemDef: OAPathItemComponentDefinition): this;
- /**
- * Define operation.
- *
- * @param operationDef
- */
- defineOperation(operationDef: OAOperationDefinition): this;
- /**
- * Create scope.
- *
- * @param options
- */
- createScope(options?: OADocumentScopeOptions): OADocumentScope;
- /**
- * Build.
- */
- build(): OADocumentObject;
- }
|