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