@opra/common
Version:
Opra common package
65 lines (64 loc) • 3.05 kB
TypeScript
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>;
}