{"_id":"washi","_rev":"43-18e66a56291d0b581c45c9ef987aa6f2","name":"washi","description":"One of many backbone-esque view helpers.","dist-tags":{"latest":"3.2.2"},"versions":{"1.0.0":{"name":"washi","version":"1.0.0","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","_id":"washi@1.0.0","_shasum":"7177746b8859a8735a6b06fdcd25a8eb9b05d68c","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"7177746b8859a8735a6b06fdcd25a8eb9b05d68c","tarball":"https://registry.npmjs.org/washi/-/washi-1.0.0.tgz","integrity":"sha512-70c9OR5P/dGZ4Dj9Z31r5MP0ibK8x4iYGhDfInq/vHRBKTWcqfT2T4l3iM6fdgeUPafGr38Hqp1oHUE2BL5lKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA55Nu8RY8fEDEjIGhMoObgOXGpPy8xsHbWsrROJT9ibAiEAiPz4UZbQlyY0pNZVuQoz3uYYZi594t3nymuibC0kVj4="}]}},"1.0.1":{"name":"washi","version":"1.0.1","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","_id":"washi@1.0.1","_shasum":"8144add7d92c24bd624106e0f6ef6e984b9d839c","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"8144add7d92c24bd624106e0f6ef6e984b9d839c","tarball":"https://registry.npmjs.org/washi/-/washi-1.0.1.tgz","integrity":"sha512-sSp4+2KLoM0GfC3SvoYkvKGd5UZCKKJ5OogTZG5E4prOVFic0Y8J4lUl2/ja5ZRvvw39VE6EC+AkBGWpZWYO7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7jH0bDPMXZcDdbtVUkoX5bOhBr1nJXbOleSMps60yZgIhALhalHtf11htH9EPRONC6uiUctYMDEWRcQJTdRYf96Aj"}]}},"1.1.0":{"name":"washi","version":"1.1.0","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","peerDependencies":{"jquery":">= 1.x"},"_id":"washi@1.1.0","_shasum":"c38e904b9e638574bec7af546a532f472be09639","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"c38e904b9e638574bec7af546a532f472be09639","tarball":"https://registry.npmjs.org/washi/-/washi-1.1.0.tgz","integrity":"sha512-Dh9pML32zVAH/fMWQNaUpoEO2KGa1jazk2mlpl5OLIRlozjuLWkuftl86/h1o0DdphGNqi2j90jH5a90nTGffA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA+wnGk2pOA8nA5gFQi82RmoV27g2X83yPSjyc2n4yzQAiEAnGxtHQKgR+HHXqAU7YAwEVaEyyPre8q2nLCMsBmr+kY="}]}},"1.1.1":{"name":"washi","version":"1.1.1","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","peerDependencies":{"jquery":">= 1.x"},"_id":"washi@1.1.1","_shasum":"0313c026ac67e0b10c99ce123718b727a5ee8dd8","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"0313c026ac67e0b10c99ce123718b727a5ee8dd8","tarball":"https://registry.npmjs.org/washi/-/washi-1.1.1.tgz","integrity":"sha512-2a2AJcRZmTtfF8ot7AeziMQNF3XeG29mwv/QtLwsENpMgOISCQQ3GjPr6eXiKHVVv5iLQVp2wTvcS+XacL1L2w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF5wfuuF5sPhVrGkEBHN6QSqwntKeRoDfLT3vG8+1x/SAiEAmLZlO4OyGywtE8PThnNezW/jv0TtleZCdh7VTfwC4tQ="}]}},"2.0.0":{"name":"washi","version":"2.0.0","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","_id":"washi@2.0.0","_shasum":"cc80aee780d624589f44a0e19ac168c92800d578","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"cc80aee780d624589f44a0e19ac168c92800d578","tarball":"https://registry.npmjs.org/washi/-/washi-2.0.0.tgz","integrity":"sha512-0Db5WjAx0dXhjmHI87td7zqv3iVOBZ8yQs5EAIgxQj7DFMARCNXydghMmolJvgJvjnluu3s6IKkrz7Tom3Dx+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBwir+WcFTAUbkilFsGNg/tXVdnlaf58ACvKjPJvi5QcAiAaS8KNbbgIsZVFhAYa0/5tU7LKhr1s3mN7ERl+HKx/2g=="}]}},"2.0.1":{"name":"washi","version":"2.0.1","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"chai":"^1.9.1","jquery":"^2.1.1"},"_id":"washi@2.0.1","_shasum":"38de732b10b2b120647d5c3d5f10ee8ee69ff1a2","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"38de732b10b2b120647d5c3d5f10ee8ee69ff1a2","tarball":"https://registry.npmjs.org/washi/-/washi-2.0.1.tgz","integrity":"sha512-06HKWDF0FnzleGWyYWXOCmlnrvcDsq9Lmw6tI4ff+KDx3daADYtcWJy9ky7IRP7ziD6Z9d3KEeCk45imS2wwGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA2+z+1yJDJ/Ko6ATJgPjfQEnB/k7Yc0t5al0trqF17DAiEA/T/KDoqkuCLA2W053QPkMjotmsGQly4YB2R0K8u1V4s="}]}},"2.1.0":{"name":"washi","version":"2.1.0","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"jest"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"chai":"^1.9.1","jest":"^0.1.37","jest-cli":"^0.1.17","jquery":"^2.1.1"},"_id":"washi@2.1.0","_shasum":"ee32f66ab095bdd004b3efb7ed6332f09ba139c8","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"ee32f66ab095bdd004b3efb7ed6332f09ba139c8","tarball":"https://registry.npmjs.org/washi/-/washi-2.1.0.tgz","integrity":"sha512-oOXsxSk1hc60lpenQImRCM/iuiogD0cH3xXyTFDjGypVOrhED7udDiAgNhcVHEhf5hXNay/nHy8367Vz6dKWww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID5tu/Hrp984fRhRQrbSgyZMnQpMVyNsfQv4hI4tK4l+AiEAoJlFlBIsIfiCdmqm38IUP6v4ze2Xr+auAv05nW8rPQU="}]}},"2.2.0":{"name":"washi","version":"2.2.0","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"jest"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"chai":"^1.9.1","jest":"^0.1.37","jest-cli":"^0.1.17","jquery":"^2.1.1"},"_id":"washi@2.2.0","_shasum":"51b7afb001520788c51d08f63dd109b9f9e81c6b","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"51b7afb001520788c51d08f63dd109b9f9e81c6b","tarball":"https://registry.npmjs.org/washi/-/washi-2.2.0.tgz","integrity":"sha512-IIHokHzdsCEq1+Rvx2KyBpVTbVkN6zxUtrbAzGGJ9rTnzlnj+3BZ6/c2RAeL+fWqFWJjnwkdRHNKKE6zQqntJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpUOmkvNBsqlA0k1ZUo6tG+bIYmAfg0BXmPRpV7ZGXpAIhANso2AnrMAwPTXhZE2wzXxi5EjWSM4HSKn1kT0PgqkhD"}]}},"2.2.1":{"name":"washi","version":"2.2.1","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"jest"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"chai":"^1.9.1","jest":"^0.1.37","jest-cli":"^0.1.17","jquery":"^2.1.1"},"_id":"washi@2.2.1","_shasum":"481f64fd995f9041e0bd5b2a75793f3582febb56","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"481f64fd995f9041e0bd5b2a75793f3582febb56","tarball":"https://registry.npmjs.org/washi/-/washi-2.2.1.tgz","integrity":"sha512-loB2LBd9UHBT50bAjXMWPLodeaDx6sZLHAcnZt0UjhNKEVK+sSb6t85wP6Ds964OaH4zxsy12HyvCCfNprnTew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkarapXCPrVacsdhBsEhytEjzDnrhsIAF0dxMqPwBJnwIhAI7PEo+DUqGdpKtBgLW650F+FBVTC0VG97s6NuwJfMNO"}]}},"2.2.2":{"name":"washi","version":"2.2.2","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"jest"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"chai":"^1.9.1","jest":"^0.1.37","jest-cli":"^0.1.17","jquery":"^2.1.1"},"gitHead":"1263f289fe892d725e988e80800342165678626e","_id":"washi@2.2.2","_shasum":"c732dd1ece877add4042d72948db951d686161d0","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"c732dd1ece877add4042d72948db951d686161d0","tarball":"https://registry.npmjs.org/washi/-/washi-2.2.2.tgz","integrity":"sha512-nPlMGsgfErYbdsrAYhOPaBecnF0Q7ApsgJdvNy4NsxzXDqY+4sGxG16Z+a2Q/KiJLBKw0X8oMM85wAIZCwfUAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICw97CS39+9IOArg7Z5DNAZp5bQ8BtA3fWtzCbo5076uAiBdu4Ai7mPc7mC1VQxhv5BUHNqrsInrrigmtWdozkqn1Q=="}]}},"2.2.3":{"name":"washi","version":"2.2.3","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"jest"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"chai":"^1.9.1","jest":"^0.1.37","jest-cli":"^0.1.17","jquery":"^2.1.1"},"gitHead":"949ea2292d879ec619b90479b19d071f6f4815b2","_id":"washi@2.2.3","_shasum":"6f6af19c1fa82d6b7a8a8e028c14f1eae1888d37","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"6f6af19c1fa82d6b7a8a8e028c14f1eae1888d37","tarball":"https://registry.npmjs.org/washi/-/washi-2.2.3.tgz","integrity":"sha512-MTviMBbPFGNlC0KIwdIUXA1TNSe/0bpR81L+UerR15hoKD/vUb0GU2TEHTKiYIztxEKQnBp8mADLNZHZRn/gkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGZvC22wIHLM+Fg5Q7V8GeZkUzqCKN1Pr4UZPW759z6nAiEA/vXy/YORADnu6vbMrXJH0J4CNOT8tkl8KHvwf7S8q+c="}]}},"3.0.0-rc1":{"name":"washi","version":"3.0.0-rc1","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"jest","build":"webpack -p --optimize-minimize --optimize-occurence-order --optimize-dedupe","documentation":"docco washi.js src/*.js"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"docco":"^0.6.3","jest-cli":"^0.2.1","webpack":"^1.4.15"},"dependencies":{"dom-event":"0.0.4","is-dom":"^1.0.4"},"gitHead":"d497e1258ab680b847bb62e94ec50a89565f241a","_id":"washi@3.0.0-rc1","_shasum":"ef2e94930b7d26ed8b821c56f391be7d1c0cc51a","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"ef2e94930b7d26ed8b821c56f391be7d1c0cc51a","tarball":"https://registry.npmjs.org/washi/-/washi-3.0.0-rc1.tgz","integrity":"sha512-QK8WyZXKYQ2QIIBM7SWVMh5n6R92fLGSisSRxql0y8TVaUBmXfbtukDgkCQsCRcm2sHQAY0cQh8QHo4diu3GVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCP8IDOZIftNd/mYhNARCXDAUwPB4XEWR1Es0TSvNdXyQIgOMgVISnJc14I7b5yFOMW6zOnN4lwQjMMsrtS2dy5ruw="}]}},"3.0.0-rc2":{"name":"washi","version":"3.0.0-rc2","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"jest","build":"webpack -p --optimize-minimize --optimize-occurence-order --optimize-dedupe","documentation":"docco washi.js src/*.js"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"docco":"^0.6.3","jest-cli":"^0.2.1","webpack":"^1.4.15"},"dependencies":{"is-dom":"^1.0.4"},"gitHead":"fd6ae591ab8753749079f3b59ed4a94aa657e84f","_id":"washi@3.0.0-rc2","_shasum":"f6fdc7de23fcb16d5de5395a89a8fb652d844235","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"f6fdc7de23fcb16d5de5395a89a8fb652d844235","tarball":"https://registry.npmjs.org/washi/-/washi-3.0.0-rc2.tgz","integrity":"sha512-TtOO2jncdwrVj4220Fyal0hnHLQgp0NVMmea8HICeyPB75uxhUij4Yx+yKKVHwbLC/6tFqmbJHWHg7yKrht2Cw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDidHYAooio6gcAh8Td7nANhECKmXPQoRSUqPrWK94iIAiEAmGxHPLbK1A7JyK3Y5r04ze6UMc38gW7gZ08jJt+3mX0="}]}},"3.0.0-rc3":{"name":"washi","version":"3.0.0-rc3","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"jest","build":"webpack -p --optimize-minimize --optimize-occurence-order --optimize-dedupe","documentation":"docco washi.js src/*.js"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"docco":"^0.6.3","jest-cli":"^0.2.1","webpack":"^1.4.15"},"dependencies":{"is-dom":"^1.0.4"},"gitHead":"0a85675683d048ed266217ae5588f0c52a59a79e","_id":"washi@3.0.0-rc3","_shasum":"c0a82d410bca7bee3abc70afdf7691332676ddd5","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"c0a82d410bca7bee3abc70afdf7691332676ddd5","tarball":"https://registry.npmjs.org/washi/-/washi-3.0.0-rc3.tgz","integrity":"sha512-mhVThk3x9dQtjHsHT6CgoIHR6Rl8zZgWg+6/28ceJV0mp7WHtZ4ovYA5zxF6Pn34uzlBJ+H3/TdypIzMaY/oOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9b0qDvpcXRXO33ezhkjDLPnDjyiHgb6J/uMf1tbVIEgIhAOsNg3EvBZSrmWSKS+L9ZWeGNRV1maAdsyBeRMgSpr+6"}]}},"3.0.0-rc4":{"name":"washi","version":"3.0.0-rc4","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"jest","build":"webpack -p --optimize-minimize --optimize-occurence-order --optimize-dedupe","documentation":"docco washi.js src/*.js"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"docco":"^0.6.3","jest-cli":"^0.2.1","webpack":"^1.4.15"},"dependencies":{"is-dom":"^1.0.4"},"gitHead":"780c8b0215ec60c0dc241f5d12321bfb1db4fe5f","_id":"washi@3.0.0-rc4","_shasum":"aa8979be249c586b5f077e2fa8e8352c7e58ebbc","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"aa8979be249c586b5f077e2fa8e8352c7e58ebbc","tarball":"https://registry.npmjs.org/washi/-/washi-3.0.0-rc4.tgz","integrity":"sha512-uV4irkAEGSvHpIbt619nSGdbkfruaNMEM54b6IlCOdiX1Dq73ztyVerTe/edy7qXWz4/GsidKIJDxC31gbxohQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFOv1BAJkiF430MvNhGbQxz9co3aGnESe0nmPWhYkrYvAiAl9F+7xT/11/pwvkd2HvuNVjWW7Kx4+06FeEshh/frRQ=="}]}},"3.0.1":{"name":"washi","version":"3.0.1","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"jest","build":"webpack -p --optimize-minimize --optimize-occurence-order --optimize-dedupe","documentation":"docco washi.js src/*.js"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"docco":"^0.6.3","jest-cli":"^0.2.1","webpack":"^1.4.15"},"dependencies":{"is-dom":"^1.0.4"},"gitHead":"9eaa7458266f7bf27c824f75de5689894ab720ac","_id":"washi@3.0.1","_shasum":"e002734d9381095adee4224fa67f177ae3ca2003","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"e002734d9381095adee4224fa67f177ae3ca2003","tarball":"https://registry.npmjs.org/washi/-/washi-3.0.1.tgz","integrity":"sha512-ktzvCBUbjNLeG+bMQZ+Z86WCONoScR9jb2Tx3xmxghQuH1UHVqoR9vfhbOHiaDNfKUyhVgz0PAVLqk+6SW/TPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+9NgHQkdOi5JUc/shsRj7r/EDxNpw1GOSbJcAIyuQ1QIgW1Bt6K1hk5KH1h0kuULU7jbYO4m1jLpnk6la812T0nQ="}]}},"3.1.0":{"name":"washi","version":"3.1.0","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"jest","build":"webpack -p --optimize-minimize --optimize-occurence-order --optimize-dedupe","documentation":"docco washi.js src/*.js"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"docco":"0.6.3","jest-cli":"0.2.1","webpack":"1.4.15"},"dependencies":{"is-dom":"^1.0.4"},"gitHead":"2f54ff4f155492cba74eddc21ab861997b7ed43f","_id":"washi@3.1.0","_shasum":"eb7661cb7bdfbbacacc4b3b2aad27caf26d445c1","_from":".","_npmVersion":"1.4.29","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"lawson","email":"lawson.kurtz@gmail.com"},{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"eb7661cb7bdfbbacacc4b3b2aad27caf26d445c1","tarball":"https://registry.npmjs.org/washi/-/washi-3.1.0.tgz","integrity":"sha512-85IcaULMLjceZjrYShP33QLn1m0VuGhyUXJIjCkU9XMN+r5U6EEc3zt61CZtUQOVqcZAUmEvnuYOYUuIzQHmGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC89Td494gVD9LnJNgCAdvlZgeJ7NO1T0NMxJooB+9dDgIgJsSnKe1Jy/224ZvY9uWCJKOCWldH6Fbu9bx6UkB9yUU="}]},"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/washi-3.1.0.tgz_1455895053166_0.7897463692352176"}},"3.1.1":{"name":"washi","version":"3.1.1","description":"One of many backbone-esque view helpers.","main":"washi.js","directories":{"test":"test"},"scripts":{"test":"jest","build":"webpack -p --optimize-minimize --optimize-occurence-order --optimize-dedupe","documentation":"docco washi.js src/*.js"},"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"docco":"0.7.0","jest-cli":"12.0.2","webpack":"1.13.0"},"dependencies":{"is-dom":"^1.0.4"},"gitHead":"e6087d189e62f34f193a4fb46a3e7eaaa6132680","_id":"washi@3.1.1","_shasum":"8712aaeb5e62994bef5707776c5f4bcd929debc7","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.7.1","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"lawson","email":"lawson.kurtz@gmail.com"},{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"8712aaeb5e62994bef5707776c5f4bcd929debc7","tarball":"https://registry.npmjs.org/washi/-/washi-3.1.1.tgz","integrity":"sha512-uJEYCkZjVONnwyqK4eqgjXFJkQIBcdRxLGDeVrtmCEWJePf9MwTtfjinvzculvsrIITCAxm+borNphZTxV4paA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaU+3/K+10cPevoGbkLNN+E4EjE2aZON6U7LXk6zS3QQIgMfBjHFOHjx2n9UqJy2Sirh5ppHwifCGqwrbTG/dXpeA="}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/washi-3.1.1.tgz_1462819998184_0.9065314824692905"}},"3.2.0":{"name":"washi","version":"3.2.0","description":"One of many backbone-esque view helpers.","main":"dist/washi.js","jsnext:main":"washi.js","scripts":{"test":"jest","build":"webpack -p","prepublish":"yarn test && yarn build","format":"./bin/format"},"files":["dist","src","README.md","LICENSE.md"],"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"babel-loader":"^7.1.2","babel-preset-es2015":"^6.24.1","jest-cli":"^21.0.2","prettier":"^1.6.1","rollup-plugin-buble":"^0.15.0","webpack":"^3.5.6"},"dependencies":{"is-dom":"^1.0.4"},"prettier":{"semi":false,"singleQuote":true},"babel":{"presets":[["es2015",{"loose":true,"modules":false}]],"env":{"test":{"presets":["es2015"]}}},"gitHead":"8ca2a2f09958828542e7b619e1e3b35410fd3cde","_id":"washi@3.2.0","_shasum":"1ae8bcc4d5f7031a39a6cd20a68f78b7645fef1a","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"lawson","email":"lawson.kurtz@gmail.com"},{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"1ae8bcc4d5f7031a39a6cd20a68f78b7645fef1a","tarball":"https://registry.npmjs.org/washi/-/washi-3.2.0.tgz","integrity":"sha512-ry5OJdgAxpTsVFaP/vI5MHQ0TtnUXaBspRv9nJ8q3oW1dTjuP5hB5r7hv0fF4MFHk9PU/Nsl31WQPtQutuHrGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAiF0L2ZAybLcJBI62yLbAKKWOx2aaKyTBnUlv43rx+1AiBeY/uGVGU7pxgEmiwoj/Q+fbgmZYHSh+AiMwmxppIcUw=="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/washi-3.2.0.tgz_1505139118333_0.2767795966938138"},"directories":{}},"3.2.1":{"name":"washi","version":"3.2.1","description":"One of many backbone-esque view helpers.","main":"dist/washi.js","jsnext:main":"washi.js","scripts":{"test":"jest","build":"webpack -p","prepublish":"yarn test && yarn build","format":"./bin/format"},"files":["dist","src","README.md","LICENSE.md"],"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"babel-loader":"^7.1.2","babel-preset-es2015":"^6.24.1","jest-cli":"^21.0.2","prettier":"^1.6.1","rollup-plugin-buble":"^0.15.0","is-dom":"^1.0.4","webpack":"^3.5.6"},"prettier":{"semi":false,"singleQuote":true},"babel":{"presets":[["es2015",{"loose":true,"modules":false}]],"env":{"test":{"presets":["es2015"]}}},"gitHead":"87f9090d36c2f777c92df1bb1084f31d67535ef9","_id":"washi@3.2.1","_shasum":"2d0a520348a1f2df431fd58dbea8deb41b7f50d0","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"lawson","email":"lawson.kurtz@gmail.com"},{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"2d0a520348a1f2df431fd58dbea8deb41b7f50d0","tarball":"https://registry.npmjs.org/washi/-/washi-3.2.1.tgz","integrity":"sha512-OGzd/D/QuV5r3i9eZo/PjpYdUlDdEL/ToMh4/cJqnukywFCjHU6juHZh1fQA0sa0WDgEK7heiJ4HAmLvYehouQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChu22WRqteExh37/GfNwklxYssW2XnHYGLYfwxPf/V3AIgbLBhJJpXLzZnQWZ1P8TH+welxruV4e2Eiu8/8Su8F+Q="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/washi-3.2.1.tgz_1505139182813_0.416894810507074"},"directories":{}},"3.2.2":{"name":"washi","version":"3.2.2","description":"One of many backbone-esque view helpers.","main":"dist/washi.js","jsnext:main":"washi.js","scripts":{"test":"jest","build":"webpack -p","prepublish":"yarn test && yarn build","format":"./bin/format"},"files":["dist","src","README.md","LICENSE.md"],"repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"license":"MIT","bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"homepage":"https://github.com/vigetlabs/washi","devDependencies":{"babel-loader":"^7.1.2","babel-preset-es2015":"^6.24.1","jest-cli":"^21.0.2","prettier":"^1.6.1","rollup-plugin-buble":"^0.15.0","is-dom":"^1.0.4","webpack":"^3.5.6"},"prettier":{"semi":false,"singleQuote":true},"babel":{"presets":[["es2015",{"loose":true,"modules":false}]],"env":{"test":{"presets":["es2015"]}}},"gitHead":"5963c1e85b18860ce75ba523d6f61f33410cffe2","_id":"washi@3.2.2","_shasum":"f075f63655b52a341f48ae518901e4d53b11dc0e","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"nhunzaker","email":"nate.hunzaker@viget.com"},"maintainers":[{"name":"lawson","email":"lawson.kurtz@gmail.com"},{"name":"nhunzaker","email":"nate.hunzaker@viget.com"}],"dist":{"shasum":"f075f63655b52a341f48ae518901e4d53b11dc0e","tarball":"https://registry.npmjs.org/washi/-/washi-3.2.2.tgz","integrity":"sha512-5GzrTPw3QmNrgibt/08Wq9iXajtOWC5asI8/06IU1nMiwx8FEWzRszEylPoGiRfdCuR9r6QMbQY/U7pbGrU/BQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmEBb76hMpy4L66tcjBx885UizMbnw6xtl4fsYDjazfgIhAN5KZBwyXTqdiJFiqgs2thmbTWumwrR8wtLfyLsvIpJp"}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/washi-3.2.2.tgz_1505139799324_0.3067962508648634"},"directories":{}}},"readme":"# washi\n\nA small (2.2kb gzipped), Backbone-inspired, library for greater organization on small projects. \n\n1. [Installation](#installation)\n2. [Basic Usage](#basic-usage)\n3. [API](#api)\n\n## Installation\n\n### package.json\n\nWashi is available on [npm](http://npmjs.com):\n\n```javascript\nnpm install --save washi\n```\n\n### global\n\nIf npm isn't your thing, or you'd rather include Washi as vendor code, download it from the [`unpkg`](unpkg.com) CDN:\n\nhttps://unpkg.com/washi\n\nThis is a [UMD module](https://github.com/umdjs/umd). It should interop perfectly with CommonJS and AMD, or otherwise as a global by accessing `Washi`.\n\n## Basic usage\n\n```javascript\nvar Washi = require('washi');\nvar $     = Washi.$;\n\nvar Sample = {\n  ui: {\n    title: '.title',\n  },\n  events: {\n    // Use ui helper selectors as aliases with {element}\n    'mousedown {title}, touchstart {title}' : 'doSomething',\n\n    // Alternatively, follow the syntax used by Backbone.Marionette\n    'click @ui.title': 'doSomethingElse'\n  },\n  initialize: function(options) {\n    this.ui.title.forEach(function(e) {\n      e.innerHTML = 'Washi is for Origami'\n    });\n  },\n  doSomething: function() {\n    var text = $.map(this.ui.title, el => el.innerHTML).join(' ')\n    console.log(text)\n  },\n  doSomethingElse: function() {\n    console.log(\"Something else\")\n  }\n}\n\nvar sample = Washi(Sample, {\n    el: \"#sample-el\"\n})\n```\n\nCorresponding with:\n\n```html\n<div id=\"sample\">\n  <h1 class=\"title\">Paper Crane</h1>\n</div>\n```\n\n\n## API\n\n1. [Washi Components](#washi-components)\n2. [Washi Utilities](#washi-utilities)\n\n### Washi Components\n\nCreate a view component based upon a configuration:\n\n```javascript\nlet Sample = {\n  ui: {\n    title: '.title',\n  },\n  events: {\n    'click @ui.title': 'doSomething'\n  },\n  initialize: function(options) {\n    // Startup\n    console.log(\"Hello, world!\")\n  },\n  doSomething: function() {\n    alert(\"click!\")\n  }\n}\n\nlet sample = Washi(Sample, {\n  el: \"#sample-el\"\n})\n```\n\n#### initialize(options: Object)\n\nInvoked after the Washi instance has been created. Use this method for setup behavior.\n\n```javascript\nlet Widget = {\n  initialize: function(options) {\n    console.log('all set!')\n  }\n}\n\nlet component = Washi(Widget, { el: document.body }) // \"all set!\"\n```\n\n#### events: Object\n\nAttach event listeners to the element associated with the component. Keys in this object are selectors, values are string references to methods on the configuration object:\n\n```javascript\nlet Widget = {\n  events: {\n    'click button': 'onClick'\n  },\n\n  onClick: function(event) {\n    alert(\"HELLO!\")\n  }\n}\n\nlet component = Washi(Widget, { el: '.selector' })\n\ncomponent.query('button').invoke('click') // \"HELLO!\"\n```\n\n#### ui: Object\n\nPreselect child nodes within the element provided to Washi. These selections are available in a few places.\n\n##### As aliases to their underlying selectors in the events object\n\nIn the events object, `@ui.{name}` is replaced with the CSS selector for the UI entry:\n\n```javascript\nlet Widget = {\n  ui: {\n    'button': 'button'\n  },\n  events: {\n    'click @ui.button': 'onClick'\n  },\n  onClick: function(event) {\n    alert(\"HELLO!\")\n  }\n}\n```\n\n##### As entries in `this.ui`\n\nReference the selected elements associated with a `ui` entry under `this.ui`:\n\n```javascript\nlet Widget = {\n  ui: {\n    'button': 'button'\n  },\n  initialize: function() {\n    // An array of DOM elements\n    this.ui.button.forEach(el => el.click())\n    // Alternatively, a Washi chain\n    this.ui.$button.invoke('click')\n  }\n}\n```\n\n\n\n### Washi Utilities\n\nWashi exposes a number of utility methods under the `$` namespace:\n\n1. [chain](#chaintarget-object--array)\n2. [Array operations](#array-operations)\n3. [toArray](#toarraylist-enumerable)\n4. [extend](#extendtarget-object-others)\n5. [has](#hastarget-object-property-string)\n6. [query](#queryselector-string-root-htmlelement--document)\n7. [queryAll](#queryallselector-string)\n8. [invoke](#invokelist-array-method-string-arguments-any)\n9. [isBlank](#isblankvalue-any)\n10. [isDOM](#isdomvalue-any)\n11. [isFunction](#isfunctionvalue-any)\n12. [isObject](#isobjectvalue-any)\n13. [isRegExp](#isregexpvalue-any)\n14. [isString](#isstringvalue-any)\n15. [isUndefined](#isundefinedvalue-any)\n16. [matches](#matchesel-element-selector-string)\n17. [on](#onel-element-event-string-callback-function-capture-boolean)\n18. [off](#offel-element-event-string-callback-function-capture-boolean)\n18. [result](#resulttarget-any-property-string-fallback-any)\n19. [tap](#taptarget-any-fn-function-scope-any)\n20. [template](#templatetarget-any-fn-function-scope-any)\n21. [append](#appendparent-element-elements-element)\n22. [remove](#removeelements-element--element)\n23. [addClass](#addclasselement-element-classes-string)\n24. [removeClass](#removeclasselement-element-classes-string)\n25. [toggleClass](#toggleclasselement-element-classes-string-keep-boolean)\n\n#### chain(target: Object | Array)\n\nCreates a pipeline for executing multiple operatins on a value, this can be a single object or a list of values. Use `valueOf()` to end the chain, returning the underlying value:\n\n```javascript\nconst $ = Washi.$\n\nlet chain = $.chain([1,2,3]).map(i => i + 1)\nlet result = chain.valueOf()\n\nconsole.log(result) // [2,3,4]\n```\n\nPassing a string to `Washi.$` executes `document.querySelectorAll`, converting the selection into a chain:\n\n```javascript\nconst $ = Washi.$\n\n$('button').on('click', () => {\n  alert(\"HI!\")\n})\n```\n\n#### Array operations\n\nWashi.$ includes most ES5 methods from the Array prototype. The primary benefit of doing this is to work around DOM APIs that return _\"array like\"_ values such as [`NodeList`](https://developer.mozilla.org/en-US/docs/Web/API/NodeList):\n\n- [`join`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join)\n- [`reverse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse)\n- [`sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)\n- [`push`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push)\n- [`pop`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop)\n- [`shift`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift)\n- [`unshift`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift)\n- [`slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice)\n- [`splice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice)\n- [`concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat)\n- [`indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)\n- [`lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf)\n- [`forEach`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)\n- [`map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)\n- [`reduce`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)\n- [`reduceRight`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight)\n- [`filter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)\n- [`some`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some)\n- [`every`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some)\n\nYou can use these directly, however they are primary intended for use with chaining:\n\n```javascript\nconst $ = Washi.$\n\nlet internalLinks = $('a').filter(el => el.href.origin === window.location.origin)\n\ninternalLinks.on('click', () => console.log(\"Retention! Hurrah!\"))\n```\n\n#### toArray(list: Enumerable) \n\nConvert a list-like value, such as a `NodeList` returned from `document.querySelectorAll` into an array:\n\n```javascript\nconst $ = Washi.$\n\nlet links = document.querySelectorAll('a')\nlet hrefs = $.toArray(links).map(el => el.href)\n```\n\n#### extend(target: Object, ...others)\n\nGiven a list of arguments, extend a target object with additional properties:\n\n```javascript\nconst $ = Washi.$\n\nlet red = { r: 200, g: 0, b: 0 }\nlet blue = { r: 0, g: 0, b: 220 }\n\nlet purple = $.extend({}, red, blue) // { r: 200, g: 0, b: 200 }\n```\n\n**Important:** the first argument, `target`, is mutated. This is a destructive operation!\n\n#### has(target: Object, property: String)\n\nReturns true if a given object has a property. This is sugar around `Object.prototype.hasOwnProperty` that covers some edge cases, such as null or undefined values.\n\n```javascript\nconst $ = Washi.$\n\nlet styles = { color: 'blue', font: '14px Helvetica' }\n\n$.has(styles, 'color')  // true\n$.has(styles, 'border') // false\n```\n\n#### query(selector: String, root: HTMLElement = document)\n\nSelect an HTML element. When no second argument is given, selection occurs on the `document`. When no element is found, it returns `null`.\n\n```javascript\nconst $ = Washi.$\n\nlet btn = $.query('button')\n\nif (btn) {\n  btn.click()\n}\n```\n\n#### queryAll(selector: String)\n\nSelect multiple HTML elements. The resulting selection is converted into an Array, making its safe to perform operations like `forEach`, `map`, and `reduce`. When no element is found, it returns an empty array.\n\n```javascript\nconst $ = Washi.$\n\nlet items = $('ul').queryAll('li')\n\nitems.forEach(el => console.log(item.innerHTML))\n```\n\n#### invoke(list: Array, method: String, ...arguments: any[])\n\nExecute a method on each member of a list:\n\n```javascript\nconst $ = Washi.$\n\n// Operate on data\nlet planets = ['Mercury', 'Venus', 'Earth', 'Mars']\n$.invoke(planets, 'toUpperCase') // ['MERCURY', 'VENUS', 'EARTH', 'MARS']\n\n// Or call methods on a list of elements\n$('button').invoke('click')\n```\n\n#### isBlank(value: any)\n\nIs a value null or undefined?\n\n```javascript\nconst $ = Washi.$\n\n$.isBlank('')         // false\n$.isBlank(false)      // false\n$.isBlank(0)          // false\n$.isBlank(null)       // true\n$.isBlank(undefined)  // true\n```\n\n#### isDOM(value: any)\n\nIs a value a DOM element?\n\n```javascript\nconst $ = Washi.$\n\n$.isDOM({})          // false\n$.isDOM(new Image()) // true\n```\n\n#### isFunction(value: any)\n\nIs a value a function?\n\n```javascript\nconst $ = Washi.$\n\n$.isFunction({})            // false\n$.isFunction(function() {}) // true\n```\n\n#### isObject(value: any)\n\nIs a value an object? This function helps to avoid pitfalls with type checking objects. For example: `typeof null === 'object'`!\n\n```javascript\nconst $ = Washi.$\n\n$.isObject({})            // true\n$.isObject([])            // true\n$.isObject(null)          // false\n$.isObject(function() {}) // false\n```\n\n#### isRegExp(value: any)\n\nIs a value a regular expression?\n\n```javascript\nconst $ = Washi.$\n\n$.isRegExp({})                  // false\n$.isRegExp(/[A-Z]/)             // true\n$.isRegExp(new RegExp(\"[A-Z]\")) // true\n```\n\n#### isString(value: any)\n\nIs a value a string?\n\n```javascript\nconst $ = Washi.$\n\n$.isString({})            // false\n$.isString(\"Hello world\") // true\n```\n\n#### isUndefined(value: any)\n\nIs a value undefined?\n\n```javascript\nconst $ = Washi.$\n\n$.isUndefined(null)      // false\n$.isUndefined('')        // false\n$.isUndefined(0)         // false\n$.isUndefined(undefined) // true\n```\n\n#### matches(el: Element, selector: String)\n\nReturns true if the provided element matches a CSS selector. When possible, this function uses the [Element.matches](https://developer.mozilla.org/en-US/docs/Web/API/Element/matches) DOM API.\n\n```javascript\nconst $ = Washi.$\n\n$.matches(document.body, '.class-name')\n```\n\n#### on(el: Element, event: String, callback: Function, capture: boolean)\n\nSafely attach an event listener with extreme browser support (IE5+).\n\n```javascript\nconst $ = Washi.$\n\n$.on(document.body, 'click', event => alert(\"CLICK!\"))\n\n// Or chain it:\n$('button').on('click', event => alert(\"CLICK!\"))\n```\n\nFor more information about event listening, see [EventTarget.addEventListener](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener)\n\n#### off(el: Element, event: String, callback: Function, capture: boolean)\n\nSafely remove an event listener with extreme browser support (IE5+).\n\n```javascript\nconst $ = Washi.$\n\nlet buttons = $('button')\nlet handler = event => alert(\"CLICK!\")\n\nbuttons.on('click', handler)\nbuttons.invoke('click') // CLICK! CLICK! CLICK!\n\nbuttons.off('click', handler)\nbuttons.invoke('click') // silence\n```\n\n#### result(target: any, property: String, fallback: any)\n\nCheck for ownership of a value, optionally calling it if it is a function. If the value is `undefined`, return the fallback value.\n\n```javascript\nconst $ = Washi.$\n\n$.result({}, 'method', 'missing') // 'missing'\n$.result('foobar', 'toUpperCase', 'UNKNOWN') // 'FOOBAR'\n```\n\n#### tap(target: any, fn: Function, scope: any)\n\nCalls a function at a given scope, passing in the target value as the only argument. This is primarily intended side-effects when chaining:\n\n```javascript\nconst $ = Washi.$\n\nfunction render(items) {\n  let p = document.createElement('p')\n\n  p.innerHTML = items.join(', ')\n\n  document.body.appendChild(p)\n}\n\nlet dates = $([new Date('01-01-2000'), new Date('02-02-2010'])\n```\n\n#### template(target: any, fn: Function, scope: any)\n\nAn extremely simple templating language. Primary used for basic string replacement. For more serious uses, particulary with DOM manipulation, **use a vetted templating language such as [mustachejs](https://github.com/janl/mustache.js/)**.\n\n```javascript\nconst $ = Washi.$\n\n$.template('{foo}', { foo: 'bar' }) //=> 'bar'\n$.template('{foo}') //=> '{foo}'\n```\n\n#### append(parent: Element, ...elements: Element[])\n\nAppend a list of children to an element:\n\n```javascript\nconst $ = Washi.$\n\nlet planets = $(['Mercury', 'Venus', 'Earth', 'Mars'])\n\nplanets.map(item => {\n  var el = document.createElement('li')\n  el.innerHTML = item\n  return el\n})\n\n$('ul').append(planets.valueOf())\n```\n\n#### remove(elements: Element | Element[])\n\nRemove a single HTML element from its parent, or each element within a list:\n\n```javascript\nconst $ = Washi.$\n\n// Remove buttons from a form:\n$('#my-form button').remove()\n```\n\n#### addClass(element: Element, classes: String)\n\nAdd one or more class names to an element:\n\n```javascript\nconst $ = Washi.$\n\nlet el = document.createElement('button')\n\nel.className = 'btn'\n\n$.addClass(el, 'btn-large')\n\nconsole.log(el.className) // 'btn btn-large'\n```\n\n#### removeClass(element: Element, classes: String)\n\nRemove one or more class names to an element:\n\n```javascript\nconst $ = Washi.$\n\nlet el = document.createElement('button')\n\nel.className = 'btn btn-large'\n\n$.removeClass(el, 'btn btn-large')\n\nconsole.log(el.className) // ''\n```\n\n#### toggleClass(element: Element, classes: String, keep?: Boolean)\n\nToggle one or more class names to an element. When provided, adds/removes the class names based upon the `keep` argument\n\n```javascript\nconst $ = Washi.$\n\nlet el = document.createElement('button')\n\nel.className = 'btn'\n\n$.toggleClass(el, 'active')\nconsole.log(el.className) // 'btn active'\n\n$.toggleClass(el, 'active')\nconsole.log(el.className) // 'btn'\n\n$.toggleClass(el, 'active', false)\nconsole.log(el.className) // 'btn'\n\n$.toggleClass(el, 'active', true)\nconsole.log(el.className) // 'btn active'\n```\n\n***\n\n<a href=\"http://code.viget.com\">\n  <img src=\"http://code.viget.com/github-banner.png\" alt=\"Code At Viget\">\n</a>\n\nVisit [code.viget.com](http://code.viget.com) to see more projects from [Viget.](https://viget.com)\n\n","maintainers":[{"email":"nate.hunzaker@viget.com","name":"nhunzaker"},{"email":"lawson.kurtz@gmail.com","name":"lawson"},{"email":"fed@viget.com","name":"viget"}],"time":{"modified":"2022-06-28T21:53:29.250Z","created":"2014-06-25T19:27:30.006Z","1.0.0":"2014-06-25T19:27:30.006Z","1.0.1":"2014-06-25T19:31:41.236Z","1.1.0":"2014-06-25T20:34:32.065Z","1.1.1":"2014-07-08T18:40:05.473Z","2.0.0":"2014-07-10T16:31:13.379Z","2.0.1":"2014-07-25T00:59:34.860Z","2.1.0":"2014-08-14T16:01:23.693Z","2.2.0":"2014-08-25T14:53:03.879Z","2.2.1":"2014-09-09T15:39:51.127Z","2.2.2":"2014-09-11T18:05:00.951Z","2.2.3":"2014-09-15T16:45:40.070Z","3.0.0":"2014-11-03T13:02:42.903Z","3.0.0-rc1":"2015-01-05T14:44:45.946Z","3.0.0-rc2":"2015-01-05T15:33:16.307Z","3.0.0-rc3":"2015-01-06T15:37:45.443Z","3.0.0-rc4":"2015-01-26T14:08:09.881Z","3.0.1":"2015-05-12T16:04:17.841Z","3.1.0":"2016-02-19T15:17:35.966Z","3.1.1":"2016-05-09T18:53:19.399Z","3.2.0":"2017-09-11T14:11:59.498Z","3.2.1":"2017-09-11T14:13:03.935Z","3.2.2":"2017-09-11T14:23:20.426Z"},"homepage":"https://github.com/vigetlabs/washi","repository":{"type":"git","url":"git://github.com/vigetlabs/washi.git"},"author":{"name":"Nate Hunzaker, Viget Labs"},"bugs":{"url":"https://github.com/vigetlabs/washi/issues"},"license":"MIT","readmeFilename":"README.md"}