diff --git a/jjve/jjve-tests.ts b/jjve/jjve-tests.ts new file mode 100644 index 000000000..4d5b3819e --- /dev/null +++ b/jjve/jjve-tests.ts @@ -0,0 +1,34 @@ +/// +/// + +import jjv = require('jjv'); +import jjve = require('jjve'); + +var env: jjv.Env = jjv(); +var je: jjve.Env = jjve(env); + +var schema = { + type: 'object', + properties: { + ok: { + type: 'boolean', + }, + }, +}; + +var data = { ok: 1 }; + +var result = env.validate(schema, data); + +if (result) { + var errors = je(schema, data, result); + console.log(JSON.stringify(errors, null, 4)); +} + +errors.forEach(error => + console.log( + 'code: %s, message: %s, data: %s, path: %s', + error.code, + error.message, + error.data, + error.path)); diff --git a/jjve/jjve.d.ts b/jjve/jjve.d.ts new file mode 100644 index 000000000..d55c33227 --- /dev/null +++ b/jjve/jjve.d.ts @@ -0,0 +1,26 @@ +// Type definitions for JJVE v0.4.0 +// Project: https://github.com/silas/jjve +// Definitions by: Wim Looman +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module 'jjve' { + import jjv = require('jjv'); + + function jjve(jjv: jjv.Env): jjve.Env; + module jjve { + interface Issue { + code: string; + message: string; + data: any; + path: string; + } + + interface Env { + (schema: Object, data: any, errors: jjv.Errors): Issue[]; + } + } + + export = jjve; +}