diff options
author | Brandon Millman <brandon.millman@gmail.com> | 2017-11-15 07:26:36 +0800 |
---|---|---|
committer | Brandon Millman <brandon.millman@gmail.com> | 2017-11-15 10:55:29 +0800 |
commit | 655b0636facc110e9192cc7c3190f4b16f212be9 (patch) | |
tree | 562109951a69321e6d8857798d4d5310248b71d7 /packages/connect/src/utils/type_converters.ts | |
parent | 5bd8e172c9415e9d8eca2d3893fe767684018351 (diff) | |
download | dexon-sol-tools-655b0636facc110e9192cc7c3190f4b16f212be9.tar dexon-sol-tools-655b0636facc110e9192cc7c3190f4b16f212be9.tar.gz dexon-sol-tools-655b0636facc110e9192cc7c3190f4b16f212be9.tar.bz2 dexon-sol-tools-655b0636facc110e9192cc7c3190f4b16f212be9.tar.lz dexon-sol-tools-655b0636facc110e9192cc7c3190f4b16f212be9.tar.xz dexon-sol-tools-655b0636facc110e9192cc7c3190f4b16f212be9.tar.zst dexon-sol-tools-655b0636facc110e9192cc7c3190f4b16f212be9.zip |
Add connect to monorepo
Diffstat (limited to 'packages/connect/src/utils/type_converters.ts')
-rw-r--r-- | packages/connect/src/utils/type_converters.ts | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/packages/connect/src/utils/type_converters.ts b/packages/connect/src/utils/type_converters.ts new file mode 100644 index 000000000..bf17a5629 --- /dev/null +++ b/packages/connect/src/utils/type_converters.ts @@ -0,0 +1,31 @@ +import * as _ from 'lodash'; +import {BigNumber} from 'bignumber.js'; + +// TODO: convert all of these to non-mutating, pure functions +export const typeConverters = { + convertOrderbookStringFieldsToBigNumber(orderbook: object): void { + _.each(orderbook, (orders: object[]) => { + _.each(orders, (order: object) => this.convertOrderStringFieldsToBigNumber(order)); + }); + }, + convertOrderStringFieldsToBigNumber(order: object): void { + this.convertStringsFieldsToBigNumbers(order, [ + 'makerTokenAmount', + 'takerTokenAmount', + 'makerFee', + 'takerFee', + 'expirationUnixTimestampSec', + 'salt', + ]); + }, + convertBigNumberFieldsToStrings(obj: object, fields: string[]): void { + _.each(fields, field => { + _.update(obj, field, (value: BigNumber) => value.toString()); + }); + }, + convertStringsFieldsToBigNumbers(obj: object, fields: string[]): void { + _.each(fields, field => { + _.update(obj, field, (value: string) => new BigNumber(value)); + }); + }, +}; |