diff options
Diffstat (limited to 'src/ts/utils/assert.ts')
-rw-r--r-- | src/ts/utils/assert.ts | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ts/utils/assert.ts b/src/ts/utils/assert.ts index a29ae922d..602361233 100644 --- a/src/ts/utils/assert.ts +++ b/src/ts/utils/assert.ts @@ -2,6 +2,8 @@ import * as _ from 'lodash'; import * as BigNumber from 'bignumber.js'; import Web3 = require('web3'); +const HEX_REGEX = /^0x([0-9A-F]{2})*$/i; + export const assert = { isBigNumber(variableName: string, value: BigNumber.BigNumber) { const isBigNumber = _.isObject(value) && value.isBigNumber; @@ -10,6 +12,10 @@ export const assert = { isString(variableName: string, value: string) { this.assert(_.isString(value), this.typeAssertionMessage(variableName, 'string', value)); }, + isHexString(variableName: string, value: string) { + this.assert(_.isString(value) && HEX_REGEX.test(value), + this.typeAssertionMessage(variableName, 'HexString', value)); + }, isETHAddressHex(variableName: string, value: ETHAddressHex) { const web3 = new Web3(); this.assert(web3.isAddress(value), this.typeAssertionMessage(variableName, 'ETHAddressHex', value)); |