aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-02-21 03:39:36 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2018-02-21 03:39:36 +0800
commit7b67afae06c93290e6d8c4a4f0de2435f31ae714 (patch)
treea097adbdae48b52ccb2cc1a7445ef3e622fd0c1b
parentfe9e319a6136d4be4fa94287ad709a127c548750 (diff)
downloaddexon-0x-contracts-7b67afae06c93290e6d8c4a4f0de2435f31ae714.tar.gz
dexon-0x-contracts-7b67afae06c93290e6d8c4a4f0de2435f31ae714.tar.zst
dexon-0x-contracts-7b67afae06c93290e6d8c4a4f0de2435f31ae714.zip
Change assert.doesConformToShema interface
-rw-r--r--packages/0x.js/src/0x.ts8
-rw-r--r--packages/assert/src/index.ts8
2 files changed, 8 insertions, 8 deletions
diff --git a/packages/0x.js/src/0x.ts b/packages/0x.js/src/0x.ts
index d024e6097..c578478d8 100644
--- a/packages/0x.js/src/0x.ts
+++ b/packages/0x.js/src/0x.ts
@@ -22,9 +22,6 @@ import { decorators } from './utils/decorators';
import { signatureUtils } from './utils/signature_utils';
import { utils } from './utils/utils';
-assert.schemaValidator.addSchema(zeroExPrivateNetworkConfigSchema);
-assert.schemaValidator.addSchema(zeroExPublicNetworkConfigSchema);
-
/**
* The ZeroEx class is the single entry-point into the 0x.js library. It contains all of the library's functionality
* and all calls to the library should be made through a ZeroEx instance.
@@ -168,7 +165,10 @@ export class ZeroEx {
*/
constructor(provider: Web3Provider, config: ZeroExConfig) {
assert.isWeb3Provider('provider', provider);
- assert.doesConformToSchema('config', config, zeroExConfigSchema);
+ assert.doesConformToSchema('config', config, zeroExConfigSchema, [
+ zeroExPrivateNetworkConfigSchema,
+ zeroExPublicNetworkConfigSchema,
+ ]);
const artifactJSONs = _.values(artifacts);
const abiArrays = _.map(artifactJSONs, artifact => artifact.abi);
this._abiDecoder = new AbiDecoder(abiArrays);
diff --git a/packages/assert/src/index.ts b/packages/assert/src/index.ts
index 383cc2c42..71f2cbeb2 100644
--- a/packages/assert/src/index.ts
+++ b/packages/assert/src/index.ts
@@ -4,10 +4,8 @@ import * as _ from 'lodash';
import * as validUrl from 'valid-url';
const HEX_REGEX = /^0x[0-9A-F]*$/i;
-const schemaValidator = new SchemaValidator();
export const assert = {
- schemaValidator,
isBigNumber(variableName: string, value: BigNumber): void {
const isBigNumber = _.isObject(value) && (value as any).isBigNumber;
this.assert(isBigNumber, this.typeAssertionMessage(variableName, 'BigNumber', value));
@@ -68,8 +66,10 @@ export const assert = {
const isWeb3Provider = _.isFunction(value.send) || _.isFunction(value.sendAsync);
this.assert(isWeb3Provider, this.typeAssertionMessage(variableName, 'Web3.Provider', value));
},
- doesConformToSchema(variableName: string, value: any, schema: Schema): void {
- const validationResult = this.schemaValidator.validate(value, schema);
+ doesConformToSchema(variableName: string, value: any, schema: Schema, subSchemas?: Schema[]): void {
+ const schemaValidator = new SchemaValidator();
+ _.map(subSchemas, schemaValidator.addSchema.bind(schemaValidator));
+ const validationResult = schemaValidator.validate(value, schema);
const hasValidationErrors = validationResult.errors.length > 0;
const msg = `Expected ${variableName} to conform to schema ${schema.id}
Encountered: ${JSON.stringify(value, null, '\t')}