From 3fff40427e0a47337b33a9ae5ac064f3ecc5c194 Mon Sep 17 00:00:00 2001 From: Bart van der Schoor Date: Mon, 27 Jan 2014 02:25:04 +0100 Subject: [PATCH] Created definitions for 'tv4' https://github.com/geraintluff/tv4 --- README.md | 1 + tv4/tv4-tests.ts | 43 +++++++++++++++++++++++++++++++++++++++++++ tv4/tv4.d.ts | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 tv4/tv4-tests.ts create mode 100644 tv4/tv4.d.ts diff --git a/README.md b/README.md index 8183ef1c4..4048c327d 100755 --- a/README.md +++ b/README.md @@ -235,6 +235,7 @@ List of Definitions * [Sugar](http://sugarjs.com/) (by [Josh Baldwin](https://github.com/jbaldwin/)) * [Swiper](http://www.idangero.us/sliders/swiper) (by [Sebastián Galiano](https://github.com/sgaliano)) * [SwipeView](http://cubiq.org/swipeview) (by [Boris Yankov](https://github.com/borisyankov)) +* [TV4](https://github.com/geraintluff/tv4) (by [Bart van der Schoor](https://github.com/Bartvds)) * [Tags Manager](http://welldonethings.com/tags/manager) (by [Vincent Bortone](https://github.com/vbortone)) * [Teechart](http://www.steema.com) (by [Steema](http://www.steema.com)) * [three.js](http://mrdoob.github.com/three.js/) (by [Kon](http://phyzkit.net/)) diff --git a/tv4/tv4-tests.ts b/tv4/tv4-tests.ts new file mode 100644 index 000000000..2768d9f5f --- /dev/null +++ b/tv4/tv4-tests.ts @@ -0,0 +1,43 @@ +/// + +var str:string; +var strArr:string[]; +var bool:boolean; +var num:number; +var obj:any; +var tv4:TV4; +var err:TV4Error; +var errs:TV4Error[]; +var single:TV4SingleResult; +var multi:TV4MultiResult; + +single = tv4.validateResult(obj, obj); +bool = single.valid; +strArr = single.missing; +err = single.error; + +num = err.code; +str = err.message; +str = err.dataPath; +str = err.schemaPath; + +multi = tv4.validateMultiple(obj, obj); +bool = multi.valid; +strArr = multi.missing; +errs = multi.errors; + +bool = tv4.addSchema(str, obj); +obj = tv4.getSchema(str); +obj = tv4.normSchema(str, str); +str = tv4.resolveUrl(str, str); + +tv4 = tv4.freshApi(); +tv4.dropSchemas(); +tv4.reset(); + +strArr = tv4.getMissingUris(/abc/); +strArr = tv4.getSchemaUris(/abc/); +obj = tv4.getSchemaMap()[str]; +num = tv4.errorCodes['bla']; + +num = tv4.errorCodes['MY_NAME']; diff --git a/tv4/tv4.d.ts b/tv4/tv4.d.ts new file mode 100644 index 000000000..702d3c3bc --- /dev/null +++ b/tv4/tv4.d.ts @@ -0,0 +1,47 @@ +// Type definitions for Tiny Validator tv4 1.0.6 +// Project: https://github.com/geraintluff/tv4 +// Definitions by: Bart van der Schoor +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +interface TV4ErrorCodes { + [key:string]:number; +} +interface TV4Error { + code:number; + message:string; + dataPath:string; + schemaPath:string; +} +interface TV4SchemaMap { + [uri:string]:any; +} +interface TV4BaseResult { + missing:string[]; + valid:boolean; +} +interface TV4SingleResult extends TV4BaseResult { + error:TV4Error; +} +interface TV4MultiResult extends TV4BaseResult { + errors:TV4Error[]; +} +interface TV4 { + validateResult(data:any, schema:any):TV4SingleResult; + validateMultiple(data:any, schema:any):TV4MultiResult; + + addSchema(uri:string, schema:any):boolean; + getSchema(uri:string):any; + normSchema(schema:any, baseUri:string):any; + resolveUrl(base:string, href:string):string; + freshApi():TV4; + dropSchemas():void; + reset():void; + + getMissingUris(exp?:RegExp):string[]; + getSchemaUris(exp?:RegExp):string[]; + getSchemaMap():TV4SchemaMap; + errorCodes:TV4ErrorCodes; +} +declare module "tv4" { +export = TV4; +}