aboutsummaryrefslogtreecommitdiffstats
path: root/packages/connect/src/orderbook_channel_factory.ts
blob: cb00212e7aa5ad933d21ef65e5374d322773d071 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// import * as WebSocket from 'websocket';

import { BrowserWebSocketOrderbookChannel } from './browser_ws_orderbook_channel';
import { NodeWebSocketOrderbookChannel } from './node_ws_orderbook_channel';

export const orderbookChannelFactory = {
    async createBrowserOrderbookChannelAsync(url: string): Promise<BrowserWebSocketOrderbookChannel> {
        return new Promise<BrowserWebSocketOrderbookChannel>((resolve, reject) => {
            const client = new WebSocket(url);
            console.log(client);
            client.onopen = () => {
                const orderbookChannel = new BrowserWebSocketOrderbookChannel(client);
                console.log(orderbookChannel);
                resolve(orderbookChannel);
            };
            client.onerror = err => {
                reject(err);
            };
        });
    },
    // async createNodeOrderbookChannelAsync(url: string): Promise<NodeWebSocketOrderbookChannel> {
    //     return new Promise<BrowserWebSocketOrderbookChannel>((resolve, reject) => {
    //         const client = new WebSocket.w3cwebsocket(url);
    //         client.onopen = () => {
    //             const orderbookChannel = new BrowserWebSocketOrderbookChannel(client);
    //             resolve(orderbookChannel);
    //         };
    //         client.onerror = err => {
    //             reject(err);
    //         };
    //     });
    // },
};