Added z-schema project

This commit is contained in:
Adam Meadows 2015-11-16 04:24:42 -08:00
parent faeb4da92d
commit 363e73e7ef
2 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,34 @@
/// <reference path="z-schema.d.ts" />
import ZSchema = require('z-schema');
var options: ZSchema.Options = {
noTypeless: true,
forceItems: true,
};
var validator: ZSchema.Validator = new ZSchema(options);
var json: any = {
foo: 'bar',
};
var schema: any = {
'type': 'object',
properties: {
foo: {
'type': 'string',
},
},
};
validator.validate(json, schema);
validator.validate(json, schema, function (err: any, valid: boolean) {
if (err) {
console.log(err);
} else {
console.log('valid = ' + valid);
}
});
var error: ZSchema.SchemaError = validator.getLastError();
var errors: ZSchema.SchemaError[] = validator.getLastErrors();

62
z-schema/z-schema.d.ts vendored Normal file
View File

@ -0,0 +1,62 @@
// Type definitions for z-schema v3.16.0
// Project: https://github.com/zaggino/z-schema
// Definitions by: Adam Meadows <https://github.com/job13er>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare module ZSchema {
export interface Options {
asyncTimeout?: number;
forceAdditional?: boolean;
assumeAdditional?: boolean;
forceItems?: boolean;
forceMinItems?: boolean;
forceMaxItems?: boolean;
forceMinLength?: boolean;
forceMaxLength?: boolean;
forceProperties?: boolean;
ignoreUnresolvableReferences?: boolean;
noExtraKeywords?: boolean;
noTypeless?: boolean;
noEmptyStrings?: boolean;
noEmptyArrays?: boolean;
strictUris?: boolean;
strictMode?: boolean;
reportPathAsArray?: boolean;
breakOnFirstError?: boolean;
pedanticCheck?: boolean;
ignoreUnknownFormats?: boolean;
}
export interface SchemaError {
code: string;
description: string;
message: string;
params: string[];
path: string;
}
export class Validator {
constructor(options: Options);
/**
* @param json - either a JSON string or a parsed JSON object
* @param schema - the JSON object representing the schema
* @returns true if json matches schema
*/
validate(json: any, schema: any): boolean;
/**
* @param json - either a JSON string or a parsed JSON object
* @param schema - the JSON object representing the schema
*/
validate(json: any, schema: any, callback: (err: any, valid: boolean) => void): void;
getLastError(): SchemaError;
getLastErrors(): SchemaError[];
}
}
declare module "z-schema" {
export = ZSchema.Validator;
}