check-more-types
Advanced tools
Comparing version 0.9.0 to 0.9.2
{ | ||
"name": "check-more-types", | ||
"main": "check-more-types.js", | ||
"version": "0.9.0", | ||
"version": "0.9.2", | ||
"homepage": "https://github.com/kensho/check-more-types", | ||
@@ -6,0 +6,0 @@ "license": "MIT", |
[![NPM][check-more-types-icon] ][check-more-types-url] | ||
[![Build status][check-more-types-ci-image] ][check-more-types-ci-url] | ||
[![Coverage Status][check-more-types-coverage-image] ][check-more-types-coverage-url] | ||
[](https://www.codacy.com) | ||
[![dependencies][check-more-types-dependencies-image] ][check-more-types-dependencies-url] | ||
@@ -11,2 +13,4 @@ [![devdependencies][check-more-types-devdependencies-image] ][check-more-types-devdependencies-url] | ||
[check-more-types-ci-url]: https://travis-ci.org/kensho/check-more-types | ||
[check-more-types-coverage-image]: https://coveralls.io/repos/kensho/check-more-types/badge.png | ||
[check-more-types-coverage-url]: https://coveralls.io/r/kensho/check-more-types | ||
[check-more-types-dependencies-image]: https://david-dm.org/kensho/check-more-types.png | ||
@@ -13,0 +17,0 @@ [check-more-types-dependencies-url]: https://david-dm.org/kensho/check-more-types |
@@ -10,4 +10,4 @@ ### check.defined | ||
check.defined(); // false | ||
check.defined(root.does_not_exist); // false | ||
check.defined({}.does_not_exist); // false | ||
check.defined(root.doesNotExist); // false | ||
check.defined({}.doesNotExist); // false | ||
@@ -84,3 +84,3 @@ --- | ||
check.unemptyArray([]); // false | ||
check.unemptyArray(root.does_not_exist); // false | ||
check.unemptyArray(root.doesNotExist); // false | ||
check.unemptyArray([1]); // true | ||
@@ -186,6 +186,25 @@ check.unemptyArray(['foo', 'bar']); // true | ||
// missing age property | ||
} | ||
}; | ||
isValidPerson(h1); // true | ||
isValidPerson(h2); // false | ||
Because bound schema parameter generates a valid function, you can nest checks using | ||
schema composition. For example let us combine the reuse `isValidPerson` as part of | ||
another check | ||
### schema composition | ||
var teamSchema = { | ||
manager: isValidPerson, | ||
members: check.unemptyArray | ||
}; | ||
var team = { | ||
manager: { | ||
name: 'jim', | ||
age: 20 | ||
}, | ||
members: ['joe', 'ann'] | ||
}; | ||
check.schema(teamSchema, team); // true | ||
--- | ||
@@ -206,2 +225,3 @@ | ||
function isInvalid(err) { | ||
check.instance(err, Error); // true | ||
return false; | ||
@@ -208,0 +228,0 @@ } |
@@ -9,2 +9,3 @@ module.exports = function(grunt) { | ||
], | ||
specs: ['test/*.js'], | ||
options: { | ||
@@ -71,2 +72,19 @@ jshintrc: '.jshintrc' | ||
gt: { | ||
unminified: { | ||
options: { | ||
cover: 'cover', | ||
bdd: true | ||
}, | ||
src: ['test/check-more-types-spec.js'] | ||
}, | ||
minified: { | ||
options: { | ||
cover: 'min-cover', | ||
bdd: true | ||
}, | ||
src: ['test/check-more-types-minified-spec.js'] | ||
} | ||
}, | ||
uglify: { | ||
@@ -94,3 +112,3 @@ lib: { | ||
grunt.registerTask('test', ['mochaTest']); | ||
grunt.registerTask('test', ['gt']); | ||
grunt.registerTask('doc', ['xplain', 'toc', 'readme']); | ||
@@ -97,0 +115,0 @@ grunt.registerTask('default', |
{ | ||
"name": "check-more-types", | ||
"description": "Additional type checks for https://github.com/philbooth/check-types.js", | ||
"version": "0.9.0", | ||
"version": "0.9.2", | ||
"author": "Gleb Bahmutov <gleb.bahmutov@gmail.com>", | ||
@@ -11,2 +11,3 @@ "bugs": { | ||
"check-types": "1.3.2", | ||
"coveralls": "2.11.1", | ||
"grunt-contrib-jshint": "0.10.0", | ||
@@ -16,2 +17,3 @@ "grunt-contrib-uglify": "0.5.1", | ||
"grunt-deps-ok": "0.3.0", | ||
"grunt-gt": "0.1.1", | ||
"grunt-jshint-solid": "0.1.0", | ||
@@ -26,2 +28,3 @@ "grunt-mocha-test": "0.11.0", | ||
"lazy-ass-helpful": "0.5.0", | ||
"lcov-filter": "0.0.1", | ||
"matchdep": "0.3.0", | ||
@@ -49,4 +52,5 @@ "pre-git": "0.0.16" | ||
"scripts": { | ||
"test": "grunt" | ||
"test": "grunt", | ||
"coveralls": "node node_modules/lcov-filter/index.js cover/lcov.info test | ./node_modules/coveralls/bin/coveralls.js" | ||
} | ||
} |
@@ -1,2 +0,2 @@ | ||
# check-more-types v0.9.0 | ||
# check-more-types v0.9.2 | ||
@@ -8,2 +8,4 @@ > Additional type checks for [check-types.js](https://github.com/philbooth/check-types.js) | ||
[![Build status][check-more-types-ci-image] ][check-more-types-ci-url] | ||
[![Coverage Status][check-more-types-coverage-image] ][check-more-types-coverage-url] | ||
[](https://www.codacy.com) | ||
[![dependencies][check-more-types-dependencies-image] ][check-more-types-dependencies-url] | ||
@@ -16,2 +18,4 @@ [![devdependencies][check-more-types-devdependencies-image] ][check-more-types-devdependencies-url] | ||
[check-more-types-ci-url]: https://travis-ci.org/kensho/check-more-types | ||
[check-more-types-coverage-image]: https://coveralls.io/repos/kensho/check-more-types/badge.png | ||
[check-more-types-coverage-url]: https://coveralls.io/r/kensho/check-more-types | ||
[check-more-types-dependencies-image]: https://david-dm.org/kensho/check-more-types.png | ||
@@ -56,2 +60,3 @@ [check-more-types-dependencies-url]: https://david-dm.org/kensho/check-more-types | ||
* [check.schema bind](#checkschema-bind) | ||
* [schema composition](#schema-composition) | ||
* [check.raises(fn, validator)](#checkraisesfn-validator) | ||
@@ -80,4 +85,4 @@ * [Modifiers](#modifiers) | ||
check.defined(); // false | ||
check.defined(root.does_not_exist); // false | ||
check.defined({}.does_not_exist); // false | ||
check.defined(root.doesNotExist); // false | ||
check.defined({}.doesNotExist); // false | ||
@@ -154,3 +159,3 @@ --- | ||
check.unemptyArray([]); // false | ||
check.unemptyArray(root.does_not_exist); // false | ||
check.unemptyArray(root.doesNotExist); // false | ||
check.unemptyArray([1]); // true | ||
@@ -256,6 +261,25 @@ check.unemptyArray(['foo', 'bar']); // true | ||
// missing age property | ||
} | ||
}; | ||
isValidPerson(h1); // true | ||
isValidPerson(h2); // false | ||
Because bound schema parameter generates a valid function, you can nest checks using | ||
schema composition. For example let us combine the reuse `isValidPerson` as part of | ||
another check | ||
#### schema composition | ||
var teamSchema = { | ||
manager: isValidPerson, | ||
members: check.unemptyArray | ||
}; | ||
var team = { | ||
manager: { | ||
name: 'jim', | ||
age: 20 | ||
}, | ||
members: ['joe', 'ann'] | ||
}; | ||
check.schema(teamSchema, team); // true | ||
--- | ||
@@ -276,2 +300,3 @@ | ||
function isInvalid(err) { | ||
check.instance(err, Error); // true | ||
return false; | ||
@@ -278,0 +303,0 @@ } |
require('lazy-ass'); | ||
global.check = require('check-types'); | ||
require('../check-more-types.min.js'); | ||
require('./unit-tests') | ||
require('./unit-tests'); |
require('lazy-ass'); | ||
global.check = require('check-types'); | ||
require('../check-more-types'); | ||
require('./unit-tests') | ||
require('./unit-tests'); |
@@ -0,1 +1,2 @@ | ||
/* global describe, la, check, it */ | ||
describe('check-more-types', function () { | ||
@@ -6,3 +7,3 @@ var root = typeof window === 'object' ? window : global; | ||
la(global.check); | ||
la(typeof check == 'object'); | ||
la(typeof check === 'object'); | ||
la(check.object(check)); | ||
@@ -31,2 +32,3 @@ }); | ||
function isInvalid(err) { | ||
la(check.instance(err, Error), 'expected error'); | ||
return false; | ||
@@ -59,2 +61,3 @@ } | ||
function isInvalid(err) { | ||
la(check.instance(err, Error), 'expected error'); | ||
return false; | ||
@@ -82,4 +85,4 @@ } | ||
la(!check.defined()); | ||
la(!check.defined(root.does_not_exist)); | ||
la(!check.defined({}.does_not_exist)); | ||
la(!check.defined(root.doesNotExist)); | ||
la(!check.defined({}.doesNotExist)); | ||
}); | ||
@@ -95,4 +98,4 @@ | ||
la(!check.defined()); | ||
la(!check.defined(root.does_not_exist)); | ||
la(!check.defined({}.does_not_exist)); | ||
la(!check.defined(root.doesNotExist)); | ||
la(!check.defined({}.doesNotExist)); | ||
}); | ||
@@ -156,3 +159,3 @@ }); | ||
la(!check.unemptyArray([])); | ||
la(!check.unemptyArray(root.does_not_exist)); | ||
la(!check.unemptyArray(root.doesNotExist)); | ||
la(check.unemptyArray([1])); | ||
@@ -303,6 +306,29 @@ la(check.unemptyArray(['foo', 'bar'])); | ||
// missing age property | ||
} | ||
}; | ||
la(isValidPerson(h1)); | ||
la(!isValidPerson(h2)); | ||
}); | ||
describe('nesting schemas', function () { | ||
var personSchema = { | ||
name: check.unemptyString, | ||
age: check.positiveNumber | ||
}; | ||
var isValidPerson = check.schema.bind(null, personSchema); | ||
it('schema composition', function () { | ||
var teamSchema = { | ||
manager: isValidPerson, | ||
members: check.unemptyArray | ||
}; | ||
var team = { | ||
manager: { | ||
name: 'jim', | ||
age: 20 | ||
}, | ||
members: ['joe', 'ann'] | ||
}; | ||
la(check.schema(teamSchema, team)); | ||
}); | ||
}); | ||
}); | ||
@@ -309,0 +335,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
312676
29
1204
482
19