@opra/common
Version:
Opra common package
32 lines (31 loc) • 1.26 kB
TypeScript
import type { Type } from 'ts-gems';
import { OpraSchema } from '../../schema/index.js';
import { DocumentInitContext } from '../common/document-init-context.js';
import { WSApi } from '../ws/ws-api.js';
import { WSController } from '../ws/ws-controller.js';
import { WSOperation } from '../ws/ws-operation.js';
export declare namespace WSApiFactory {
interface InitArguments extends WSApi.InitArguments {
controllers: Type[] | any[] | ((parent: any) => any) | OpraSchema.WSApi['controllers'];
}
}
/**
* @class WSApiFactory
*/
export declare class WSApiFactory {
/**
* Generates MQApi
* @param context
* @param init
*/
static createApi(context: DocumentInitContext, init: WSApiFactory.InitArguments): Promise<WSApi>;
protected static _createController(context: DocumentInitContext, parent: WSApi, thunk: Type | object | Function | OpraSchema.WSController, name?: string): Promise<WSController | undefined | void>;
/**
* Initializes WSOperation
* @param context
* @param operation
* @param metadata
* @protected
*/
protected static _initWSOperation(context: DocumentInitContext, operation: WSOperation, metadata: WSOperation.Metadata | OpraSchema.WSOperation): Promise<void>;
}