diff options
Diffstat (limited to 'packages/assert')
-rw-r--r-- | packages/assert/CHANGELOG.md | 3 | ||||
-rw-r--r-- | packages/assert/src/index.ts | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/packages/assert/CHANGELOG.md b/packages/assert/CHANGELOG.md index fff014811..6721c4cb6 100644 --- a/packages/assert/CHANGELOG.md +++ b/packages/assert/CHANGELOG.md @@ -1,8 +1,9 @@ # CHANGELOG -## v0.1.XX - TBD +## v0.1.0 - _TBD, 2018_ * Remove isETHAddressHex checksum address check and assume address will be lowercased (#373) + * Add an optional parameter `subSchemas` to `doesConformToSchema` method (#385) ## v0.0.18 - _February 9, 2017_ diff --git a/packages/assert/src/index.ts b/packages/assert/src/index.ts index a9d553487..40d083cb6 100644 --- a/packages/assert/src/index.ts +++ b/packages/assert/src/index.ts @@ -63,8 +63,11 @@ 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 { + doesConformToSchema(variableName: string, value: any, schema: Schema, subSchemas?: Schema[]): void { const schemaValidator = new SchemaValidator(); + if (!_.isUndefined(subSchemas)) { + _.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} |