Merge pull request #581 from clark800/binary-codec

Decouple UInt from non-serialization code
This commit is contained in:
Chris Clark
2015-10-05 16:39:17 -07:00
15 changed files with 217 additions and 158 deletions

View File

@@ -4,21 +4,11 @@
const _ = require('lodash');
const assert = require('assert');
const validator = require('is-my-json-valid');
const core = require('./utils').core;
const ValidationError = require('./errors').ValidationError;
const {isValidAddress} = require('ripple-address-codec');
let SCHEMAS = {};
function isValidAddress(address: string): boolean {
return typeof address === 'string' && address.length > 0 &&
address[0] === 'r' &&
core.UInt160.is_valid(address);
}
function isValidLedgerHash(ledgerHash) {
return core.UInt256.is_valid(ledgerHash);
}
function loadSchemas() {
// listed explicitly for webpack (instead of scanning schemas directory)
const schemas = [
@@ -102,8 +92,7 @@ function formatSchemaErrors(errors) {
}
function schemaValidate(schemaName: string, object: any): void {
const formats = {address: isValidAddress,
ledgerHash: isValidLedgerHash};
const formats = {address: isValidAddress};
const options = {schemas: SCHEMAS, formats: formats,
verbose: true, greedy: true};
const schema = SCHEMAS[schemaName];