diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-10-05 21:32:01 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-10-05 21:32:01 +0800 |
commit | 1414b8ee8bdb1be901371c4cf7b8a5150d8fb771 (patch) | |
tree | 1b46e817c23ecb26fed8d16e147fe4cb2f007883 /src | |
parent | 209c31f361743bd511e6bb2c494ceeb02e52a7d9 (diff) | |
download | dexon-sol-tools-1414b8ee8bdb1be901371c4cf7b8a5150d8fb771.tar dexon-sol-tools-1414b8ee8bdb1be901371c4cf7b8a5150d8fb771.tar.gz dexon-sol-tools-1414b8ee8bdb1be901371c4cf7b8a5150d8fb771.tar.bz2 dexon-sol-tools-1414b8ee8bdb1be901371c4cf7b8a5150d8fb771.tar.lz dexon-sol-tools-1414b8ee8bdb1be901371c4cf7b8a5150d8fb771.tar.xz dexon-sol-tools-1414b8ee8bdb1be901371c4cf7b8a5150d8fb771.tar.zst dexon-sol-tools-1414b8ee8bdb1be901371c4cf7b8a5150d8fb771.zip |
Add type assertions for callback parameters
Diffstat (limited to 'src')
-rw-r--r-- | src/contract_wrappers/exchange_wrapper.ts | 1 | ||||
-rw-r--r-- | src/contract_wrappers/token_wrapper.ts | 1 | ||||
-rw-r--r-- | src/utils/assert.ts | 3 |
3 files changed, 5 insertions, 0 deletions
diff --git a/src/contract_wrappers/exchange_wrapper.ts b/src/contract_wrappers/exchange_wrapper.ts index 0eb600ff6..b2e48b36e 100644 --- a/src/contract_wrappers/exchange_wrapper.ts +++ b/src/contract_wrappers/exchange_wrapper.ts @@ -630,6 +630,7 @@ export class ExchangeWrapper extends ContractWrapper { callback: EventCallback): Promise<string> { assert.doesBelongToStringEnum('eventName', eventName, ExchangeEvents); assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); const exchangeContractAddress = await this.getContractAddressAsync(); const subscriptionToken = this._subscribe( exchangeContractAddress, eventName, indexFilterValues, artifacts.ExchangeArtifact.abi, callback, diff --git a/src/contract_wrappers/token_wrapper.ts b/src/contract_wrappers/token_wrapper.ts index 05852742a..ee49e8539 100644 --- a/src/contract_wrappers/token_wrapper.ts +++ b/src/contract_wrappers/token_wrapper.ts @@ -258,6 +258,7 @@ export class TokenWrapper extends ContractWrapper { assert.isETHAddressHex('tokenAddress', tokenAddress); assert.doesBelongToStringEnum('eventName', eventName, TokenEvents); assert.doesConformToSchema('indexFilterValues', indexFilterValues, schemas.indexFilterValuesSchema); + assert.isFunction('callback', callback); const subscriptionToken = this._subscribe( tokenAddress, eventName, indexFilterValues, artifacts.TokenArtifact.abi, callback, ); diff --git a/src/utils/assert.ts b/src/utils/assert.ts index eb084129c..0b7a11939 100644 --- a/src/utils/assert.ts +++ b/src/utils/assert.ts @@ -17,6 +17,9 @@ export const assert = { isString(variableName: string, value: string): void { this.assert(_.isString(value), this.typeAssertionMessage(variableName, 'string', value)); }, + isFunction(variableName: string, value: any): void { + this.assert(_.isFunction(value), this.typeAssertionMessage(variableName, 'function', value)); + }, isHexString(variableName: string, value: string): void { this.assert(_.isString(value) && HEX_REGEX.test(value), this.typeAssertionMessage(variableName, 'HexString', value)); |