{
  "name": "aproba",
  "version": "1.0.4",
  "description": "A rediculously light-weight argument validator",
  "main": "index.js",
  "directories": {
    "test": "test"
  },
  "dependencies": {},
  "devDependencies": {
    "standard": "^7.1.2",
    "tap": "^5.7.3"
  },
  "files": [
    "index.js"
  ],
  "scripts": {
    "test": "standard && tap test/*.js"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/iarna/aproba.git"
  },
  "keywords": [
    "argument",
    "validate"
  ],
  "author": {
    "name": "Rebecca Turner",
    "email": "me@re-becca.org"
  },
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/iarna/aproba/issues"
  },
  "homepage": "https://github.com/iarna/aproba",
  "readme": "aproba\n======\n\nA ridiculously light-weight function argument validator\n\n```\nvar validate = require(\"aproba\")\n\nfunction myfunc(a, b, c) {\n  // `a` must be a string, `b` a number, `c` a function\n  validate('SNF', arguments) // [a,b,c] is also valid\n}\n\nmyfunc('test', 23, function () {}) // ok\nmyfunc(123, 23, function () {}) // type error\nmyfunc('test', 23) // missing arg error\nmyfunc('test', 23, function () {}, true) // too many args error\n\n```\n\nValid types are:\n\ntype | description\n---- | -----------\n*    | matches any type\nA    | Array.isArray OR an arguments object\nS    | typeof == string\nN    | typeof == number\nF    | typeof == function\nO    | typeof == object and not type A and not type E\nB    | typeof == boolean\nE    | instanceof Error OR null\n\nValidation failures throw one of three exception types, distinguished by a\n`code` property of `EMISSINGARG`, `EINVALIDTYPE` or `ETOOMANYARGS`.\n\nIf you pass in an invalid type then it will throw with a code of\n`EUNKNOWNTYPE`.\n\nIf an error argument is found and is not null then the remaining arguments\nwill not be validated.\n\n### Why this exists\n\nI wanted a very simple argument validator. It needed to do two things:\n\n1. Be more concise and easier to use than assertions\n\n2. Not encourage an infinite bikeshed of DSLs\n\nThis is why types are specified by a single character and there's no such\nthing as an optional argument. \n\nThis is not intended to validate user data. This is specifically about\nasserting the interface of your functions.\n\nIf you need greater validation, I encourage you to write them by hand or\nlook elsewhere.\n\n",
  "readmeFilename": "README.md",
  "_id": "aproba@1.0.4",
  "_shasum": "2713680775e7614c8ba186c065d4e2e52d1072c0",
  "_resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz",
  "_from": "aproba@>=1.0.4 <1.1.0"
}
