UNPKG

@opra/common

Version:
41 lines (40 loc) 1.67 kB
import type { Type } from 'ts-gems'; import { OpraSchema } from '../../schema/index.js'; import { DocumentInitContext } from '../common/document-init-context.js'; import { MQApi } from '../mq/mq-api.js'; import { MQController } from '../mq/mq-controller.js'; import { MQOperation } from '../mq/mq-operation.js'; import { MQOperationResponse } from '../mq/mq-operation-response.js'; export declare namespace MQApiFactory { interface InitArguments extends MQApi.InitArguments { controllers: Type[] | any[] | ((parent: any) => any) | OpraSchema.MQApi['controllers']; } } /** * @class MQApiFactory */ export declare class MQApiFactory { /** * Generates MQApi * @param context * @param init */ static createApi(context: DocumentInitContext, init: MQApiFactory.InitArguments): Promise<MQApi>; protected static _createController(context: DocumentInitContext, parent: MQApi, thunk: Type | object | Function | OpraSchema.MQController, name?: string): Promise<MQController | undefined | void>; /** * Initializes MQOperation * @param context * @param operation * @param metadata * @protected */ protected static _initMQOperation(context: DocumentInitContext, operation: MQOperation, metadata: MQOperation.Metadata | OpraSchema.MQOperation): Promise<void>; /** * Initializes MQOperationResponse * @param context * @param response * @param metadata * @protected */ protected static _initMQOperationResponse(context: DocumentInitContext, response: MQOperationResponse, metadata: MQOperationResponse.Metadata | OpraSchema.MQOperationResponse): Promise<void>; }