UNPKG

okex-api

Version:

A modern, asynchronous, and easy-to-use [Okx API](https://www.okx.com/docs-v5) wrapper for Node.js/bun/Web Browser/Cloudflare workers.

52 lines (51 loc) 2.49 kB
import { APICredentials } from './utils'; import type { WsTradeOp, WsRequestOp, WsChannel, WsChannelSubUnSubRequestArg, WsEvent, WsTicker, WsTradeOpEvent, WsTradeRequest, WsOrderArg, WsCancelOrderArg, WsPosition, WsAccount, WsOrder } from './types'; interface WsEventMap { close: CloseEvent; error: ErrorEvent & WsApiEvent<WsEvent>; tickers: WsChannelEvent<WsTicker[]>; positions: WsChannelEvent<WsPosition[]>; orders: WsChannelEvent<WsOrder[]>; account: WsChannelEvent<WsAccount[]>; } type WsEventMapEx = WsEventMap & Record<WsRequestOp, WsApiEvent<WsEvent>> & Record<`${WsTradeOp}-${string}`, WsApiEvent<WsTradeOpEvent>> & Record<Exclude<WsChannel, keyof WsEventMap>, WsChannelEvent> & Record<string, Event>; declare class WsApiEvent<T> extends Event { data: T; constructor(type: string, data: T); } declare class WsChannelEvent<T = any[]> extends Event { arg: WsChannelSubUnSubRequestArg; data: T; constructor(type: string, arg: WsChannelSubUnSubRequestArg, data: T); } declare class WsApi extends EventTarget { private url; protected ws?: WebSocket; private shouldReconnect; constructor(url: string); addEventListener<K extends keyof WsEventMapEx>(type: K, listener: (ev: WsEventMapEx[K]) => void, options?: AddEventListenerOptions | boolean): void; connect(): void; close(): void; subscribe(wsEvents: WsChannelSubUnSubRequestArg[] | WsChannelSubUnSubRequestArg): Promise<void>; unsubscribe(wsEvents: WsChannelSubUnSubRequestArg[] | WsChannelSubUnSubRequestArg): Promise<void>; waitForReady(timeout?: number): Promise<unknown>; protected send(data: any): Promise<void>; } export declare class WsPublic extends WsApi { static create(baseURL?: string): WsPublic; constructor(baseURL?: string); } export declare class WsPrivate extends WsApi { private credentials; static create(apiKey: string, apiSecret: string, passphrase: string, baseURL?: string): Promise<WsPrivate>; private ready; constructor(credentials: APICredentials, baseURL?: string); connect(): void; waitForReady(timeout?: number): Promise<void>; sendTradeOp(op: WsTradeRequest<WsOrderArg | WsCancelOrderArg>): Promise<WsTradeOpEvent>; order(arg: WsOrderArg): Promise<WsTradeOpEvent>; batchOrder(args: WsOrderArg[]): Promise<WsTradeOpEvent>; cancelOrder(arg: WsCancelOrderArg): Promise<WsTradeOpEvent>; batchCancelOrder(args: WsCancelOrderArg[]): Promise<WsTradeOpEvent>; } export {};