aboutsummaryrefslogtreecommitdiffstats
path: root/packages/connect/src/utils/type_converters.ts
blob: b262a516b2c17cf5e742f91632faf84b8f9e89f4 (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
import { orderParsingUtils } from '@0x/order-utils';
import * as _ from 'lodash';

import { APIOrder } from '@0x/types';

export const typeConverters = {
    convertOrderbookStringFieldsToBigNumber(orderbook: any): any {
        const bids = _.get(orderbook, 'bids', []);
        const asks = _.get(orderbook, 'asks', []);
        const convertedBids = {
            ...bids,
            records: bids.records.map((order: any) => typeConverters.convertAPIOrderStringFieldsToBigNumber(order)),
        };
        const convertedAsks = {
            ...asks,
            records: asks.records.map((order: any) => typeConverters.convertAPIOrderStringFieldsToBigNumber(order)),
        };
        return {
            bids: convertedBids,
            asks: convertedAsks,
        };
    },
    convertAPIOrderStringFieldsToBigNumber(apiOrder: any): APIOrder {
        return { ...apiOrder, order: orderParsingUtils.convertOrderStringFieldsToBigNumber(apiOrder.order) };
    },
};