UNPKG

metaapi.cloud-sdk

Version:

SDK for MetaApi, a professional cloud forex API which includes MetaTrader REST API and MetaTrader websocket API. Supports both MetaTrader 5 (MT5) and MetaTrader 4 (MT4). CopyFactory copy trading API included. (https://metaapi.cloud)

39 lines (34 loc) 1.12 kB
import {Constructor} from '../../../../types/util'; import type AsyncProcess from '../abstract/asyncProcess'; import AsyncProcessPool from '../abstract/asyncProcessPool'; import type RootProcess from './rootProcess'; import RootProcessContext from './rootProcessContext'; /** * @inheritdoc */ class RootProcessPool< Process extends RootProcess > extends AsyncProcessPool<MapProcessProvider<Process>, Process> { /** * Constructs instance * @param constructor process constructor * @param options additional options */ constructor(constructor: Constructor<Process>, options: AsyncProcessPool.Options<Process>) { super((poolContext, args) => { let context = new RootProcessContext(poolContext); return { context, args, process: new constructor(context) } as AsyncProcessPool.ConstructedProcess<any>; }, options); } } export default RootProcessPool; type MapProcessProvider< Process extends RootProcess > = ( context: AsyncProcessPool.Context, args: [...args: AsyncProcess.Arguments<Process>] ) => AsyncProcessPool.ConstructedProcess<Process>;