UNPKG

@opra/common

Version:
65 lines (64 loc) 3.05 kB
import type { Type } from 'ts-gems'; import { OpraSchema } from '../../schema/index.js'; import { DocumentInitContext } from '../common/document-init-context.js'; import { HttpApi } from '../http/http-api.js'; import { HttpController } from '../http/http-controller.js'; import { HttpMediaType } from '../http/http-media-type.js'; import { HttpOperation } from '../http/http-operation.js'; import { HttpOperationResponse } from '../http/http-operation-response.js'; import { HttpRequestBody } from '../http/http-request-body.js'; export declare namespace HttpApiFactory { interface InitArguments extends HttpApi.InitArguments { controllers: Type[] | any[] | ((parent: any) => any) | OpraSchema.HttpApi['controllers']; } } /** * @class HttpApiFactory */ export declare class HttpApiFactory { /** * Generates HttpApi * @param context * @param init */ static createApi(context: DocumentInitContext, init: HttpApiFactory.InitArguments): Promise<HttpApi>; protected static _createControllers(context: DocumentInitContext, parent: HttpApi | HttpController, controllers: Type[] | any[] | ((parent: any) => any) | OpraSchema.HttpApi['controllers']): Promise<void>; protected static _resolveControllerMetadata(context: DocumentInitContext, parent: HttpApi | HttpController, thunk: Type | object | Function | OpraSchema.HttpController): Promise<{ metadata: HttpController.Metadata | OpraSchema.HttpController; instance: any; ctor: Type; } | undefined | void>; protected static _createController(context: DocumentInitContext, parent: HttpApi | HttpController, metadata: HttpController.Metadata | OpraSchema.HttpController, instance: any, ctor: Type): Promise<HttpController | undefined | void>; /** * Initializes HttpOperation * @param context * @param operation * @param metadata * @protected */ protected static _initHttpOperation(context: DocumentInitContext, operation: HttpOperation, metadata: HttpOperation.Metadata | OpraSchema.HttpOperation): Promise<HttpOperation>; /** * Initializes HttpMediaType * @param context * @param target * @param metadata * @protected */ protected static _initHttpMediaType(context: DocumentInitContext, target: HttpMediaType, metadata: HttpMediaType.Metadata | OpraSchema.HttpMediaType): Promise<void>; /** * Initializes HttpOperationResponse * @param context * @param target * @param metadata * @protected */ protected static _initHttpOperationResponse(context: DocumentInitContext, target: HttpOperationResponse, metadata: HttpOperationResponse.Metadata | OpraSchema.HttpOperationResponse): Promise<void>; /** * Initializes HttpRequestBody * @param context * @param target * @param metadata * @protected */ protected static _initHttpRequestBody(context: DocumentInitContext, target: HttpRequestBody, metadata: HttpRequestBody.Metadata | OpraSchema.HttpRequestBody): Promise<void>; }