{"_id":"it-is","_rev":"24-a870318db9569b5f364af5a15d33ccbc","name":"it-is","description":"terse functional assertion framework","dist-tags":{"latest":"1.0.3"},"versions":{"0.0.0":{"name":"it-is","description":"terse functional assertion framework","version":"0.0.0","homepage":"http://github.com/dominictarr/it-is","repository":"git://github.com/dominictarr/it-is.git","author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com"},"main":"it-is","directories":{"lib":"."},"dependencies":{"traverser":"0.0.x","render":">=0.0.2"},"scripts":{"test":"expresso test/*.js"},"engines":{"node":">=0.2.0"},"_id":"it-is@0.0.0","_engineSupported":true,"_npmVersion":"0.2.16","_nodeVersion":"v0.3.5","modules":{"README.md":"README.md","screenshot.png":"screenshot.png","index.js":"index.js","examples.js":"examples.js","styles.js":"styles.js","assert.js":"assert.js","renderer.js":"renderer.js","it-is.js":"it-is.js","package.json":"package.json","test/assert.expresso.js":"test/assert.expresso.js","test/it.expresso.js":"test/it.expresso.js","test/render.expresso.js":"test/render.expresso.js"},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"0d3d71f359b1fbeaece486e82d634a831a8fc5c9","tarball":"https://registry.npmjs.org/it-is/-/it-is-0.0.0.tgz","integrity":"sha512-4PSFmjuG/TKXDqx81cdyetke5q9ANr7ZTz+mB1K8Lz0Sxg1LCEsm/HG620QG4+bRQuw8SStqaLPzMv5zDNlyeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIERchSW1q9ktlF1nJJ6a0bSqHB8RM9EVY5aZhCrLgGQSAiEAoT3fLISwBFBgeqJgpKQtyATnmnzJywMSswTg1S53jmY="}]},"deprecated":"bad dependencies, sorry"},"0.0.1":{"name":"it-is","description":"terse functional assertion framework","version":"0.0.1","homepage":"http://github.com/dominictarr/it-is","repository":"git://github.com/dominictarr/it-is.git","author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com"},"main":"it-is","directories":{"lib":"."},"dependencies":{"traverser":"0.0.x","render":">=0.0.2"},"devDependencies":{"expresso":">=0.6.0"},"scripts":{"test":"expresso test/*.js"},"engines":{"node":">=0.2.0"},"_id":"it-is@0.0.1","_engineSupported":true,"_npmVersion":"0.2.17","_nodeVersion":"v0.3.0","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"ec9e2025d36505461d21271fa59709de5118e76d","tarball":"https://registry.npmjs.org/it-is/-/it-is-0.0.1.tgz","integrity":"sha512-+AFKNd/rLptlzVfc1rfGhL2It4dzosd2E4si/UMnG018Cmhk2mXuTkxS2AEy9OT0+QPE+4rtQIlfPI5F0p+2Kw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxLnjNTCxHIq9cSM+vxZGpTk58NZLxCazrUfUV8lATygIhAKGoBJUqkomEdSb8+vrs8j5BACNDQmSlNEeiG3bVtGUF"}]}},"0.0.2":{"name":"it-is","description":"terse functional assertion framework","version":"0.0.2","homepage":"http://github.com/dominictarr/it-is","repository":{"type":"git","url":"git://github.com/dominictarr/it-is.git"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com"},"main":"it-is","directories":{"lib":"."},"dependencies":{"traverser":"0.0.x","render":">= 0.0.2","trees":"0.0.x","style":"0.0.x"},"devDependencies":{"expresso":">=0.6.0"},"scripts":{"test":"expresso test/*.js"},"engines":{"node":">=0.2.0"},"_id":"it-is@0.0.2","_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.4.7","_defaultsLoaded":true,"dist":{"shasum":"1f5c1512d792de44050f4ba5c6ae6ece9576a90d","tarball":"https://registry.npmjs.org/it-is/-/it-is-0.0.2.tgz","integrity":"sha512-Z55eIvGymGjLUDCNdSOncoSeWo/01ye0PdToBTxrYktJPk17efoNsvjERJsMmXMR3kmVBd6EBJ8vEmMJk08dpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTODNbbL+dMqyE+ZQGspJWH1dywjyePthrpyXuUk2bJwIgNk3y5Z7BIlTEDE03xpxGgyo4GLjb/738glqcZmYudJw="}]}},"0.0.2-2":{"name":"it-is","description":"terse functional assertion framework","version":"0.0.2-2","homepage":"http://github.com/dominictarr/it-is","repository":{"type":"git","url":"git://github.com/dominictarr/it-is.git"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com"},"main":"./it-is.js","directories":{"lib":"."},"dependencies":{"traverser":"0.0.x","render":">= 0.0.2","trees":"0.0.x","style":"0.0.x"},"devDependencies":{"expresso":">=0.6.0"},"scripts":{"test":"expresso test/*.js"},"engines":{"node":">=0.2.0"},"_id":"it-is@0.0.2-2","_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.4.7","_defaultsLoaded":true,"dist":{"shasum":"5af9be88be2004aaaf9be29448929feb9360be15","tarball":"https://registry.npmjs.org/it-is/-/it-is-0.0.2-2.tgz","integrity":"sha512-F24Y7Qk0qQkjhm/nXUJJLd4AgnjPuphQtNk+Xv9jfo/fa7d1+xRhsAJ/ncWt4Rf06YKgU+1/uB8NHTfCIASyPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHW35vabQ9iOAz01pwMHMjHAW519n3D+aPBcbs4aac5gIhAJWN/6GIAR924L+TBD9PTl99EkuQ7VxyFKDuF23AJAqH"}]}},"0.0.3":{"name":"it-is","description":"terse functional assertion framework","version":"0.0.3","homepage":"http://github.com/dominictarr/it-is","repository":{"type":"git","url":"git://github.com/dominictarr/it-is.git"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com"},"main":"./it-is.js","directories":{"lib":"."},"dependencies":{"traverser":"0.0.x","render":">= 0.0.2","trees":"0.0.x","style":"0.1.x"},"devDependencies":{"expresso":">=0.6.0"},"scripts":{"test":"expresso test/*.js"},"engines":{"node":">=0.2.0"},"_npmJsonOpts":{"file":"/home/dominic/.npm/it-is/0.0.3/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"it-is@0.0.3","_engineSupported":true,"_npmVersion":"1.0.13","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"9ccb52669c5372558c0be2dbcf3d1bc4df07008d","tarball":"https://registry.npmjs.org/it-is/-/it-is-0.0.3.tgz","integrity":"sha512-+o4VkIe9VGB4qyqEvSRLQzUPE4woD0OT7J2Oj/szf6I57WMRjtJ32W3ew4GVrlnHfWSoO0HU0ieyTPrjI0WtAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTRsnrp3b6ReT3Lmz2/mRhuRltEfJaXknzCNnlQ4sdKgIhAN5zo1N1FKO0PircW8eXOhRqCq83QQNk/X6AXwMuwe56"}]}},"1.0.0":{"name":"it-is","description":"terse functional assertion framework","version":"1.0.0","homepage":"http://github.com/dominictarr/it-is","repository":{"type":"git","url":"git://github.com/dominictarr/it-is.git"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com"},"main":"./it-is.js","directories":{"lib":"."},"dependencies":{"traverser":"0.0.x","render":">= 0.0.2","assertions":"*","trees":"0.0.x","style":"0.1.x"},"devDependencies":{"expresso":">=0.6.0"},"scripts":{"test":"expresso test/*.js"},"engines":{"node":">=0.2.0"},"_npmJsonOpts":{"file":"/home/dominic/.npm/it-is/1.0.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"it-is@1.0.0","_engineSupported":true,"_npmVersion":"1.0.13","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"5174db33fd49c6e05bfcc5ecbe269850b04c3293","tarball":"https://registry.npmjs.org/it-is/-/it-is-1.0.0.tgz","integrity":"sha512-b+vSVeSFiv37BJu/OmE9/kSc+T7i0PgR668CNOs0Rv3ibtuiaLEVOG9UjdiZb0OU4MW90hLGyKTbQJAwAYON1A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpbNERexurEkDq6U9puekRf5C+wbAU7xhvys3vmL3j1wIgVOwTz5dJACsGi4HWc0r0NIrn1vQvjDMgyrOLRLgRj6g="}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}]},"1.0.1":{"name":"it-is","description":"terse functional assertion framework","version":"1.0.1","homepage":"http://github.com/dominictarr/it-is","repository":{"type":"git","url":"git://github.com/dominictarr/it-is.git"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com"},"main":"./it-is.js","directories":{"lib":"."},"dependencies":{"traverser":"0.0.x","render":">= 0.0.2","assertions":"~1.0","trees":"0.0.x","style":"0.1.x"},"devDependencies":{"expresso":">=0.6.0"},"scripts":{"test":"expresso test/*.js"},"engines":{"node":">=0.2.0"},"_npmJsonOpts":{"file":"/home/dominic/.npm/it-is/1.0.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"it-is@1.0.1","_engineSupported":true,"_npmVersion":"1.0.27","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"0662eeda509ec51faf871f4f8a400ca7c5d8e28c","tarball":"https://registry.npmjs.org/it-is/-/it-is-1.0.1.tgz","integrity":"sha512-W498ClMG96tSW7BUNAXUNK8WMfZAv6J0WYI+wWI6WYqCl5SD7ZC2O0Ohc+cLzdYWTtHVZMywkjhrcFYo4drayw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJr0Lbu4eDROw82k4T7LDJlYbMV9obohAoLEWo0Ac2mAIgd0Tkhi+Cn+W3z/GpUjKRIEZRucU5lJl7MpczuT3YGGQ="}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}]},"1.0.2":{"name":"it-is","description":"terse functional assertion framework","version":"1.0.2","homepage":"http://github.com/dominictarr/it-is","repository":{"type":"git","url":"git://github.com/dominictarr/it-is.git"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com"},"main":"./it-is.js","directories":{"lib":"."},"dependencies":{"traverser":"0.0.x","render":">= 0.0.2","assertions":"~1.0","trees":"0.0.x","style":"0.1.x"},"devDependencies":{"synct":"1"},"scripts":{"test":"synct test/*.js"},"engines":{"node":">=0.2.0"},"_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"_id":"it-is@1.0.2","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.23","_nodeVersion":"v0.6.18","_defaultsLoaded":true,"dist":{"shasum":"2b9426ed5c3cbbbe6c07833700f1ae4e2551ce82","tarball":"https://registry.npmjs.org/it-is/-/it-is-1.0.2.tgz","integrity":"sha512-xASt7EwGsjQZDpN5SRcUY6ZdF7hb4DECII2UCI/U4B121B+R5GCuaYzkoX8e9Od7judmLHPe4wZENdPXdDTQ0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG7u1xlJO0oC3pLIDsvRpLTlP3Kl0AFX1ZnV1OWxzJdSAiB17n+EQ7mlF6HOqrh3ikNrV5ZHpcRVIRAn1e8TXBug+A=="}]},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}]},"1.0.3":{"name":"it-is","description":"terse functional assertion framework","version":"1.0.3","homepage":"http://github.com/dominictarr/it-is","repository":{"type":"git","url":"git://github.com/dominictarr/it-is.git"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com"},"main":"./it-is.js","directories":{"lib":"."},"dependencies":{"traverser":"0.0.x","render":"~0.1.4","trees":"0.0.x","style":"0.1.x","assertions":"~2.3.1"},"devDependencies":{"synct":"1"},"scripts":{"test":"synct test/*.js"},"engines":{"node":">=0.2.0"},"bugs":{"url":"https://github.com/dominictarr/it-is/issues"},"_id":"it-is@1.0.3","dist":{"shasum":"469700819838a4656ed4f176953f5bfcf53f483b","tarball":"https://registry.npmjs.org/it-is/-/it-is-1.0.3.tgz","integrity":"sha512-fZ/TSIJAakHJg2rJ5LvwJX3e4F5XzaOy1f06RR2wCBzujX8Ffj9R65cVKm6ztY/4J2G4g443JZJkkMLPAcJqCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG86fJy1sHIyphv4FHWBTefS01FNgklynho12lPBiQDWAiEAvg/FZuPSsCki6NZNOORvZT0YfNw7y4LXqhpnXKqz458="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"dominictarr","email":"dominic.tarr@gmail.com"},"maintainers":[{"name":"dominictarr","email":"dominic.tarr@gmail.com"}]}},"maintainers":[{"email":"nopersonsmodules@gmail.com","name":"nopersonsmodules"}],"time":{"modified":"2022-06-19T03:10:59.495Z","created":"2011-02-04T10:56:42.991Z","0.0.0":"2011-02-04T10:56:43.780Z","0.0.1":"2011-02-08T04:24:06.268Z","0.0.2":"2011-05-24T17:02:33.143Z","0.0.2-2":"2011-05-28T19:02:18.539Z","0.0.3":"2011-07-24T01:19:55.671Z","1.0.0":"2011-08-05T12:53:25.785Z","1.0.1":"2011-10-15T09:16:44.577Z","1.0.2":"2012-06-26T12:40:26.850Z","1.0.3":"2014-03-06T05:41:57.644Z"},"author":{"name":"Dominic Tarr","email":"dominic.tarr@gmail.com"},"repository":{"type":"git","url":"git://github.com/dominictarr/it-is.git"},"readme":"\n#It-Is#\n\na terse assertion DSL, inheriting from node's assert module, but enhanced with the power of functional programming & colours!\n\n# Basic Usage#\n\n    var it = require('it-is')\n   \n    it(actual).equal(10)\n\n# High-level Usuage #\n\n`every` applies an assertion function to every item in a list.\n\n    it(arrayOfNumbers)\n      .every(it.typeof('number'))\n    \n\n`has` applies assertion functions to leaves of a tree.\n\n    it({a:1, b: 3})\n      .has({\n        a: it.typeof('number').notEqual(3)\n      , b: it.equal(3)\n      })\n\nhuh?\n\nif you call `it` with an argument `it(actual)` assertions chained will be applied immediately.\n\n    it(actual).equal(expected) \n\nis that same as \n\n    assert.equal(actual,expected)\n\nif you don't provide an argument, but just start chaining `it.equal(expected)`, it returns a function which makes that assertion.\n\n    it.typeof('number').notEqual(unexpected)\n    \nreturns a function like this:\n\n    function (actual){\n      assert.typeof(actual,'number') //not in node's assert. added in it-is\n      assert.notEqual(actual,unexpected)\n    }\n\npass these functions into It-Is's every and has for terse assertion easyness!\n\nthen glance at the error messages which are highlighted to show the exact point the assertion failed:\n\n<img src=\"https://github.com/dominictarr/it-is/raw/master/screenshot.png\" border = \"0\"/>\n\n#Assertion Methods#\n\nnode's assert module methods:\n\n`ok`,`equal`,`notEqual`,`deepEqual`,`notDeepEqual`,`strictEqual`,`notStrictEqual`,`throws`,`doesNotThrow`,`ifError`\n\nand also:\n\n##typeof##\nassert type, expected can be 'string', 'number', 'boolean', 'object', 'function', or 'undefined'\n\n    it(actual).typeof(type)\n\n##instanceof##\nassert instanceof, expected should be a constructor function\n\n    it(actual).instanceof(constructor) \n    \nexample:\n    \n    it([]).instanceof(Array)\n\n##primitive##\nassert is not an object or a function\n\n    it(7).primitive()\n\n##complex##\nassert is an object or a function\n\n    it({}).complex()\n    \n##function##\nassert is a function\n\n\n    it(function(){}).function()\n\n##matches##\nassert matches a regular expresson\n\n    it(actual).matches(regex)\n    \nexample:\n    \n    it('asdf@asdf.com').matches(/^([^@\\s]+)@((?:[-a-z0-9]+\\.)+[a-z]{2,})$/)\n\n##like##\nassert two strings match, but ignoring case, white space and whether quotes are \" or '. (is configurable)\n\n  it(actual).like(expected, options)\n\noptions object is optional! but should be this format:\n\n    {case: boolean,whitespace: boolean, quotes: boolean}\n\n##every##\n\napply assertions to every item in an array\n\n    it(array).every(assertion)\n\nexample:\n  \n    it([1,2,3,4,5]).every(it.typeof('number').notEqual(0))\n    \nassertion is just a function\n\n    it([\n      [1,1.0]\n    , [1,1e0]\n    , [1,7/7]\n    ]).every(function (line){\n      assert.equal(line[0],line[1])\n    })\n      \n##property##\n\napply check that it has a property and apply an assertion\n\n    it(actual).property(name,value) //checks that actual[name] == value\n\nor if value is a function:\n    \n    it(actual).property(name,assertion) //checks that assertion(actual[name])\n\nexample:\n\n    it([]).property('length',0)\n    \n    it({a: /sdf/}).property('a',it.instanceof(RegExp))\n\n##has##\n\napply asssertions to properties of an object, checking that properties and actually there first.\n\n    it(actual).has(properties)\n\nif a property is primitive, it's checked for equality.\nif a property is a function, it's called with actual's corrisponding property as the argument.\n\nexample:\n\n    it({\n        a: 1\n      , b: 2\n      , c: { x: true }\n      , d: [1,2,3,4,5,true,'string'] \n      })\n      .has({\n        a: it.notEqual(0)\n      , b: 2 //values are treated like it.equal(value)\n      , c: it.complex()\n      , d: it.every(it.primitive())\n      })\n\n\nenjoy!\n\nnext, implement and document how to add assertion functions and renderers and render styles.\n","homepage":"http://github.com/dominictarr/it-is","bugs":{"url":"https://github.com/dominictarr/it-is/issues"},"readmeFilename":"readme.markdown"}