Prove function parameters using a simple schema.
npm install provejs-params --savevar Prove = require('provejs-params');
function myFunction(myArray, myNumber) {
Prove('AN', arguments);
}
myFunction([], []); // bug herewill result in
{ Error: Argument #2: Expected `number` but got `array`
at myFunction (/Users/dan/repos/.../test.js:122:2)
at Object.<anonymous> (/Users/dan/repos/.../test.js:125:1)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3 code: 'EINVALIDTYPE' }Supported Types
| Letter | Data Types | Required |
|---|---|---|
| * | matches any type | true |
| A | Array or Arguments | true |
| S | String | true |
| N | Number | true |
| M | Finite Number | true |
| F | Function | true |
| O | Object | true |
| B | Boolean | true |
| G | Arguments | true |
| E | Error | true |
| a | Array or Arguments | false |
| s | String | false |
| n | Number | false |
| m | Finite Number | false |
| f | Function | false |
| o | Object | false |
| b | Boolean | false |
| g | Arguments | false |
| e | Error | false |
This work was inspired by: https://github.com/iarna/aproba