{"_id":"is-extended","_rev":"38-ab1738fedd754c1757b0a862401796d4","name":"is-extended","description":"Module for type detection","dist-tags":{"latest":"0.0.10"},"versions":{"0.0.1":{"name":"is-extended","version":"0.0.1","description":"Module for type detection","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/isa.git"},"keywords":["type","is","detection","instanceof",""],"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extender":"0.0.4"},"devDependencies":{"it":"~0.1.0","grunt-it":"~0.2.0"},"readme":"[![build status](https://secure.travis-ci.org/doug-martin/is-extended.png)](http://travis-ci.org/doug-martin/is-extended)\n\n# is-extended\n\n`is-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar is = require(\"is-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"is-extended\"));\n```\n\n## Installation\n\n```\nnpm install is-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/is-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/is-extended/master/is-extended.min.js))\n\n## Usage\n\n`is-extended` includes the following type coercion methods.\n\n* `isFunction` : Test if something is a function\n* `isObject` : Test if something is an object.\n* `isEmpty` : Test if something is empty.\n* `isHash` : Test if something is a hash.\n\n```javascript\nis.isHash({}); //true\nis.isHash(new Number(1)); //false\n\nis.isObject({}); //true\nis.isObject(new Number(1)); //true\n```\n\n* `isNumber` : Test if something is a number.\n* `isString` : Test if something is a string.\n* `isDate` : Test if something is a `Date`.\n* `isArray` : Test if something is an `Object`\n* `isBoolean` : Test if something is a boolean value.\n* `isUndefined` : Test if something is strictly equal to `undefined`.\n* `isDefined` : Test if something is strictly not equal to `undefined`.\n* `isUndefinedOrNull` : Test if something is strictly equal to `null` or `undefined`.\n* `isNull` : Test if something is strictly equal to `null`.\n* `isArguments` : Test if something is an `Object`\n* `instanceOf` : Test if something is an `Object`\n* `isRegExp` : Test if something is a `RegExp`\n* `isTrue` : Test if something is strictly equal to `true`\n* `isFalse` : Test if something is strictly equal to `false`\n* `isNotNull` : Test if something is strictly not equal to `null`.\n\n**`deepEqual`**\n\nTests if two object are deep equal.\n\n```javascript\n\nis.deepEqual([1,2,3], [1,2,3]); //true\nis([1,2,3]).deepEqual([1,2,3]); //true\n\n\nis.deepEqual({ a: { b: \"c\"}}, {a : false}); //false\nis({ a: { b: \"c\"}}).deepEqual({ a: { b: \"c\"}}); //true\n\n```\n\n\n**`isEq`**\n\nTest if two objects are `==`\n\n**`isNeq`**\n\nTest if two objects are `!=`\n\n**`isSeq`**\n\nTest if two objects are `===`\n\n**`isSneq`**\n\nTest if two objects are `!==`\n\n**`isIn`**\n\nTest if an object is in a array.\n\n```javascript\nis.isIn('a', ['a', 'b', 'c']); //true\n\nis('a').isIn(['a', 'b', 'c']); //true\n```\n\n**`isNotIn`**\n\nTest if something is not in an array.\n\n```javascript\nis.isIn('d', ['a', 'b', 'c']); //true\n\nis('d').isIn(['a', 'b', 'c']); //true\n```\n\n**`isLt`**\n\nCheck if a value is `<` a given value.\n\n```javascript\nis.isLt(1, 2); //true\nis(\"a\").isLt(\"b\"); //true\n```\n\n**`isLte`**\n\nCheck if a value is `<=` a given value.\n\n```javascript\nis.isLte(2, 2); //true\nis(\"a\").isLte(\"b\"); //true\n```\n\n**`isGt`**\n\nCheck if a value is `>` a given value.\n\n```javascript\nis.isGt(2, 1); //true\nis(\"b\").isGt(\"a\"); //true\n```\n\n**`isGte`**\n\nCheck if a value is `>=` a given value.\n\n```javascript\nis.isGte(2, 2); //true\nis(\"b\").isLt(\"a\"); //true\n```\n\n**`isLike`**\n\nCheck if a value is like a given regexp.\n\n```javascript\nis.isLike(\"a\", /a/); //true\nis.isLike(\"a\", \"a\"); //true\nis(1).isLike(/\\d/); //true\nis.isLike(1, \"\\\\d\"); //true\n```\n\n**`isNotLike`**\n\nCheck if a value is not like a given regexp.\n\n```javascript\nis.isNotLike(\"a\", /\\d/); //true\nis(\"a\").isNotLike(\"b\"); //true\n```\n\n**`contains`**\n\nChecks if an array contains a given value.\n\n```javascript\nis.contains([1,2,3], 2); //true\nis([1,2,3]).contains(2); //true\n```\n\n**`notContains`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notContains([1,2,3], 2); //true\nis([1,2,3]).notContains(2); //true\n```\n\n\n## Creating a custom tester.\n\nTo create a custom type tester you can use the `tester` method.\n\n```javascript\nvar tester = is.tester().isArray().isDate().isBoolean().tester();\ntester([]); //true\ntester(new Array()); //true\ntester(new Date()); //true\ntester(true); //true\ntester(false); //true\ntester(new Boolean()); //true\n\ntester(\"hello\"); //false\ntester(); //false\ntester(new String()); //false\ntester({}); //false\ntester(new Object()); //false\n```\n\n## `switcher`\n\nThe `is-exteded` `switcher` method allows you to create a structure that executes certain code when a value passes a test.\n\n```javascript\nvar mySwitcher = is.switcher()\n    .isLt(0, function (num) {\n        return num + \" is lt 0\";\n    })\n    .isLte(5, function (num) {\n        return num + \" is gte 0 lte 5\";\n    })\n    .isLte(10, function (num) {\n        return num + \" is gt 5 lte 10\";\n    })\n    .isGt(10, function (num) {\n        return num + \" is gt 10\";\n    })\n    .def(function (num) {\n        return num + \" is unknown value\";\n    })\n    .switcher();\n\nfor (var i = -1; i < 12; i++) {\n    console.log(mySwitcher(i));\n}\n```\n\n\nOutputs the following\n\n```\n-1 is lt 0\n0 is gte 0 lte 5\n1 is gte 0 lte 5\n2 is gte 0 lte 5\n3 is gte 0 lte 5\n4 is gte 0 lte 5\n5 is gte 0 lte 5\n6 is gt 5 lte 10\n7 is gt 5 lte 10\n8 is gt 5 lte 10\n9 is gt 5 lte 10\n10 is gt 5 lte 10\n11 is gt 10\n```\n\n","readmeFilename":"README.md","_id":"is-extended@0.0.1","dist":{"shasum":"eb2a89ecfd9906729f96c9eba75e900d76648c7d","tarball":"https://registry.npmjs.org/is-extended/-/is-extended-0.0.1.tgz","integrity":"sha512-aBG+5TpDpQR/RrymGjCx5cI8AVh/83Cjkpxm4hk69sKk/LPcpHMDQUQHcU4fptdZFD0zEn649EmvcWwylB4IdA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+RhRa+c774WiGhLCjIWiK6yGN8RuC1+P7i9n1Nz1bbgIgMF1sFUVMQTH7J2t4KRPZr55NJ8KqhjpJN66GVcGlUSQ="}]},"_npmVersion":"1.2.0","_npmUser":{"name":"damartin","email":"doug@dougamartin.com"},"maintainers":[{"name":"damartin","email":"doug@dougamartin.com"}],"directories":{}},"0.0.2":{"name":"is-extended","version":"0.0.2","description":"Module for type detection","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/isa.git"},"keywords":["type","is","detection","instanceof",""],"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"0.0.2"},"devDependencies":{"it":"~0.1.0","grunt-it":"~0.2.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/is-extended.png?branch=master)](undefined)\n\n# is-extended\n\n`is-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar is = require(\"is-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"is-extended\"));\n```\n\n## Installation\n\n```\nnpm install is-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/is-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/is-extended/master/is-extended.min.js))\n\n## Usage\n\n`is-extended` includes the following type coercion methods.\n\n* `isFunction` : Test if something is a function\n* `isObject` : Test if something is an object.\n* `isEmpty` : Test if something is empty.\n* `isHash` : Test if something is a hash.\n\n```javascript\nis.isHash({}); //true\nis.isHash(new Number(1)); //false\n\nis.isObject({}); //true\nis.isObject(new Number(1)); //true\n```\n\n* `isNumber` : Test if something is a number.\n* `isString` : Test if something is a string.\n* `isDate` : Test if something is a `Date`.\n* `isArray` : Test if something is an `Object`\n* `isBoolean` : Test if something is a boolean value.\n* `isUndefined` : Test if something is strictly equal to `undefined`.\n* `isDefined` : Test if something is strictly not equal to `undefined`.\n* `isUndefinedOrNull` : Test if something is strictly equal to `null` or `undefined`.\n* `isNull` : Test if something is strictly equal to `null`.\n* `isArguments` : Test if something is an `Object`\n* `instanceOf` : Test if something is an `Object`\n* `isRegExp` : Test if something is a `RegExp`\n* `isTrue` : Test if something is strictly equal to `true`\n* `isFalse` : Test if something is strictly equal to `false`\n* `isNotNull` : Test if something is strictly not equal to `null`.\n\n**`deepEqual`**\n\nTests if two object are deep equal.\n\n```javascript\n\nis.deepEqual([1,2,3], [1,2,3]); //true\nis([1,2,3]).deepEqual([1,2,3]); //true\n\n\nis.deepEqual({ a: { b: \"c\"}}, {a : false}); //false\nis({ a: { b: \"c\"}}).deepEqual({ a: { b: \"c\"}}); //true\n\n```\n\n\n**`isEq`**\n\nTest if two objects are `==`\n\n**`isNeq`**\n\nTest if two objects are `!=`\n\n**`isSeq`**\n\nTest if two objects are `===`\n\n**`isSneq`**\n\nTest if two objects are `!==`\n\n**`isIn`**\n\nTest if an object is in a array.\n\n```javascript\nis.isIn('a', ['a', 'b', 'c']); //true\n\nis('a').isIn(['a', 'b', 'c']); //true\n```\n\n**`isNotIn`**\n\nTest if something is not in an array.\n\n```javascript\nis.isIn('d', ['a', 'b', 'c']); //true\n\nis('d').isIn(['a', 'b', 'c']); //true\n```\n\n**`isLt`**\n\nCheck if a value is `<` a given value.\n\n```javascript\nis.isLt(1, 2); //true\nis(\"a\").isLt(\"b\"); //true\n```\n\n**`isLte`**\n\nCheck if a value is `<=` a given value.\n\n```javascript\nis.isLte(2, 2); //true\nis(\"a\").isLte(\"b\"); //true\n```\n\n**`isGt`**\n\nCheck if a value is `>` a given value.\n\n```javascript\nis.isGt(2, 1); //true\nis(\"b\").isGt(\"a\"); //true\n```\n\n**`isGte`**\n\nCheck if a value is `>=` a given value.\n\n```javascript\nis.isGte(2, 2); //true\nis(\"b\").isLt(\"a\"); //true\n```\n\n**`isLike`**\n\nCheck if a value is like a given regexp.\n\n```javascript\nis.isLike(\"a\", /a/); //true\nis.isLike(\"a\", \"a\"); //true\nis(1).isLike(/\\d/); //true\nis.isLike(1, \"\\\\d\"); //true\n```\n\n**`isNotLike`**\n\nCheck if a value is not like a given regexp.\n\n```javascript\nis.isNotLike(\"a\", /\\d/); //true\nis(\"a\").isNotLike(\"b\"); //true\n```\n\n**`contains`**\n\nChecks if an array contains a given value.\n\n```javascript\nis.contains([1,2,3], 2); //true\nis([1,2,3]).contains(2); //true\n```\n\n**`notContains`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notContains([1,2,3], 2); //true\nis([1,2,3]).notContains(2); //true\n```\n\n\n## Creating a custom tester.\n\nTo create a custom type tester you can use the `tester` method.\n\n```javascript\nvar tester = is.tester().isArray().isDate().isBoolean().tester();\ntester([]); //true\ntester(new Array()); //true\ntester(new Date()); //true\ntester(true); //true\ntester(false); //true\ntester(new Boolean()); //true\n\ntester(\"hello\"); //false\ntester(); //false\ntester(new String()); //false\ntester({}); //false\ntester(new Object()); //false\n```\n\n## `switcher`\n\nThe `is-exteded` `switcher` method allows you to create a structure that executes certain code when a value passes a test.\n\n```javascript\nvar mySwitcher = is.switcher()\n    .isLt(0, function (num) {\n        return num + \" is lt 0\";\n    })\n    .isLte(5, function (num) {\n        return num + \" is gte 0 lte 5\";\n    })\n    .isLte(10, function (num) {\n        return num + \" is gt 5 lte 10\";\n    })\n    .isGt(10, function (num) {\n        return num + \" is gt 10\";\n    })\n    .def(function (num) {\n        return num + \" is unknown value\";\n    })\n    .switcher();\n\nfor (var i = -1; i < 12; i++) {\n    console.log(mySwitcher(i));\n}\n```\n\n\nOutputs the following\n\n```\n-1 is lt 0\n0 is gte 0 lte 5\n1 is gte 0 lte 5\n2 is gte 0 lte 5\n3 is gte 0 lte 5\n4 is gte 0 lte 5\n5 is gte 0 lte 5\n6 is gt 5 lte 10\n7 is gt 5 lte 10\n8 is gt 5 lte 10\n9 is gt 5 lte 10\n10 is gt 5 lte 10\n11 is gt 10\n```\n\n","readmeFilename":"README.md","_id":"is-extended@0.0.2","dist":{"shasum":"412ea7fd3607b109692dbfd3fa471a2a04853c9a","tarball":"https://registry.npmjs.org/is-extended/-/is-extended-0.0.2.tgz","integrity":"sha512-fWAfTUl0dG1LeW7k12PqPj3qYqbvOkSCZvUYOMXhdbHFj/pAdiC2OXrKp+ZaPtWqe4iWU6sjSnC40eGijdkS5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGrO6ibVx2EZa7Fefx7Ri0m+1t5FSjIVuA8YWWP4igPcAiEArWyFHLaZp7jxl1ripTwk++ptO3OirOKNCeUPKO0FHpE="}]},"_npmVersion":"1.2.0","_npmUser":{"name":"damartin","email":"doug@dougamartin.com"},"maintainers":[{"name":"damartin","email":"doug@dougamartin.com"}]},"0.0.3":{"name":"is-extended","version":"0.0.3","description":"Module for type detection","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/isa.git"},"keywords":["type","is","detection","instanceof",""],"testling":{"files":"test/browserling.js","browsers":{"ie":[6,7,8,9],"chrome":[4,23,"canary"],"firefox":[3,3.5,3.6,4,17,"nightly"],"opera":[10,10.5,11,11.5,11.6,12,"next"],"safari":["5.0.1",5.1]}},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.2.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/is-extended.png?branch=master)](undefined)\n\n[![browser support](http://ci.testling.com/doug-martin/is-extended.png)](http://ci.testling.com/doug-martin/is-extended)\n\n# is-extended\n\n`is-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar is = require(\"is-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"is-extended\"));\n```\n\n## Installation\n\n```\nnpm install is-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/is-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/is-extended/master/is-extended.min.js))\n\n## Usage\n\n`is-extended` includes the following type coercion methods.\n\n* `isFunction` : Test if something is a function\n* `isObject` : Test if something is an object.\n* `isEmpty` : Test if something is empty.\n* `isHash` : Test if something is a hash.\n\n```javascript\nis.isHash({}); //true\nis.isHash(new Number(1)); //false\n\nis.isObject({}); //true\nis.isObject(new Number(1)); //true\n```\n\n* `isNumber` : Test if something is a number.\n* `isString` : Test if something is a string.\n* `isDate` : Test if something is a `Date`.\n* `isArray` : Test if something is an `Object`\n* `isBoolean` : Test if something is a boolean value.\n* `isUndefined` : Test if something is strictly equal to `undefined`.\n* `isDefined` : Test if something is strictly not equal to `undefined`.\n* `isUndefinedOrNull` : Test if something is strictly equal to `null` or `undefined`.\n* `isNull` : Test if something is strictly equal to `null`.\n* `isArguments` : Test if something is an `Object`\n* `instanceOf` : Test if something is an `Object`\n* `isRegExp` : Test if something is a `RegExp`\n* `isTrue` : Test if something is strictly equal to `true`\n* `isFalse` : Test if something is strictly equal to `false`\n* `isNotNull` : Test if something is strictly not equal to `null`.\n\n**`deepEqual`**\n\nTests if two object are deep equal.\n\n```javascript\n\nis.deepEqual([1,2,3], [1,2,3]); //true\nis([1,2,3]).deepEqual([1,2,3]); //true\n\n\nis.deepEqual({ a: { b: \"c\"}}, {a : false}); //false\nis({ a: { b: \"c\"}}).deepEqual({ a: { b: \"c\"}}); //true\n\n```\n\n\n**`isEq`**\n\nTest if two objects are `==`\n\n**`isNeq`**\n\nTest if two objects are `!=`\n\n**`isSeq`**\n\nTest if two objects are `===`\n\n**`isSneq`**\n\nTest if two objects are `!==`\n\n**`isIn`**\n\nTest if an object is in a array.\n\n```javascript\nis.isIn('a', ['a', 'b', 'c']); //true\n\nis('a').isIn(['a', 'b', 'c']); //true\n```\n\n**`isNotIn`**\n\nTest if something is not in an array.\n\n```javascript\nis.isIn('d', ['a', 'b', 'c']); //true\n\nis('d').isIn(['a', 'b', 'c']); //true\n```\n\n**`isLt`**\n\nCheck if a value is `<` a given value.\n\n```javascript\nis.isLt(1, 2); //true\nis(\"a\").isLt(\"b\"); //true\n```\n\n**`isLte`**\n\nCheck if a value is `<=` a given value.\n\n```javascript\nis.isLte(2, 2); //true\nis(\"a\").isLte(\"b\"); //true\n```\n\n**`isGt`**\n\nCheck if a value is `>` a given value.\n\n```javascript\nis.isGt(2, 1); //true\nis(\"b\").isGt(\"a\"); //true\n```\n\n**`isGte`**\n\nCheck if a value is `>=` a given value.\n\n```javascript\nis.isGte(2, 2); //true\nis(\"b\").isLt(\"a\"); //true\n```\n\n**`isLike`**\n\nCheck if a value is like a given regexp.\n\n```javascript\nis.isLike(\"a\", /a/); //true\nis.isLike(\"a\", \"a\"); //true\nis(1).isLike(/\\d/); //true\nis.isLike(1, \"\\\\d\"); //true\n```\n\n**`isNotLike`**\n\nCheck if a value is not like a given regexp.\n\n```javascript\nis.isNotLike(\"a\", /\\d/); //true\nis(\"a\").isNotLike(\"b\"); //true\n```\n\n**`contains`**\n\nChecks if an array contains a given value.\n\n```javascript\nis.contains([1,2,3], 2); //true\nis([1,2,3]).contains(2); //true\n```\n\n**`notContains`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notContains([1,2,3], 2); //true\nis([1,2,3]).notContains(2); //true\n```\n\n\n## Creating a custom tester.\n\nTo create a custom type tester you can use the `tester` method.\n\n```javascript\nvar tester = is.tester().isArray().isDate().isBoolean().tester();\ntester([]); //true\ntester(new Array()); //true\ntester(new Date()); //true\ntester(true); //true\ntester(false); //true\ntester(new Boolean()); //true\n\ntester(\"hello\"); //false\ntester(); //false\ntester(new String()); //false\ntester({}); //false\ntester(new Object()); //false\n```\n\n## `switcher`\n\nThe `is-exteded` `switcher` method allows you to create a structure that executes certain code when a value passes a test.\n\n```javascript\nvar mySwitcher = is.switcher()\n    .isLt(0, function (num) {\n        return num + \" is lt 0\";\n    })\n    .isLte(5, function (num) {\n        return num + \" is gte 0 lte 5\";\n    })\n    .isLte(10, function (num) {\n        return num + \" is gt 5 lte 10\";\n    })\n    .isGt(10, function (num) {\n        return num + \" is gt 10\";\n    })\n    .def(function (num) {\n        return num + \" is unknown value\";\n    })\n    .switcher();\n\nfor (var i = -1; i < 12; i++) {\n    console.log(mySwitcher(i));\n}\n```\n\n\nOutputs the following\n\n```\n-1 is lt 0\n0 is gte 0 lte 5\n1 is gte 0 lte 5\n2 is gte 0 lte 5\n3 is gte 0 lte 5\n4 is gte 0 lte 5\n5 is gte 0 lte 5\n6 is gt 5 lte 10\n7 is gt 5 lte 10\n8 is gt 5 lte 10\n9 is gt 5 lte 10\n10 is gt 5 lte 10\n11 is gt 10\n```\n\n","readmeFilename":"README.md","_id":"is-extended@0.0.3","dist":{"shasum":"9eea65651813c649be63b5754a40ed86c398b08d","tarball":"https://registry.npmjs.org/is-extended/-/is-extended-0.0.3.tgz","integrity":"sha512-qU7dLRYMt96P+KNYhTuUi7H/RuJVHwnPYJ09qZFnmLMZUMVbq+Dhh6VS8waQpy1Yj47lQr5mj4r+Qt+wTUFSQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFfPnMFmU/1j+BctTS3G4niWy91HTfb+nZEEq7i8+Hs+AiEAwsyApO1tlHwXRGu9UPoF2PPqXaG8ILJI3KYq3ArcXDQ="}]},"_npmVersion":"1.2.0","_npmUser":{"name":"damartin","email":"doug@dougamartin.com"},"maintainers":[{"name":"damartin","email":"doug@dougamartin.com"}]},"0.0.4":{"name":"is-extended","version":"0.0.4","description":"Module for type detection","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/isa.git"},"keywords":["type","is","detection","instanceof",""],"testling":{"files":"test/browserling.js","browsers":{"ie":[6,7,8,9],"chrome":[4,23,"canary"],"firefox":[3,3.5,3.6,4,17,"nightly"],"opera":[10,10.5,11,11.5,11.6,12,"next"],"safari":["5.0.1",5.1]}},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.2.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/is-extended.png?branch=master)](undefined)\n\n[![browser support](http://ci.testling.com/doug-martin/is-extended.png)](http://ci.testling.com/doug-martin/is-extended)\n\n# is-extended\n\n`is-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar is = require(\"is-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"is-extended\"));\n```\n\n## Installation\n\n```\nnpm install is-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/is-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/is-extended/master/is-extended.min.js))\n\n## Usage\n\n`is-extended` includes the following type coercion methods.\n\n* `isFunction` : Test if something is a function\n* `isObject` : Test if something is an object.\n* `isEmpty` : Test if something is empty.\n* `isHash` : Test if something is a hash.\n\n```javascript\nis.isHash({}); //true\nis.isHash(new Number(1)); //false\n\nis.isObject({}); //true\nis.isObject(new Number(1)); //true\n```\n\n* `isNumber` : Test if something is a number.\n* `isString` : Test if something is a string.\n* `isDate` : Test if something is a `Date`.\n* `isArray` : Test if something is an `Object`\n* `isBoolean` : Test if something is a boolean value.\n* `isUndefined` : Test if something is strictly equal to `undefined`.\n* `isDefined` : Test if something is strictly not equal to `undefined`.\n* `isUndefinedOrNull` : Test if something is strictly equal to `null` or `undefined`.\n* `isNull` : Test if something is strictly equal to `null`.\n* `isArguments` : Test if something is an `Object`\n* `instanceOf` : Test if something is an `Object`\n* `isRegExp` : Test if something is a `RegExp`\n* `isTrue` : Test if something is strictly equal to `true`\n* `isFalse` : Test if something is strictly equal to `false`\n* `isNotNull` : Test if something is strictly not equal to `null`.\n\n**`deepEqual`**\n\nTests if two object are deep equal.\n\n```javascript\n\nis.deepEqual([1,2,3], [1,2,3]); //true\nis([1,2,3]).deepEqual([1,2,3]); //true\n\n\nis.deepEqual({ a: { b: \"c\"}}, {a : false}); //false\nis({ a: { b: \"c\"}}).deepEqual({ a: { b: \"c\"}}); //true\n\n```\n\n\n**`isEq`**\n\nTest if two objects are `==`\n\n**`isNeq`**\n\nTest if two objects are `!=`\n\n**`isSeq`**\n\nTest if two objects are `===`\n\n**`isSneq`**\n\nTest if two objects are `!==`\n\n**`isIn`**\n\nTest if an object is in a array.\n\n```javascript\nis.isIn('a', ['a', 'b', 'c']); //true\n\nis('a').isIn(['a', 'b', 'c']); //true\n```\n\n**`isNotIn`**\n\nTest if something is not in an array.\n\n```javascript\nis.isIn('d', ['a', 'b', 'c']); //true\n\nis('d').isIn(['a', 'b', 'c']); //true\n```\n\n**`isLt`**\n\nCheck if a value is `<` a given value.\n\n```javascript\nis.isLt(1, 2); //true\nis(\"a\").isLt(\"b\"); //true\n```\n\n**`isLte`**\n\nCheck if a value is `<=` a given value.\n\n```javascript\nis.isLte(2, 2); //true\nis(\"a\").isLte(\"b\"); //true\n```\n\n**`isGt`**\n\nCheck if a value is `>` a given value.\n\n```javascript\nis.isGt(2, 1); //true\nis(\"b\").isGt(\"a\"); //true\n```\n\n**`isGte`**\n\nCheck if a value is `>=` a given value.\n\n```javascript\nis.isGte(2, 2); //true\nis(\"b\").isLt(\"a\"); //true\n```\n\n**`isLike`**\n\nCheck if a value is like a given regexp.\n\n```javascript\nis.isLike(\"a\", /a/); //true\nis.isLike(\"a\", \"a\"); //true\nis(1).isLike(/\\d/); //true\nis.isLike(1, \"\\\\d\"); //true\n```\n\n**`isNotLike`**\n\nCheck if a value is not like a given regexp.\n\n```javascript\nis.isNotLike(\"a\", /\\d/); //true\nis(\"a\").isNotLike(\"b\"); //true\n```\n\n**`contains`**\n\nChecks if an array contains a given value.\n\n```javascript\nis.contains([1,2,3], 2); //true\nis([1,2,3]).contains(2); //true\n```\n\n**`notContains`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notContains([1,2,3], 2); //true\nis([1,2,3]).notContains(2); //true\n```\n\n**`containsAt`**\n\nChecks if an array contains a given value at the specified index\n\n```javascript\nis.contains([1,2,3], 2, 1); //true\nis([1,2,3]).containsAt(2, 1); //true\n```\n\n**`notContainsAt`**\n\nChecks if an array does not contain a given value at the specified index\n\n```javascript\nis.notContains([1,2,3], 2, 0); //true\nis([1,2,3]).notContains(2, 0); //true\n```\n\n**`has`**\n\nChecks if a value has the specified property.\n\n```javascript\nis.has([1,2,3], \"length\"); //true\nis.has({a: \"a\"}, \"a\"); //true\nis([1,2,3]).has(\"length\"); //true\nis({a: \"a\"}).has(\"a\"); //true\n```\n\n**`notHas`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notHas([1,2,3], \"someProperty\"); //true\nis.notHas({a: \"a\"}, \"b\"); //true\nis([1,2,3]).notHas(\"someProperty\"); //true\nis({a: \"a\"}).notHas(\"b\"); //true\n```\n\n**`isLength`**\n\nChecks if a value has the specified length;\n\n```javascript\nis.isLength([1,2,3], 3); //true\nis.isLength(\"abc\", 3); //true\nis.isLength(function(a, b, c){}, 3); //true\n\nis([1,2,3]).isLength(3); //true\nis(\"abc\").isLength(3); //true\nis(function(a, b, c){}).isLength(3); //true\n```\n\n**`isNotLength`**\n\nChecks if an value does not have the specified length.\n\n```javascript\nis.isNotLength([1,2,3], 3); //false\nis.isNotLength(\"abc\", 3); //false\nis.isNotLength(function(a, b, c){}, 3); //false\n\nis([1,2,3]).isNotLength(3); //false\nis(\"abc\").isNotLength(3); //false\nis(function(a, b, c){}).isNotLength(3); //false\n```\n\n\n## Creating a custom tester.\n\nTo create a custom type tester you can use the `tester` method.\n\n```javascript\nvar tester = is.tester().isArray().isDate().isBoolean().tester();\ntester([]); //true\ntester(new Array()); //true\ntester(new Date()); //true\ntester(true); //true\ntester(false); //true\ntester(new Boolean()); //true\n\ntester(\"hello\"); //false\ntester(); //false\ntester(new String()); //false\ntester({}); //false\ntester(new Object()); //false\n```\n\n## `switcher`\n\nThe `is-exteded` `switcher` method allows you to create a structure that executes certain code when a value passes a test.\n\n```javascript\nvar mySwitcher = is.switcher()\n    .isLt(0, function (num) {\n        return num + \" is lt 0\";\n    })\n    .isLte(5, function (num) {\n        return num + \" is gte 0 lte 5\";\n    })\n    .isLte(10, function (num) {\n        return num + \" is gt 5 lte 10\";\n    })\n    .isGt(10, function (num) {\n        return num + \" is gt 10\";\n    })\n    .def(function (num) {\n        return num + \" is unknown value\";\n    })\n    .switcher();\n\nfor (var i = -1; i < 12; i++) {\n    console.log(mySwitcher(i));\n}\n```\n\n\nOutputs the following\n\n```\n-1 is lt 0\n0 is gte 0 lte 5\n1 is gte 0 lte 5\n2 is gte 0 lte 5\n3 is gte 0 lte 5\n4 is gte 0 lte 5\n5 is gte 0 lte 5\n6 is gt 5 lte 10\n7 is gt 5 lte 10\n8 is gt 5 lte 10\n9 is gt 5 lte 10\n10 is gt 5 lte 10\n11 is gt 10\n```\n\n","readmeFilename":"README.md","_id":"is-extended@0.0.4","dist":{"shasum":"944ecda8e6c03ab16d355ba6d65d546bbd8deaea","tarball":"https://registry.npmjs.org/is-extended/-/is-extended-0.0.4.tgz","integrity":"sha512-8mh/wvU+51mOZx5xp5cq7Y+Un+8fN4J1WkOHdau8ZlImBKvQ+6twmpADcfegz1xVwD1U+W5RXOC1ogZaDXwfRw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw0K59Sv+Kplk9w7oQt+tvOuNpuPzlCSzdD2JHL5CdCgIgNwbqVsP6weZRrsQVohLKhKk3c/JMx52hHiMCTw+vuZc="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"damartin","email":"doug@dougamartin.com"},"maintainers":[{"name":"damartin","email":"doug@dougamartin.com"}]},"0.0.5":{"name":"is-extended","version":"0.0.5","description":"Module for type detection","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/is-extended.git"},"keywords":["type","is","detection","instanceof"],"testling":{"files":"test/browserling.js","browsers":["ie/6..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.3.0","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.0","grunt-contrib-jshint":"~0.3.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/is-extended.png?branch=master)](undefined)\n\n[![browser support](https://ci.testling.com/doug-martin/is-extended.png)](http://ci.testling.com/doug-martin/is-extended)\n\n# is-extended\n\n`is-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar is = require(\"is-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"is-extended\"));\n```\n\n## Installation\n\n```\nnpm install is-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/is-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/is-extended/master/is-extended.min.js))\n\n## Usage\n\n`is-extended` includes the following type coercion methods.\n\n* `isFunction` : Test if something is a function\n* `isObject` : Test if something is an object.\n* `isEmpty` : Test if something is empty.\n* `isHash` : Test if something is a hash.\n\n```javascript\nis.isHash({}); //true\nis.isHash(new Number(1)); //false\n\nis.isObject({}); //true\nis.isObject(new Number(1)); //true\n```\n\n* `isNumber` : Test if something is a number.\n* `isString` : Test if something is a string.\n* `isDate` : Test if something is a `Date`.\n* `isArray` : Test if something is an `Object`\n* `isBoolean` : Test if something is a boolean value.\n* `isUndefined` : Test if something is strictly equal to `undefined`.\n* `isDefined` : Test if something is strictly not equal to `undefined`.\n* `isUndefinedOrNull` : Test if something is strictly equal to `null` or `undefined`.\n* `isNull` : Test if something is strictly equal to `null`.\n* `isArguments` : Test if something is an `Object`\n* `instanceOf` : Test if something is an `Object`\n* `isRegExp` : Test if something is a `RegExp`\n* `isTrue` : Test if something is strictly equal to `true`\n* `isFalse` : Test if something is strictly equal to `false`\n* `isNotNull` : Test if something is strictly not equal to `null`.\n\n**`deepEqual`**\n\nTests if two object are deep equal.\n\n```javascript\n\nis.deepEqual([1,2,3], [1,2,3]); //true\nis([1,2,3]).deepEqual([1,2,3]); //true\n\n\nis.deepEqual({ a: { b: \"c\"}}, {a : false}); //false\nis({ a: { b: \"c\"}}).deepEqual({ a: { b: \"c\"}}); //true\n\n```\n\n\n**`isEq`**\n\nTest if two objects are `==`\n\n**`isNeq`**\n\nTest if two objects are `!=`\n\n**`isSeq`**\n\nTest if two objects are `===`\n\n**`isSneq`**\n\nTest if two objects are `!==`\n\n**`isIn`**\n\nTest if an object is in a array.\n\n```javascript\nis.isIn('a', ['a', 'b', 'c']); //true\n\nis('a').isIn(['a', 'b', 'c']); //true\n```\n\n**`isNotIn`**\n\nTest if something is not in an array.\n\n```javascript\nis.isIn('d', ['a', 'b', 'c']); //true\n\nis('d').isIn(['a', 'b', 'c']); //true\n```\n\n**`isLt`**\n\nCheck if a value is `<` a given value.\n\n```javascript\nis.isLt(1, 2); //true\nis(\"a\").isLt(\"b\"); //true\n```\n\n**`isLte`**\n\nCheck if a value is `<=` a given value.\n\n```javascript\nis.isLte(2, 2); //true\nis(\"a\").isLte(\"b\"); //true\n```\n\n**`isGt`**\n\nCheck if a value is `>` a given value.\n\n```javascript\nis.isGt(2, 1); //true\nis(\"b\").isGt(\"a\"); //true\n```\n\n**`isGte`**\n\nCheck if a value is `>=` a given value.\n\n```javascript\nis.isGte(2, 2); //true\nis(\"b\").isLt(\"a\"); //true\n```\n\n**`isLike`**\n\nCheck if a value is like a given regexp.\n\n```javascript\nis.isLike(\"a\", /a/); //true\nis.isLike(\"a\", \"a\"); //true\nis(1).isLike(/\\d/); //true\nis.isLike(1, \"\\\\d\"); //true\n```\n\n**`isNotLike`**\n\nCheck if a value is not like a given regexp.\n\n```javascript\nis.isNotLike(\"a\", /\\d/); //true\nis(\"a\").isNotLike(\"b\"); //true\n```\n\n**`contains`**\n\nChecks if an array contains a given value.\n\n```javascript\nis.contains([1,2,3], 2); //true\nis([1,2,3]).contains(2); //true\n```\n\n**`notContains`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notContains([1,2,3], 2); //true\nis([1,2,3]).notContains(2); //true\n```\n\n**`containsAt`**\n\nChecks if an array contains a given value at the specified index\n\n```javascript\nis.contains([1,2,3], 2, 1); //true\nis([1,2,3]).containsAt(2, 1); //true\n```\n\n**`notContainsAt`**\n\nChecks if an array does not contain a given value at the specified index\n\n```javascript\nis.notContains([1,2,3], 2, 0); //true\nis([1,2,3]).notContains(2, 0); //true\n```\n\n**`has`**\n\nChecks if a value has the specified property.\n\n```javascript\nis.has([1,2,3], \"length\"); //true\nis.has({a: \"a\"}, \"a\"); //true\nis([1,2,3]).has(\"length\"); //true\nis({a: \"a\"}).has(\"a\"); //true\n```\n\n**`notHas`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notHas([1,2,3], \"someProperty\"); //true\nis.notHas({a: \"a\"}, \"b\"); //true\nis([1,2,3]).notHas(\"someProperty\"); //true\nis({a: \"a\"}).notHas(\"b\"); //true\n```\n\n**`isLength`**\n\nChecks if a value has the specified length;\n\n```javascript\nis.isLength([1,2,3], 3); //true\nis.isLength(\"abc\", 3); //true\nis.isLength(function(a, b, c){}, 3); //true\n\nis([1,2,3]).isLength(3); //true\nis(\"abc\").isLength(3); //true\nis(function(a, b, c){}).isLength(3); //true\n```\n\n**`isNotLength`**\n\nChecks if an value does not have the specified length.\n\n```javascript\nis.isNotLength([1,2,3], 3); //false\nis.isNotLength(\"abc\", 3); //false\nis.isNotLength(function(a, b, c){}, 3); //false\n\nis([1,2,3]).isNotLength(3); //false\nis(\"abc\").isNotLength(3); //false\nis(function(a, b, c){}).isNotLength(3); //false\n```\n\n\n## Creating a custom tester.\n\nTo create a custom type tester you can use the `tester` method.\n\n```javascript\nvar tester = is.tester().isArray().isDate().isBoolean().tester();\ntester([]); //true\ntester(new Array()); //true\ntester(new Date()); //true\ntester(true); //true\ntester(false); //true\ntester(new Boolean()); //true\n\ntester(\"hello\"); //false\ntester(); //false\ntester(new String()); //false\ntester({}); //false\ntester(new Object()); //false\n```\n\n## `switcher`\n\nThe `is-exteded` `switcher` method allows you to create a structure that executes certain code when a value passes a test.\n\n```javascript\nvar mySwitcher = is.switcher()\n    .isLt(0, function (num) {\n        return num + \" is lt 0\";\n    })\n    .isLte(5, function (num) {\n        return num + \" is gte 0 lte 5\";\n    })\n    .isLte(10, function (num) {\n        return num + \" is gt 5 lte 10\";\n    })\n    .isGt(10, function (num) {\n        return num + \" is gt 10\";\n    })\n    .def(function (num) {\n        return num + \" is unknown value\";\n    })\n    .switcher();\n\nfor (var i = -1; i < 12; i++) {\n    console.log(mySwitcher(i));\n}\n```\n\n\nOutputs the following\n\n```\n-1 is lt 0\n0 is gte 0 lte 5\n1 is gte 0 lte 5\n2 is gte 0 lte 5\n3 is gte 0 lte 5\n4 is gte 0 lte 5\n5 is gte 0 lte 5\n6 is gt 5 lte 10\n7 is gt 5 lte 10\n8 is gt 5 lte 10\n9 is gt 5 lte 10\n10 is gt 5 lte 10\n11 is gt 10\n```\n\n","readmeFilename":"README.md","_id":"is-extended@0.0.5","dist":{"shasum":"3cf7e6ab44eee3f38d50568bc88a1cc9052aed8c","tarball":"https://registry.npmjs.org/is-extended/-/is-extended-0.0.5.tgz","integrity":"sha512-RdbjcJwgV6dd3qZUzCQZon440zE4svKMquGP9hSYp/RuEN4qFddY5e0VPqgNYzqHgFV2CwzNAGgdEYDIZR4ACA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+evDWKzuh2KrTEuwFnUKSMjVwfvpjaYqpffSIWWujEwIgBc5Lf9z4pbYiGARYlMRl/+2zfNP15z7rkuq+9OHo5wo="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"damartin","email":"doug@dougamartin.com"},"maintainers":[{"name":"damartin","email":"doug@dougamartin.com"}]},"0.0.6":{"name":"is-extended","version":"0.0.6","description":"Module for type detection","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/is-extended.git"},"keywords":["type","is","detection","instanceof"],"testling":{"files":"test/browserling.js","browsers":["ie/6..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.3.0","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.0","grunt-contrib-jshint":"~0.3.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/is-extended.png?branch=master)](undefined)\n\n[![browser support](https://ci.testling.com/doug-martin/is-extended.png)](http://ci.testling.com/doug-martin/is-extended)\n\n# is-extended\n\n`is-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar is = require(\"is-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"is-extended\"));\n```\n\n## Installation\n\n```\nnpm install is-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/is-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/is-extended/master/is-extended.min.js))\n\n## Usage\n\n`is-extended` includes the following type coercion methods.\n\n* `isFunction` : Test if something is a function\n* `isObject` : Test if something is an object.\n* `isEmpty` : Test if something is empty.\n* `isHash` : Test if something is a hash.\n\n```javascript\nis.isHash({}); //true\nis.isHash(new Number(1)); //false\n\nis.isObject({}); //true\nis.isObject(new Number(1)); //true\n```\n\n* `isNumber` : Test if something is a number.\n* `isString` : Test if something is a string.\n* `isDate` : Test if something is a `Date`.\n* `isArray` : Test if something is an `Object`\n* `isBoolean` : Test if something is a boolean value.\n* `isUndefined` : Test if something is strictly equal to `undefined`.\n* `isDefined` : Test if something is strictly not equal to `undefined`.\n* `isUndefinedOrNull` : Test if something is strictly equal to `null` or `undefined`.\n* `isNull` : Test if something is strictly equal to `null`.\n* `isArguments` : Test if something is an `Object`\n* `instanceOf` : Test if something is an `Object`\n* `isRegExp` : Test if something is a `RegExp`\n* `isTrue` : Test if something is strictly equal to `true`\n* `isFalse` : Test if something is strictly equal to `false`\n* `isNotNull` : Test if something is strictly not equal to `null`.\n\n**`deepEqual`**\n\nTests if two object are deep equal.\n\n```javascript\n\nis.deepEqual([1,2,3], [1,2,3]); //true\nis([1,2,3]).deepEqual([1,2,3]); //true\n\n\nis.deepEqual({ a: { b: \"c\"}}, {a : false}); //false\nis({ a: { b: \"c\"}}).deepEqual({ a: { b: \"c\"}}); //true\n\n```\n\n\n**`isEq`**\n\nTest if two objects are `==`\n\n**`isNeq`**\n\nTest if two objects are `!=`\n\n**`isSeq`**\n\nTest if two objects are `===`\n\n**`isSneq`**\n\nTest if two objects are `!==`\n\n**`isIn`**\n\nTest if an object is in a array.\n\n```javascript\nis.isIn('a', ['a', 'b', 'c']); //true\n\nis('a').isIn(['a', 'b', 'c']); //true\n```\n\n**`isNotIn`**\n\nTest if something is not in an array.\n\n```javascript\nis.isIn('d', ['a', 'b', 'c']); //true\n\nis('d').isIn(['a', 'b', 'c']); //true\n```\n\n**`isLt`**\n\nCheck if a value is `<` a given value.\n\n```javascript\nis.isLt(1, 2); //true\nis(\"a\").isLt(\"b\"); //true\n```\n\n**`isLte`**\n\nCheck if a value is `<=` a given value.\n\n```javascript\nis.isLte(2, 2); //true\nis(\"a\").isLte(\"b\"); //true\n```\n\n**`isGt`**\n\nCheck if a value is `>` a given value.\n\n```javascript\nis.isGt(2, 1); //true\nis(\"b\").isGt(\"a\"); //true\n```\n\n**`isGte`**\n\nCheck if a value is `>=` a given value.\n\n```javascript\nis.isGte(2, 2); //true\nis(\"b\").isLt(\"a\"); //true\n```\n\n**`isLike`**\n\nCheck if a value is like a given regexp.\n\n```javascript\nis.isLike(\"a\", /a/); //true\nis.isLike(\"a\", \"a\"); //true\nis(1).isLike(/\\d/); //true\nis.isLike(1, \"\\\\d\"); //true\n```\n\n**`isNotLike`**\n\nCheck if a value is not like a given regexp.\n\n```javascript\nis.isNotLike(\"a\", /\\d/); //true\nis(\"a\").isNotLike(\"b\"); //true\n```\n\n**`contains`**\n\nChecks if an array contains a given value.\n\n```javascript\nis.contains([1,2,3], 2); //true\nis([1,2,3]).contains(2); //true\n```\n\n**`notContains`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notContains([1,2,3], 2); //true\nis([1,2,3]).notContains(2); //true\n```\n\n**`containsAt`**\n\nChecks if an array contains a given value at the specified index\n\n```javascript\nis.contains([1,2,3], 2, 1); //true\nis([1,2,3]).containsAt(2, 1); //true\n```\n\n**`notContainsAt`**\n\nChecks if an array does not contain a given value at the specified index\n\n```javascript\nis.notContains([1,2,3], 2, 0); //true\nis([1,2,3]).notContains(2, 0); //true\n```\n\n**`has`**\n\nChecks if a value has the specified property.\n\n```javascript\nis.has([1,2,3], \"length\"); //true\nis.has({a: \"a\"}, \"a\"); //true\nis([1,2,3]).has(\"length\"); //true\nis({a: \"a\"}).has(\"a\"); //true\n```\n\n**`notHas`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notHas([1,2,3], \"someProperty\"); //true\nis.notHas({a: \"a\"}, \"b\"); //true\nis([1,2,3]).notHas(\"someProperty\"); //true\nis({a: \"a\"}).notHas(\"b\"); //true\n```\n\n**`isLength`**\n\nChecks if a value has the specified length;\n\n```javascript\nis.isLength([1,2,3], 3); //true\nis.isLength(\"abc\", 3); //true\nis.isLength(function(a, b, c){}, 3); //true\n\nis([1,2,3]).isLength(3); //true\nis(\"abc\").isLength(3); //true\nis(function(a, b, c){}).isLength(3); //true\n```\n\n**`isNotLength`**\n\nChecks if an value does not have the specified length.\n\n```javascript\nis.isNotLength([1,2,3], 3); //false\nis.isNotLength(\"abc\", 3); //false\nis.isNotLength(function(a, b, c){}, 3); //false\n\nis([1,2,3]).isNotLength(3); //false\nis(\"abc\").isNotLength(3); //false\nis(function(a, b, c){}).isNotLength(3); //false\n```\n\n\n## Creating a custom tester.\n\nTo create a custom type tester you can use the `tester` method.\n\n```javascript\nvar tester = is.tester().isArray().isDate().isBoolean().tester();\ntester([]); //true\ntester(new Array()); //true\ntester(new Date()); //true\ntester(true); //true\ntester(false); //true\ntester(new Boolean()); //true\n\ntester(\"hello\"); //false\ntester(); //false\ntester(new String()); //false\ntester({}); //false\ntester(new Object()); //false\n```\n\n## `switcher`\n\nThe `is-exteded` `switcher` method allows you to create a structure that executes certain code when a value passes a test.\n\n```javascript\nvar mySwitcher = is.switcher()\n    .isLt(0, function (num) {\n        return num + \" is lt 0\";\n    })\n    .isLte(5, function (num) {\n        return num + \" is gte 0 lte 5\";\n    })\n    .isLte(10, function (num) {\n        return num + \" is gt 5 lte 10\";\n    })\n    .isGt(10, function (num) {\n        return num + \" is gt 10\";\n    })\n    .def(function (num) {\n        return num + \" is unknown value\";\n    })\n    .switcher();\n\nfor (var i = -1; i < 12; i++) {\n    console.log(mySwitcher(i));\n}\n```\n\n\nOutputs the following\n\n```\n-1 is lt 0\n0 is gte 0 lte 5\n1 is gte 0 lte 5\n2 is gte 0 lte 5\n3 is gte 0 lte 5\n4 is gte 0 lte 5\n5 is gte 0 lte 5\n6 is gt 5 lte 10\n7 is gt 5 lte 10\n8 is gt 5 lte 10\n9 is gt 5 lte 10\n10 is gt 5 lte 10\n11 is gt 10\n```\n\n","readmeFilename":"README.md","_id":"is-extended@0.0.6","dist":{"shasum":"ea33ff86d1b2b0b12cd16a2b11e074f8efec5040","tarball":"https://registry.npmjs.org/is-extended/-/is-extended-0.0.6.tgz","integrity":"sha512-A9uDYy13ntHbyEanS5CyhIqdTRYyroItJv9kuHllyRS1065eWLEsAwlObXuMhYl6OktPvOsr08DxBa1davVSOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+zOMeJd4vcZMlw0GRU9SNU22c9LJV0pfc3i8cQMIA+AIgNwS8Z/Fl/rtZ5l39C1vP5Q6F5wVFovpLTyNngohIrJw="}]},"_from":".","_npmVersion":"1.2.17","_npmUser":{"name":"damartin","email":"doug@dougamartin.com"},"maintainers":[{"name":"damartin","email":"doug@dougamartin.com"}]},"0.0.7":{"name":"is-extended","version":"0.0.7","description":"Module for type detection","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/is-extended.git"},"keywords":["type","is","detection","instanceof"],"testling":{"files":"test/browserling.js","browsers":["ie/6..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.3.0","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.0","grunt-contrib-jshint":"~0.3.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/is-extended.png?branch=master)](undefined)\n\n[![browser support](https://ci.testling.com/doug-martin/is-extended.png)](http://ci.testling.com/doug-martin/is-extended)\n\n# is-extended\n\n`is-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar is = require(\"is-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"is-extended\"));\n```\n\n## Installation\n\n```\nnpm install is-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/is-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/is-extended/master/is-extended.min.js))\n\n## Usage\n\n`is-extended` includes the following type coercion methods.\n\n* `isFunction` : Test if something is a function\n* `isObject` : Test if something is an object.\n* `isEmpty` : Test if something is empty.\n* `isHash` : Test if something is a hash.\n\n```javascript\nis.isHash({}); //true\nis.isHash(new Number(1)); //false\n\nis.isObject({}); //true\nis.isObject(new Number(1)); //true\n```\n\n* `isNumber` : Test if something is a number.\n* `isString` : Test if something is a string.\n* `isDate` : Test if something is a `Date`.\n* `isArray` : Test if something is an `Object`\n* `isBoolean` : Test if something is a boolean value.\n* `isUndefined` : Test if something is strictly equal to `undefined`.\n* `isDefined` : Test if something is strictly not equal to `undefined`.\n* `isUndefinedOrNull` : Test if something is strictly equal to `null` or `undefined`.\n* `isNull` : Test if something is strictly equal to `null`.\n* `isArguments` : Test if something is an `Object`\n* `instanceOf` : Test if something is an `Object`\n* `isRegExp` : Test if something is a `RegExp`\n* `isTrue` : Test if something is strictly equal to `true`\n* `isFalse` : Test if something is strictly equal to `false`\n* `isNotNull` : Test if something is strictly not equal to `null`.\n\n**`deepEqual`**\n\nTests if two object are deep equal.\n\n```javascript\n\nis.deepEqual([1,2,3], [1,2,3]); //true\nis([1,2,3]).deepEqual([1,2,3]); //true\n\n\nis.deepEqual({ a: { b: \"c\"}}, {a : false}); //false\nis({ a: { b: \"c\"}}).deepEqual({ a: { b: \"c\"}}); //true\n\n```\n\n\n**`isEq`**\n\nTest if two objects are `==`\n\n**`isNeq`**\n\nTest if two objects are `!=`\n\n**`isSeq`**\n\nTest if two objects are `===`\n\n**`isSneq`**\n\nTest if two objects are `!==`\n\n**`isIn`**\n\nTest if an object is in a array.\n\n```javascript\nis.isIn('a', ['a', 'b', 'c']); //true\n\nis('a').isIn(['a', 'b', 'c']); //true\n```\n\n**`isNotIn`**\n\nTest if something is not in an array.\n\n```javascript\nis.isIn('d', ['a', 'b', 'c']); //true\n\nis('d').isIn(['a', 'b', 'c']); //true\n```\n\n**`isLt`**\n\nCheck if a value is `<` a given value.\n\n```javascript\nis.isLt(1, 2); //true\nis(\"a\").isLt(\"b\"); //true\n```\n\n**`isLte`**\n\nCheck if a value is `<=` a given value.\n\n```javascript\nis.isLte(2, 2); //true\nis(\"a\").isLte(\"b\"); //true\n```\n\n**`isGt`**\n\nCheck if a value is `>` a given value.\n\n```javascript\nis.isGt(2, 1); //true\nis(\"b\").isGt(\"a\"); //true\n```\n\n**`isGte`**\n\nCheck if a value is `>=` a given value.\n\n```javascript\nis.isGte(2, 2); //true\nis(\"b\").isLt(\"a\"); //true\n```\n\n**`isLike`**\n\nCheck if a value is like a given regexp.\n\n```javascript\nis.isLike(\"a\", /a/); //true\nis.isLike(\"a\", \"a\"); //true\nis(1).isLike(/\\d/); //true\nis.isLike(1, \"\\\\d\"); //true\n```\n\n**`isNotLike`**\n\nCheck if a value is not like a given regexp.\n\n```javascript\nis.isNotLike(\"a\", /\\d/); //true\nis(\"a\").isNotLike(\"b\"); //true\n```\n\n**`contains`**\n\nChecks if an array contains a given value.\n\n```javascript\nis.contains([1,2,3], 2); //true\nis([1,2,3]).contains(2); //true\n```\n\n**`notContains`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notContains([1,2,3], 2); //true\nis([1,2,3]).notContains(2); //true\n```\n\n**`containsAt`**\n\nChecks if an array contains a given value at the specified index\n\n```javascript\nis.contains([1,2,3], 2, 1); //true\nis([1,2,3]).containsAt(2, 1); //true\n```\n\n**`notContainsAt`**\n\nChecks if an array does not contain a given value at the specified index\n\n```javascript\nis.notContains([1,2,3], 2, 0); //true\nis([1,2,3]).notContains(2, 0); //true\n```\n\n**`has`**\n\nChecks if a value has the specified property.\n\n```javascript\nis.has([1,2,3], \"length\"); //true\nis.has({a: \"a\"}, \"a\"); //true\nis([1,2,3]).has(\"length\"); //true\nis({a: \"a\"}).has(\"a\"); //true\n```\n\n**`notHas`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notHas([1,2,3], \"someProperty\"); //true\nis.notHas({a: \"a\"}, \"b\"); //true\nis([1,2,3]).notHas(\"someProperty\"); //true\nis({a: \"a\"}).notHas(\"b\"); //true\n```\n\n**`isLength`**\n\nChecks if a value has the specified length;\n\n```javascript\nis.isLength([1,2,3], 3); //true\nis.isLength(\"abc\", 3); //true\nis.isLength(function(a, b, c){}, 3); //true\n\nis([1,2,3]).isLength(3); //true\nis(\"abc\").isLength(3); //true\nis(function(a, b, c){}).isLength(3); //true\n```\n\n**`isNotLength`**\n\nChecks if an value does not have the specified length.\n\n```javascript\nis.isNotLength([1,2,3], 3); //false\nis.isNotLength(\"abc\", 3); //false\nis.isNotLength(function(a, b, c){}, 3); //false\n\nis([1,2,3]).isNotLength(3); //false\nis(\"abc\").isNotLength(3); //false\nis(function(a, b, c){}).isNotLength(3); //false\n```\n\n\n## Creating a custom tester.\n\nTo create a custom type tester you can use the `tester` method.\n\n```javascript\nvar tester = is.tester().isArray().isDate().isBoolean().tester();\ntester([]); //true\ntester(new Array()); //true\ntester(new Date()); //true\ntester(true); //true\ntester(false); //true\ntester(new Boolean()); //true\n\ntester(\"hello\"); //false\ntester(); //false\ntester(new String()); //false\ntester({}); //false\ntester(new Object()); //false\n```\n\n## `switcher`\n\nThe `is-exteded` `switcher` method allows you to create a structure that executes certain code when a value passes a test.\n\n```javascript\nvar mySwitcher = is.switcher()\n    .isLt(0, function (num) {\n        return num + \" is lt 0\";\n    })\n    .isLte(5, function (num) {\n        return num + \" is gte 0 lte 5\";\n    })\n    .isLte(10, function (num) {\n        return num + \" is gt 5 lte 10\";\n    })\n    .isGt(10, function (num) {\n        return num + \" is gt 10\";\n    })\n    .def(function (num) {\n        return num + \" is unknown value\";\n    })\n    .switcher();\n\nfor (var i = -1; i < 12; i++) {\n    console.log(mySwitcher(i));\n}\n```\n\n\nOutputs the following\n\n```\n-1 is lt 0\n0 is gte 0 lte 5\n1 is gte 0 lte 5\n2 is gte 0 lte 5\n3 is gte 0 lte 5\n4 is gte 0 lte 5\n5 is gte 0 lte 5\n6 is gt 5 lte 10\n7 is gt 5 lte 10\n8 is gt 5 lte 10\n9 is gt 5 lte 10\n10 is gt 5 lte 10\n11 is gt 10\n```\n\n","readmeFilename":"README.md","_id":"is-extended@0.0.7","dist":{"shasum":"35129ce4aea14fbaaa73d85532bf450c0bf66172","tarball":"https://registry.npmjs.org/is-extended/-/is-extended-0.0.7.tgz","integrity":"sha512-B8iLMtOh90D3+Ry9e4TRKLCvZuTVt8F0ytZssTkIOVRTbh5Q3kzkgQI4CjTlQ7pisVr7pFVQG1eej3W2nJZ8mA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYC24Bzj+cKWAASXgAApJ8Vz/1JyY0kqRj7yIDX0G5wgIhALf7eEkoa85dxBjDSJrWah3j1Zb1eh6n/5pUkULTYHp8"}]},"_from":".","_npmVersion":"1.2.17","_npmUser":{"name":"damartin","email":"doug@dougamartin.com"},"maintainers":[{"name":"damartin","email":"doug@dougamartin.com"}]},"0.0.8":{"name":"is-extended","version":"0.0.8","description":"Module for type detection","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/is-extended.git"},"keywords":["type","is","detection","instanceof"],"testling":{"files":"test/browserling.js","browsers":["ie/6..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.3.0","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.0","grunt-contrib-jshint":"~0.3.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/is-extended.png?branch=master)](undefined)\n\n[![browser support](https://ci.testling.com/doug-martin/is-extended.png)](http://ci.testling.com/doug-martin/is-extended)\n\n# is-extended\n\n`is-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar is = require(\"is-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"is-extended\"));\n```\n\n## Installation\n\n```\nnpm install is-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/is-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/is-extended/master/is-extended.min.js))\n\n## Usage\n\n`is-extended` includes the following type coercion methods.\n\n* `isFunction` : Test if something is a function\n* `isObject` : Test if something is an object.\n* `isEmpty` : Test if something is empty.\n* `isHash` : Test if something is a hash.\n\n```javascript\nis.isHash({}); //true\nis.isHash(new Number(1)); //false\n\nis.isObject({}); //true\nis.isObject(new Number(1)); //true\n```\n\n* `isNumber` : Test if something is a number.\n* `isString` : Test if something is a string.\n* `isDate` : Test if something is a `Date`.\n* `isArray` : Test if something is an `Object`\n* `isBoolean` : Test if something is a boolean value.\n* `isUndefined` : Test if something is strictly equal to `undefined`.\n* `isDefined` : Test if something is strictly not equal to `undefined`.\n* `isUndefinedOrNull` : Test if something is strictly equal to `null` or `undefined`.\n* `isNull` : Test if something is strictly equal to `null`.\n* `isArguments` : Test if something is an `Object`\n* `instanceOf` : Test if something is an `Object`\n* `isRegExp` : Test if something is a `RegExp`\n* `isTrue` : Test if something is strictly equal to `true`\n* `isFalse` : Test if something is strictly equal to `false`\n* `isNotNull` : Test if something is strictly not equal to `null`.\n\n**`deepEqual`**\n\nTests if two object are deep equal.\n\n```javascript\n\nis.deepEqual([1,2,3], [1,2,3]); //true\nis([1,2,3]).deepEqual([1,2,3]); //true\n\n\nis.deepEqual({ a: { b: \"c\"}}, {a : false}); //false\nis({ a: { b: \"c\"}}).deepEqual({ a: { b: \"c\"}}); //true\n\n```\n\n\n**`isEq`**\n\nTest if two objects are `==`\n\n**`isNeq`**\n\nTest if two objects are `!=`\n\n**`isSeq`**\n\nTest if two objects are `===`\n\n**`isSneq`**\n\nTest if two objects are `!==`\n\n**`isIn`**\n\nTest if an object is in a array.\n\n```javascript\nis.isIn('a', ['a', 'b', 'c']); //true\n\nis('a').isIn(['a', 'b', 'c']); //true\n```\n\n**`isNotIn`**\n\nTest if something is not in an array.\n\n```javascript\nis.isIn('d', ['a', 'b', 'c']); //true\n\nis('d').isIn(['a', 'b', 'c']); //true\n```\n\n**`isLt`**\n\nCheck if a value is `<` a given value.\n\n```javascript\nis.isLt(1, 2); //true\nis(\"a\").isLt(\"b\"); //true\n```\n\n**`isLte`**\n\nCheck if a value is `<=` a given value.\n\n```javascript\nis.isLte(2, 2); //true\nis(\"a\").isLte(\"b\"); //true\n```\n\n**`isGt`**\n\nCheck if a value is `>` a given value.\n\n```javascript\nis.isGt(2, 1); //true\nis(\"b\").isGt(\"a\"); //true\n```\n\n**`isGte`**\n\nCheck if a value is `>=` a given value.\n\n```javascript\nis.isGte(2, 2); //true\nis(\"b\").isLt(\"a\"); //true\n```\n\n**`isLike`**\n\nCheck if a value is like a given regexp.\n\n```javascript\nis.isLike(\"a\", /a/); //true\nis.isLike(\"a\", \"a\"); //true\nis(1).isLike(/\\d/); //true\nis.isLike(1, \"\\\\d\"); //true\n```\n\n**`isNotLike`**\n\nCheck if a value is not like a given regexp.\n\n```javascript\nis.isNotLike(\"a\", /\\d/); //true\nis(\"a\").isNotLike(\"b\"); //true\n```\n\n**`contains`**\n\nChecks if an array contains a given value.\n\n```javascript\nis.contains([1,2,3], 2); //true\nis([1,2,3]).contains(2); //true\n```\n\n**`notContains`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notContains([1,2,3], 2); //true\nis([1,2,3]).notContains(2); //true\n```\n\n**`containsAt`**\n\nChecks if an array contains a given value at the specified index\n\n```javascript\nis.contains([1,2,3], 2, 1); //true\nis([1,2,3]).containsAt(2, 1); //true\n```\n\n**`notContainsAt`**\n\nChecks if an array does not contain a given value at the specified index\n\n```javascript\nis.notContains([1,2,3], 2, 0); //true\nis([1,2,3]).notContains(2, 0); //true\n```\n\n**`has`**\n\nChecks if a value has the specified property.\n\n```javascript\nis.has([1,2,3], \"length\"); //true\nis.has({a: \"a\"}, \"a\"); //true\nis([1,2,3]).has(\"length\"); //true\nis({a: \"a\"}).has(\"a\"); //true\n```\n\n**`notHas`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notHas([1,2,3], \"someProperty\"); //true\nis.notHas({a: \"a\"}, \"b\"); //true\nis([1,2,3]).notHas(\"someProperty\"); //true\nis({a: \"a\"}).notHas(\"b\"); //true\n```\n\n**`isLength`**\n\nChecks if a value has the specified length;\n\n```javascript\nis.isLength([1,2,3], 3); //true\nis.isLength(\"abc\", 3); //true\nis.isLength(function(a, b, c){}, 3); //true\n\nis([1,2,3]).isLength(3); //true\nis(\"abc\").isLength(3); //true\nis(function(a, b, c){}).isLength(3); //true\n```\n\n**`isNotLength`**\n\nChecks if an value does not have the specified length.\n\n```javascript\nis.isNotLength([1,2,3], 3); //false\nis.isNotLength(\"abc\", 3); //false\nis.isNotLength(function(a, b, c){}, 3); //false\n\nis([1,2,3]).isNotLength(3); //false\nis(\"abc\").isNotLength(3); //false\nis(function(a, b, c){}).isNotLength(3); //false\n```\n\n\n## Creating a custom tester.\n\nTo create a custom type tester you can use the `tester` method.\n\n```javascript\nvar tester = is.tester().isArray().isDate().isBoolean().tester();\ntester([]); //true\ntester(new Array()); //true\ntester(new Date()); //true\ntester(true); //true\ntester(false); //true\ntester(new Boolean()); //true\n\ntester(\"hello\"); //false\ntester(); //false\ntester(new String()); //false\ntester({}); //false\ntester(new Object()); //false\n```\n\n## `switcher`\n\nThe `is-exteded` `switcher` method allows you to create a structure that executes certain code when a value passes a test.\n\n```javascript\nvar mySwitcher = is.switcher()\n    .isLt(0, function (num) {\n        return num + \" is lt 0\";\n    })\n    .isLte(5, function (num) {\n        return num + \" is gte 0 lte 5\";\n    })\n    .isLte(10, function (num) {\n        return num + \" is gt 5 lte 10\";\n    })\n    .isGt(10, function (num) {\n        return num + \" is gt 10\";\n    })\n    .def(function (num) {\n        return num + \" is unknown value\";\n    })\n    .switcher();\n\nfor (var i = -1; i < 12; i++) {\n    console.log(mySwitcher(i));\n}\n```\n\n\nOutputs the following\n\n```\n-1 is lt 0\n0 is gte 0 lte 5\n1 is gte 0 lte 5\n2 is gte 0 lte 5\n3 is gte 0 lte 5\n4 is gte 0 lte 5\n5 is gte 0 lte 5\n6 is gt 5 lte 10\n7 is gt 5 lte 10\n8 is gt 5 lte 10\n9 is gt 5 lte 10\n10 is gt 5 lte 10\n11 is gt 10\n```\n\n","readmeFilename":"README.md","_id":"is-extended@0.0.8","dist":{"shasum":"9b7f7be95f9767a0083ac0e877980172ea8cd8ae","tarball":"https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz","integrity":"sha512-2SwVQP4oUVPDbl6CuNhT1FnWJBA711nCOOEXuj5kjg14ZTIPr6vKpkY29AhkeMiwCqfCvcFHf9drdgKGbiNJYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHWs97TVwO9jP7NL2o5uPf28gJiveH/rwn1ZRmNoWPKEAiEAsTQD8xHHCQaK+V14My3C/stF3BNrX9oLlnWvBHF0Oek="}]},"_from":".","_npmVersion":"1.2.17","_npmUser":{"name":"damartin","email":"doug@dougamartin.com"},"maintainers":[{"name":"damartin","email":"doug@dougamartin.com"}]},"0.0.9":{"name":"is-extended","version":"0.0.9","description":"Module for type detection","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/is-extended.git"},"keywords":["type","is","detection","instanceof"],"testling":{"files":"test/browserling.js","browsers":["ie/6..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.3.0","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.0","grunt-contrib-jshint":"~0.3.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/is-extended.png?branch=master)](undefined)\n\n[![browser support](https://ci.testling.com/doug-martin/is-extended.png)](http://ci.testling.com/doug-martin/is-extended)\n\n# is-extended\n\n`is-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar is = require(\"is-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"is-extended\"));\n```\n\n## Installation\n\n```\nnpm install is-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/is-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/is-extended/master/is-extended.min.js))\n\n## Usage\n\n`is-extended` includes the following type coercion methods.\n\n* `isFunction` : Test if something is a function\n* `isObject` : Test if something is an object.\n* `isEmpty` : Test if something is empty.\n* `isHash` : Test if something is a hash.\n\n```javascript\nis.isHash({}); //true\nis.isHash(new Number(1)); //false\n\nis.isObject({}); //true\nis.isObject(new Number(1)); //true\n```\n\n* `isNumber` : Test if something is a number.\n* `isString` : Test if something is a string.\n* `isDate` : Test if something is a `Date`.\n* `isArray` : Test if something is an `Object`\n* `isBoolean` : Test if something is a boolean value.\n* `isUndefined` : Test if something is strictly equal to `undefined`.\n* `isDefined` : Test if something is strictly not equal to `undefined`.\n* `isUndefinedOrNull` : Test if something is strictly equal to `null` or `undefined`.\n* `isNull` : Test if something is strictly equal to `null`.\n* `isArguments` : Test if something is an `Object`\n* `instanceOf` : Test if something is an `Object`\n* `isRegExp` : Test if something is a `RegExp`\n* `isTrue` : Test if something is strictly equal to `true`\n* `isFalse` : Test if something is strictly equal to `false`\n* `isNotNull` : Test if something is strictly not equal to `null`.\n\n**`deepEqual`**\n\nTests if two object are deep equal.\n\n```javascript\n\nis.deepEqual([1,2,3], [1,2,3]); //true\nis([1,2,3]).deepEqual([1,2,3]); //true\n\n\nis.deepEqual({ a: { b: \"c\"}}, {a : false}); //false\nis({ a: { b: \"c\"}}).deepEqual({ a: { b: \"c\"}}); //true\n\n```\n\n\n**`isEq`**\n\nTest if two objects are `==`\n\n**`isNeq`**\n\nTest if two objects are `!=`\n\n**`isSeq`**\n\nTest if two objects are `===`\n\n**`isSneq`**\n\nTest if two objects are `!==`\n\n**`isIn`**\n\nTest if an object is in a array.\n\n```javascript\nis.isIn('a', ['a', 'b', 'c']); //true\n\nis('a').isIn(['a', 'b', 'c']); //true\n```\n\n**`isNotIn`**\n\nTest if something is not in an array.\n\n```javascript\nis.isIn('d', ['a', 'b', 'c']); //true\n\nis('d').isIn(['a', 'b', 'c']); //true\n```\n\n**`isLt`**\n\nCheck if a value is `<` a given value.\n\n```javascript\nis.isLt(1, 2); //true\nis(\"a\").isLt(\"b\"); //true\n```\n\n**`isLte`**\n\nCheck if a value is `<=` a given value.\n\n```javascript\nis.isLte(2, 2); //true\nis(\"a\").isLte(\"b\"); //true\n```\n\n**`isGt`**\n\nCheck if a value is `>` a given value.\n\n```javascript\nis.isGt(2, 1); //true\nis(\"b\").isGt(\"a\"); //true\n```\n\n**`isGte`**\n\nCheck if a value is `>=` a given value.\n\n```javascript\nis.isGte(2, 2); //true\nis(\"b\").isLt(\"a\"); //true\n```\n\n**`isLike`**\n\nCheck if a value is like a given regexp.\n\n```javascript\nis.isLike(\"a\", /a/); //true\nis.isLike(\"a\", \"a\"); //true\nis(1).isLike(/\\d/); //true\nis.isLike(1, \"\\\\d\"); //true\n```\n\n**`isNotLike`**\n\nCheck if a value is not like a given regexp.\n\n```javascript\nis.isNotLike(\"a\", /\\d/); //true\nis(\"a\").isNotLike(\"b\"); //true\n```\n\n**`contains`**\n\nChecks if an array contains a given value.\n\n```javascript\nis.contains([1,2,3], 2); //true\nis([1,2,3]).contains(2); //true\n```\n\n**`notContains`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notContains([1,2,3], 2); //true\nis([1,2,3]).notContains(2); //true\n```\n\n**`containsAt`**\n\nChecks if an array contains a given value at the specified index\n\n```javascript\nis.contains([1,2,3], 2, 1); //true\nis([1,2,3]).containsAt(2, 1); //true\n```\n\n**`notContainsAt`**\n\nChecks if an array does not contain a given value at the specified index\n\n```javascript\nis.notContains([1,2,3], 2, 0); //true\nis([1,2,3]).notContains(2, 0); //true\n```\n\n**`has`**\n\nChecks if a value has the specified property.\n\n```javascript\nis.has([1,2,3], \"length\"); //true\nis.has({a: \"a\"}, \"a\"); //true\nis([1,2,3]).has(\"length\"); //true\nis({a: \"a\"}).has(\"a\"); //true\n```\n\n**`notHas`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notHas([1,2,3], \"someProperty\"); //true\nis.notHas({a: \"a\"}, \"b\"); //true\nis([1,2,3]).notHas(\"someProperty\"); //true\nis({a: \"a\"}).notHas(\"b\"); //true\n```\n\n**`isLength`**\n\nChecks if a value has the specified length;\n\n```javascript\nis.isLength([1,2,3], 3); //true\nis.isLength(\"abc\", 3); //true\nis.isLength(function(a, b, c){}, 3); //true\n\nis([1,2,3]).isLength(3); //true\nis(\"abc\").isLength(3); //true\nis(function(a, b, c){}).isLength(3); //true\n```\n\n**`isNotLength`**\n\nChecks if an value does not have the specified length.\n\n```javascript\nis.isNotLength([1,2,3], 3); //false\nis.isNotLength(\"abc\", 3); //false\nis.isNotLength(function(a, b, c){}, 3); //false\n\nis([1,2,3]).isNotLength(3); //false\nis(\"abc\").isNotLength(3); //false\nis(function(a, b, c){}).isNotLength(3); //false\n```\n\n\n## Creating a custom tester.\n\nTo create a custom type tester you can use the `tester` method.\n\n```javascript\nvar tester = is.tester().isArray().isDate().isBoolean().tester();\ntester([]); //true\ntester(new Array()); //true\ntester(new Date()); //true\ntester(true); //true\ntester(false); //true\ntester(new Boolean()); //true\n\ntester(\"hello\"); //false\ntester(); //false\ntester(new String()); //false\ntester({}); //false\ntester(new Object()); //false\n```\n\n## `switcher`\n\nThe `is-exteded` `switcher` method allows you to create a structure that executes certain code when a value passes a test.\n\n```javascript\nvar mySwitcher = is.switcher()\n    .isLt(0, function (num) {\n        return num + \" is lt 0\";\n    })\n    .isLte(5, function (num) {\n        return num + \" is gte 0 lte 5\";\n    })\n    .isLte(10, function (num) {\n        return num + \" is gt 5 lte 10\";\n    })\n    .isGt(10, function (num) {\n        return num + \" is gt 10\";\n    })\n    .def(function (num) {\n        return num + \" is unknown value\";\n    })\n    .switcher();\n\nfor (var i = -1; i < 12; i++) {\n    console.log(mySwitcher(i));\n}\n```\n\n\nOutputs the following\n\n```\n-1 is lt 0\n0 is gte 0 lte 5\n1 is gte 0 lte 5\n2 is gte 0 lte 5\n3 is gte 0 lte 5\n4 is gte 0 lte 5\n5 is gte 0 lte 5\n6 is gt 5 lte 10\n7 is gt 5 lte 10\n8 is gt 5 lte 10\n9 is gt 5 lte 10\n10 is gt 5 lte 10\n11 is gt 10\n```\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/is-extended/issues"},"_id":"is-extended@0.0.9","dist":{"shasum":"3b235b9f008f90d1430b5592ee0bcaa91e785d78","tarball":"https://registry.npmjs.org/is-extended/-/is-extended-0.0.9.tgz","integrity":"sha512-BMiNNf0YXXsejIWQcH/P1k3yH8l8/07aLxKOwotkUVZf5n7YXH/JhZFD4hmAGQ/4HWGEstFAm9HM/RyA4dq16w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCijCfk0A2XVzhUE1Tz9JyV/793GIFjvot+M6sgM12YlwIgeFhEalE1eCyxfh8ZOqmAj3Qt/9DYOraMtg1AW/4wwdw="}]},"_from":".","_npmVersion":"1.2.23","_npmUser":{"name":"damartin","email":"doug@dougamartin.com"},"maintainers":[{"name":"damartin","email":"doug@dougamartin.com"}]},"0.0.10":{"name":"is-extended","version":"0.0.10","description":"Module for type detection","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/is-extended.git"},"keywords":["type","is","detection","instanceof"],"testling":{"files":"test/browserling.js","browsers":["ie/6..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.3.0","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.0","grunt-contrib-jshint":"~0.3.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/is-extended.png?branch=master)](undefined)\n\n[![browser support](https://ci.testling.com/doug-martin/is-extended.png)](http://ci.testling.com/doug-martin/is-extended)\n\n# is-extended\n\n`is-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar is = require(\"is-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"is-extended\"));\n```\n\n## Installation\n\n```\nnpm install is-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/is-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/is-extended/master/is-extended.min.js))\n\n## Usage\n\n`is-extended` includes the following type coercion methods.\n\n* `isFunction` : Test if something is a function\n* `isObject` : Test if something is an object.\n* `isEmpty` : Test if something is empty.\n* `isHash` : Test if something is a hash.\n\n```javascript\nis.isHash({}); //true\nis.isHash(new Number(1)); //false\n\nis.isObject({}); //true\nis.isObject(new Number(1)); //true\n```\n\n* `isNumber` : Test if something is a number.\n* `isString` : Test if something is a string.\n* `isDate` : Test if something is a `Date`.\n* `isArray` : Test if something is an `Object`\n* `isBoolean` : Test if something is a boolean value.\n* `isUndefined` : Test if something is strictly equal to `undefined`.\n* `isDefined` : Test if something is strictly not equal to `undefined`.\n* `isUndefinedOrNull` : Test if something is strictly equal to `null` or `undefined`.\n* `isNull` : Test if something is strictly equal to `null`.\n* `isArguments` : Test if something is an `Object`\n* `instanceOf` : Test if something is an `Object`\n* `isRegExp` : Test if something is a `RegExp`\n* `isTrue` : Test if something is strictly equal to `true`\n* `isFalse` : Test if something is strictly equal to `false`\n* `isNotNull` : Test if something is strictly not equal to `null`.\n\n**`deepEqual`**\n\nTests if two object are deep equal.\n\n```javascript\n\nis.deepEqual([1,2,3], [1,2,3]); //true\nis([1,2,3]).deepEqual([1,2,3]); //true\n\n\nis.deepEqual({ a: { b: \"c\"}}, {a : false}); //false\nis({ a: { b: \"c\"}}).deepEqual({ a: { b: \"c\"}}); //true\n\n```\n\n\n**`isEq`**\n\nTest if two objects are `==`\n\n**`isNeq`**\n\nTest if two objects are `!=`\n\n**`isSeq`**\n\nTest if two objects are `===`\n\n**`isSneq`**\n\nTest if two objects are `!==`\n\n**`isIn`**\n\nTest if an object is in a array.\n\n```javascript\nis.isIn('a', ['a', 'b', 'c']); //true\n\nis('a').isIn(['a', 'b', 'c']); //true\n```\n\n**`isNotIn`**\n\nTest if something is not in an array.\n\n```javascript\nis.isIn('d', ['a', 'b', 'c']); //true\n\nis('d').isIn(['a', 'b', 'c']); //true\n```\n\n**`isLt`**\n\nCheck if a value is `<` a given value.\n\n```javascript\nis.isLt(1, 2); //true\nis(\"a\").isLt(\"b\"); //true\n```\n\n**`isLte`**\n\nCheck if a value is `<=` a given value.\n\n```javascript\nis.isLte(2, 2); //true\nis(\"a\").isLte(\"b\"); //true\n```\n\n**`isGt`**\n\nCheck if a value is `>` a given value.\n\n```javascript\nis.isGt(2, 1); //true\nis(\"b\").isGt(\"a\"); //true\n```\n\n**`isGte`**\n\nCheck if a value is `>=` a given value.\n\n```javascript\nis.isGte(2, 2); //true\nis(\"b\").isLt(\"a\"); //true\n```\n\n**`isLike`**\n\nCheck if a value is like a given regexp.\n\n```javascript\nis.isLike(\"a\", /a/); //true\nis.isLike(\"a\", \"a\"); //true\nis(1).isLike(/\\d/); //true\nis.isLike(1, \"\\\\d\"); //true\n```\n\n**`isNotLike`**\n\nCheck if a value is not like a given regexp.\n\n```javascript\nis.isNotLike(\"a\", /\\d/); //true\nis(\"a\").isNotLike(\"b\"); //true\n```\n\n**`contains`**\n\nChecks if an array contains a given value.\n\n```javascript\nis.contains([1,2,3], 2); //true\nis([1,2,3]).contains(2); //true\n```\n\n**`notContains`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notContains([1,2,3], 2); //true\nis([1,2,3]).notContains(2); //true\n```\n\n**`containsAt`**\n\nChecks if an array contains a given value at the specified index\n\n```javascript\nis.contains([1,2,3], 2, 1); //true\nis([1,2,3]).containsAt(2, 1); //true\n```\n\n**`notContainsAt`**\n\nChecks if an array does not contain a given value at the specified index\n\n```javascript\nis.notContains([1,2,3], 2, 0); //true\nis([1,2,3]).notContains(2, 0); //true\n```\n\n**`has`**\n\nChecks if a value has the specified property.\n\n```javascript\nis.has([1,2,3], \"length\"); //true\nis.has({a: \"a\"}, \"a\"); //true\nis([1,2,3]).has(\"length\"); //true\nis({a: \"a\"}).has(\"a\"); //true\n```\n\n**`notHas`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notHas([1,2,3], \"someProperty\"); //true\nis.notHas({a: \"a\"}, \"b\"); //true\nis([1,2,3]).notHas(\"someProperty\"); //true\nis({a: \"a\"}).notHas(\"b\"); //true\n```\n\n**`isLength`**\n\nChecks if a value has the specified length;\n\n```javascript\nis.isLength([1,2,3], 3); //true\nis.isLength(\"abc\", 3); //true\nis.isLength(function(a, b, c){}, 3); //true\n\nis([1,2,3]).isLength(3); //true\nis(\"abc\").isLength(3); //true\nis(function(a, b, c){}).isLength(3); //true\n```\n\n**`isNotLength`**\n\nChecks if an value does not have the specified length.\n\n```javascript\nis.isNotLength([1,2,3], 3); //false\nis.isNotLength(\"abc\", 3); //false\nis.isNotLength(function(a, b, c){}, 3); //false\n\nis([1,2,3]).isNotLength(3); //false\nis(\"abc\").isNotLength(3); //false\nis(function(a, b, c){}).isNotLength(3); //false\n```\n\n\n## Creating a custom tester.\n\nTo create a custom type tester you can use the `tester` method.\n\n```javascript\nvar tester = is.tester().isArray().isDate().isBoolean().tester();\ntester([]); //true\ntester(new Array()); //true\ntester(new Date()); //true\ntester(true); //true\ntester(false); //true\ntester(new Boolean()); //true\n\ntester(\"hello\"); //false\ntester(); //false\ntester(new String()); //false\ntester({}); //false\ntester(new Object()); //false\n```\n\n## `switcher`\n\nThe `is-exteded` `switcher` method allows you to create a structure that executes certain code when a value passes a test.\n\n```javascript\nvar mySwitcher = is.switcher()\n    .isLt(0, function (num) {\n        return num + \" is lt 0\";\n    })\n    .isLte(5, function (num) {\n        return num + \" is gte 0 lte 5\";\n    })\n    .isLte(10, function (num) {\n        return num + \" is gt 5 lte 10\";\n    })\n    .isGt(10, function (num) {\n        return num + \" is gt 10\";\n    })\n    .def(function (num) {\n        return num + \" is unknown value\";\n    })\n    .switcher();\n\nfor (var i = -1; i < 12; i++) {\n    console.log(mySwitcher(i));\n}\n```\n\n\nOutputs the following\n\n```\n-1 is lt 0\n0 is gte 0 lte 5\n1 is gte 0 lte 5\n2 is gte 0 lte 5\n3 is gte 0 lte 5\n4 is gte 0 lte 5\n5 is gte 0 lte 5\n6 is gt 5 lte 10\n7 is gt 5 lte 10\n8 is gt 5 lte 10\n9 is gt 5 lte 10\n10 is gt 5 lte 10\n11 is gt 10\n```\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/is-extended/issues"},"_id":"is-extended@0.0.10","dist":{"shasum":"244e140df75bb1c9a3106f412ff182fb534a6d62","tarball":"https://registry.npmjs.org/is-extended/-/is-extended-0.0.10.tgz","integrity":"sha512-qp+HR+L9QXbgFurvqiVgD+JiGyUboRgICNzCXmbiLtZBFVSNFbxRsI4q7Be9mCWTO5PoO1IxoWp5sl+j5b83FA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8WwG2uImScs6CY4VkN1RstzgLR0+wH8Ev5a6r5F2YeAIhAMIM562sLPQrd2eCz30LnzIyqpK9qx0eKxmq75Ez1CEV"}]},"_from":".","_npmVersion":"1.2.23","_npmUser":{"name":"damartin","email":"doug@dougamartin.com"},"maintainers":[{"name":"damartin","email":"doug@dougamartin.com"}]}},"readme":"[![build status](https://secure.travis-ci.org/doug-martin/is-extended.png)](http://travis-ci.org/doug-martin/is-extended)\n\n# is-extended\n\n`is-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar is = require(\"is-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"is-extended\"));\n```\n\n## Installation\n\n```\nnpm install is-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/is-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/is-extended/master/is-extended.min.js))\n\n## Usage\n\n`is-extended` includes the following type coercion methods.\n\n* `isFunction` : Test if something is a function\n* `isObject` : Test if something is an object.\n* `isEmpty` : Test if something is empty.\n* `isHash` : Test if something is a hash.\n\n```javascript\nis.isHash({}); //true\nis.isHash(new Number(1)); //false\n\nis.isObject({}); //true\nis.isObject(new Number(1)); //true\n```\n\n* `isNumber` : Test if something is a number.\n* `isString` : Test if something is a string.\n* `isDate` : Test if something is a `Date`.\n* `isArray` : Test if something is an `Object`\n* `isBoolean` : Test if something is a boolean value.\n* `isUndefined` : Test if something is strictly equal to `undefined`.\n* `isDefined` : Test if something is strictly not equal to `undefined`.\n* `isUndefinedOrNull` : Test if something is strictly equal to `null` or `undefined`.\n* `isNull` : Test if something is strictly equal to `null`.\n* `isArguments` : Test if something is an `Object`\n* `instanceOf` : Test if something is an `Object`\n* `isRegExp` : Test if something is a `RegExp`\n* `isTrue` : Test if something is strictly equal to `true`\n* `isFalse` : Test if something is strictly equal to `false`\n* `isNotNull` : Test if something is strictly not equal to `null`.\n\n**`deepEqual`**\n\nTests if two object are deep equal.\n\n```javascript\n\nis.deepEqual([1,2,3], [1,2,3]); //true\nis([1,2,3]).deepEqual([1,2,3]); //true\n\n\nis.deepEqual({ a: { b: \"c\"}}, {a : false}); //false\nis({ a: { b: \"c\"}}).deepEqual({ a: { b: \"c\"}}); //true\n\n```\n\n\n**`isEq`**\n\nTest if two objects are `==`\n\n**`isNeq`**\n\nTest if two objects are `!=`\n\n**`isSeq`**\n\nTest if two objects are `===`\n\n**`isSneq`**\n\nTest if two objects are `!==`\n\n**`isIn`**\n\nTest if an object is in a array.\n\n```javascript\nis.isIn('a', ['a', 'b', 'c']); //true\n\nis('a').isIn(['a', 'b', 'c']); //true\n```\n\n**`isNotIn`**\n\nTest if something is not in an array.\n\n```javascript\nis.isIn('d', ['a', 'b', 'c']); //true\n\nis('d').isIn(['a', 'b', 'c']); //true\n```\n\n**`isLt`**\n\nCheck if a value is `<` a given value.\n\n```javascript\nis.isLt(1, 2); //true\nis(\"a\").isLt(\"b\"); //true\n```\n\n**`isLte`**\n\nCheck if a value is `<=` a given value.\n\n```javascript\nis.isLte(2, 2); //true\nis(\"a\").isLte(\"b\"); //true\n```\n\n**`isGt`**\n\nCheck if a value is `>` a given value.\n\n```javascript\nis.isGt(2, 1); //true\nis(\"b\").isGt(\"a\"); //true\n```\n\n**`isGte`**\n\nCheck if a value is `>=` a given value.\n\n```javascript\nis.isGte(2, 2); //true\nis(\"b\").isLt(\"a\"); //true\n```\n\n**`isLike`**\n\nCheck if a value is like a given regexp.\n\n```javascript\nis.isLike(\"a\", /a/); //true\nis.isLike(\"a\", \"a\"); //true\nis(1).isLike(/\\d/); //true\nis.isLike(1, \"\\\\d\"); //true\n```\n\n**`isNotLike`**\n\nCheck if a value is not like a given regexp.\n\n```javascript\nis.isNotLike(\"a\", /\\d/); //true\nis(\"a\").isNotLike(\"b\"); //true\n```\n\n**`contains`**\n\nChecks if an array contains a given value.\n\n```javascript\nis.contains([1,2,3], 2); //true\nis([1,2,3]).contains(2); //true\n```\n\n**`notContains`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notContains([1,2,3], 2); //true\nis([1,2,3]).notContains(2); //true\n```\n\n\n## Creating a custom tester.\n\nTo create a custom type tester you can use the `tester` method.\n\n```javascript\nvar tester = is.tester().isArray().isDate().isBoolean().tester();\ntester([]); //true\ntester(new Array()); //true\ntester(new Date()); //true\ntester(true); //true\ntester(false); //true\ntester(new Boolean()); //true\n\ntester(\"hello\"); //false\ntester(); //false\ntester(new String()); //false\ntester({}); //false\ntester(new Object()); //false\n```\n\n## `switcher`\n\nThe `is-exteded` `switcher` method allows you to create a structure that executes certain code when a value passes a test.\n\n```javascript\nvar mySwitcher = is.switcher()\n    .isLt(0, function (num) {\n        return num + \" is lt 0\";\n    })\n    .isLte(5, function (num) {\n        return num + \" is gte 0 lte 5\";\n    })\n    .isLte(10, function (num) {\n        return num + \" is gt 5 lte 10\";\n    })\n    .isGt(10, function (num) {\n        return num + \" is gt 10\";\n    })\n    .def(function (num) {\n        return num + \" is unknown value\";\n    })\n    .switcher();\n\nfor (var i = -1; i < 12; i++) {\n    console.log(mySwitcher(i));\n}\n```\n\n\nOutputs the following\n\n```\n-1 is lt 0\n0 is gte 0 lte 5\n1 is gte 0 lte 5\n2 is gte 0 lte 5\n3 is gte 0 lte 5\n4 is gte 0 lte 5\n5 is gte 0 lte 5\n6 is gt 5 lte 10\n7 is gt 5 lte 10\n8 is gt 5 lte 10\n9 is gt 5 lte 10\n10 is gt 5 lte 10\n11 is gt 10\n```\n\n","maintainers":[{"name":"damartin","email":"doug@dougamartin.com"}],"time":{"modified":"2022-06-19T02:41:11.057Z","created":"2013-01-16T21:24:44.845Z","0.0.1":"2013-01-16T21:24:45.735Z","0.0.2":"2013-01-19T01:41:59.514Z","0.0.3":"2013-01-22T06:21:18.822Z","0.0.4":"2013-02-23T05:41:16.845Z","0.0.5":"2013-04-03T14:59:18.127Z","0.0.6":"2013-04-05T13:31:21.236Z","0.0.7":"2013-04-09T17:21:32.931Z","0.0.8":"2013-04-16T16:14:12.536Z","0.0.9":"2013-06-05T05:40:12.684Z","0.0.10":"2013-06-06T21:34:49.276Z"},"author":{"name":"Doug Martin"},"repository":{"type":"git","url":"git@github.com:doug-martin/is-extended.git"},"users":{"damartin":true}}