{"_id":"jl-sql-api","_rev":"44-8229c9e00451692be835afc5b75bbe90","name":"jl-sql-api","dist-tags":{"latest":"2.8.1"},"versions":{"0.0.1-alpha1":{"name":"jl-sql-api","version":"0.0.1-alpha1","keywords":["sql","stream"],"author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"jison":"^0.4.17"},"gitHead":"e234ef4f40317e6cf2e4282fb6c189fa751bd302","description":"","_id":"jl-sql-api@0.0.1-alpha1","scripts":{},"_shasum":"45d8d43176eb6b7f24770ad945c384cceac93ccf","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.7.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"45d8d43176eb6b7f24770ad945c384cceac93ccf","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-0.0.1-alpha1.tgz","integrity":"sha512-DwCCUL835iqbzIJ6SR5OAbcCID1pFqo1XFLfQM5WS4MJOjPhH+hPCt4BDoBBk7kz3+5ubt4PD1X1qOIy8IyQFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCE+zO5fjKqARCkgchbtbNNNzZBrgF5iDbgtu/GaTQLYAIhAL83yJisrrvdyXxfqNCwe2KAvdOHMXEnnZgg4HX5i64/"}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-0.0.1-alpha1.tgz_1478176077403_0.53265071939677"}},"0.0.1-alpha2":{"name":"jl-sql-api","version":"0.0.1-alpha2","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"jison":"^0.4.17"},"gitHead":"e234ef4f40317e6cf2e4282fb6c189fa751bd302","description":"","_id":"jl-sql-api@0.0.1-alpha2","scripts":{},"_shasum":"48ff244c115449f4ba927c7b69cd98c06d2962d2","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.7.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"48ff244c115449f4ba927c7b69cd98c06d2962d2","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-0.0.1-alpha2.tgz","integrity":"sha512-Xo6u1hEHguA03BS6ndUmlynEkq87rA4aWNw7Pjzi8pqbzfTrR5YRWstdmxmFN9F6dgCzINDb1vrnctAn2DYyiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnVqhpgua796+gudmG6YAeHasHnL9XeDGGS4lmWZrSqAIhALkyzS7H5aX75TajIvWaOn0KNSCsi6KJ1WoHeAJvKMtm"}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-0.0.1-alpha2.tgz_1478285043483_0.15818662545643747"}},"0.0.1":{"name":"jl-sql-api","version":"0.0.1","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive"},"engines":{"node":">=6"},"gitHead":"5e903b8e8dad3ebb32a96e3926c0ef572138a78d","description":"","_id":"jl-sql-api@0.0.1","_shasum":"75d3be143764a8374cba5a1ffe01fd49c72916c2","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"75d3be143764a8374cba5a1ffe01fd49c72916c2","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-0.0.1.tgz","integrity":"sha512-6kK0c7tJUMKUcxlxE4hfEIj9z0BFtnLSHVHRkmCloElRsBT1ncZSAu4YfYs/RrPegjh/LI7Yv5BmKd32uSvXxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzJHr+IPpXWA1DoMEOIsCMPdyH0CFW9dLmeO3+5CjvKQIhAN21Ys9I7JTktisxm82A0SOkppYDBBmhVZX2SWceGcnl"}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-0.0.1.tgz_1479568093237_0.7186938165687025"}},"0.0.2":{"name":"jl-sql-api","version":"0.0.2","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive"},"engines":{"node":">=6"},"gitHead":"5dee108c814dd6a5b3533d9e7d34aa7789a7b585","description":"","_id":"jl-sql-api@0.0.2","_shasum":"8ec3ef4c9af7502929ed5fdb184727a179b95d2b","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"8ec3ef4c9af7502929ed5fdb184727a179b95d2b","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-0.0.2.tgz","integrity":"sha512-6AEpGXVGIdDz1ogCneVU+j/m5a5iof2OthImghBJ28Lc0qBXAP3y4jBULp9kAok8LSkgpiN3WQjfMcl+1cr16A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAcQAPuiwghtBrCkhawj4VVnmam30V2Jq4BmT/U+HClyAiEA1cV2iOCdXjU+Ila3IAZ2xxeO1EaNQQGgyb19S00/tMk="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-0.0.2.tgz_1479577587111_0.6756274192593992"}},"0.0.3":{"name":"jl-sql-api","version":"0.0.3","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive"},"engines":{"node":">=6"},"gitHead":"9591df7bb74fc8096ba9c2c8c641632cdc1d87e8","description":"","_id":"jl-sql-api@0.0.3","_shasum":"809ee7060d844d9098847cb51a3dd73b8fa34939","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"809ee7060d844d9098847cb51a3dd73b8fa34939","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-0.0.3.tgz","integrity":"sha512-CxBI6x3H4OJBJIEXJGwirj+xEn10YSgjoL5wyzVHQypuqH+pKKFVLnpDjGtCJ0oOFLEWV8xajBfgz7j3qaxPmw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMnA/nhXm3Huh4Q9i24+wvMfQIvM5MxvoYXaoEHH1sKgIgXp1PvK+WHyyTe9bdDNJ2r+S0HBH0oea3KC+ni+Octuc="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-0.0.3.tgz_1479579459402_0.324811898637563"}},"0.0.4":{"name":"jl-sql-api","version":"0.0.4","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive"},"engines":{"node":">=6"},"gitHead":"295263351426f18f84f5639b2ab84b731ced1e05","description":"","_id":"jl-sql-api@0.0.4","_shasum":"246c783711ea13c9d17c731d453b141fb54f0e30","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"246c783711ea13c9d17c731d453b141fb54f0e30","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-0.0.4.tgz","integrity":"sha512-/yAQnvga50ziqkGbRp7vKi0mxkyZVRqNcPYnPhH/zClnk9LlkgxRMT0lZenaGDHeLqs3JzpHJ9A0FSqcl0HfnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHGh2s3rp5IiTrpZNK9T6uoxexmtOpL57jaoM5J8Kf66AiEA6T5qtLBJ2bhiTSjiJo/wJSDyeKAmg6k5CRFkaPKRb3I="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-0.0.4.tgz_1479635553244_0.6669373172335327"}},"0.0.5":{"name":"jl-sql-api","version":"0.0.5","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive"},"engines":{"node":">=6"},"gitHead":"8306adb6c6b6cd3c00b12da79c533a9a5b280000","description":"","_id":"jl-sql-api@0.0.5","_shasum":"cde489ccc7916346d8d7391a31cc1dd2f0da841b","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"cde489ccc7916346d8d7391a31cc1dd2f0da841b","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-0.0.5.tgz","integrity":"sha512-JKv4zZzYm99R+XVlg1wldng/ru3/0ZWs9jbtICCGMsRQfJfujAfeTiQ8wEOjWd+UCZ8DUCOO19C0G9j10qYiQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGAfMy0GqkK1qAj5viBWyDJ2mZ3Pb+So5LfwW1jCyJIOAiEA7kXVOjNR341iiQCuyau1oyEZbOKRbcX746a7cIC3EqM="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-0.0.5.tgz_1479810930498_0.7526843876112252"}},"0.0.6":{"name":"jl-sql-api","version":"0.0.6","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive"},"engines":{"node":">=6"},"gitHead":"45b41e3b473c65261b478a6ac6c4b59f4f90f2f0","description":"","_id":"jl-sql-api@0.0.6","_shasum":"7007cea8be2be7e28ec3fed956cac8010a4a21cf","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"7007cea8be2be7e28ec3fed956cac8010a4a21cf","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-0.0.6.tgz","integrity":"sha512-ooZYX5yn2OtZ4uJ+kNg7+uXa+iqsjV6v9I29s9OSC7YKlECIwMsduMCbzjvPxcycl0rjCcPbjrKV/jHDzcsUNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4m+assaRNS1ft0jcvaoEj4nQaG4sqrQip/xn9hwX3pQIgNV+WH0tlnyjYUGj6uFllVlWgY70BPsfYNUkD6+bjZiw="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-0.0.6.tgz_1479816960893_0.5547825377434492"}},"0.0.7":{"name":"jl-sql-api","version":"0.0.7","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive"},"engines":{"node":">=6"},"gitHead":"f24e3f748f9490a8a355d2476007bb0068277fa6","description":"","_id":"jl-sql-api@0.0.7","_shasum":"1c84ec47e47444d5a2a4972bd8c1c450e8ff6655","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"1c84ec47e47444d5a2a4972bd8c1c450e8ff6655","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-0.0.7.tgz","integrity":"sha512-ncDjAJXxwOlZBspXROEYblQ4YSvFoIWf0pttXRoLqh1Rqd7ANP+4q5cqgj9qB4ScY5IGIakwlIVS53U6CBeXSA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD67Y+Dx4+1B3jEyFdSlWXVk79ZSt6/UXvX7aGnCsk2UwIhANnTCpN4jztqh2kYDlxX+J6+bON1uzi3kjq+K0HQbV+l"}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-0.0.7.tgz_1479897530627_0.9493944982532412"}},"0.0.9":{"name":"jl-sql-api","version":"0.0.9","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive"},"engines":{"node":">=6"},"gitHead":"edfa182343d08e49a64939b152ab859cd17550a5","description":"[![Build Status](https://travis-ci.org/avz/node-jl-sql-api.svg?branch=master)](https://travis-ci.org/avz/node-jl-sql-api)","_id":"jl-sql-api@0.0.9","_shasum":"c84bf0d265582d8cc1393ea9c5cd036bcc826c7c","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"c84bf0d265582d8cc1393ea9c5cd036bcc826c7c","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-0.0.9.tgz","integrity":"sha512-0qLl4YO0ff0QtDuyA36TTovYXuixvyHRFT16HTr/nSG3fb+6s1GVkx98i4tkwh4+vPtCyP3oj94JjAyLUWQB7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7MKBDKfotp5NGAvVL5VUupb1O+K3RAiRrTg8jAzW+ugIgRYS/QLMmh/PLOPHWhKiO1mfpuQevfVZzOYHU+BkljUE="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-0.0.9.tgz_1480239361189_0.09408863657154143"}},"0.1.0":{"name":"jl-sql-api","version":"0.1.0","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"gitHead":"03518f7a5556880128603bba8ced133ea8d093a4","description":"[![Build Status](https://travis-ci.org/avz/node-jl-sql-api.svg?branch=master)](https://travis-ci.org/avz/node-jl-sql-api)","_id":"jl-sql-api@0.1.0","_shasum":"06e0935532e2a84349f2269b19dac73bb3556c26","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"06e0935532e2a84349f2269b19dac73bb3556c26","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-0.1.0.tgz","integrity":"sha512-dTYiaVyD75qI2PvWCkUD440gMBHvl8h80I3kIRYG2oKjOpil4KJYNaxOKiaez2sE8VljOxfvjXtuZDdMnZ62yA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHKhhfFokG+plIMDJr1ycGP18cffkW7J98DanThyjM18AiA7uNwZNYHvgYL5+SaqRHfb2ZR9tgN7hFiTVmUWdVR8dw=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-0.1.0.tgz_1480419321719_0.5704260440543294"}},"0.1.1":{"name":"jl-sql-api","version":"0.1.1","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"gitHead":"69c6fefe9f6dcdfb4073058a028297cb04e5f852","description":"[![Build Status](https://travis-ci.org/avz/node-jl-sql-api.svg?branch=master)](https://travis-ci.org/avz/node-jl-sql-api)","_id":"jl-sql-api@0.1.1","_shasum":"e4ef6b280d8398b5c87e916f24fed11b79069776","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"e4ef6b280d8398b5c87e916f24fed11b79069776","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-0.1.1.tgz","integrity":"sha512-M2IStLke/kJXWyfE/ePv4Y1pE626aVWUl332FcsL8hr/2PDUfIVGcjpI7yyNp0jUactvWOrRDYtMY2/8jGVC/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH2XaLrVnjpoT2hupmedhBvcOznVjZR1LkWK0KuLqXW1AiBizu64SO6pAV6RPyqnCmkol9BX6ojXrPHcRp9VJOeNeg=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-0.1.1.tgz_1480422540898_0.7133513132575899"}},"1.0.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"1.0.0","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"gitHead":"bed34770cfdda03509471a9e0c85d2dd2b64923d","_id":"jl-sql-api@1.0.0","_shasum":"9f34a66f31992bff53f0522e1ec242e85736c3ee","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"9f34a66f31992bff53f0522e1ec242e85736c3ee","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-1.0.0.tgz","integrity":"sha512-CkznCPvx6VSGi+KL/zUxh55TpW7AXKmp4zE+4L2/09maVSEV3Y4kTM55CzQFQ0nLdUCAplgrG1ElvwEEAM3KKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVIRktmPMpgvFNBvJmjSrxwOPd3F4aia1AUDqprbwxmwIgZ0Yure1gg6QHfY3FyurZisJ3f+ydtwhHReX/gRr6LjQ="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-1.0.0.tgz_1480502504829_0.292871204437688"}},"1.0.1":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"1.0.1","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"gitHead":"764260500fb76ae5e92eaeec73a0d877f25ae9bb","_id":"jl-sql-api@1.0.1","_shasum":"47ea28d3b21b64462473c3af24091d5326104caa","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"47ea28d3b21b64462473c3af24091d5326104caa","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-1.0.1.tgz","integrity":"sha512-o21nSjbmVKkNqBLiBaz09qxGJ0URpyXC8KjlMDHfYalZw3SsR7emoTav1kXxdul28ZzF0COHr99+Zm9679tEWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF3SV2K41zI9lP6zE5z99RYdHmNr28/5QMad4FwX2LtyAiBMWXzbcYpa++3yARlYJKgz+WfcLmZxQnjg6Aodf6oUYA=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-1.0.1.tgz_1480503292880_0.8980073148850352"}},"1.1.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"1.1.0","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"gitHead":"0486a5a88ca76c503f77e5a7951e0d6d0973a92d","_id":"jl-sql-api@1.1.0","_shasum":"9c41647a0b9972fe84783b77e9e463f6272add13","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"9c41647a0b9972fe84783b77e9e463f6272add13","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-1.1.0.tgz","integrity":"sha512-ASx0prW3Lqq+jQNZRzF6LGQ80ux1xUKWEqJzgq7eV3EueNQAUSf9xiqopiYA+GvTN8C9xSaUpIf8dHAioX76Ww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDB3pF1UZQsa9qpZHMKLJq1vvbQglF+Wq7haC+mmPwuAAIhAIkE6RdkCO+6xicqD1xf+shkt/Ur7XMDZqijr0IDuvix"}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-1.1.0.tgz_1480585378095_0.26206668256781995"}},"1.1.1":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"1.1.1","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"gitHead":"fdaff12e47306da1334da533603b9adc6e693abd","_id":"jl-sql-api@1.1.1","_shasum":"088ef820534e42895a0254f06c291c491cf9d463","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"088ef820534e42895a0254f06c291c491cf9d463","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-1.1.1.tgz","integrity":"sha512-EsjwgV/azsoi5Ul8qG7lSjjhJ8GPGXY39LdhphSRvqRzhT14bGouNbnxAMVUDoi04snOJhMjdvWYv+YXIFvABw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEi10yB3b4PdAVMaZji6kzrwj/ppswCHFvZ281JfLZSwAiBvSif8asoPKg4Oblyxej0JzLIxK2tki71Fd6VzKM8E3Q=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-1.1.1.tgz_1480755426805_0.7970930493902415"}},"1.2.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"1.2.0","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"gitHead":"012fb1dc89abbb87eecd8326271c5fb8ecc3888c","_id":"jl-sql-api@1.2.0","_shasum":"4b5a325372b3b47cd7535f50cb4cfba496d08f0b","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"4b5a325372b3b47cd7535f50cb4cfba496d08f0b","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-1.2.0.tgz","integrity":"sha512-mU0akmxT5ERagdab2pLtxguPtGmdSVkyyUdS7nbsJT6ZEyAZ9VYbeF38K1Vhn0Kb8o2qbVfF/qdOanm/ArQ8Hg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEzoMA56rtlVz3SrZZI7B5ZRsGud6a67ykodcnyLOCRdAiEAr9Uhg+u38NMyLd+kUH8MDxu73khFs0xD6D8Biw6sEqs="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-1.2.0.tgz_1480766403017_0.2536002534907311"}},"1.3.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"1.3.0","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"gitHead":"f59ab0ba9faf2953b6a088380f8958bc06e5e15d","_id":"jl-sql-api@1.3.0","_shasum":"23d7918a06c471d1a991d1a9d65e6bfd18991b40","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.0.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"23d7918a06c471d1a991d1a9d65e6bfd18991b40","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-1.3.0.tgz","integrity":"sha512-HuKO1W4paccfrhb9OkwhXoFLpb16r1H4H/QxH7OjoJeHiy7BJpc6LFzOZGCo1nUMM3yVdJggk5hS33WerwtT7w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE+pIJTyxFboSmSUe0e+uk8XmcanIQkA6/PykjIYob7HAiAmIRsQQFVe8LU2U0jS84daSqKxH3kFp94ZMiWrSVOlIg=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-1.3.0.tgz_1480933281291_0.31151164369657636"}},"1.4.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"1.4.0","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"gitHead":"7ddc05bd7633f63cea45f69cff99985c5a86c83d","_id":"jl-sql-api@1.4.0","_shasum":"ea34ef02f9c120b9e9d333af8263824cef79e638","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"ea34ef02f9c120b9e9d333af8263824cef79e638","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-1.4.0.tgz","integrity":"sha512-6vIwr4FPy2f1HVfljRPwdGzGiQPrzF22+Fwmw7tP56NFkRcPEmqxQWgRqzuQs887m5UsdPdAkht21HtUP9sglw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICJjB99S+mYFCJawOwMKCBxzzy6Q3DAMBqNkv35hz8uJAiAdPOfZbyZKA3dog2zUj7CEXdbyRp2aUakLXQjmIcrO1Q=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-1.4.0.tgz_1481708401198_0.2970714115072042"}},"1.4.1":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"1.4.1","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"gitHead":"e15883aff63eb6b81a9a32430186e3809a5c2310","_id":"jl-sql-api@1.4.1","_shasum":"d5d802cbbc18fbefd1eea9369c51549f3e1ba177","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"d5d802cbbc18fbefd1eea9369c51549f3e1ba177","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-1.4.1.tgz","integrity":"sha512-yAF5ufK+Dd4pJtewqZe1O1QuMod5c9sCdASDSn55u6FubNNCAzyk5x4trq0pKJYysUr41U+QfKqOPoEk1oOUtg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaQ4rO+MkAMTsiUGAH00TAyJDgwzm+uEBYmqg396mLJgIhAOuNFQz6dggnjoCM4SKt1e/EFz5EOPnip+R4hCbLmqji"}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-1.4.1.tgz_1481877079651_0.6323657322209328"}},"1.4.2":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"1.4.2","keywords":["sql","stream"],"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"a6f6b78ab83d116cea0434b45a716a24dced432a","_id":"jl-sql-api@1.4.2","_shasum":"49a181b7c87a40f4e5743422e201b9e06faaa462","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"49a181b7c87a40f4e5743422e201b9e06faaa462","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-1.4.2.tgz","integrity":"sha512-nAo5mk0idNg6mozjq83bwpGjvHU1Kq51uG5Tmt6ennkirFDH9tNZ31ZnHp1XhZ6tVjcpXAx7rOqPNqm35NSTEg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGlFZCHACtQ53vWrH3lOnZ/k4TrzPZx05TMTzf/2A/HgAiEAtdTmklInc9BqP6ywchF3162LXCVJhIlvJ9I3GUnrYTA="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-1.4.2.tgz_1481881288809_0.9349681134335697"}},"1.5.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"1.5.0","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"da23c771ba6e57c43a793bf0a528f74cc98b066d","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@1.5.0","_shasum":"45df1b91521a5dd6b1348d4e28d61539e5642c07","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"45df1b91521a5dd6b1348d4e28d61539e5642c07","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-1.5.0.tgz","integrity":"sha512-XrPgI5amB0aSE2zyoDfaLHjJ2oFtVA+IC4jMGrieqRbxljDq3mliun2U02/21m80lfI8UI3TxbczfkCXy4T3Jg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlDt3YZFzY4msUxb/G9rPtirNHk7oUaO0BB7px1LrgSQIhAM5WIXdchfxoqZE4ojJygIWEkGvFQscUSbiebtH+HCor"}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-1.5.0.tgz_1482241035595_0.6915082084015012"}},"2.0.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.0.0","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"0ff9c49389f8eee65010e6736eb46a275dded297","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.0.0","_shasum":"ea3337775611126fab528f53badca95b065af6ac","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"ea3337775611126fab528f53badca95b065af6ac","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.0.0.tgz","integrity":"sha512-4ao46ELyZp8CYQmzYeGtFjn7zup1KnYHscqVI1p6+j7o8sLIZ5D5MpdEJqfeyg5ee+DJzPdCjPmdlgeYudQmHA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVluqtZpW+Hh1uCuWaZWIPoSrvHRdeorGY3TUnl8yRrAIgEoiOF9j2I8KKCBfhGFZxFI2aiBXy2rqdqcy2ZvP8Y0A="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.0.0.tgz_1482334998575_0.7814329867251217"}},"2.1.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.1.0","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"1eefcbe9d9d9a1b2441bea6bf454e188f6990fe8","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.1.0","_shasum":"d5433a3cb24445d0900f27a0fb1651cfd194db6b","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"d5433a3cb24445d0900f27a0fb1651cfd194db6b","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.1.0.tgz","integrity":"sha512-JLgGaeAFmy8Net2+tf0JJtlZ4JF2TNCrkYTaQzPcbHQ5BK5gkjyV0F4fuRyyQm3DI0+oNQuxTg/Rx6cGS3AvZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvmkAHbiMRDhcVRkXjBzJk2W4Z0mw+xA799Bt9Y8RhQwIhAM6Uo5Pt24aFY/lJ6+wUuxC8ZqdmOALq22theSAjsG1b"}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.1.0.tgz_1482394682665_0.5253881199751049"}},"2.2.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.2.0","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"73914b136a9f94dce817f1f8405c5528fab7bb8b","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.2.0","_shasum":"19ced8aaa65d07bf0ff63401e2994d3d53aff4b6","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"19ced8aaa65d07bf0ff63401e2994d3d53aff4b6","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.2.0.tgz","integrity":"sha512-9Tz6mImIFYx2W+F9huxqF0UoXqAkmPMpFVz6DFz/X+NasiHqjKWLpTgrxPSz3JjWh9pzVR6ZdcNGlqmybSq2KA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/MsoqjfCx25PeGMmxdnvh/4yoPPV36TFpxuBjuOAanQIgcCCss5URbozduqDUHSw11/5Cou08jImL1aX+8QCNh1U="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.2.0.tgz_1483273549336_0.06890023383311927"}},"2.2.1":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.2.1","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"3f3697fba1c913d5b203265609c52baa48e8162d","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.2.1","_shasum":"eda0f9df282c47a3f991f3795dc1e4c2bc08f94d","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"eda0f9df282c47a3f991f3795dc1e4c2bc08f94d","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.2.1.tgz","integrity":"sha512-iWH9HsCtQYbQ94Xlgk0exImfOCwaN+lQ0xJIUnD7YlLOBbbdKytvosNfLWf4tIQrCTc/i0VoEmEwNW48m8Mg1Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGbCGe4H2UMv+7oT0hIHkROsuzvNlKfgLR6M9K0enjahAiB6Udyvoc6pKRi/UW5HEvBrPJlhKpUw6LTKREvBpOHA2w=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.2.1.tgz_1484652570528_0.014738438185304403"}},"2.2.2":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.2.2","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"5c3d4d33778a5217edf105f65e895f57cce3789e","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.2.2","_shasum":"fa4d9d73de23b518042ce22d93393a19b0f10bae","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"fa4d9d73de23b518042ce22d93393a19b0f10bae","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.2.2.tgz","integrity":"sha512-jwNSViLsGm7fnoF4kBqQBxplQL84oTscHi2c8oxqQK9iGIcVc5cpigMyx2CaQOQujkPlr0Hcbkeid64hQ5u2aw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHHLJkWHdnmbdHMMb/AWz+jLB6ZwYLq6r7cK/PK6z8H6AiBYFFJz3N6vLJLl26eDamj3de99eu+MsgOJb1wFPzlhhQ=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.2.2.tgz_1484668981847_0.700900812400505"}},"2.2.3":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.2.3","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"b417ff414a753936ac0c87ab570bf1edf27d68b8","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.2.3","_shasum":"771e73c8c24c68e897c7bd7512154a662d61a307","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"771e73c8c24c68e897c7bd7512154a662d61a307","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.2.3.tgz","integrity":"sha512-6w3pVa52cgSeFN8rkuiVC7EsNejbLv8urWFAQ4Fu8YY8U+ALq+jR87mAc53uMuxYYRxEkMOfMIsmF5u9Zzpf5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFDh34wrYI/k2LnVDlH1/VEpwW9j+HUcWydidDCU8oT6AiBuOYmEZ2XNJiN4FmT8pbF8PbvmFHvO1Jf9yPvfXgw5vQ=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.2.3.tgz_1484735507232_0.7943895270582289"}},"2.2.4":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.2.4","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"a47b9c85656384e520eda8b5b2b8dbe192313b08","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.2.4","_shasum":"ced95b9a5ab96456c503a8a516a58e7747c298d5","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"ced95b9a5ab96456c503a8a516a58e7747c298d5","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.2.4.tgz","integrity":"sha512-q7BybKpVe0Exitvxri6D0Ixu9hugmjBvYv2xJdK7HWCMehT8JJJP15Q2Uq+G9YEuWZyq50skRe/+zaT0CmLP5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTX/kGJDIUHh8bbFpiWEQPyH2Kbe+3BXCqOroUUOqingIgMDL22lmexolBAXbdftOj3mirQTyVwOqCDoRcFTMlw9s="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.2.4.tgz_1484816073061_0.8122406266629696"}},"2.3.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.3.0","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"beccbe2675cd66ca79abe8cf3ca864bbdb0e5fc1","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.3.0","_shasum":"0f24291e9e569dd15063e90f6932bdc33ae5d04b","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"0f24291e9e569dd15063e90f6932bdc33ae5d04b","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.3.0.tgz","integrity":"sha512-t/5fN8zxTRK0Q8SJ9Y8q8ODHR3pS92xBwmfoN3YL9QJSa1E5rG79Z2Isb7AL2LYTvmSPNx6BA0wgMoJF+WIcRQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDWbXHEXXQesFDcA0xOUegZlULxyIBj1YB1wa+TbaZT1AiB3vU28PTaQQ714iMnP2L0hs54mYrdF0hLhcXijELiQ9A=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.3.0.tgz_1484823186489_0.4361526849679649"}},"2.4.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.4.0","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"ccf0748547b0e8302f66a98fd5a6c5966261726e","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.4.0","_shasum":"24b622851539a5d33decee564b13aa0e7da8bb15","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"24b622851539a5d33decee564b13aa0e7da8bb15","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.4.0.tgz","integrity":"sha512-MbiBG4yZCvvFSbeZglqPhcpDiteoewBrG2O/7faWzC8hnoIWF9owisTl11kaR300izq60CEbjj9j/ZYAxGh2ug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICmMD7ifSfSnT2SafckdZ4zUJr3aBl6SU2ZvJ48OnbnOAiAUb5T5yccb4eatMME50LWpUXi28IzFxOIaFPqXonm1yA=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.4.0.tgz_1484905252322_0.8005520107690245"}},"2.4.1":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.4.1","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"d4230da96af252638320fc13561aa435b9d242dd","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.4.1","_shasum":"e2587cf65064bfe368419c7072995ab360818967","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"e2587cf65064bfe368419c7072995ab360818967","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.4.1.tgz","integrity":"sha512-uRKPx1914CpWfURDWwCswC+HbbcUgtGpQg84QZFjeAstsHb50bar37UG94NRTBzmbiZk1vdZcGVnaj5orl5Ojw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA13sK26U5fXDnX872H1gTM0Oa3kC0Jyx4Gb+Sk/XcvxAiAOpBEl0tfaO6HxubAktNhuCZZ+dwH+/sTgwe65AlI/RQ=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.4.1.tgz_1484906058713_0.28409899794496596"}},"2.5.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.5.0","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"0cb3ef580bb7ef809bcd035ff0a6d59424592500","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.5.0","_shasum":"6c457d56054f6fdbcce5791afc1261e816e75d49","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"6c457d56054f6fdbcce5791afc1261e816e75d49","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.5.0.tgz","integrity":"sha512-2Dbmddabaqxj1JHIorj8y5SoyDDnE7jAOY91p/TeXCDREEqXwb4bFaHXCBJ1m1Ml7U0g+46nTow5wfZcfGrvrQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGKe8pm2LtIJgdl2nB8oRN3yNf6r3lHc5AQFEGwLH6sgIgDJXSlVtpM3H7DMUzdH3GN6deimTBLbubM0CvSceC6EI="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.5.0.tgz_1485166088239_0.12237607385031879"}},"2.6.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.6.0","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"f9d28fa6880673bf877540814737f9ebb41b0350","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.6.0","_shasum":"d58fc10e1d3d5321ece39ef00011ae355b686d0f","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.1","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"d58fc10e1d3d5321ece39ef00011ae355b686d0f","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.6.0.tgz","integrity":"sha512-x7wINduS57PnWVOHbD1U8fNix1J14nBiFKC+kWoQ/EQt5wJCOssKwL1qF/bwIgzHBwpgYv32dFI5QQFgdq2AKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPUTJbt4by49RyFnuAkYlBsF4HBicA2iBgqessFBKTLgIhAOATUZSE/Bwt4ghqS6usCE80t/neDhHyIziseyvUm0Ke"}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.6.0.tgz_1485510421386_0.5406853349413723"}},"2.6.1":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.6.1","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"59455a8600960937c71d2afc64a1b3fbfa3c6126","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.6.1","_shasum":"24bbb8ea374d91b3644283d48ac0c116565b526f","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"24bbb8ea374d91b3644283d48ac0c116565b526f","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.6.1.tgz","integrity":"sha512-Dy7ae/139PZXP72FSyTE1Jkr0eSXquSn5CFX0G5TpdgYVnqZHeiNbN4AwaN0TRiCBOMD2xbe9icVuA/mHnHJkw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAC3rBp1ydw5W4WJg6IBNtSqkq474W8Qb9XmVyEILBkXAiAtxHJAy8wPp9+fWnqgWYeyG4U4+C81F6ors/Oqj+0UxQ=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.6.1.tgz_1485520676789_0.6492756821680814"}},"2.6.2":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.6.2","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"c5a555c6c07354729d9bb3f525bdf0631c72b06a","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.6.2","_shasum":"1c666c6a9024a2042e29796c9eb9d7d2d16155b8","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"1c666c6a9024a2042e29796c9eb9d7d2d16155b8","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.6.2.tgz","integrity":"sha512-sS5IujKW3w+dGUawXnsZnVVfk/W8JyPVAZs134N9fMvx/YRbzcEBgBxSq6IMsK1Idv1fz3Tz2KPSG3qKdcssvg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3yZCVK4ACP6575IpNwaYItCSgZyZz5xBQtXpOGRP9ZAIgFj0MHmOQIPpGv6Ry64uKo7jHH7uXdVBdlo8AsQRcTxE="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.6.2.tgz_1486394882417_0.6513759281951934"}},"2.6.3":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.6.3","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"2b6d9c37074678ba60accf22ed9a498d158af869","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.6.3","_shasum":"84a4da89d3d45daeec1fb2d5f2d15654d47d02e9","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"84a4da89d3d45daeec1fb2d5f2d15654d47d02e9","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.6.3.tgz","integrity":"sha512-86BR56GtR7pxv7Inq57nFLSp8vkVrUKqPF/jDb3fsl/VycxovhTYc6ywwEkg8qqh8YciWf9TjBos0Q2AjHOm6w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEL05KTBA9MKX8oe5cXj0CsbfZM6VFnZz4ftmAaul8VRAiEAjke/KzgoKvV1CQR9yMLu/Z0SvH56ZNyqyYY60tcYA84="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.6.3.tgz_1486460021797_0.8742234783712775"}},"2.7.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.7.0","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"a83e395e6a680c67475f8863f28fdbf3aaf937bc","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.7.0","_shasum":"07a796e1438760e30217b2babb3424b6eaeab040","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"07a796e1438760e30217b2babb3424b6eaeab040","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.7.0.tgz","integrity":"sha512-A+0aQsiw40tGbye/LCxqksbqNu6NumJXdlfmAywdKqemYvXvAcVo0dxwqDS6yg582I5TY0lzhYrQ9dUfOTOR9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVlSvOFFzrC14NrYaAd8U81+taXDGT2F1JtnZTCakF5QIgHeN8k/RlOsJMFcq/CR5D6tjeRkp3ABVmXns+62it8qM="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.7.0.tgz_1486561124781_0.9578940030187368"}},"2.7.1":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.7.1","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"cd411304fc8326097df88bcffe3e83244afdd907","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.7.1","_shasum":"8d956820fe678c1b82207dedec1d94e5ddf7c2e1","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"8d956820fe678c1b82207dedec1d94e5ddf7c2e1","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.7.1.tgz","integrity":"sha512-GoeO2m4cVPkbxWTin0Xn3b1bsszwm3+5MKJACOIPUSdz8Y6jUBljoDLJFI0rv/UIwlx+Z1pobTCgeXPtp1o7Fw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC74k7Ippk1zhfMbuJOZQYMtTlls5lQ/zPx3WpTmmeIcAiBrU+JoAH10LCbwLimy9K1JeTFg6cnAFUcnbgi1tdLW/Q=="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.7.1.tgz_1486561637528_0.9875691977795213"}},"2.7.2":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.7.2","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"77784f5ebf9d1365e315496b2249c4463dd29546","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.7.2","_shasum":"8e33e1e981121cb1f1e45ba7beae447afe8b95a3","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"8e33e1e981121cb1f1e45ba7beae447afe8b95a3","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.7.2.tgz","integrity":"sha512-FOI5wjgjogAS21XnluONO2BA82y+KoTOk/YQruslRUBvysxHK1djYzVObIuclTaedNl/z2UURgqto0X80hpP7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbpaYWbRjzZZrdz8iuqNor2B+NCsPttSI+iipHpBfVPgIgA8tdgLhtmggFjVYvLnpT206bhbLbkidcUuJ8HKQ1Bug="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.7.2.tgz_1486713645176_0.9744281943421811"}},"2.8.0":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.8.0","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"b27a7ceadaa57dba9abda35a381c9c39be289180","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.8.0","_shasum":"79f7ec93dad1f391b33febd5f0befb754392275b","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"79f7ec93dad1f391b33febd5f0befb754392275b","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.8.0.tgz","integrity":"sha512-wFtHTDUEQ8eCP7iR1Xk41DtVJmvAFp1kVboO897xgpVQR0ddJBT00skj8sUtxZcG2snEipfOt9engBzgiGyl+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDQD8u2FFoUVMTQDKy8WRqEW+ILBb21eb2M7LXgHUNeEAiEA89ogtPt3Zbd/irhZ51JxXqHdipSPMopm5Ih5+aziM/c="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.8.0.tgz_1486902633750_0.8338689403608441"}},"2.8.1":{"name":"jl-sql-api","description":"SQL stream manipulating for JS","version":"2.8.1","keywords":["sql","stream"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"main":"main.js","author":{"name":"avz@nologin.ru"},"contributors":[],"dependencies":{},"devDependencies":{"eslint":"^3.10.2","eslint-plugin-mocha":"^4.7.0","istanbul":"^0.4.5","jison":"^0.4.17","mocha":"^3.1.2"},"scripts":{"test":"eslint . && mocha --recursive","coverage":"istanbul cover --report html _mocha -- --recursive"},"engines":{"node":">=6"},"tonicExampleFilename":"./examples/join.js","gitHead":"b9db4735060b737d31bb91d171df54bf94a4fe2b","bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"homepage":"https://github.com/avz/node-jl-sql-api#readme","_id":"jl-sql-api@2.8.1","_shasum":"05b07d25dc71871719c06fc216e4b896c6788147","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"avz","email":"avz@nologin.ru"},"dist":{"shasum":"05b07d25dc71871719c06fc216e4b896c6788147","tarball":"https://registry.npmjs.org/jl-sql-api/-/jl-sql-api-2.8.1.tgz","integrity":"sha512-VObaRvQujcI/CX29mzfFbG0SqpLBa6Z0Yq0SfwIoiOrKhVKS3c4EgzDGqfmm34QM8cAZQleQNqtnq9nqwBL2Zw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIG8VJuP9TrnoCGHJg0H+9NqrYTKHM/9L+P1D/oAa8dgIgek7zZWnnQd9oNDkNiUmwNdf9Kcm4dAleTsO5r0I8XAI="}]},"maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jl-sql-api-2.8.1.tgz_1486920715220_0.3032345147803426"}}},"readme":"# `jl-sql-api` - SQL for JS objects streams\n[![Build Status](https://travis-ci.org/avz/node-jl-sql-api.svg?branch=master)](https://travis-ci.org/avz/node-jl-sql-api)\n\nThe library allows to operate on streams of objects by SQL queries such as `SELECT`, `UPDATE`, `DELETE`, `INSERT`. This package contains only API, if you are looking for a CLI-utility for working with JSON streams, go to https://github.com/avz/jl-sql.\n\n### [Try it now on runkit.com!](https://runkit.com/npm/jl-sql-api)\n\nThe implementation allows you to work with potentially infinite streams. To sort and group large volumes of automatically activated external sorting using the unix utility `sort`, which can use a filesystem to store temporary data. For queries that do not require sorting stream processing is used, so dataset not loaded into memory entirely.\n\n* [Examples](#examples)\n* [SQL](#sql)\n\t* [Constants](#constants)\n\t* [Identifiers](#identifiers)\n\t* [Type casting](#type-casting)\n\t* [Dates](#dates)\n\t* [Bindings](#bindings)\n* [API](#api)\n\t* [Overview](#overview)\n\t* [`options` object](#options-object)\n\t* [Data formats](#data-formats)\n\n## Examples\n\n### Common code\n\n```javascript\nconst JlSqlApi = require('jl-sql-api');\n\nconst api = new JlSqlApi;\n```\n\n### Make objects from JSON from STDIN, group and write it in JSON to STDOUT\n\nWorking with `pipe()`\n\n```javascript\nprocess.stdin\n\t.pipe(\n\t\tapi.query('SELECT key, SUM(value) AS sum GROUP BY key')\n\t\t\t.fromJsonStream()\n\t\t\t.toJsonStream()\n\t)\n\t.pipe(process.stdout)\n;\n```\n\nWirking with specified stream directly\n\n```javascript\napi.query('SELECT key, SUM(value) AS sum GROUP BY key')\n\t.fromJsonStream(process.stdin)\n\t.toJsonStream(process.stdout)\n;\n```\n\nInput\n\n```\n{\"key\": 2, \"value\": 2}\n{\"key\": 1, \"value\": 3}\n{\"key\": 3, \"value\": 6}\n{\"key\": 3, \"value\": 4}\n{\"key\": 1, \"value\": 5}\n{\"value\": 7}\n{\"key\": null, \"value\": 8}\n```\n\nOutput\n\n```\n{\"sum\":7}\n{\"key\":1,\"sum\":8}\n{\"key\":2,\"sum\":2}\n{\"key\":3,\"sum\":10}\n{\"key\":null,\"sum\":8}\n```\n\n### From JSON from STDIN to static array\n\n```javascript\napi.query('SELECT key, SUM(value) AS sum GROUP BY key')\n\t.fromJsonStream(process.stdin)\n\t.toArrayOfObjects(function(objects) {\n\t\tconsole.log(objects);\n\t})\n;\n```\n\n### JOIN\n\nTo work JOINS s need to specify additional input streams (you can call them virtual tables), which will join to the main stream:\n\n```javascript\napi.query('SELECT id AS mid, @child.field INNER JOIN child ON @child.mainId = id')\n\t.fromArrayOfObjects([\n\t\t{\"id\": 1},\n\t\t{\"id\": 2}\n\t])\n\t.addArrayOfObjects('child', [\n\t\t{\"mainId\": 1, \"field\": 11},\n\t\t{\"mainId\": 1, \"field\": 12},\n\t\t{\"mainId\": 2, \"field\": 21},\n\t\t{\"mainId\": 3, \"field\": 31},\n\t])\n\t.toArrayOfObjects((r) => {\n\t\tconsole.log(r);\n\t})\n```\n\nOutput\n```\n[ { mid: 1, field: 11 },\n  { mid: 1, field: 12 },\n  { mid: 2, field: 21 } ]\n```\n\nThe special syntax `@child` is introduced in order to explicitly indicate to the interpreter that we work with \"table\" `child`, and not with a field named `child` of the main table. Aliases can be set via `AS`: `... INNER JOIN child AS @childAlias ON @childAlias.mainId = id`. For the main table reserved name,`@`, i.e. if it is necessary to specify explicitly that we refer to the main table, you can write `... ON @childAlias.mainId = @.id`. If the object contains the ` @ ` symbol, it is possible to quote the name using backquote: `smth = `@child`.field`, then a field named `@child` will be searched in the main table.\n\n## SQL\n\nSupported queries:\n\n* `SELECT field[AS alias][...] [[{LEFT|INNER}] JOIN ... ON expression...] [WHERE ...] [GROUP BY ...] [HAVING ...]`\n* `INSERT VALUES {row1}[, ...]` - add object(s) to end of the stream\n* `UPDATE SET field = 'value'[, ...] [WHERE expression]` - update rows\n* `DELETE [WHERE expression]` - delete rows\n\nIn general, a dialect similar to the dialect of MySQL and has the following features:\n\n* `FROM` is not supported because the input stream is passed via API to explicitly\n* only `INNER JOIN` and `LEFT JOIN` is supported\n* `ON` need to be equal-expression:\n\t* `@user.id = userId`\n\t* `@post.sn = sn + 1`\n* `LIMIT` is not supported\n* for `ORDER BY` key-expression must be of a known type (string or number). When using arithmetic expression, the type will be determined automatically. See details in section [Type Casting](#type-casting)\n\t* `ORDER BY NUMBER(value)` - sort by numeric value\n\t* `ORDER BY STRING(value)` - sort by string value\n\t* `ORDER BY value + 1` - sort by numeric value\n\t* `ORDER BY value` - warning: nee to specify type\n\n\n### Constants\n\nString constants need to wrap in single (`'`) or double (`\"`) quotes. If the string contains quotes they are escaped by a ` \\` character. The special sequence `\\n` and `\\t` is converted to the newline character and the tab character.\n\n### Identifiers\n\nIdentifier is the path to the desired field in the data row. Identifier can point to multiple levels of nested complex object. The levels are separated by `.`character\n\nFor example\n```javascript\n{\n  top: {          // `top`\n    sub: {        // `top`.`sub`\n      value: 10   // `top`.`sub`.`value`\n    }\n  },\n  value: 2        // `value`\n}\n```\n\nFor clarity, all the identifiers are wrapped in the characters in back quotes, but be sure to do it only if the identifier is used special characters.\n\n### Type casting\n\nThe lack of a clear schema of the data creates some difficulties in the processing associated with the definition and conversion of field types, for example, you can try to sort the rows by field values which can be of different types in different rows. That is why, as mentioned above, `ORDER BY` requires you to explicitly specify the type of the expression if type cannot be determined automatically.\n\nAutomatic type detection works in the following cases:\n\n* the expression is interpreted as a number if\n\t* the result of the expression is the result of the arithmetic operation\n\t* the result of the expression is the value returned from one of the standard functions, which explicitly specified the numeric type of the return value, e.g.: `FLOOR()`, `ROUND()`, `CEIL()`\n* the expression is interpreted as a string if\n\t* the result of the expression is the value returned from one of the standard functions, which explicitly specified the string type return value, for example: `CONCAT()`\n\n#### Strict equal\n\nThe comparison operator `=` works on the same rules as the `==` operator in JavaScript, if you want to compare the value on strict compliance with the type and value, then you should use the strict comparison operator - `===`.\n\n#### Operator `IN` and `STRICT IN`\n\nThe operator `IN` uses the operator `=`, so the expression `\"10\" IN (10)` will be true while the operator is `STRICT IN` uses within the operator `===` so `\"10\" STRICT IN (10)` is false.\n\n#### `null` and `undefined`\n\nWhen processing are some differences between fields with a value of `null` and missing fields, for example when the query is executed\n\n```sql\nSELECT value\n```\n\nof specified rows\n\n```\n{\"id\": 1, \"value\": 1}\n{\"id\": 2, \"value\": null}\n{\"id\": 3}\n```\n\noutput will be\n\n```\n{\"value\": 1}\n{\"value\": null}\n{}\n```\n\n`null` does not imply any special treatment, while the appeal to non-existent field (`undefined`) will not create the appropriate field in the result row.\n\n### Dates\n\nAll functions and operators work with dates, in addition to `FROM_UNIXTIME()` can only operate on objects of class [Date](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Date) and rows in the format understood by the constructor of [Date](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Date). To work with the unix timestamp, you need to explicitly convert the unix timestamp into the date function `FROM_UNIXTIME(unixTimestamp)`.\n\n#### Time Zone\n\nManipulation of dates are produced for the local time zone. At the moment the only possibility to change this behavior is to change the environment variable `TZ` before running NodeJS. For example\n```\n% TZ=UTC node main.js ...\n```\n\n#### Functions\n\n* `FROM_UNIXTIME(unixTimestamp)` - convert unix timestamp to Date\n* `UNIX_TIMESTAMP([dateString])` - to convert the current time or the time passed in `dateString` into a unix timestamp\n* `DATE([dateString])` - get the current date in the format `YYYY-MM-DD`. If passed an optional argument `dateString` the date is calculated from the given string, not from the current time\n* `NOW()` - get current Date\n\n#### Operators and keywords\n\nFor working with dates you can use operators. For example, you can add 1 day and 2 hours to the current time:\n\n```sql\nSELECT NOW() + INTERVAL 1 DAY 2 HOUR\n```\n\nsubstract 1 day and 2 hours:\n```sql\nSELECT NOW() - INTERVAL 1 DAY 2 HOUR\n```\n\nFull list of supported units\n\n* `YEAR`\n* `MONTH`\n* `DAY`\n* `HOUR`\n* `MINUTE`\n* `SECOND`\n\nOperations can be combined\n\n```sql\nSELECT NOW() + INTERVAL 1 YEAR 1 MONTH - INTERVAL 1 DAY\n```\n\n### Bindings\n\nBinding allow you to safely insert any constant in SQL query, for example\n\n```sql\nSELECT * WHERE field = :field\n```\nwhere `field` is a \"slot\" whose value must be set using the [`Select.prototype.bind()`](#selectprototypebindident-value).\n\nYou can bind not only data but also the field names. In this case the name of binding need to be wrapped into square brackets\n\n```sql\nSELECT * WHERE {:field} = :value\n```\n\nBinding are of two types:\n* binding a single value, form: `:bind` (single `:` character before name)\n* binding list of values form: `::bind` (`::` before name)\n\n#### Single-value binding\nYou can use a binding one value in the SQL for the argument of the function for the operand in the binary and unary operators, and generally in all cases where SQL is meant for a single expression\n\n```sql\nSELECT * WHERE id = :id\n// for :id = 1 - SELECT * WHERE id = 1\n\nSELECT * WHERE value > FLOOR(:id)\n// for :id = 1 - SELECT * WHERE value > FLOOR(1)\n\nSELECT id, amount * :price AS revenue WHERE value > amount * :price\n\nSELECT * WHERE {:field} = :value\n// to filter a field with the name taken from the value of binding :field\n```\n\n#### Multi-value binding\n\nThis kind of binding more complex and allows you to replace not single operands and expressions, but lists. For example, using such binding you can substitute several of the function arguments\n\n```sql\nSELECT * WHERE id IN(::ids)\n// for ::ids = [1, 2, 3] - SELECT * WHERE id IN(1, 2, 3)\n\nSELECT IF(enabled, ::trueFalse)\n// for ::ids = ['true', 'false'] - SELECT IF(enabled, 'true', 'false')\n\nSELECT * WHERE {::fieldPath} IN(::values)\n// field path will be in ::fieldPath, for example\n// if ::fieldPath = ['key', 'subkey'], then query be\n// SELECT * WHERE key.subkey IN(::values)\n\nSELECT * WHERE {:name1}.{:name2}.{::tail} IN(::values)\n// path will be concatenation of :name1, :name2 and elements of ::tail\n```\n\n## API\n\n### Overview\n\n* `const JlSqlApi = require('jl-sql-api')`\n\t* `new JlSqlApi([options])` -> `JlSqlApi`\n\t* `JlSqlApi.prototype.query(sql)` -> `Select`\n* `Select.prototype`\n\t* [`bind(ident, value)`](#selectprototypebindident-value) -> `this`\n\t* [`fromJsonStream([readableStream])`](#selectprototypefromjsonstreamstream) -> `SelectFrom`\n\t* [`fromObjectsStream([readableStream])`](#selectprototypefromobjectsstreamstream) -> `SelectFrom`\n\t* [`fromArrayOfObjects([readableStream])`](#selectprototypefromarrayofobjectsarray) -> `SelectFrom`\n* `SelectFrom.prototype`\n\t* [`addJsonStream(location, readableStream)`](#selectfromprototypeaddjsonstreamlocation-readablestream) -> `this`\n\t* [`addObjectsStream(location, readableStream)`](#selectfromprototypeaddobjectsstreamlocation-readablestream) -> `this`\n\t* [`addArrayOfObjects(location, array)`](#selectfromprototypeaddarrayofobjectslocation-array) -> `this`\n\t* [`toJsonStream([writableStream])`](#selectfromprototypetojsonstreamstream) -> `Transform`\n\t* [`toObjectsStream([writableStream])`](#selectfromprototypetoobjectsstreamstream) -> `Transform`\n\t* [`toArrayOfObjects(callback(objects))`](#selectfromprototypetoarrayofobjectscallbackarray) -> `WritableStream`\n\nIn order to execute the query, you need\n\n1. create an instance JlSqlApi with the necessary options: `const jlSqlApi = new JlSqlApi({});`\n2. create a request object from SQL: `const query = jlSqlApi.query('SELECT SUM(price)');`\n3. to set the data sources by methods `from*()` and `add*()` (a set of methods `add*()` is optional and is only required for queries with JOIN)\n4. set a destination and format of the result by calling one of the methods `to*()`\n\n### `options` object\n\n* `tmpDir` - the default path to the directory to store temporary files used for sorting and JOIN's. This value can be overwritten by specific values of `tmpDir` in the appropriate options object\n* `forceInMemory` - enable a mode in which all data manipulations occur only in the process memory, the FS and third-party programs (such as `sort`) are not used. Default is `false`\n* `dataSourceResolvers` - array by the data sources resolvers described in section [Dynamic data source binding](#dynamic-data-source-binding)\n* `sortOptions`\n\t* `inMemoryBufferSize` - maximum number of __objects__, which can be sorted in memory. Upon exhaustion of this limit the external utility sorting using `sort` will be used. Default: 16000\n\t* `bufferSize` - the buffer size of external sort (utility `sort` option `-S`) in __bytes__. Default: 64MB\n\t* `tmpDir` - path to the directory to store temporary files used for sorting (utility `sort`). If not specified, this defaults to `tmpDir` from root object options, if not specified it you can look default at `man sort` in the description of option `-T`\n\t* `forceInMemory` - do not use unix `sort` for sorting. All manipulations will be made in the memory of the process. Overrides the value `forceInMemory` from root options. When this option is enabled then option `tmpDir`, `bufferSize`, `inMemoryBufferSize` will be ignored\n* `joinOptions`\n\t* `maxKeysInMemory` - maximum __number__ of keys in the JOIN buffer in memory, exceeding this value are used temporary files in the directory `tmpDir`\n\t* `tmpDir` - the directory in which temporary files are placed. If not specified, defaults to the root object `options`, if not specified then `os.tmpdir()`\n\t* `forceInMemory` - do not use FS to store temporary data. All manipulations will be made in the memory of the process. Overrides the value of `forceInMemory` from root options. When this option is enabled then `maxKeysInMemory`, `tmpDir` will be ignored\n\n#### Example\n\n```javascript\nconst jlSqlApi = new JlSqlApi({\n\ttmpDir: '/tmp',\n\tsortOptions: {\n\t\ttmpDir: '/tmp/sort'\n\t},\n\tjoinOptions: {\n\t\tmaxKeysInMemory: 100000\n\t}\n});\n```\n\n### Data Formats\n\nAs you can see, methods for choice of source and receiver data have similar names, formed according to the rule `{from|add to the}{JsonStream|ObjectsStream|ArrayOfObjects}`. The first part means, respectively, the source, additional source and receiver and the second data format on the input or output, e.g. `fromJsonStream()`.\n\n* `JsonStream` - `stream.Readable` of bytes/text that is presented in the form of objects, encoded in JSON and separated from each other by newline (`\\n` === `0x0A`). The `'\\n'` characters within object JSON is not allowed: one object must take strictly one line. An example of such data can be viewed in the \"Examples\" section\n* `ObjectsStream` - `stream.Readable` with the option `{objectMode: true}`, which operates on stream of objects\n* `ArrayOfObjects` - means that the data need to transmit or receive in the form of a regular array of objects, streams are not used here\n\n### `Select.prototype.bind(ident, value)`\n\nBind values (see [Bindings](#bindings)).\n\n* `ident` - binding name including `:` (single-value binding) or `::` (multi-value binding)\n* `value` - value. Must be scalar for single-value bindings or array for multi-value bindings\n\nThis method returns `this`, so you can use the chain notation.\n\n### `Select.prototype.fromJsonStream([stream])`\n### `Select.prototype.fromObjectsStream([stream])`\n### `Select.prototype.fromArrayOfObjects(array)`\n\nBind primary data source to the query, this source is used as the `FROM` for the SQL query. The source can be a stream (methods `fromJsonStream()`, `fromObjectStream ()`) and an array of objects (method `fromArrayOfObjects()`).\n\nIf the streaming method does not supply the optional argument `stream`, it will be assumed that data will be written in a stream that will return one of the methods `to*()` by NodeJS streams methods: `write()` and `pipe()`.\n\nAll these methods return an instance of class `SelectFrom`.\n\n### `SelectFrom.prototype.addJsonStream(location, readableStream)`\n### `SelectFrom.prototype.addObjectsStream(location, readableStream)`\n### `SelectFrom.prototype.addArrayOfObjects(location, array)`\n\nBind additional data source to that can be used to `JOIN` in the query.\n\n`location` - an array of strings or a string representing the name of the table for which the source can be referenced from a query `SELECT ... JOIN <name>`. The name may be layered, for example a `user`.`payments`: `location` you need to specify the array['user', 'payment']`. For one-level names are allowed to be passed as an array with one element or just a string\n\nExample\n\n```javascript\njlSqlApi.query('SELECT SUM(price) INNER JOIN user.payments ON @payments.userId = id')\n\t.fromJsonStream(process.stdin)\n\t.addArrayOfObjects(['user', 'payment'], [\n\t\t{userId: 10, price: 20},\n\t\t{userId: 10, price: 10},\n\t\t{userId: 15, price: 1}\n\t])\n\t.toJsonStream(process.stdout)\n```\n\nYou should pay attention to the line `@payments.userId`: each data source must have unique names, the source names always begin with the `@` symbol and must not be wrapped in back quotes (`` ` ``). The sources added via the `add*()` by default, given the names on the last element `location`, so in this case we refer to a table as `@payment`.\n\nIf we connected the sources with names in the `user.payment` and `company.payment` we get a collision of names. In this case, you need to explicitly specify the alias for one of the sources: `INNER JOIN company.payment AS @companyPayment`.\n\nThe API provides the possibility of resolving dynamic source names, so it is not necessary to explicitly write each of them. More information can be found in the section [Dynamic data source binding](#dynamic-data-source-binding).\n\n### `SelectFrom.prototype.toJsonStream([stream])`\n### `SelectFrom.prototype.toObjectsStream([stream])`\n### `SelectFrom.prototype.toArrayOfObjects(callback(array))`\n\nUsing this set of methods, you can specify the format and the data receiver, it is identical to set `from*()`, except that in method `toArrayOfObjects()` need to pass a handler with one argument - an array of output objects.\n\nIf the parameter `stream` is not specified, then the data can be accessed through standard mechanism `stream.Readable`: `.on('data', ...)`, `.on('readable', ...)`, `.pipe(destination)`, etc.\n\n\n### Dynamic data source binding\n\nOften a situation arises where we cannot add additional data sources through the methods `add*()`. For example, when a SQL query is entered by the user who wants to work with files in filesystem.\n\nTo solve this problem in an object `options` has the `dataSourceResolvers`, in which you can pass an array of resolvers.\n\nResolver must extends class `require('jl-sql-api').DataSourceResolver` and implement at least the method `resolve()`. Not necessarily, but preferably, also implement method `extractAlias()`.\n\n#### `resolve(location)`\n\nIs used to create a `stream.Readable` by the name \"tables\" of SQL. If the request contains this code `INNER JOIN user.payment ... INNER JOIN transaction`, then this method will be called twice: once for the table `user.payment` with argument `[\"user\", \"payment\"]` and once for `transaction` with argument `[\"transaction\"]`.\n\nMethod can return either `stream.Readable` or `null` if the source to determine it did not. All resolvers in the array will be called in the order while some do not return non-`null`. If all returned `null`, then there is a check on sources that have been explicitly added using `add*()`.\n\n#### `extractAlias(location)`\n\nUsed to determine the table alias, if not specified by user via `AS`, e.g., `... INNER JOIN user.payment ON ...`.\n\nThe method must return a string or `null` if the alias is not defined.\n\n#### Example\n\nThis code is used in the utility `jl-sql` to dynamically create a data source based on file path ([DataSourceFileResolver.js](https://github.com/avz/jl-sql/blob/master/src/DataSourceFileResolver.js))\n\n```javascript\nconst path = require('path');\nconst fs = require('fs');\nconst DataSourceResolver = require('jl-sql-api').DataSourceResolver;\n\nclass DataSourceFileResolver extends DataSourceResolver\n{\n\tresolve(location)\n\t{\n\t\tif (location.length !== 1) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn fs.createReadStream(location[0]);\n\t}\n\n\textractAlias(location)\n\t{\n\t\tif (location.length !== 1) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn path.parse(location[0]).name;\n\t}\n\n}\n\nmodule.exports = DataSourceFileResolver;\n```\n","maintainers":[{"name":"avz","email":"avz@nologin.ru"}],"time":{"modified":"2022-06-19T04:33:12.028Z","created":"2016-11-03T12:27:57.943Z","0.0.1-alpha1":"2016-11-03T12:27:57.943Z","0.0.1-alpha2":"2016-11-04T18:44:04.005Z","0.0.1":"2016-11-19T15:08:13.772Z","0.0.2":"2016-11-19T17:46:27.668Z","0.0.3":"2016-11-19T18:17:39.934Z","0.0.4":"2016-11-20T09:52:33.955Z","0.0.5":"2016-11-22T10:35:32.612Z","0.0.6":"2016-11-22T12:16:03.164Z","0.0.7":"2016-11-23T10:38:52.927Z","0.0.9":"2016-11-27T09:36:01.943Z","0.1.0":"2016-11-29T11:35:22.476Z","0.1.1":"2016-11-29T12:29:03.297Z","1.0.0":"2016-11-30T10:41:45.711Z","1.0.1":"2016-11-30T10:54:53.694Z","1.1.0":"2016-12-01T09:42:58.972Z","1.1.1":"2016-12-03T08:57:08.978Z","1.2.0":"2016-12-03T12:00:03.854Z","1.3.0":"2016-12-05T10:21:23.222Z","1.4.0":"2016-12-14T09:40:03.480Z","1.4.1":"2016-12-16T08:31:21.943Z","1.4.2":"2016-12-16T09:41:29.526Z","1.5.0":"2016-12-20T13:37:16.388Z","2.0.0":"2016-12-21T15:43:19.444Z","2.1.0":"2016-12-22T08:18:05.192Z","2.2.0":"2017-01-01T12:25:51.902Z","2.2.1":"2017-01-17T11:29:31.518Z","2.2.2":"2017-01-17T16:03:02.556Z","2.2.3":"2017-01-18T10:31:48.188Z","2.2.4":"2017-01-19T08:54:35.136Z","2.3.0":"2017-01-19T10:53:08.589Z","2.4.0":"2017-01-20T09:40:54.316Z","2.4.1":"2017-01-20T09:54:19.496Z","2.5.0":"2017-01-23T10:08:09.005Z","2.6.0":"2017-01-27T09:47:03.434Z","2.6.1":"2017-01-27T12:37:58.701Z","2.6.2":"2017-02-06T15:28:04.805Z","2.6.3":"2017-02-07T09:33:44.018Z","2.7.0":"2017-02-08T13:38:46.963Z","2.7.1":"2017-02-08T13:47:18.813Z","2.7.2":"2017-02-10T08:00:47.438Z","2.8.0":"2017-02-12T12:30:34.563Z","2.8.1":"2017-02-12T17:31:56.050Z"},"keywords":["sql","stream"],"contributors":[],"author":{"name":"avz@nologin.ru"},"readmeFilename":"README.md","description":"SQL stream manipulating for JS","homepage":"https://github.com/avz/node-jl-sql-api#readme","repository":{"type":"git","url":"git+https://github.com/avz/node-jl-sql-api.git"},"bugs":{"url":"https://github.com/avz/node-jl-sql-api/issues"},"license":"MIT"}