Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simenkid/proving
Validate then throw if not met.
https://github.com/simenkid/proving
Last synced: about 1 month ago
JSON representation
Validate then throw if not met.
- Host: GitHub
- URL: https://github.com/simenkid/proving
- Owner: simenkid
- License: mit
- Created: 2016-09-12T05:47:57.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2016-09-12T14:14:41.000Z (about 8 years ago)
- Last Synced: 2024-08-11T09:52:39.359Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 2.93 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# proving
A very simple type checking helper.
## Table of Contents
1. [Overiew](#Overiew)
2. [Installation](#Installation)
3. [Usage](#Usage)
4. [APIs](#APIs)
When I was doing many type checking for function arguments, I found myself doing a lot of `if (type_not_met) throw new TypeError(msg)` to make assertions. That's why I collect all these simple checkers together to be **DON'T REPEAT YOURSELF** as well as to help myself lower down line-of-codes.
Only 56 LOC to meet my daily use.> $ npm install proving --save
## 3. UsageHere is a quick example, it's very very simple.
```js
var proving = require('proving');
function myFunc(foo, bar) {
proving.number(foo, 'foo should be a number.');
proving.string(bar); // this will throw will a default message
// ...
}myFunc(20, 'hello'); // not throw
myFunc('x', 'hello'); // throw TypeError('foo should be a number.')
myFunc(20, {}); // throw TypeError('Input value should be a string.')
```### .defined(val[, msg])
Throw if val is undefined.
Default message: `'Input value should be given.'`### .string(val[, msg])
Throw if val is not a string.
Default message: `'Input value should be a string.'`### .number(val[, msg])
Throw if val is not a number. Also throw if val is NaN.
Default message: `'Input value should be a number and cannot be a NaN.'`### .boolean(val[, msg])
Throw if val is not a bool.
Default message: `'Input value should be a bool.'`### .array(val[, msg])
Throw if val is not an array.
Default message: `'Input value should be an array.'`### .object(val[, msg])
Throw if val is not an object. Also throw if val is NaN or null.
Default message: `'Input value should be an object.'`### .fn(val[, msg])
Throw if val is not a function.
Default message: `'Input value should be a function.'`### .stringOrNumber(val[, msg])
Throw if val is not a string nor a number.
Default message: `'Input value should be a number or a string.'`