{
  "_args": [
    [
      {
        "raw": "@sindresorhus/is@^0.7.0",
        "scope": "@sindresorhus",
        "escapedName": "@sindresorhus%2fis",
        "name": "@sindresorhus/is",
        "rawSpec": "^0.7.0",
        "spec": ">=0.7.0 <0.8.0",
        "type": "range"
      },
      "/home/zkochan/src/pnpm/packages/pnpm/node_modules/got"
    ]
  ],
  "_from": "@sindresorhus/is@>=0.7.0 <0.8.0",
  "_id": "@sindresorhus/is@0.7.0",
  "_inCache": true,
  "_location": "/@sindresorhus/is",
  "_nodeVersion": "8.9.0",
  "_npmOperationalInternal": {
    "host": "s3://npm-registry-packages",
    "tmp": "tmp/is-0.7.0.tgz_1513024821800_0.9983615970704705"
  },
  "_npmUser": {
    "name": "sindresorhus",
    "email": "sindresorhus@gmail.com"
  },
  "_npmVersion": "5.5.1",
  "_phantomChildren": {},
  "_requested": {
    "raw": "@sindresorhus/is@^0.7.0",
    "scope": "@sindresorhus",
    "escapedName": "@sindresorhus%2fis",
    "name": "@sindresorhus/is",
    "rawSpec": "^0.7.0",
    "spec": ">=0.7.0 <0.8.0",
    "type": "range"
  },
  "_requiredBy": [
    "/got"
  ],
  "_resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz",
  "_shasum": "9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd",
  "_shrinkwrap": null,
  "_spec": "@sindresorhus/is@^0.7.0",
  "_where": "/home/zkochan/src/pnpm/packages/pnpm/node_modules/got",
  "author": {
    "name": "Sindre Sorhus",
    "email": "sindresorhus@gmail.com",
    "url": "sindresorhus.com"
  },
  "bugs": {
    "url": "https://github.com/sindresorhus/is/issues"
  },
  "dependencies": {},
  "description": "Type check values: `is.string('🦄') //=> true`",
  "devDependencies": {
    "@types/jsdom": "^2.0.31",
    "@types/node": "^8.0.47",
    "@types/tempy": "^0.1.0",
    "ava": "*",
    "del-cli": "^1.1.0",
    "jsdom": "^9.12.0",
    "tempy": "^0.2.1",
    "tslint": "^5.8.0",
    "tslint-xo": "^0.3.0",
    "typescript": "^2.6.1"
  },
  "directories": {},
  "dist": {
    "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==",
    "shasum": "9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd",
    "tarball": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz"
  },
  "engines": {
    "node": ">=4"
  },
  "files": [
    "dist"
  ],
  "gitHead": "828a5b3088804f32fec824a2fbff0396d4cd13b3",
  "homepage": "https://github.com/sindresorhus/is#readme",
  "keywords": [
    "type",
    "types",
    "is",
    "check",
    "checking",
    "validate",
    "validation",
    "utility",
    "util",
    "typeof",
    "instanceof",
    "object",
    "assert",
    "assertion",
    "test",
    "kind",
    "primitive",
    "verify",
    "compare"
  ],
  "license": "MIT",
  "main": "dist/index.js",
  "maintainers": [
    {
      "name": "sindresorhus",
      "email": "sindresorhus@gmail.com"
    }
  ],
  "name": "@sindresorhus/is",
  "optionalDependencies": {},
  "publishConfig": {
    "access": "public"
  },
  "readme": "# is [![Build Status](https://travis-ci.org/sindresorhus/is.svg?branch=master)](https://travis-ci.org/sindresorhus/is)\n\n> Type check values: `is.string('🦄') //=> true`\n\n<img src=\"header.gif\" width=\"182\" align=\"right\">\n\n\n## Install\n\n```\n$ npm install @sindresorhus/is\n```\n\n\n## Usage\n\n```js\nconst is = require('@sindresorhus/is');\n\nis('🦄');\n//=> 'string'\n\nis(new Map());\n//=> 'Map'\n\nis.number(6);\n//=> true\n```\n\n\n## API\n\n### is(value)\n\nReturns the type of `value`.\n\nPrimitives are lowercase and object types are camelcase.\n\nExample:\n\n- `'undefined'`\n- `'null'`\n- `'string'`\n- `'symbol'`\n- `'Array'`\n- `'Function'`\n- `'Object'`\n\nNote: It will throw if you try to feed it object-wrapped primitives, as that's a bad practice. For example `new String('foo')`.\n\n### is.{method}\n\nAll the below methods accept a value and returns a boolean for whether the value is of the desired type.\n\n#### Primitives\n\n##### .undefined(value)\n##### .null(value)\n##### .string(value)\n##### .number(value)\n##### .boolean(value)\n##### .symbol(value)\n\n#### Built-in types\n\n##### .array(value)\n##### .function(value)\n##### .buffer(value)\n##### .object(value)\n\nKeep in mind that [functions are objects too](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions).\n\n##### .regExp(value)\n##### .date(value)\n##### .error(value)\n##### .nativePromise(value)\n##### .promise(value)\n\nReturns `true` for any object with a `.then()` and `.catch()` method. Prefer this one over `.nativePromise()` as you usually want to allow userland promise implementations too.\n\n##### .generator(value)\n\nReturns `true` for any object that implements its own `.next()` and `.throw()` methods and has a function definition for `Symbol.iterator`.\n\n##### .generatorFunction(value)\n\n##### .asyncFunction(value)\n\nReturns `true` for any `async` function that can be called with the `await` operator.\n\n```js\nis.asyncFunction(async () => {});\n// => true\n\nis.asyncFunction(() => {});\n// => false\n```\n\n##### .boundFunction(value)\n\nReturns `true` for any `bound` function.\n\n```js\nis.boundFunction(() => {});\n// => true\n\nis.boundFunction(function () {}.bind(null));\n// => true\n\nis.boundFunction(function () {});\n// => false\n```\n\n##### .map(value)\n##### .set(value)\n##### .weakMap(value)\n##### .weakSet(value)\n\n#### Typed arrays\n\n##### .int8Array(value)\n##### .uint8Array(value)\n##### .uint8ClampedArray(value)\n##### .int16Array(value)\n##### .uint16Array(value)\n##### .int32Array(value)\n##### .uint32Array(value)\n##### .float32Array(value)\n##### .float64Array(value)\n\n#### Structured data\n\n##### .arrayBuffer(value)\n##### .sharedArrayBuffer(value)\n##### .dataView(value)\n\n#### Miscellaneous\n\n##### .directInstanceOf(value, class)\n\nReturns `true` if `value` is a direct instance of `class`.\n\n```js\nis.directInstanceOf(new Error(), Error);\n//=> true\n\nclass UnicornError extends Error {};\n\nis.directInstanceOf(new UnicornError(), Error);\n//=> false\n```\n\n##### .truthy(value)\n\nReturns `true` for all values that evaluate to true in a boolean context:\n\n```js\nis.truthy('🦄');\n//=> true\n\nis.truthy(undefined);\n//=> false\n```\n\n##### .falsy(value)\n\nReturns `true` if `value` is one of: `false`, `0`, `''`, `null`, `undefined`, `NaN`.\n\n##### .nan(value)\n##### .nullOrUndefined(value)\n##### .primitive(value)\n\nJavaScript primitives are as follows: `null`, `undefined`, `string`, `number`, `boolean`, `symbol`.\n\n##### .integer(value)\n\n##### .safeInteger(value)\n\nReturns `true` if `value` is a [safe integer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger).\n\n##### .plainObject(value)\n\nAn object is plain if it's created by either `{}`, `new Object()`, or `Object.create(null)`.\n\n##### .iterable(value)\n##### .class(value)\n\nReturns `true` for instances created by a ES2015 class.\n\n##### .typedArray(value)\n\n##### .arrayLike(value)\n\nA `value` is array-like if it is not a function and has a `value.length` that is a safe integer greater than or equal to 0.\n\n```js\nis.arrayLike(document.forms);\n//=> true\n\nfunction () {\n    is.arrayLike(arguments);\n    //=> true\n}\n```\n\n##### .inRange(value, range)\n\nCheck if `value` (number) is in the given `range`. The range is an array of two values, lower bound and upper bound, in no specific order.\n\n```js\nis.inRange(3, [0, 5]);\nis.inRange(3, [5, 0]);\nis.inRange(0, [-2, 2]);\n```\n\n##### .inRange(value, upperBound)\n\nCheck if `value` (number) is in the range of `0` to `upperBound`.\n\n```js\nis.inRange(3, 10);\n```\n\n##### .domElement(value)\n\nReturns `true` if `value` is a DOM Element.\n\n##### .nodeStream(value)\n\nReturns `true` if `value` is a Node.js [stream](https://nodejs.org/api/stream.html).\n\n```js\nconst fs = require('fs');\nis.nodeStream(fs.createReadStream('unicorn.png'));\n//=> true\n```\n\n##### .infinite(value)\n\nCheck if `value` is `Infinity` or `-Infinity`.\n\n##### .even(value)\n\nReturns `true` if `value` is an even integer.\n\n##### .odd(value)\n\nReturns `true` if `value` is an odd integer.\n\n##### .empty(value)\n\nReturns `true` if `value` is falsy or an empty string, array, object, map, or set.\n\n##### .emptyOrWhitespace(value)\n\nReturns `true` if `is.empty(value)` or a string that is all whitespace.\n\n\n##### .any(predicate, ...values)\n\nReturns `true` if **any** of the input `values` returns true in the `predicate`:\n\n```js\nis.any(is.string, {}, true, '🦄');\n//=> true\n\nis.any(is.boolean, 'unicorns', [], new Map());\n//=> false\n```\n\n##### .all(predicate, ...values)\n\nReturns `true` if **all** of the input `values` returns true in the `predicate`:\n\n```js\nis.all(is.object, {}, new Map(), new Set());\n//=> true\n\nis.all(is.string, '🦄', [], 'unicorns');\n//=> false\n```\n\n## FAQ\n\n### Why yet another type checking module?\n\nThere are hundreds of type checking modules on npm, unfortunately, I couldn't find any that fit my needs:\n\n- Includes both type methods and ability to get the type\n- Types of primitives returned as lowercase and object types as camelcase\n- Covers all built-ins\n- Unsurprising behavior\n- Well-maintained\n- Comprehensive test suite\n\nFor the ones I found, pick 3 of these.\n\nThe most common mistakes I noticed in these modules was using `instanceof` for type checking, forgetting that functions are objects, and omitting `symbol` as a primitive.\n\n\n## Related\n\n- [is-stream](https://github.com/sindresorhus/is-stream) - Check if something is a Node.js stream\n- [is-observable](https://github.com/sindresorhus/is-observable) - Check if a value is an Observable\n- [file-type](https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer/Uint8Array\n- [is-ip](https://github.com/sindresorhus/is-ip) - Check if a string is an IP address\n- [is-array-sorted](https://github.com/sindresorhus/is-array-sorted) - Check if an Array is sorted\n- [is-error-constructor](https://github.com/sindresorhus/is-error-constructor) - Check if a value is an error constructor\n- [is-empty-iterable](https://github.com/sindresorhus/is-empty-iterable) - Check if an Iterable is empty\n- [is-blob](https://github.com/sindresorhus/is-blob) - Check if a value is a Blob - File-like object of immutable, raw data\n- [has-emoji](https://github.com/sindresorhus/has-emoji) - Check whether a string has any emoji\n\n\n## Created by\n\n- [Sindre Sorhus](https://github.com/sindresorhus)\n- [Giora Guttsait](https://github.com/gioragutt)\n- [Brandon Smith](https://github.com/brandon93s)\n\n\n## License\n\nMIT\n",
  "readmeFilename": "readme.md",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/sindresorhus/is.git"
  },
  "scripts": {
    "build": "tsc",
    "lint": "tslint --format stylish --project .",
    "prepublish": "npm run build && del dist/tests",
    "test": "npm run lint && npm run build && ava dist/tests"
  },
  "types": "dist/index.d.ts",
  "version": "0.7.0"
}
