aboutsummaryrefslogtreecommitdiffstats
path: root/src/ts/utils/assert.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/ts/utils/assert.ts')
-rw-r--r--src/ts/utils/assert.ts6
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));