@bcswaper/apis
Version:
bcswaper apis
1 lines • 1.53 kB
JavaScript
import{SubTypes}from"./context";export class AbstractClient{constructor(e){this.running=!1,this.clientCallBackFuncs={},this.clientCandleMap=new Map,this.symbol=e.symbol,this.ccy=e.ccy}async initialize(){this.running=!0}subscribe(e,t){switch(e){case SubTypes.Account:this.clientCallBackFuncs.accountFunc=t;break;case SubTypes.Position:this.clientCallBackFuncs.positionFunc=t;break;case SubTypes.Order:this.clientCallBackFuncs.orderFunc=t;break;case SubTypes.Deal:this.clientCallBackFuncs.fillFunc=t;break;case SubTypes.Tick:this.clientCallBackFuncs.tickFunc=t;break;case SubTypes.Orderbook:this.clientCallBackFuncs.orderBookFunc=t;break;case SubTypes.Trades:this.clientCallBackFuncs.tradesFunc=t;break;default:console.error("error subscribing: ",e)}}subscribeCandle(e,t){this.clientCallBackFuncs.candleFunc=t,this.clientCandleMap.set(e,1)}destroy(){this.running=!1}}export var ClientSettings;!function(e){e[e.MaxFills=200]="MaxFills",e[e.OrderbookLength=20]="OrderbookLength",e[e.GTT=300]="GTT",e[e.ListLenths=120]="ListLenths",e[e.GoodTillTime=2419200]="GoodTillTime",e[e.OrderInterval=1]="OrderInterval",e[e.OrderInterval2=2]="OrderInterval2"}(ClientSettings||(ClientSettings={}));export const isoToEpochSeconds=e=>{const t=new Date(e);return Math.floor(t.getTime()/1e3)};export const isObjectEmpty=e=>null==e||0===Object.keys(e).length;export const conlog=async(...e)=>{const t=(new Date).toISOString();console.log(`[${t}]::`,...e)};export const conerr=async(...e)=>{const t=(new Date).toISOString();console.error(`[${t}]::`,...e)};