{"_id":"affinity","_rev":"51-477f6bdba33af3efabeddf8721728860","name":"affinity","description":"Relational algebra library","dist-tags":{"latest":"0.0.24"},"versions":{"0.0.0":{"name":"affinity","version":"0.0.0","description":"Relational algebra library","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux"},"license":"ISC","devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"_id":"affinity@0.0.0","_shasum":"72c6ce2751b27f3c4131a72c462611c9edcac731","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"72c6ce2751b27f3c4131a72c462611c9edcac731","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.0.tgz","integrity":"sha512-bKzR7WA/fewruWAcvk2JY2Pd9rZr5/40o33rpT6YrLqV2B2tgN++TI71PLftStXM/8rej8qF3MsMEm8pAxs0Jg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRaadU1oyzIvPZsmiNsyjHy5pOqdDR2cExCaJsXQ6kaAIgSpYNhdnnVHLupEL9jwWFRu/imRlu7N/Oj2QAzTI92r4="}]}},"0.0.1":{"name":"affinity","version":"0.0.1","description":"Relational algebra library","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/_mocha --recursive --timeout 259200000 --ui bdd ./test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux"},"license":"ISC","devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"_id":"affinity@0.0.1","_shasum":"a25e531c4d0d84036f5f5754b1a464e14632e999","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"a25e531c4d0d84036f5f5754b1a464e14632e999","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.1.tgz","integrity":"sha512-V6HYvihLWxkybR39T2etlLyYqJQhm7KbqaoI7fBxeVL9Ufdhw0UXRoHmzXHCBkVEd3bWNpBr3sdLxgmtqyGIiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCk+Xla6a2Ikn9I5kMERusQCFsxKzQErQkv60MxiQO48gIgApIzHs2ZN+ttVK1iniUYi4xWKMJT+F8RdBE1Mx84OyM="}]}},"0.0.2":{"name":"affinity","version":"0.0.2","description":"Relational algebra library","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/_mocha --recursive --timeout 259200000 --ui bdd ./test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux"},"license":"ISC","devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"_id":"affinity@0.0.2","_shasum":"647a4265b722bcb84124d9f7050230e43472cb7d","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"647a4265b722bcb84124d9f7050230e43472cb7d","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.2.tgz","integrity":"sha512-1xRu9Cs+Qo/HR7TCinlHFiVp8oX8qtROr+2UAirhD8LU2Xv5SEHHTzrqTC64snS2jiGOA9ihc6NZ0Bg1tUCFSA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDypSR5Flm/M9+UqO8g7gaJa6qxz7a0XRRjX3IuIcXxmwIhAIbDek8cM8osMsQdYxkxGMfnaLwm9iSeaJoGrHCAjxG5"}]}},"0.0.3":{"name":"affinity","version":"0.0.3","description":"Relational algebra library","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/_mocha --recursive --timeout 259200000 --ui bdd ./test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux"},"license":"ISC","devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"_id":"affinity@0.0.3","_shasum":"cd623c78cfc035f6bda69862d0157a8f2630c3e1","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"cd623c78cfc035f6bda69862d0157a8f2630c3e1","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.3.tgz","integrity":"sha512-RpHgj6dF8SoI3pf+89TztIXhMQUJ+36PvndIh6zLrKKCvxZa13LJBYkzDgI65hTkW6/2WYwOC1Fn2vyRhgLYkw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUJWRnU89bsL0PB0itkhyEPsgkZQ65Xnc6w002y+EtkgIgfz2AfMXBOxTtyzHo4EFACRBy6fO1eEUfYiW1+66M9j0="}]}},"0.0.4":{"name":"affinity","version":"0.0.4","description":"Relational algebra library","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/_mocha --recursive --timeout 259200000 --ui bdd ./test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux"},"license":"ISC","devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"_id":"affinity@0.0.4","_shasum":"88cd2472f2503346b43d119fe1f8855f1004bd22","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"88cd2472f2503346b43d119fe1f8855f1004bd22","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.4.tgz","integrity":"sha512-DX7u3t/8bMEZ7i9BlSOF/e9MkFpIho6E4oG2J3OZQP6Qx6HgsxwLTDWHp8HqYk5rUzO4J/35kw9o4VFpZ9t9Jg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6AonQ8liM27wr9mBxqZiUyVj9hMG2dO/E9VMOz2HpjwIhAKIwBtQdwQQIiyhUpPyc2Pds3fG2ee9tA8f0/ERVQttC"}]}},"0.0.5":{"name":"affinity","version":"0.0.5","description":"Relational algebra library","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/_mocha --recursive --timeout 259200000 --ui bdd ./test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux"},"license":"ISC","devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"_id":"affinity@0.0.5","_shasum":"8265974f459e68f7b73b113682319b3b28f8cf36","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"8265974f459e68f7b73b113682319b3b28f8cf36","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.5.tgz","integrity":"sha512-NrSyqBQ2p/zOqJ6uLC+XKqLxBNowIZNvXcRHYouXiyvZTP0Z6nM3zsxBxYi9pZ/G/+luZEInE/u/kXKuQwYx0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXLZduxF7V2wEKPaneuVZAuzvqjxoi7t4fV7nzY77wCwIgQM20vnhEoSxZUvuN23ND5S6r/FQWuCa7YQVDAmHah+Q="}]}},"0.0.6":{"name":"affinity","version":"0.0.6","description":"Relational algebra library","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/_mocha --recursive --timeout 259200000 --ui bdd ./test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux"},"license":"ISC","devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"_id":"affinity@0.0.6","_shasum":"3030e275c03ce06f98378e1a9c57422ab4550545","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"3030e275c03ce06f98378e1a9c57422ab4550545","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.6.tgz","integrity":"sha512-hczCjem5pcDpEQgMa3JoJvcapPBmhCPORrmHsPHwahbcvhcbvCp+dsERBo1mIKxsnpeZJjwruql6LG8crYaQwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDa7oJEN5fobuNnsANLAksz0EQ0C56AVK3iPRGLdzgxrwIgPZBStOcBNSjQdMzV22iaU9xsNXthpTP16EUaJHqUSQU="}]}},"0.0.7":{"name":"affinity","version":"0.0.7","description":"Relational algebra library","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/_mocha --recursive --timeout 259200000 --ui bdd ./test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity.git","license":"ISC","devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.7","_shasum":"ddc09801ceea517a80a124897d1bc6914bee1f64","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"ddc09801ceea517a80a124897d1bc6914bee1f64","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.7.tgz","integrity":"sha512-Wme2067DZrEZTDdEuA7JrAC8uUVJ2wih0ffKrPWYXG54gibqqUSWpbMFM8vdSgR5EfmFqOoSdv9BduJcljs1ww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICltnLX9624cPnv8hIxmQocMsI3M128NATgoJ1rruXdtAiEA3pgrWBnNaK8wsV8s6KTQ69KoGKG+UXbu5X8u/KXf+9E="}]}},"0.0.8":{"name":"affinity","version":"0.0.8","description":"Relational algebra library","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/_mocha --recursive --timeout 259200000 --ui bdd ./test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.8","_shasum":"486b9b72d1db9b2fad69ef57becc29033b6c52ec","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"486b9b72d1db9b2fad69ef57becc29033b6c52ec","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.8.tgz","integrity":"sha512-rGlUeeem/SW0gbkdwVMMSZxLPCYOeIOfqId6OJspkSFgZFA5+5JKZL0p9RPNAcDBOQSMkuQ3ysKtRThJS+x1hA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF4sjZn29s96s5DYOFBXstXA31SRI4fyFtvuAT0fgRyeAiEAjW6N0MyLew5U2Uv5/qe7QNXvDCPODRmfnlNbrTPFVJg="}]}},"0.0.9":{"name":"affinity","version":"0.0.9","description":"Relational algebra library","main":"index.js","scripts":{"test":"mocha --recursive --ui bdd test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.9","_shasum":"73aa6ef36e82214e7de63db11947c07ee088e8fb","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"73aa6ef36e82214e7de63db11947c07ee088e8fb","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.9.tgz","integrity":"sha512-se35LC8dWWSZvm6PZ/Dt3RSA/m1IY89JSP0fqNyd8j2h30IAyO+bq+JAP7b9Fp1gdodSUZtj1xZEJ9KvigErzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCu9OYlvWXh63u7kbzu6X9PlfR0dkYs+CLES1JUQ+WawgIhAPAx8VS4L5bVyVCUqOP41/GD+zwnHe1Pu/35WMtge7Ks"}]}},"0.0.10":{"name":"affinity","version":"0.0.10","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --ui bdd test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.10","_shasum":"326ceb2d93bca9e3b1da0e94af376768b62f0812","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"326ceb2d93bca9e3b1da0e94af376768b62f0812","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.10.tgz","integrity":"sha512-OyEqcsAbHgVlBiy/JWKkutJmRIiRS+NTuhSYavPVQ9OJzJVcVIzbh+XCXXcqA7Ytjz2BRPWycXT97V7A+ctUcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8BU1+WfNJLKGWqHjE2f3moZ6h9eNEBozwYO2rkdaGvAIgGh3Wos6l/ORjR4zyh2oO+PIFP56sKzbeoWFklHt2574="}]}},"0.0.11":{"name":"affinity","version":"0.0.11","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --ui bdd test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"gitHead":"f3761621a1f978fbe2a7fd457e374d935585641b","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.11","_shasum":"42973533a36cc4f9242fa70745035f76b07a0ef1","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"42973533a36cc4f9242fa70745035f76b07a0ef1","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.11.tgz","integrity":"sha512-ogLu7V+rtwFGsy/qkw0+cL6inkCrbtDpJHWaG4bvjpwwP24g/pKehNTLUjv9K4bH4tXrdDO8QFxpLkhbEgMutA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG6jl+fsec5UgErh+LfOawxwBr16ohUwO8Jc/BPl5ZblAiAgJZBy3hrUOWB8QQ04FEvxpoCc0cYFeswkIV1exgu7eQ=="}]}},"0.0.12":{"name":"affinity","version":"0.0.12","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --ui bdd test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"gitHead":"6d4b10a8e683e6eef00affe6f26bbfceb04612bf","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.12","_shasum":"185fa194b65441f5ab5afad8717facd1a2637ddf","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"185fa194b65441f5ab5afad8717facd1a2637ddf","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.12.tgz","integrity":"sha512-UxOARCwINy6BFuGJbRVFrfFjl594fDNeZgVGPkOUEmnUsZqzEnvKX2EKGTzgwc597BkHWCjt7CJhH2B6hXucdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCybfMlNHsCb8rjKJbGLzMOP71JrT4msGhMNmmLyk+N1AIgGTKRd4zUAzN7U9iDrYzqDWJvsQg8tNow3kvRu1VXmqw="}]}},"0.0.13":{"name":"affinity","version":"0.0.13","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --reporter list --ui bdd test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"gitHead":"5259139e43ddb1816d03304123e64b9391ee0e2a","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.13","_shasum":"c5120a4f4e2a597783e9872323c07353c57e1b25","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"c5120a4f4e2a597783e9872323c07353c57e1b25","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.13.tgz","integrity":"sha512-hj8wFjxxNHkYBYOJkcYncEbGzP9PeFFOFV0zA5T1ay0MiuCrq2GqF+DSPH5BOxSXB/myXQ/dx0yJbgUmviRY8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUkAIgw7Tvs0I0qFzevB5b1IJTOgHwM31mJyxyWvRzAgIgUm8/otTtbg8sA+Plx+cXNPhk3KEIZ3AvtlMCPOoXSbw="}]}},"0.0.14":{"name":"affinity","version":"0.0.14","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --reporter list --ui bdd test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"gitHead":"042e86465f3f43b3b56fb4550b2cda4fa08c7421","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.14","_shasum":"d214dbe4379ac988f93e09001616efc5d79aa9d4","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"d214dbe4379ac988f93e09001616efc5d79aa9d4","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.14.tgz","integrity":"sha512-goOZ6TFAU7TOhrDyzTHB6/uQPnbLW0rrXW7CdQUDFBvIgMcHAtUMpXJjant13Y7/UYSImUIw+1w2eiftYSwd+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICg2DZ75zUO3bFECiyEWqGhU+9vQfrZGY1e4yHGxjACwAiBiqpxSeJns7sB5rUh1cRvIzQTuLJQW3AHOHaaQQeqndQ=="}]}},"0.0.15":{"name":"affinity","version":"0.0.15","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --reporter list --ui bdd test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"gitHead":"27e45bc503b297c3a186e420c13f15df282165d9","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.15","_shasum":"127eb48034ec2b85e9ec3f98d6213e0da3c2be64","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"127eb48034ec2b85e9ec3f98d6213e0da3c2be64","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.15.tgz","integrity":"sha512-iKqqP9WRDeUMY5A6BqsZOaUo+Xheocy3D4bhWWQC/ikDjiUkf9fbtWlVUREXQdH7AnRT8+hJz+V8z7LM5PQMFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG7U9nycY7wjSiv8edq6QU6AX/+YuNFuDfnuZmVjHPj5AiEAjQHscamc8geBcmbbOHXZ+q8Pg5tssUmmE2YWCfeWyJk="}]}},"0.0.16":{"name":"affinity","version":"0.0.16","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --reporter list --ui bdd test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"gitHead":"ab86725b15b86cb54ac7d2ce99d84383f49acd82","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.16","_shasum":"ec7608df9c9fc0af079a5d6b3fcec94ac13aeb54","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"ec7608df9c9fc0af079a5d6b3fcec94ac13aeb54","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.16.tgz","integrity":"sha512-jGDyuqamMeSDwpOmd3xRVyaaBUWPLbhr03JfUsB+2NUrr2gWK5ggNBVpEB/USfxXkM1vzlRl0eogW9XoNM/0ew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD22tX2H7YpYEwx+OTeFIk9/THvOEFqv3Q2EOjQjw7e3QIhAJ430vhMxRQowNQKFZlKneMmwO8MpBgRpgYKs984pfDw"}]}},"0.0.17":{"name":"affinity","version":"0.0.17","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --reporter list --ui bdd test","jsdoc":"jsdoc -c jsdoc.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4"},"gitHead":"bfd6b3e616176be590d63d913e2f72beca206d52","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.17","_shasum":"936c9c3302d7a657c4b18425ab9be2675ba7fb64","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"936c9c3302d7a657c4b18425ab9be2675ba7fb64","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.17.tgz","integrity":"sha512-lA7kFRgvEUvKivQfRQC8slhbjV2jZBhFJRuuCamYJhXBokgKiZo77JXSEWtjXTvTuBwICUkg56SVyUy7MBbh3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCP6w5AUMiKzr0xIkhLRTgrgGUpwibh9oJa10Ip1bzw4QIhAOIgUa67ShMvupVlsiD44sMWSqCgINDv+8EB9H1tcbtU"}]}},"0.0.18":{"name":"affinity","version":"0.0.18","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --reporter list --ui bdd test","jsdoc":"jsdoc -c jsdoc.json","jsduck":"jsduck lib/ --output docs"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4","sinon":"^1.10.2"},"gitHead":"091d0ac8bcce04d57f35c3f53eb136bcee639f85","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.18","_shasum":"95e80b9a1728864966a37759480304f40bc112d1","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"95e80b9a1728864966a37759480304f40bc112d1","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.18.tgz","integrity":"sha512-f6lETO+EAtqbuxVn4FfZ1eqS7iJFUW8By1rBaT2Vk1DEEdSCmvH4WVOCw20ib7a5Pka6TTYzdTF1B4X4Lymwrw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFiUej8lVmw8iC3tG/ZNvLyj6PBiOXjPeRAINMDZvxIuAiEA80DNmHh1RXWOi+YoNRR3uRfFhGBO38eA1qxJ6Ra4X7Q="}]}},"0.0.19":{"name":"affinity","version":"0.0.19","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --reporter list --ui bdd test","jsdoc":"jsdoc -c jsdoc.json","jsduck":"jsduck lib/ --output docs --guides docs-support/guides.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4","sinon":"^1.10.2"},"gitHead":"ccc186ff5172ff2cc1f6c57e8f19a7161afb99a8","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.19","_shasum":"7dd79251fb488592653928c6032ec3951e685e6a","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"7dd79251fb488592653928c6032ec3951e685e6a","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.19.tgz","integrity":"sha512-b4IzTyWpR9zsx7HhoWqFg1VxxxUxRJy+lkMq8zElkPLMhI95VITBNCEJDbiSLsSRGa7dohwwvCjTWoYMYPZSHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBSrsGRez5BmLc+T2+fiNcv/mBngdssh9X64GY69HPOWAiEA6B4k/D5aMmtD6VBL3Icju6+Q3tsrLY0BU2cGTpbYzTE="}]}},"0.0.20":{"name":"affinity","version":"0.0.20","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --reporter list --ui bdd test","jsdoc":"jsdoc -c jsdoc.json","jsduck":"jsduck lib/ --output docs --guides docs-support/guides.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4","sinon":"^1.10.2"},"gitHead":"6851b04474dfb86ddfe9de4c6d207aa0a0d5b8f0","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.20","_shasum":"167e2194efb5589df696d7f8570cd855d3c0e747","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"167e2194efb5589df696d7f8570cd855d3c0e747","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.20.tgz","integrity":"sha512-FXr+nZQUfKLiBJEttP6A4SEI8pW0QnIvv5HtI9tQ7NETPO9v4pMqZfiuXVwA7xVUNivgeLKUX8xvsk5zJI3gvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/Mw/NAyp+6xu9wGrEMjLSNCuPcgZOS0BnXikWocFoPAiEA4lfq2yIhzL4gnkgvp4F+eJgETL5vbDGNZ2TS5CNT8QM="}]}},"0.0.21":{"name":"affinity","version":"0.0.21","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --reporter list --ui bdd test","jsduck":"jsduck lib/ --output docs --guides docs-support/guides.json"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"debug":"^1.0.2","eventemitter2":"^0.4.13","lodash":"^2.4.1","log4js":"^0.6.14"},"devDependencies":{"benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4","sinon":"^1.10.2"},"gitHead":"28ca39ce9d3d10aa290ec0ab928d7f746e5b649a","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.21","_shasum":"60768a38a89f9b30dfc188a0a5a2e031828c4afc","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"60768a38a89f9b30dfc188a0a5a2e031828c4afc","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.21.tgz","integrity":"sha512-uHsmUMsXf9Ald/mzUguQzCsIlWavC7gQIqEvmIvVMwqBwDhxhM3v4hbCwdeFVxN38qXnvP1ITD64URX9FtPiyg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbUeJKRSB2l2sMdTf6d1S4q8JZZOQK9vLuq5RkRS/aNgIhAOSFgW/vBrqVtEDCP6mX9Iu2E/QIq5iM8R8ShvXv04d4"}]}},"0.0.22":{"name":"affinity","version":"0.0.22","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --reporter list --ui bdd test","jsduck":"jsduck lib/ --output docs --guides docs-support/guides.json","browserify":"browserify index.js --exclude log4js --exclude debug --outfile dist/affinity.js --standalone affinity --debug","minify":"uglifyjs ./dist/affinity.js -o dist/affinity-min.js"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"eventemitter2":"^0.4.13","eventemitter3":"^0.1.6","lodash":"^2.4.1","log4js":"^0.6.21"},"devDependencies":{"log4js":"^0.6.14","benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4","sinon":"^1.10.2","uglify-js":"^2.4.14"},"gitHead":"61cfdea3cee9fce2151a0a2ed84c5717f21ef274","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.22","_shasum":"76248fec1a7252531ea2c64833b62c618baeba02","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"76248fec1a7252531ea2c64833b62c618baeba02","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.22.tgz","integrity":"sha512-tBkP8BggHK8+Wl6j0Q9r9bSCh1CJx3D+liLn233MbI0+5f7KlihCBExujjWwBhORzo35p+BHhL6a1xCYXyqudw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDU0Vr13LTw7iuzQzp7uKBtYGV/k23hNFoG6dO3keoEgAiEApwyPDUyGZ3TNLnFlc+/qnABKECLmUoSDMrkETLErnE4="}]}},"0.0.23":{"name":"affinity","version":"0.0.23","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --reporter list --ui bdd test","jsduck":"jsduck lib/ --output docs --guides docs-support/guides.json","browserify":"browserify index.js --exclude log4js --exclude debug --outfile dist/affinity.js --standalone affinity --debug","minify":"uglifyjs ./dist/affinity.js -o dist/affinity-min.js"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"eventemitter2":"^0.4.13","eventemitter3":"^0.1.6","lodash":"^2.4.1","microtime":"^1.2.0"},"devDependencies":{"log4js":"^0.6.14","benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4","sinon":"^1.10.2","uglify-js":"^2.4.14"},"gitHead":"0955f1a2303302a43ef172259b178854927fa326","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.23","_shasum":"e0f0dd99130a828a483a91bca5a9479289500581","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.3.0","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"e0f0dd99130a828a483a91bca5a9479289500581","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.23.tgz","integrity":"sha512-0mpMw6zwC2RCPJMhGfEgCj7r1ZBJ+48nZ+9j6v1Ryhypggx1JHwBhlqj+F7kz5T5vNVxORoV0MpLTlSn8I0P4w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF/mq5JxB1sgPM2lg0nOZ2BR04nLnOaKUID+vFTBMWHWAiAR1SGwvOc2F7mE49Bv0ci4w7DAsXGBU7AWKQNSI/u3FQ=="}]}},"0.0.24":{"name":"affinity","version":"0.0.24","description":"Relational algebra library","main":"index.js","scripts":{"test":"_mocha --recursive --reporter list --ui bdd test","jsduck":"jsduck lib/ --output docs --guides docs-support/guides.json","browserify":"browserify index.js --exclude log4js --exclude debug --outfile dist/affinity.js --standalone affinity --debug","minify":"uglifyjs ./dist/affinity.js -o dist/affinity-min.js"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/ludydoo/affinity.git"},"homepage":"https://github.com/ludydoo/affinity","license":"ISC","dependencies":{"eventemitter2":"^0.4.13","eventemitter3":"^0.1.6","lodash":"^2.4.1","microtime":"^1.2.0"},"devDependencies":{"log4js":"^0.6.14","benchmark":"^1.0.0","ink-docstrap":"^0.4.5","jsdoc":"^3.3.0-alpha8","microtime":"^0.6.0","mocha":"^1.20.1","should":"^4.0.4","sinon":"^1.10.2","uglify-js":"^2.4.14"},"gitHead":"b25725bea325ae7d9ebe90b925a0630c48d889f3","bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"_id":"affinity@0.0.24","_shasum":"7853db1fb3af8b7bc179059884c83480cccf3f68","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.3.0","_npmUser":{"name":"ludydoo","email":"ludydoo@gmail.com"},"maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"dist":{"shasum":"7853db1fb3af8b7bc179059884c83480cccf3f68","tarball":"https://registry.npmjs.org/affinity/-/affinity-0.0.24.tgz","integrity":"sha512-SsV0zgmYp3SY25WC6vx1KHThaCOVMbuZB8adJqAFXaO//sH6kdF9+NGGaHckL5eqZhTVCPCBBzCy6HayEM2TUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC25pXuCp5ymLSjaqhxQAfPHG21Gz3orsnAKuSyp97plQIhAJDuWCA+OAHqjJS+0h+e7CTzCruYmZyV0PBKp6f5sNHS"}]}}},"readme":"# Affinity #\n\nRelational Algebra Library written in JavaScript\n\nInspired from\n \nAxiom  https://github.com/dkubb/axiom\n\nDEE    http://www.quicksort.co.uk\n\n##To-do list for 0.1.0##\n\n* [x] Implement Extend operation\n* [ ] Implement views && updatable views\n* [x] Implement Summarize operation\n* [x] Implement comparison operators (lt, gt, eq, ...)\n* [x] Implement date, string and numeric functions (cos, sin, ...)\n* [ ] More tests\n* [ ] Review documentation\n\n##Installation##\n\n```\nnpm install('affinity')\nvar affinity = require('affinity');\n```\n\n##Documentation##\n\nFor Documentation, install the library with `npm install affinity` and access `<install_dir>/docs/index.html` in your browser.\n\nAlternatively, the source is extensively documented.\n\n\n##Relational Algebra##\n\nRelational Algebra and Set Theory are the foundation of SQL implementations. The well known SELECT * WHERE ... are relational algebra \noperations. Though, Relational Algebra (being a superset of Set Theory) is more strict than many SQL implementations. \nFor example, it does not allow NULL values nor duplicates. \n\nSimply put, a Relation may be viewed as a database table. A table has columns and rows. A Relation has a header and tuples.\nIt is basically the same thing. \n\n\n###Relation###\n\nA Relation is composed of a Header and a Body.\n\nThis is a representation of a relation : \n```\n+---------------+---------------------+--------------------+------------------+----------------+\n| id : TInteger | firstName : TString | lastName : TString | alive : TBoolean | age : TInteger |\n+===============+=====================+====================+==================+================+\n| 0             | John                | Doe                | true             | 34             |\n+---------------+---------------------+--------------------+------------------+----------------+\n| 1             | Mary                | Poppins            | false            | 95             |\n+---------------+---------------------+--------------------+------------------+----------------+\n| 2             | Mark                | Clinton            | true             | 2              |\n+---------------+---------------------+--------------------+------------------+----------------+\n| 3             | Hopty               | Duddy              | false            | 10             |\n+---------------+---------------------+--------------------+------------------+----------------+\n```\n\n###Set###\nA Set is a collection of distinct objects (no duplicates)\n```\n[1, 2, 3, 4, ...]\n['a', 'b', 'c', ...]\n[{Object1},{Object2},{Object3},...]\n```\n\n###Header###\nA Header is a Set of Attributes:\n```\n+---------------+---------------------+--------------------+------------------+----------------+\n| id : TInteger | firstName : TString | lastName : TString | alive : TBoolean | age : TInteger |\n+===============+=====================+====================+==================+================+\n```\n\n###Attribute###\nAn Attribute is a pair (name, type):\n```\n+---------------+\n| id : TInteger |\n+===============+\n```\n\nA Type can be anything (String, Boolean, Object, Vector, Array, even Tuple, Function, Relation, Set, Header...)\n\n###Body###\nA Body is a Set of Tuples having the same Attributes as the Relation:\n```\n+===============+=====================+====================+==================+================+\n| 0             | John                | Doe                | true             | 34             |\n+---------------+---------------------+--------------------+------------------+----------------+\n| 1             | Mary                | Poppins            | false            | 95             |\n+---------------+---------------------+--------------------+------------------+----------------+\n| 2             | Mark                | Clinton            | true             | 2              |\n+---------------+---------------------+--------------------+------------------+----------------+\n| 3             | Hopty               | Duddy              | false            | 10             |\n+---------------+---------------------+--------------------+------------------+----------------+\n```\n\n###Tuple###\nA Tuple is a single entry in a Relation. It is an ordered set (attribute1 : value, attribute2 : value...):\n```\n+---------------+---------------------+--------------------+------------------+----------------+\n| 1             | Mary                | Poppins            | false            | 95             |\n+---------------+---------------------+--------------------+------------------+----------------+\n```\n\n## Overview ##\n\n```\n\n// Declare new relations\n\nvar relation = new affinity.Relation([\n    {    id: { type: affinity.Integer}},\n    {  name: { type: affinity.String }},\n    {exists: { type: affinity.Boolean}}\n],[\n    [1, 'Nicolas',  true ],\n    [2, 'Lancelot', false],\n    [3, 'Marie',    true ],\n    ...\n]);\n\nrelation.print();\n\n// +--------------+---------------+------------------+\n// | id : Integer | name : String | exists : Boolean |\n// +==============+===============+==================+\n// | 1            | Nicolas       | true             |\n// +--------------+---------------+------------------+\n// | 2            | Lancelot      | false            |\n// +--------------+---------------+------------------+\n// | 3            | Marie         | true             |\n// +--------------+---------------+------------------+\n\n\n\n// Composition\n// Like a Join, but removes common attributes\n\nvar composed = relation.compose(relation2);\n\n\n\n// Difference\n// Get tuples in A that are not in B\n\nvar difference = relation.difference(relation2);\n\n\n\n// Extension\n// Adds calculated columns to a relation\n\nvar extended = relation.extend([{ newCol : id.plus(name.length())}]);\n\nextended.print();\n\n// +--------------+---------------+------------------+------------------+\n// | id : Integer | name : String | exists : Boolean | newCol : Integer |\n// +==============+===============+==================+==================+\n// | 1            | Nicolas       | true             | 8                |\n// +--------------+---------------+------------------+------------------+\n// | 2            | Lancelot      | false            | 10               |\n// +--------------+---------------+------------------+------------------+\n// | 3            | Marie         | true             | 8                |\n// +--------------+---------------+------------------+------------------+\n\n\n\n// Group\n// Groups columns into a RVA (Relation-Valued-Attribute)\n\nvar grouped = relation.group('persons', ['id', 'exists']);\n\ngrouped.print();\n\n// +---------------+------------------------------------+\n// | name : String | persons : Relation                 |\n// +===============+====================================+\n// | Nicolas       | +--------------+------------------+|\n// |               | | id : Integer | exists : Boolean ||\n// |               | +==============+==================+|\n// |               | | 1            | true             ||\n// |               | +--------------+------------------+|\n// +---------------+------------------------------------+\n// | Lancelot      | +--------------+------------------+|\n// |               | | id : Integer | exists : Boolean ||\n// |               | +==============+==================+|\n// |               | | 2            | false            ||\n// |               | +--------------+------------------+|\n// +---------------+------------------------------------+\n// | Marie         | +--------------+------------------+|\n// |               | | id : Integer | exists : Boolean ||\n// |               | +==============+==================+|\n// |               | | 3            | true             ||\n// |               | +--------------+------------------+|\n// +---------------+------------------------------------+\n\n// Ungroup\n// Ungroups RVAs\n\nvar ungrouped = grouped.ungroup(['persons']);\n\n\n\n// Intersection\n// Tuples in B that are also in A\n\nvar intersected = relation.intersect(otherRelation);\n\n\n\n// Joined\n// Combinations of tuples in A and B that have the same values for their common attributes\n\nvar joined = relation.join(otherRelation);\n\n\n\n// Product\n// All possible combinations of tuples in A and in B\n\nvar product = relation.product(otherRelation);\n\n\n\n// Projection\n// Selects columns from a relation\n\nvar projected = relation.project(['name', 'exists']);\n\n\n\n// Rename\n// Renames attributes of a relation\n\nvar renamed = relation.rename({ name : 'newName', exists : 'newExists' });\n\n\n\n// Restriction\n// Selects tuple that match a given predicate\n\nvar restricted = relation.restrict(\n    name.substr(0,1).lowercase().eq('l').or(name.substr(0,1).lowercase().eq('m'))\n);\n\n// +--------------+---------------+------------------+\n// | id : Integer | name : String | exists : Boolean |\n// +==============+===============+==================+\n// | 2            | Lancelot      | false            |\n// +--------------+---------------+------------------+\n// | 3            | Marie         | true             |\n// +--------------+---------------+------------------+\n\n\n\n// SemiDifference\n// Inverse of SemiJoin : Finds tuples in A that do not have a counterpart in B\n\nvar semidifference = relation.semiDifference(otherRelation);\n\n\n\n// SemiJoin\n// Finds tuples in A that have a counterpart in B. Like a Join, but only returns attributes from A\n\nvar semijoined = relation.semiJoin(otherRelation);\n\n\n\n// Wrap\n// Wraps given attributes into a TVA (tuple-valued-attribute);\n\nvar wrapped = relation.wrap('person', ['id', 'exists']);\n\nwrapped.print();\n\n// +--------------+--------------------------------------------+\n// | id : Integer | person : Tuple                             |\n// +==============+============================================+\n// | 1            | Tuple(name : 'Nicolas', exists : 'true')   |\n// +--------------+--------------------------------------------+\n// | 2            | Tuple(name : 'Lancelot', exists : 'false') |\n// +--------------+--------------------------------------------+\n// | 3            | Tuple(name : 'Marie', exists : 'true')     |\n// +--------------+--------------------------------------------+\n\n\n\n// Unwrap\n// Inverse of Wrap\n\nvar unwrapped = relation.unwrap(['person']);\n\n```\n\n\n**Predicates**\n-------------\n\nFor the Restriction and Extension operations, you must pass a predicate \nthat can be composed with the following : \n\ne.g.:\n\n```\n\nrelation.restrict(age.gt(10));  // age > 10\n\nrelation.restrict(age.gt(10).or(age.st(50))); // age > 10 || age < 50\n\nrelation.extend([\n    { lived : died.minus(born) }\n])\n\n\n```\n\n\n| **Function**         | **Shortcut**  | **Returns**     |\n|:---------------------|:--------------|:----------------|\n|**Connectives**                                       |||\n|And                   |`and`          |Boolean          |\n|Or                    |`or`           |Boolean          |\n|Not                   |`not`          |Boolean          |\n|**Tuple**                                               |\n|TupleValue            |`value`        |*                |\n|**Comparison**                                        |||\n|Equal                 |`eq`           |Boolean          |\n|Greater Than          |`gt`           |Boolean          |\n|Greater Than or Equal |`gte`          |Boolean          |\n|Smaller Than          |`st`           |Boolean          |\n|Smaller Than or Equal |`ste`          |Boolean          |\n|**Numeric Functions**                                 |||\n|Absolute              |`abs`          |Numeric          |\n|Ceil                  |`ceil`         |Numeric          |\n|Cosine                |`cos`          |Numeric          |\n|Division              |`div`          |Numeric          |\n|Exponential           |`exp`          |Numeric          |\n|Minus                 |`minus`        |Numeric          |\n|Modulo                |`mod`          |Numeric          |\n|Multiplication        |`times`        |Numeric          |\n|Plus                  |`plus`         |Numeric          |\n|Power                 |`pow`          |Numeric          |\n|Roof                  |`roof`         |Numeric          |\n|Round                 |`round`        |Numeric          |\n|Sine                  |`sin`          |Numeric          |\n|Square Root           |`sqrt`         |Numeric          |\n|**String Functions**                                  |||\n|Length                |`length`       |Integer          |\n|Lowercase             |`lowercase`    |String           |\n|Matching              |`matching`     |Boolean          |\n|Substring             |`substr`       |String           |\n|Uppercase             |`uppercase`    |String           |\n|**Date Functions**                                    |||\n|Day of Month          |`dayOfMonth`   |Integer          |\n|Day of Week           |`dayOfWeek`    |Integer          |\n|Day of Year           |`dayOfYear`    |Integer          |\n|Week of Year          |`weekOfYear`   |Integer          |\n|Year                  |`year`         |Integer          |\n|Month                 |`month`        |Integer          |\n|Hours                 |`hours`        |Integer          |\n|Minutes               |`minutes`      |Integer          |\n|Seconds               |`seconds`      |Integer          |\n|Milliseconds          |`milliseconds` |Integer          |\n|Timestamp             |`ts`           |Integer          |","maintainers":[{"name":"ludydoo","email":"ludydoo@gmail.com"}],"time":{"modified":"2022-06-13T02:29:01.363Z","created":"2014-06-20T00:04:46.671Z","0.0.0":"2014-06-20T00:04:46.671Z","0.0.1":"2014-06-20T00:20:28.433Z","0.0.2":"2014-06-20T00:26:12.862Z","0.0.3":"2014-06-20T03:39:01.429Z","0.0.4":"2014-06-20T03:46:59.191Z","0.0.5":"2014-06-20T18:41:58.862Z","0.0.6":"2014-06-21T03:31:09.779Z","0.0.7":"2014-06-21T03:35:43.279Z","0.0.8":"2014-06-21T14:24:11.063Z","0.0.9":"2014-06-21T14:42:55.354Z","0.0.10":"2014-06-21T15:25:56.970Z","0.0.11":"2014-06-21T17:54:59.505Z","0.0.12":"2014-06-22T04:10:16.077Z","0.0.13":"2014-06-22T21:06:43.001Z","0.0.14":"2014-06-23T11:15:00.601Z","0.0.15":"2014-06-24T15:22:48.562Z","0.0.16":"2014-06-24T15:34:05.833Z","0.0.17":"2014-06-24T16:26:18.804Z","0.0.18":"2014-06-26T04:09:46.087Z","0.0.19":"2014-06-29T01:57:37.228Z","0.0.20":"2014-06-29T14:41:00.303Z","0.0.21":"2014-06-30T19:15:21.568Z","0.0.22":"2015-02-14T14:02:28.202Z","0.0.23":"2015-12-23T00:05:55.523Z","0.0.24":"2015-12-23T00:15:16.926Z"},"author":{"name":"Ludovic Cleroux","email":"ludydoo@gmail.com"},"license":"ISC","readmeFilename":"README.md","homepage":"https://github.com/ludydoo/affinity","repository":{"type":"git","url":"git+https://github.com/ludydoo/affinity.git"},"bugs":{"url":"https://github.com/ludydoo/affinity/issues"},"users":{"ludydoo":true}}