{"_id":"ampersand-dom-bindings","_rev":"52-e016c39bc1ede2e9b67e5845ca2220d4","name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","dist-tags":{"latest":"3.9.2"},"versions":{"2.1.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"2.1.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.0","is-array":"^1.0.1","key-tree-store":"^1.2.0"},"devDependencies":{"browserify":"","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"dab32fa6f7b274bb9195070885fb159d9210f4e0","_id":"ampersand-dom-bindings@2.1.0","_shasum":"f873b645b85555d9b295db2ab6cf9fa133b0e46b","_from":".","_npmVersion":"1.4.15","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"}],"dist":{"shasum":"f873b645b85555d9b295db2ab6cf9fa133b0e46b","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-2.1.0.tgz","integrity":"sha512-WR5sT/kR8VTuTWgNERWM4c4E9P3zwKN1UVkAPCrPpy86yQdeFlzmGbR+XigDSZBycFDw5lktgC8rEK/xJquO5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF3N5izWnqDcVtomiGR9xaHC7KL+dN/VD0M7mBUAk1pUAiEA4IFXcMWzStLgY3wbIK589Ua/KlUEHB56QE2BQEv5hKc="}]},"directories":{}},"2.2.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"2.2.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.0","is-array":"^1.0.1","key-tree-store":"^1.2.0"},"devDependencies":{"browserify":"","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"ce069dcb455f58421d1df2690237c462561f45e1","_id":"ampersand-dom-bindings@2.2.0","_shasum":"7e88f14d94a941d779f3a02ba5a3d2b8feb41a17","_from":".","_npmVersion":"1.4.15","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"}],"dist":{"shasum":"7e88f14d94a941d779f3a02ba5a3d2b8feb41a17","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-2.2.0.tgz","integrity":"sha512-t4cd9mWsKNK4uTxeqvbq39QAtWq0OlXpTax8CS76fm9MYV5imxL5QgKKs19+vx2ZbTypWKpcGcIC0PKYfT3tqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICJ7RNcLk1NQV9N5gWz7mM+CrqF+p/y0dagte1VwIZ3CAiAanN7U+sccpkA+ukevgl/1tMEtz3SHZ0VnXuJlEUoIOg=="}]},"directories":{}},"2.3.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"2.3.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.0","is-array":"^1.0.1","key-tree-store":"^1.2.0"},"devDependencies":{"browserify":"","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"f87b64509f6aab0a95ab3275d6a22d7342078646","_id":"ampersand-dom-bindings@2.3.0","_shasum":"a4fc5ddf4fabc1b153dee84b426cdaf132d9dd97","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"a4fc5ddf4fabc1b153dee84b426cdaf132d9dd97","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-2.3.0.tgz","integrity":"sha512-Ms/rGqaiJrLP3PAv29X6b+QPA61D5FKPfkYeNT2j7RXMpCZZ/o787qv3ZrOS3yb/rzJw7HTuj+8pZOqJ55Id3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID1Oo7b4K8JP78PN1DPziD57fqgov7QlmljCGzQc+OLmAiEAznHEShBH4IHRrbNidq/hZIsG5EGnqaF7L2MaOOs2NbU="}]},"directories":{}},"2.3.1":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"2.3.1","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"_id":"ampersand-dom-bindings@2.3.1","_shasum":"acfce67292f35fc7db8962e41ca4af5469e52f47","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"latentflip","email":"phil@latentflip.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"acfce67292f35fc7db8962e41ca4af5469e52f47","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-2.3.1.tgz","integrity":"sha512-sSQx9UuEQci2Ju3HJ/kleOKBW3OFSc7i66QGXSSNsQRilZw1rtrpJn/qlN0GRW34mvigSspXiKrNdjaLVPlfew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICiKwIuc9wF9MpdarWryGYLUbbvpOLJm4P6Mt+kpJdwKAiA6lQg2mTL3sCV7pKvBXpFNAAA6aVp/+cyDh529BpQ4xQ=="}]},"directories":{}},"2.3.2":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"2.3.2","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"1a89099b804bbb2155aeb1c03dd9da2724b9d80b","_id":"ampersand-dom-bindings@2.3.2","_shasum":"2c949114e889aadba25816be72616799ab6cbf9b","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"2c949114e889aadba25816be72616799ab6cbf9b","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-2.3.2.tgz","integrity":"sha512-yEYX84CY8qweFHTdahH6WmpCYYqLb9Ngrf0QlvUK6jFkp/JveG0raIKr+OkiRVuJHsyULEHnk/td1OtaMBn2Pg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeD9WkbvWV4lc7hMjoyTRFC//LmAld9mQ2Eefw4TUj0wIgMzQl6X5+mFyVGd/sPGknbvmqjJMrZ2XPur5+qnuQHCk="}]},"directories":{}},"2.4.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"2.4.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"897dea6fe1d6e20eb69d00dfc1af2c7eb0f7c888","_id":"ampersand-dom-bindings@2.4.0","_shasum":"130ca3d447b2c2449af7e7a9403bf2a0bbf72198","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"130ca3d447b2c2449af7e7a9403bf2a0bbf72198","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-2.4.0.tgz","integrity":"sha512-MTNG+e9ZgZmvfVbYaOgCxmg9iE7U5pu7jDG7LxIy0Kj/4qPJ3CpSZ4bV2XVclZjS7knfin0qaP38FTQm6ZDTGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHiU+rEp35ZDykJ6wdEGQ2KFs3hwpBMUxZkb7w+DVJdYAiEAkZ9uMB7KiobijNx/NkJ2pVdq2x/cNGH0M911scNZ0CQ="}]},"directories":{}},"3.0.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.0.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"35818eefcf13996d3fc9b6b9f2511ea5560f1e34","_id":"ampersand-dom-bindings@3.0.0","_shasum":"d5f3bd5dacf53ba595f9670555836f5aba4e76ac","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"d5f3bd5dacf53ba595f9670555836f5aba4e76ac","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.0.0.tgz","integrity":"sha512-WjKOqT7B2ed9qI32+bGKfg0prywMeSHtbcRxgGRvJjkKYznH0rmGxgmNJ0V/E/uyBvYzeNCoiuerfP72p47TDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9q2FIvWGOQmpsU+kksnU3nzKUvJi4nGjMI17mf70TYwIgaOpFiTtquRAE9d7Bq9QGHJ2T9Js/7/gJHH57IzJPOlc="}]},"directories":{}},"3.1.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.1.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"eeeffe60a25bd2277fc60f7f95283a86b4c52ddb","_id":"ampersand-dom-bindings@3.1.0","_shasum":"a0fc8cae5255b043fbf71f76eab7ee954a483fef","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"a0fc8cae5255b043fbf71f76eab7ee954a483fef","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.1.0.tgz","integrity":"sha512-4YEa9V0NueF6XR0lYWO1/Z1wFuZWuiJP3y+TF+zczv+JpQZf6NHIJALSfct8TuAkpyXoCAu7hih0dbCl+Z6Drw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBg1IB1igRATX1pLqL0L8hEv4QgLgjGXnqFifJ31jO9lAiBiZkfx3PFvJKIyXp2DucNW4agah6Y4iUMMXpyAxNjzoA=="}]},"directories":{}},"3.1.1":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.1.1","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^5.11.0","phantomjs":"^1.9.7-15","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"be2434c568189e2a93321ee3510f6f73acc0b47b","_id":"ampersand-dom-bindings@3.1.1","_shasum":"7957a977b19b9c6a416bf06569c04981d3de3bcb","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"7957a977b19b9c6a416bf06569c04981d3de3bcb","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.1.1.tgz","integrity":"sha512-un3LMZxhRfsSjoCYoFyRdiUU0+lsUp+TVzjFVmHmQwXrI4im3FQJcN7V/TPE8f7e+qNuvNbcqKTUKb55c4CAIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICQSy60ksNZ4HWSGPf7VeUf/dAYo0UiKI5r9a1pFu0mpAiEAib0vuwQGn13ziTAAvdoMwDSEqagvbY6m++oDdoEbNzI="}]},"directories":{}},"3.1.2":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.1.2","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^5.11.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"6ff965ca4affd8a9e1410fde57fc2a55a2596876","_id":"ampersand-dom-bindings@3.1.2","_shasum":"aca2f5f27f78d60203bda4f9cc314225787e8fc8","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"aca2f5f27f78d60203bda4f9cc314225787e8fc8","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.1.2.tgz","integrity":"sha512-Dtzy3sn2gQHQBN6No+1DUL0WEzWtj9bEzA1DoTRouZKI3ielYg+fBDQ84C6Xud8gwvwkqBk+gRq9DV6Ds1HXzA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEpZl9H9jsZLlGOVRa1msE0MMrD5F5utft+SJxAyK8gIAiBtxrTJonkv1mLdMCC4m4hyIWkxqYWp+J6MypTP0Ja1Rw=="}]},"directories":{}},"3.2.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.2.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^5.11.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"dca9c97468f69f56d10e054cdbd1519eed4e0f51","_id":"ampersand-dom-bindings@3.2.0","_shasum":"cd3e5ae8a7a443885c59a2871c75af87122af2b9","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"cd3e5ae8a7a443885c59a2871c75af87122af2b9","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.2.0.tgz","integrity":"sha512-b5xk5c8twYgEE68cCoqAwazQeSaXUntyg1sVsv2e2tiA6NOfd65yD+aCPPUrEUEIyIWlvDsSfk8bfECFpfCGMQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdom0BjH4LbKQc/i7vxHMBUsM5tpLOQEFI9CQNnZyc0wIhAPnirNKHAhnBjPaQ84YkXZ7ONEm4nr4G3aZXhq1FU+f6"}]},"directories":{}},"3.3.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.3.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^5.11.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"86252de44783e16f17d4034cf04122adc5edf777","_id":"ampersand-dom-bindings@3.3.0","_shasum":"5ed76bbeb764976053d9c0571e5a17dbff4593f5","_from":".","_npmVersion":"2.0.0","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"5ed76bbeb764976053d9c0571e5a17dbff4593f5","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.3.0.tgz","integrity":"sha512-3gnuYxJCawJFSavSlz28CXgurjTqP1c4WCjLDB0zqlbv9dCB2KEG/h0YXQi7ozXfK77cYfdQKLuTBcYGykbBow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDo8567raUj5WSPHteuyGpqlNil5P5aJhLaJ0n6s9IXcQIgM3BBCsCRvZzLGNAx53DzspuReCd3lFKf1PELKuxTaKs="}]},"directories":{}},"3.3.1":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.3.1","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.5","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^5.11.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"b37b1732da1aa98bf184d6b0391231034b527517","_id":"ampersand-dom-bindings@3.3.1","_shasum":"5feca284bdb71cc0a8596533e90a2f6c1cc7f1e1","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"henrikjoreteg","email":"henrik@andyet.net"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"5feca284bdb71cc0a8596533e90a2f6c1cc7f1e1","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.3.1.tgz","integrity":"sha512-pwYohKj26fSYql0RyvJ0BU9omcgLLj1vyBq7DPOKNfWL4NRtZ9Oj8CcfDZX7rtPrHKsLePJdTsOFCWnWlxad5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF8DHtZLJyew4cK+VXZ/bQhPlFbs9kbPl9xEjMsTISylAiBkH7HwQlrYBdnnJUFaA0WDSPDXwkq6V4mLFO8tCMjY9A=="}]},"directories":{}},"3.3.2":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.3.2","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.5","ampersand-version":"^1.0.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^5.11.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"b0783157810a7401d7b41de4c83f162ec6b70d65","_id":"ampersand-dom-bindings@3.3.2","_shasum":"feb4b53fbeb24a134f6acc7cd71e98d0ba190c72","_from":".","_npmVersion":"2.1.5","_nodeVersion":"0.10.28","_npmUser":{"name":"latentflip","email":"phil@latentflip.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"dist":{"shasum":"feb4b53fbeb24a134f6acc7cd71e98d0ba190c72","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.3.2.tgz","integrity":"sha512-CfbvRDbYXzJ83wVaDtHtwzE4VrUlSdjsRz/o6FdNRplyuWbtDF9jBo0iYaLBRL+eeIEaXqMaWsys/Pw7vmrwwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2xCw6HxLQdeun1PtaeUV+cKgxz/wl2FdG24Rc6WDhowIhAKf3wDPOhNwte97Ze92KOdkOILuDyObjH9ivIg0TQsPe"}]},"directories":{}},"3.3.3":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.3.3","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.5","ampersand-version":"^1.0.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^5.11.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"47c018311f152c525e3107d7a9725a4974844b55","_id":"ampersand-dom-bindings@3.3.3","_shasum":"6e9509f8964794644565d75478bcc28eeee99599","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"gar","email":"gar@comrade.us"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar@comrade.us"}],"dist":{"shasum":"6e9509f8964794644565d75478bcc28eeee99599","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.3.3.tgz","integrity":"sha512-HtL6CSRAfEWWwhTLW9ouT/fPZUbrHtL6kciUFxi1mdZXq0VosV4hJwSa1IbBfmmCqeyc5dTsIU2evFP7cmroYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTkZDLjTLcaADhyn7nJS+VL/auEH3CGp16pyD4xHcCjAIgc4vY0sPlq3aOhsju7DwQLwROgC9UvbZAtsjMAU+d1GY="}]},"directories":{}},"3.4.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.4.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.5","ampersand-version":"^1.0.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^5.11.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"d71ddd377fa5f5c5aac20ec19122f43b61330c53","_id":"ampersand-dom-bindings@3.4.0","_shasum":"2ba78466e349b774e4473c359b0020d7721684cc","_from":".","_npmVersion":"2.7.0","_nodeVersion":"0.10.35","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar@comrade.us"}],"dist":{"shasum":"2ba78466e349b774e4473c359b0020d7721684cc","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.4.0.tgz","integrity":"sha512-K0eiaknptBpwx3Eb2YDIRN8XYwLRASBGwHTYYAFcnojSYa2fvPyKVZjzGPZw+AKbrRouoO4g0x7XqrtfdQd3FA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoCPiLfwlXetXf4AfJrZqFvhmtzgFqW5xHHzckIOLjugIhAL+0Qamc7sqiGhFOVfTBV5aJJg8yHYmvDUr79alYXIwD"}]},"directories":{}},"3.5.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.5.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"dependencies":{"ampersand-dom":"^1.2.5","ampersand-version":"^1.0.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^5.11.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^1.0.7","run-browser":"~1.3.1","tap-spec":"^0.2.0","tape":"^2.13.2","tape-run":"~0.1.1"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings","keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","repository":{"type":"git","url":"git://github.com/ampersandjs/ampersand-dom-bindings"},"scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"2e4f85701dc0d826ae17116b4270c508cf0fc94f","_id":"ampersand-dom-bindings@3.5.0","_shasum":"87bb60429770823119d41702da29856c4b8969da","_from":".","_npmVersion":"2.7.0","_nodeVersion":"0.10.35","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar@comrade.us"}],"dist":{"shasum":"87bb60429770823119d41702da29856c4b8969da","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.5.0.tgz","integrity":"sha512-+lqnoV9rDP2lSigK3Kn/xhPC6yfjfMQrLM9b9TUT9g4w879bft+k3db4MPcrAAoAcKngpKxTUrUoKQL1vSIc7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiDuKy/y5IbZwfmpoNjcpAmgn9/t+XOYSTdHsO+eYb/gIgaO7L10sYcDtuT+gzBjS1gQjZd+my/L9pExKrX4DQy74="}]},"directories":{}},"3.6.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.6.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"repository":{"type":"git","url":"git+https://github.com/ampersandjs/ampersand-dom-bindings.git"},"files":["ampersand-dom-bindings.js"],"dependencies":{"ampersand-dom":"^1.2.5","ampersand-version":"^1.0.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","lodash.partial":"^3.1.1","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^11.0.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^3.0.0","run-browser":"^2.0.2","tap-spec":"^4.0.2","tape":"^4.0.0","tape-run":"^1.0.0"},"keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec","lint":"jshint .","preversion":"git checkout master && git pull && npm ls","publish-patch":"npm run preversion && npm version patch && git push origin master --tags && npm publish","publish-minor":"npm run preversion && npm version minor && git push origin master --tags && npm publish","publish-major":"npm run preversion && npm version major && git push origin master --tags && npm publish","validate":"npm ls"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"pre-commit":["lint","test"],"gitHead":"208d3efa18b55e99e812a87bea5b2900ed0d127d","bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings#readme","_id":"ampersand-dom-bindings@3.6.0","_shasum":"72e8cb501757e7f41d0737b23a703cb9534cb3e2","_from":".","_npmVersion":"2.10.0","_nodeVersion":"0.10.38","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"dist":{"shasum":"72e8cb501757e7f41d0737b23a703cb9534cb3e2","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.6.0.tgz","integrity":"sha512-qgrrM2LrMEyLQpBSpQj8YnUiWlUhejXI3qnvi7HZ5TUuci+eh8dW6Q6DfdxTmhCD+LV+iHyz0H+vEufqjtre9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE7fQQt+/Tn5KDaaFYQxPib70pBsqn6GX4wLgaglM4vzAiEAoMd8W+CGChatkfjGq0GSRk8tfaeW9nmmYCvhfTaZ02I="}]},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar+npm@danger.computer"},{"name":"pgilad","email":"giladp007@gmail.com"}],"directories":{}},"3.7.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.7.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"repository":{"type":"git","url":"git+https://github.com/ampersandjs/ampersand-dom-bindings.git"},"files":["ampersand-dom-bindings.js"],"dependencies":{"ampersand-dom":"^1.2.5","ampersand-version":"^1.0.0","is-array":"^1.0.1","key-tree-store":"^1.2.0","lodash.partial":"^3.1.1","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^11.0.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^3.0.0","run-browser":"^2.0.2","tap-spec":"^4.0.2","tape":"^4.0.0","tape-run":"^1.0.0"},"keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec","lint":"jshint .","preversion":"git checkout master && git pull && npm ls","publish-patch":"npm run preversion && npm version patch && git push origin master --tags && npm publish","publish-minor":"npm run preversion && npm version minor && git push origin master --tags && npm publish","publish-major":"npm run preversion && npm version major && git push origin master --tags && npm publish","validate":"npm ls"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"pre-commit":["lint","test"],"gitHead":"a99ce491e954c22bd911da035b5289de7ae18b4e","bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings#readme","_id":"ampersand-dom-bindings@3.7.0","_shasum":"7b966054aa14b3536411c4450e2c2ae4a2774581","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"pgilad","email":"giladp007@gmail.com"},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar+npm@danger.computer"},{"name":"pgilad","email":"giladp007@gmail.com"}],"dist":{"shasum":"7b966054aa14b3536411c4450e2c2ae4a2774581","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.7.0.tgz","integrity":"sha512-tAqjCOC5D4QEmBk4YXOFIreOK/6v0QjBoWTJ8XbQngG1FdME3mlcegG1vwFnNoIby7u2FDncUdLLyqg+YEeMdA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFETxSRo+ppwmh4/CcnV5JqqHpMjVAeMVza118udVFAnAiAhoiAwbXua+/aXs6Lo5OUAsfCsXoEh//YE8NKKHNZ9nw=="}]},"directories":{}},"3.7.1":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.7.1","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"repository":{"type":"git","url":"git+https://github.com/ampersandjs/ampersand-dom-bindings.git"},"files":["ampersand-dom-bindings.js"],"dependencies":{"ampersand-dom":"^1.2.5","ampersand-version":"^1.0.0","key-tree-store":"^1.2.0","lodash.partial":"^3.1.1","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^11.0.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^3.0.0","run-browser":"^2.0.2","tap-spec":"^4.0.2","tape":"^4.0.0","tape-run":"^1.0.0"},"keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec","lint":"jshint .","preversion":"git checkout master && git pull && npm ls","publish-patch":"npm run preversion && npm version patch && git push origin master --tags && npm publish","publish-minor":"npm run preversion && npm version minor && git push origin master --tags && npm publish","publish-major":"npm run preversion && npm version major && git push origin master --tags && npm publish","validate":"npm ls"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"pre-commit":["lint","test"],"gitHead":"3bc8ca3af2dfaf9c2940ab5c5b495cb9276ef036","bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings#readme","_id":"ampersand-dom-bindings@3.7.1","_shasum":"0f0d2cedc2db5bd980a327b392573ab7ea4cef03","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.2.0","_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"dist":{"shasum":"0f0d2cedc2db5bd980a327b392573ab7ea4cef03","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.7.1.tgz","integrity":"sha512-aE0aMD5iwGggmxGBxBwz5od4AOhnD7K2axus62XPUGrVRBmR/Pe6fKceV8oOWZtMgJv9MFN8DU8xe0dDWbElqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDZMtQ+1WGC998J6R4/Dh5KwffsoFlj7JQ5dFqBjHqn1AiAvhwB+vbRuxYdlB0Ah9rlYHycMVsxmPx7wMcRa9aSGkA=="}]},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar+npm@danger.computer"},{"name":"pgilad","email":"giladp007@gmail.com"}],"directories":{}},"3.8.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.8.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"repository":{"type":"git","url":"git+https://github.com/ampersandjs/ampersand-dom-bindings.git"},"files":["ampersand-dom-bindings.js"],"dependencies":{"ampersand-dom":"^1.2.5","ampersand-version":"^1.0.0","key-tree-store":"^1.2.0","lodash.partial":"^3.1.1","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^11.0.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^3.0.0","run-browser":"^2.0.2","tap-spec":"^4.0.2","tape":"^4.0.0","tape-run":"^1.0.0"},"keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec","lint":"jshint .","preversion":"git checkout master && git pull && npm ls","publish-patch":"npm run preversion && npm version patch && git push origin master --tags && npm publish","publish-minor":"npm run preversion && npm version minor && git push origin master --tags && npm publish","publish-major":"npm run preversion && npm version major && git push origin master --tags && npm publish","validate":"npm ls"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"pre-commit":["lint","test"],"gitHead":"248b60b452d3014751ffe8d86e493f9888a934e4","bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings#readme","_id":"ampersand-dom-bindings@3.8.0","_shasum":"f29422b80d5fcb5bd3fd2965a15f8ce16f08937b","_from":".","_npmVersion":"3.5.3","_nodeVersion":"4.2.4","_npmUser":{"name":"gar","email":"gar+npm@danger.computer"},"dist":{"shasum":"f29422b80d5fcb5bd3fd2965a15f8ce16f08937b","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.8.0.tgz","integrity":"sha512-m01hjOO72utxfXN6fWn0swUdfWQIx81K6OGLJ0+9AHZ+wQXOlzyNIeXZMpd1VSkxEu6Ol7+/jnOTVaSwXDADaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvSD1gjnoXGYd4SelNP68eNjrqH0pZFnKtLp9tj37xyQIhAITDtAUJeZAJcZLQah8jgtnMZj38wQpcjOH8P8knoV+0"}]},"maintainers":[{"name":"henrikjoreteg","email":"henrik@andyet.net"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"gar","email":"gar+npm@danger.computer"},{"name":"pgilad","email":"giladp007@gmail.com"}],"directories":{}},"3.9.0":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.9.0","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"repository":{"type":"git","url":"git+https://github.com/ampersandjs/ampersand-dom-bindings.git"},"files":["ampersand-dom-bindings.js"],"dependencies":{"ampersand-dom":"^1.2.5","ampersand-version":"^1.0.0","key-tree-store":"^1.2.0","lodash.partial":"^3.1.1","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^11.0.0","jshint":"^2.5.6","phantomjs":"^1.9.7-15","precommit-hook":"^3.0.0","run-browser":"^2.0.2","tap-spec":"^4.0.2","tape":"^4.0.0","tape-run":"^1.0.0"},"keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec","lint":"jshint .","preversion":"git checkout master && git pull && npm ls","publish-patch":"npm run preversion && npm version patch && git push origin master --tags && npm publish","publish-minor":"npm run preversion && npm version minor && git push origin master --tags && npm publish","publish-major":"npm run preversion && npm version major && git push origin master --tags && npm publish","validate":"npm ls"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"pre-commit":["lint","test"],"gitHead":"d86f3518dbd9b3b74d356541dbb4fe09eede52c9","bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings#readme","_id":"ampersand-dom-bindings@3.9.0","_shasum":"0ebf2848d901d8eb1d086dced8936679421c92bc","_from":".","_npmVersion":"4.0.3","_nodeVersion":"6.9.2","_npmUser":{"name":"gar","email":"gar+npm@danger.computer"},"dist":{"shasum":"0ebf2848d901d8eb1d086dced8936679421c92bc","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.9.0.tgz","integrity":"sha512-h8trwwFwreNGh60kzu8KziSNKUtWNUlSfY0yA1OSmfTNTe6Y3IACLmUSNWGirIqENFznICidC4qpxeEcCqQ6Gg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzbPNsi4K4X2Lu6g1hmn2ciMmcMcC8+8qbjWskFOglNgIgemmRFEpqDTxWeSRhG6ZQ5+qhdlMoSyHtA8jAKvMe84w="}]},"maintainers":[{"name":"fyockm","email":"fyockm@gmail.com"},{"name":"gar","email":"gar+npm@danger.computer"},{"name":"henrikjoreteg","email":"henrik@joreteg.com"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"pgilad","email":"giladp007@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ampersand-dom-bindings-3.9.0.tgz_1482343391189_0.7365786472801119"},"directories":{}},"3.9.1":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.9.1","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"repository":{"type":"git","url":"git+https://github.com/ampersandjs/ampersand-dom-bindings.git"},"files":["ampersand-dom-bindings.js"],"dependencies":{"ampersand-dom":"^1.2.5","ampersand-version":"^1.0.0","key-tree-store":"^1.2.0","lodash":"^4.17.4","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^13.3.0","jshint":"^2.5.6","phantomjs":"^2.1.7","precommit-hook":"^3.0.0","run-browser":"^2.0.2","tap-spec":"^4.0.2","tape":"^4.0.0","tape-run":"^2.1.5"},"keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec","lint":"jshint .","preversion":"git checkout master && git pull && npm ls","publish-patch":"npm run preversion && npm version patch && git push origin master --tags && npm publish","publish-minor":"npm run preversion && npm version minor && git push origin master --tags && npm publish","publish-major":"npm run preversion && npm version major && git push origin master --tags && npm publish","validate":"npm ls"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"pre-commit":["lint","test"],"gitHead":"917a35a8b566858e2226e51ccaa005553b405d3a","bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings#readme","_id":"ampersand-dom-bindings@3.9.1","_shasum":"61faefb1a7cd29461db22a4574f1f70b92e410ba","_from":".","_npmVersion":"4.0.5","_nodeVersion":"6.9.2","_npmUser":{"name":"gar","email":"gar+npm@danger.computer"},"dist":{"shasum":"61faefb1a7cd29461db22a4574f1f70b92e410ba","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.9.1.tgz","integrity":"sha512-Qxm1E7+e9mTyQYRJi3SF9K+MARWPmWUI5ueDjgoeWDjXypfqgQKiQuKEvzPHmcGvPvXNhpvGoNu0nHLIyjOjRQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID2atIwAhYMXbm3b7xjFdjZVf8ZHg9iXVDe2JmbQQnIQAiB+IQfTE1JNwBalg9uZGWBz7rMq+XEVWLDJ9/ZFMRprqQ=="}]},"maintainers":[{"name":"fyockm","email":"fyockm@gmail.com"},{"name":"gar","email":"gar+npm@danger.computer"},{"name":"henrikjoreteg","email":"henrik@joreteg.com"},{"name":"latentflip","email":"phil@latentflip.com"},{"name":"lukekarrys","email":"luke@lukekarrys.com"},{"name":"pgilad","email":"giladp007@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ampersand-dom-bindings-3.9.1.tgz_1483653827191_0.38869371567852795"},"directories":{}},"3.9.2":{"name":"ampersand-dom-bindings","description":"Takes binding declarations and returns key-tree-store of functions that can be used to apply those bindings.","version":"3.9.2","author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"browserify":{"transform":["ampersand-version"]},"repository":{"type":"git","url":"git+https://github.com/ampersandjs/ampersand-dom-bindings.git"},"files":["ampersand-dom-bindings.js"],"dependencies":{"ampersand-dom":"^1.2.5","ampersand-version":"^1.0.0","key-tree-store":"^1.2.0","lodash":"^4.17.4","matches-selector":"^1.0.0"},"devDependencies":{"browserify":"^13.3.0","jshint":"^2.5.6","phantomjs":"^2.1.7","precommit-hook":"^3.0.0","run-browser":"^2.0.2","tap-spec":"^4.0.2","tape":"^4.0.0","tape-run":"^2.1.5"},"keywords":["dom","bindings","browser"],"license":"MIT","main":"ampersand-dom-bindings.js","scripts":{"start":"run-browser test/index.js","test":"browserify test/index.js | tape-run | tap-spec","lint":"jshint .","preversion":"git checkout master && git pull && npm ls","publish-patch":"npm run preversion && npm version patch && git push origin master --tags && npm publish","publish-minor":"npm run preversion && npm version minor && git push origin master --tags && npm publish","publish-major":"npm run preversion && npm version major && git push origin master --tags && npm publish","validate":"npm ls"},"testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"pre-commit":["lint","test"],"gitHead":"dd276faaf2c0bad1046a80d978a778ddf0f4713b","bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings#readme","_id":"ampersand-dom-bindings@3.9.2","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"dhritzkiv","email":"daniel.hritzkiv@gmail.com"},"dist":{"integrity":"sha512-LQBOVB5DlGZZZ2mf6W1Y4Ld19JnuThsqD6dSvfmjBEK2dby/I1rjpkWaPrt11YZELs8IRilwzNC3OdYluV6hqw==","shasum":"f8a7aff50c7934f0c972ddfe29c16df97e3e108e","tarball":"https://registry.npmjs.org/ampersand-dom-bindings/-/ampersand-dom-bindings-3.9.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDy045ucjoqBwpZkuBSicJBvVMfPErS7jrakYT9CrPntQIhAMxrAsbAusHWP0PiAucAcHPim6TdjkP2R+TPqEdi9Mj/"}]},"maintainers":[{"email":"daniel.hritzkiv@gmail.com","name":"dhritzkiv"},{"email":"fyockm@gmail.com","name":"fyockm"},{"email":"giladp007@gmail.com","name":"pgilad"},{"email":"henrik@joreteg.com","name":"henrikjoreteg"},{"email":"phil@latentflip.com","name":"latentflip"},{"email":"luke@lukekarrys.com","name":"lukekarrys"},{"email":"gar+npm@danger.computer","name":"gar"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ampersand-dom-bindings-3.9.2.tgz_1508531008045_0.04903622157871723"},"directories":{}}},"readme":"# ampersand-dom-bindings\n\n<!-- starthide -->\nPart of the [Ampersand.js toolkit](http://ampersandjs.com) for building clientside applications.\n<!-- endhide -->\n\nTakes binding declarations as described below and returns [key-tree-store](https://github.com/HenrikJoreteg/key-tree-store) of functions that can be used to apply those bindings to a DOM tree.\n\n[ampersand-view](http://ampersandjs.com/docs#ampersand-view) use this for declarative bindings.\n\nThe returned functions should be called with these arguments: The root element, the current value of the property, and a name for the binding types where that is relevant.\n\n## install\n\n```\nnpm install ampersand-dom-bindings\n```\n\n## Binding types\n\n### text\n\nsets/maintains `textContent` of selected element. treats `undefined`, `null`, and `NaN` as `''`\n\n```js\n'model.key': {\n    type: 'text',\n    selector: '.someSelector' // or hook\n}\n```\n\n### class\n\nsets and maintains single class as string that matches value of property\n- handles removing previous class if there was one\n- treats `undefined`, `null`, and `NaN` as `''` (empty string).\n\n```js\n'model.key': {\n    type: 'class',\n    selector: // or hook\n}\n```\n\n### attribute\nsets the whole attribute to match value of property. treats `undefined`, `null`, and `NaN` as `''` (empty string). `name` can also be an array to set multiple attributes to the same value.\n\n```js\n'model.key': {\n    type: 'attribute',\n    selector: '#something', // or hook\n    name: 'width'\n}\n```\n\n### value\n\nsets the value of the element to match value of the property. works well for `input`, `select`, and `textarea` elements. treats `undefined`, `null`, and `NaN` as `''` (empty string).\n\n**note**: The binding will only be applied if the element is not currently in focus. This is done by checking to see if the element is the `document.activeElement` first. The reason it works this way is because if you've set up two-way data bindings you get a circular event: the input changes, which sets the bound model property, which in turn updates the value of the input. This might sound OK but results in the cursor always jumping to the end of the input/textarea. So if you're editing the middle of a bound text field, the cursor keeps jumping to the end. We avoid this by making sure it's not already in focus thus avoiding the bad loop.\n\n```js\n'model.key': {\n    type: 'value',\n    selector: '#something', // or hook\n}\n```\n\n### booleanClass\n\nadd/removes class based on boolean interpretation of property name. `name`, `yes`, or `no` can also be an array of class names where all the values will be toggled. If you need the opposite effect, (`false` adds class, `true` removes class), specify `invert: true`.\n\n```js\n'model.active': {\n    type: 'booleanClass',\n    selector: '#something', // or hook\n    // to specify name of class to toggle (if different than key name)\n    // you could either specify a name\n    name: 'active'\n    // or a yes/no case\n    yes: 'active',\n    no: 'not-active'\n    // if you need inverse interpretation\n    invert: true\n}\n```\n\n### booleanAttribute\n\ntoggles whole attribute on the element (think `checked`) based on boolean interpretation of property name. `name` can also be an array of attribute names where all the values will be toggled. If you need the opposite effect, (`false` adds attribute, `true` removes attribute), specify `invert: true`.\n\n```js\n'model.isAwesome': {\n    type: 'booleanAttribute',\n    selector: '#something', // or hook\n    // to specify name of attribute to toggle (if different than key name)\n    // you could either specify a name\n    name: 'checked'\n    // or a yes/no case\n    yes: 'data-is-awesome',\n    no: 'data-is-not-awesome'\n    // if you need inverse interpretation\n    invert: true\n}\n```\n\n### toggle\n\ntoggles visibility (using display: none by default) of entire element based on boolean interpretation of property.\n\n```js\n// simple show/hide of single element\n'model.key': {\n    type: 'toggle',\n    selector: '#something' // or hook\n}\n\n// Inverse interpretation of value\n'model.key': {\n    type: 'toggle',\n    invert: true,\n    hook: 'some-element'\n}\n\n// toggle visibility property instead\n'model.key': {\n    type: 'toggle',\n    selector: '#something', // or hook\n    mode: 'visibility'\n}\n\n// show/hide where true/false show different things\n'model.key': {\n    type: 'toggle',\n    yes: '#true_case',\n    no: '#false_case'\n}\n```\n\n### switch\n\nToggles existence of multiple items based on value of property.\n\n```js\n'model.activetab': {\n    type: 'switch',\n    cases: {\n        'edit': '#edit_tab',\n        'new': '#new_tab',\n        'details': '#details_tab'\n    }\n}\n```\n\n### switchClass\n\nToggles existence of a class on multiple elements based on value of property.\n\n```js\n'model.key': {\n    type: 'switchClass',\n    name: 'is-active',\n    cases: {\n        'edit': '#edit_tab',\n        'new': '#new_tab',\n        'details': '#details_tab'\n    }\n}\n```\n\n### switchAttribute\n\nSets attribute(s) on matching elements based on the value of a property matching the case.\n\n```js\n'model.key': {\n    type: 'switchAttribute',\n    selector: 'a', // or hook\n    name: 'href',  // name defaults to the property name (e.g. 'key' from 'model.key' in this example)\n    cases: {\n        value1: '/foo',\n        value2: '/bar'\n    }\n}\n```\n\nYou can also specify multiple attributes by using an object as the case value. The object keys are used instead of the `name` option.\n\n```js\n'model.key': {\n    type: 'switchAttribute',\n    selector: 'a', // or hook\n    cases: {\n        value1: { href: '/foo', name: 'foo' },\n        value2: { href: '/bar', name: 'bar' }\n    }\n}\n```\n\n### innerHTML\n\nrenders innerHTML, can be a string or DOM, based on property value of model\n\n```js\n'model.key': {\n    type: 'innerHTML',\n    selector: '#something' // or hook\n}\n```\n\n### custom functions\n\n`type` can also be a function. It will be run for each matching `el` with the\n`value` and `previousValue` of the property. The function is bound to the view\ndeclaring the bindings, so `this` refers to the view.\n\n```js\n'model.key': {\n    type: function (el, value, previousValue) {\n        // Do something custom to el\n        // using value and/or previousValue\n    },\n    selector: '#something', // or hook\n}\n```\n\n## Handling multiple bindings for a given key\n\nIf given an array, then treat each contained item as separate binding\n\n```js\n'model.key': [\n    {\n        type: 'booleanClass',\n        selector: '#something', // or hook\n        name: 'active' // (optional) name of class to toggle if different than key name\n    },\n    {\n        type: 'attribute',\n        selector: '#something', // or hook\n        name: 'width'\n    }\n]\n```\n\nThe `attribute`, `booleanAttribute` and `booleanClass` types also accept an array for the `name` property (and `yes`/`no` for `booleanClass`). All the values in the array will be set the same as if each were bound separately.\n\n```js\n'model.key': {\n    // Also works with booleanAttribute and booleanClass\n    type: 'attribute',\n    selector: '#avatar',\n    // Both height and width will be bound to model.key\n    name: ['height', 'width']\n}\n```\n\n\n## binding using `data-hook` attribute\n\nWe've started using this convention a lot, rather than using classes and IDs in JS to select elements within a view, we use the `data-hook` attribute. This lets designers edit templates without fear of breaking something by changing a class. It works wonderfully, but the only thing that sucks about that is the syntax of attribute selectors: `[data-hook=some-hook]` is a bit annoying to type a million types, and also in JS-land when coding and we see `[` we always assume arrays.\n\nSo for each of these bindings you can either use `selector` or `hook`, so these two would be equivalent:\n\n```js\n'model.key': {\n    selector: '[data-hook=my-element]'\n}\n\n'model.key': {\n    hook: 'my-element'\n}\n\n```\n\n## handling simplest cases: text\n\n```js\n'model.key': '#something' // creates `text` binding for that selector and property\n\n// `type` defaults to `text` so we can also do\n'model.key': {\n    hook: 'hook-name'\n}\n```\n\n\n## real life example\n\n```js\nvar View = require('ampersand-view');\nvar templates = require('../templates');\n\n\nmodule.exports = View.extend({\n    template: templates.includes.app,\n    bindings: {\n        'model.client_name': {\n            hook: 'name'\n        },\n        'model.logo_uri': {\n            type: 'attribute',\n            name: 'src',\n            hook: 'icon'\n        }\n    }\n});\n```\n\n## other benefits\n\nPreviously after having given views the ability to have their own properties (since view inherits from state) it was awkward to bind those to the DOM. Also, for binding things that were not just `this.model` the syntax had to change.\n\nNow this is fairly simple/obvious:\n\n```js\nmodule.exports = View.extend({\n    template: templates.includes.app,\n    props: {\n        activetab: 'string',\n        person: 'state',\n        meeting: 'state'\n    },\n    bindings: {\n        // for the property that's directly on the view\n        'activetab': {\n            type: 'switch',\n            cases: {\n                'edit': '#edit_tab',\n                'new': '#new_tab',\n                'details': '#details_tab'\n            }\n        },\n        // this one is for one model\n        'person.full_name': '[data-hook=name]',\n        // this one is for another model\n        'meeting.subject': '[data-hook=subject]'\n    }\n});\n```\n\n## firstMatchOnly\n\nAs an option you can add `firstMatchOnly: true` to the binding declaration. It will cause\nthe selector matcher to grab only the first match.\n\nUseful for cases when a view renders a collection with several elements with the same\nclass/data-hook.\n\n```js\nmodule.exports = View.extend({\n  template: '<div><span data-hook=\"foo\"></span><span data-hook=\"foo\"></span>',\n  props: {\n    someText: 'string'\n  },\n  initialize: function(){\n    this.someText = 'hello';\n  },\n  bindings: {\n    'someText': {\n      type: 'text',\n      hook: 'foo',\n      firstMatchOnly: true\n    }\n  }\n});\n// will render <div><span data-hook=\"foo\">hello</span><span data-hook=\"foo\"></span></div>\n```\n\n## changelog\n\n- 3.3.1 - Fix issues with yes/no handling in boolean class. Add lots of tests.\n\n## license\n\nMIT\n","maintainers":[{"email":"daniel.hritzkiv@gmail.com","name":"dhritzkiv"},{"email":"fyockm@gmail.com","name":"fyockm"},{"email":"giladp007@gmail.com","name":"pgilad"},{"email":"henrik@joreteg.com","name":"henrikjoreteg"},{"email":"phil@latentflip.com","name":"latentflip"}],"time":{"modified":"2022-06-13T02:46:02.673Z","created":"2014-06-23T21:55:26.570Z","2.1.0":"2014-06-23T21:55:26.570Z","2.2.0":"2014-06-25T20:47:13.951Z","2.3.0":"2014-07-23T23:13:03.127Z","2.3.1":"2014-08-01T07:40:19.018Z","2.3.2":"2014-08-05T00:00:18.943Z","2.4.0":"2014-08-12T18:43:38.315Z","3.0.0":"2014-08-25T13:02:30.094Z","3.1.0":"2014-09-03T06:36:34.215Z","3.1.1":"2014-09-04T21:28:35.198Z","3.1.2":"2014-10-04T03:06:00.674Z","3.2.0":"2014-10-04T03:19:33.092Z","3.3.0":"2014-10-09T17:43:48.875Z","3.3.1":"2014-10-23T02:39:25.863Z","3.3.2":"2014-11-01T14:10:42.855Z","3.3.3":"2014-11-10T20:42:07.179Z","3.4.0":"2015-03-26T17:05:40.422Z","3.5.0":"2015-03-26T22:44:31.812Z","3.6.0":"2015-07-21T17:37:32.279Z","3.7.0":"2015-08-26T05:48:31.061Z","3.7.1":"2015-12-24T19:06:52.163Z","3.8.0":"2016-01-29T16:50:28.050Z","3.9.0":"2016-12-21T18:03:11.422Z","3.9.1":"2017-01-05T22:03:47.417Z","3.9.2":"2017-10-20T20:23:28.137Z"},"homepage":"https://github.com/ampersandjs/ampersand-dom-bindings#readme","keywords":["dom","bindings","browser"],"repository":{"type":"git","url":"git+https://github.com/ampersandjs/ampersand-dom-bindings.git"},"author":{"name":"'Henrik Joreteg'","email":"henrik@andyet.net"},"bugs":{"url":"https://github.com/ampersandjs/ampersand-dom-bindings/issues"},"license":"MIT","readmeFilename":"README.md","users":{"pgilad":true}}