{"_id":"nestjs-opensearch-sql-parser","_rev":"41-b2dcb13f6d31a308d94976c358b244b7","name":"nestjs-opensearch-sql-parser","dist-tags":{"latest":"1.0.37"},"versions":{"1.0.0":{"name":"nestjs-opensearch-sql-parser","version":"1.0.0","_id":"nestjs-opensearch-sql-parser@1.0.0","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"fcc6d8af96524c28a2e78663353eda48d89db954","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.0.tgz","fileCount":7,"integrity":"sha512-M/1vPQKp3EV1IlpKWWKRO0o+N3/ZsM/0q1DjDZBe4NlygRN0lZWGc34Vp7SlV+yCTfSxq7TJyjCTBknk2iShXA==","signatures":[{"sig":"MEYCIQCWrG01nqZFOm0+0LsRm8UPnTxtYCL33r4TIDr23ABSygIhAIz+gWjn4QV7ek3jicupT4lHA8ygWimdUo0FyV4GsASL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26753},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.0_1745818931803_0.7073209927807551","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"nestjs-opensearch-sql-parser","version":"1.0.1","_id":"nestjs-opensearch-sql-parser@1.0.1","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"8ffb2ac3101e2897696a5c57303aefded5fed9cb","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.1.tgz","fileCount":7,"integrity":"sha512-SuuYxYZdjfB9RSAt7Nucs7nZZ6cFiEw0DL3txy67ZneVmVlFht9ejojrEVvPyGPXGCIZBk0UFxxhbJDDgJN3eA==","signatures":[{"sig":"MEUCIDHdil8IyTLwrWoQXgNgmWZkr5YmmHzgjVmh9kV7w1cEAiEAnO7VXwOwyG/V+EQGKZ9cYr9B2MQCvHD7cXZ1/3vElIs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26719},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.1_1746526137265_0.8478502521854507","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"nestjs-opensearch-sql-parser","version":"1.0.2","_id":"nestjs-opensearch-sql-parser@1.0.2","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"ef25bb5a904f1eced36718aa446527b48444475d","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.2.tgz","fileCount":7,"integrity":"sha512-SMLkGa7/BzxrMDVeraM6v6dUj+GQk19sD5m3p/a5Cq68TE6lzv1vahLtGZ2OA5BJtEBpokP0bqUyMvQiSOWkLw==","signatures":[{"sig":"MEYCIQCNYsUcZ32yLmi7iretfILq621oQ+YpdbjwA9mHRezxxwIhAOCx9g/AyDUWT6wNJQkdVQSVhNWxD+kU6FKt2hT1O9L+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26924},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.2_1746526605910_0.16773478242747508","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"nestjs-opensearch-sql-parser","version":"1.0.3","_id":"nestjs-opensearch-sql-parser@1.0.3","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"7b2127acd031642cdaeb32c8eeae7fbcbb3b616e","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.3.tgz","fileCount":7,"integrity":"sha512-in4rapR0gxhFwQtbqxrE7V7Uh9mp6qQ2B84pEpYOqcPdXSCzpmc3YEtjv7+vY6SmthLPahBfURj+XKTKHOlHuw==","signatures":[{"sig":"MEUCIAuXGmgBUMW0pTY/PpdgiEQYkeOGKvNZSKLjvj1MxTM9AiEAwB2q+qj1H7hUCKm2ClekdPIKciW+pjMmt71HDLnwwDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28732},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.3_1746533099430_0.044089077707664126","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"nestjs-opensearch-sql-parser","version":"1.0.4","_id":"nestjs-opensearch-sql-parser@1.0.4","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"5db9e8e859a92059d387adfc01d0347793dc6e29","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.4.tgz","fileCount":7,"integrity":"sha512-pmdMFapgVIXUFy+o1SkiX6fhIfOPw1pWuuaHvADqeMb2biONcPrvDR6lhQsvGm4foublQMSXDqdlqXnEXDuLHg==","signatures":[{"sig":"MEUCIQCmknWiNs/QkNZMiQ7UPZOPNEDeO1XWtZnfdusvFJ6KWAIgJJ3CxXAeS8i4Ik8OGkkpP0WUPGiu8uAOPlGdYKaSbFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28822},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.4_1746533376191_0.1281116693507811","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"nestjs-opensearch-sql-parser","version":"1.0.5","_id":"nestjs-opensearch-sql-parser@1.0.5","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"6bb6553dd0c5cfc2fbdba83d69312bdb2a335126","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.5.tgz","fileCount":7,"integrity":"sha512-qGEeGMoWBomRtX4o56ybBK8uDbUel31UE7apFDDxQh+LdwAwDhTR9wPs6Ghr2TR8Kp4Wd9ZssNWcpZhXHiezwQ==","signatures":[{"sig":"MEQCIHjtx2H++DYAnay+RbGNP0SICXlIGggWK2FfwtE3tIPTAiAa7iP5ohSiyXnLQbgBH9Qzqs6+8VYtj0USBOh972qc5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28880},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.5_1746533839477_0.6516702395960541","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"nestjs-opensearch-sql-parser","version":"1.0.6","_id":"nestjs-opensearch-sql-parser@1.0.6","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"56f5fdf4bef319728c79e89c0b6416d7bbe3548a","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.6.tgz","fileCount":7,"integrity":"sha512-Surqu+ZUrRKQSJnt6107qmUGQJ2RLY+u7Nz8X81vKaiTgXyLAoVEVinpjAm0y0V7oxbPQX5o2cds59/8rBCZtQ==","signatures":[{"sig":"MEUCIQCYvENVSXPu1cJnYSj7mei6IUsF3qXvgtbTRqiXd1kq6AIgHXpIPIWhW4DRtqPCuZNeNMMzgmvPPweKRvWjr0j/Bwg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31040},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.6_1747904561525_0.1743246403394607","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"nestjs-opensearch-sql-parser","version":"1.0.7","_id":"nestjs-opensearch-sql-parser@1.0.7","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"7e4dd37057c00d612602023c276aea7c9dc973ba","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.7.tgz","fileCount":7,"integrity":"sha512-fQnNXfFV1u+DR/cXgOk18WuZpxwtLkYbSsJfjqWiJo/8g+/WH2MGs06y1HWDPpF6O+B7EFEL+ipomeUTswympg==","signatures":[{"sig":"MEYCIQC4Gs5dKcBCoupmTOp3QRgXSOb6YkOL7mAcmtR5a/o68QIhAP/yzNQeSE6ay0poK23ESpJx4vqWFdMEY3ybEdXUQRAJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33236},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.7_1747905589957_0.9854624681993871","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"nestjs-opensearch-sql-parser","version":"1.0.8","_id":"nestjs-opensearch-sql-parser@1.0.8","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"60f0a40728a0b317c2aa36e26d13dc538dab002c","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.8.tgz","fileCount":7,"integrity":"sha512-I1u8x2z4TGxGmkgupcahTtUAMaBjmRaJfbj6vmp4bvQD/jgu5zOE2/7gHdvhJ9oYfkl3UWVgQ8m60oIQmf4Oug==","signatures":[{"sig":"MEQCIBwRgv4SEcr2fQojH1OXZaCPeduseMwxleocN3OV2+OGAiAUzAQTcVzMQvCVXnBHtw58jW7K5pkEDsdx3Q9YuHj+yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33417},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.8_1747906563799_0.9433545779458288","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"nestjs-opensearch-sql-parser","version":"1.0.14","_id":"nestjs-opensearch-sql-parser@1.0.14","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"ef8b4c1bd14a87e3d73aaba2d2539410d72a83d5","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.14.tgz","fileCount":16,"integrity":"sha512-uWt8f47TNBtQBxXxlXV/rLZBbDSeDD0TayPMWJC0Qwinkcmf1bjndSoRnVz0fjcjsnkys5MPXryUldvYFk+oBg==","signatures":[{"sig":"MEUCIDrF5ToMmCALnGT4DBaMamUyJOZd1OeZqmPXYm60SdzkAiEAoWdkNHchcn8rzI/TGEBhURF+6QYMRO+z6XGXAJQtX6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64899},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.14_1753215683067_0.06345837615037264","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"nestjs-opensearch-sql-parser","version":"1.0.15","_id":"nestjs-opensearch-sql-parser@1.0.15","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"9660b86cf62413f18ed270aa0feb1c8f02555aec","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.15.tgz","fileCount":16,"integrity":"sha512-XoF8gQdyEuptluV3easeDsFw8v+SfBAuApmj85RhmK/sCM5m97Ej5HRYQ/4PnlxAdx3YvlUdflNw/VhwitXwDQ==","signatures":[{"sig":"MEUCIH9JLRVNo8ZaxDUHzVzeFWQdfy5CplO3L2H/YUwdeZYCAiEAh1Nj9vKN9VC3FpLN2Xm+VGsXuEZ23SQx6BSwHWbFYWc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64972},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.15_1753219375269_0.6517079755724167","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"nestjs-opensearch-sql-parser","version":"1.0.16","_id":"nestjs-opensearch-sql-parser@1.0.16","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"bdeb8e161e239484408627caff6d3d4520d36e81","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.16.tgz","fileCount":16,"integrity":"sha512-VJt0K+s7Sx2M4MrX7xrMKWyEE5o2QbAsxgzIVRRTOoJ66INL7KXvLNU9qETrRLOWAoHrtTOXckL7p8lNAiocFw==","signatures":[{"sig":"MEYCIQDOAHIVNyoxprx3hod0YBhCASYxaHj5bKRjBX5Rza7X+AIhAOcYoyc5E7bTQcTan6LwZ75af3zp8sShAC10dZFSkKXe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65264},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.16_1753222987983_0.9871960628483909","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"nestjs-opensearch-sql-parser","version":"1.0.17","_id":"nestjs-opensearch-sql-parser@1.0.17","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"1ec609918fc544d12a0ebfa5a1b9b2a17b5d3a24","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.17.tgz","fileCount":16,"integrity":"sha512-DQQbpV/reRia5xKhz+AtY1ockfm8gW+HWCpzaboc+QfgXn0Q5lGsXyLkGmuWKoV9DcgTxFV/Nd5LHHk+ZlJYTw==","signatures":[{"sig":"MEYCIQCJQtKyyTzJ7g+SbXcMTDr6bES0BMt/mGYNjv9sStuI5QIhAJdr5KJT7sY0z1C5V5QhQiqAVlASWM4nC0tGW+nwMCij","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65748},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.17_1753257588002_0.35738674274454696","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"nestjs-opensearch-sql-parser","version":"1.0.18","_id":"nestjs-opensearch-sql-parser@1.0.18","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"df839a24f1be88e35d4075a18c38cac9bb5cde99","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.18.tgz","fileCount":16,"integrity":"sha512-wVVLYPgHKJ+7ax2M0LwgVhifAvWyp+dRtyv6lYjkb+9djFKopKAvaO7qvki5/bgRAFs56tesoV+4EG1xH4ctXQ==","signatures":[{"sig":"MEUCIQCyeUI+MIppkSbBJAWcbQRO9I6T2R8uOD0IOU8oSR+jIAIgXsPswbPgo2Gb6b7B15+oOHS8f1c2+6NyicMVmTG16fg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65758},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.18_1753265896369_0.7706890491405147","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"nestjs-opensearch-sql-parser","version":"1.0.20","_id":"nestjs-opensearch-sql-parser@1.0.20","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"158f2de9cbdba3404a64d72c4a38a691c6d2dc71","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.20.tgz","fileCount":16,"integrity":"sha512-1p1H7kdYhzHEzCQUHaFStyOIja8TMiK1hncN/Scy4BNll391MZbu5+HQze49KlMzJy7My67YJvVyOgDAQBsK1w==","signatures":[{"sig":"MEUCIQCl1Hb3NNwWGMFeXYawlkUzz9+FM4nJWdJHRNZAvqbCBQIgdL9Jvb9OArzubX3LbYP1SmJIc4lwTNSJ4CPe42k6EnQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65742},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.20_1753283472223_0.07212927613151576","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"nestjs-opensearch-sql-parser","version":"1.0.21","_id":"nestjs-opensearch-sql-parser@1.0.21","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"d375393a3bd1d541405362a6123e42093dfc9a8f","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.21.tgz","fileCount":16,"integrity":"sha512-TriJ5n5AbU/l6qgdQxtOhf3B9EROhi321lW75LMfi12v2sNa8JMVXv/UDQl2Uqn/lycL8HmC/LrLIqG2GtYAbQ==","signatures":[{"sig":"MEUCIQC9OiZc7Z7gRbmMiCjAc1whJ8rz2ZojILmCVR8l/vmScAIgHg9P2MBQ1n7zASEBEPkeMFk3ySE0L6oO30tG62ISrwo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65742},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.21_1757613604960_0.6522020125188273","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"nestjs-opensearch-sql-parser","version":"1.0.22","_id":"nestjs-opensearch-sql-parser@1.0.22","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"eff99cb56801355efc3a40d5ab99a9771b3a54d5","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.22.tgz","fileCount":16,"integrity":"sha512-jMOBq2V/iFiD7DUOjjxqPgrKgq0jJh/oAodLqGfx7TenJRhMjPDbysIkPgXIaN7G+4Id7EP/igdbhTWul5Zf+w==","signatures":[{"sig":"MEYCIQDqX1S6b2XXMQIutl5BvR1fy4MR468srR4wHu4d8mII9QIhAOQph4u62uVHjZFMCdnvqyaVG1tNT5mHaIy9XkAh1skO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65742},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.22_1757614670868_0.1479584454061973","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"nestjs-opensearch-sql-parser","version":"1.0.23","_id":"nestjs-opensearch-sql-parser@1.0.23","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"57b8d6bbede00e78b200b40e83ae8f1c1887814d","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.23.tgz","fileCount":16,"integrity":"sha512-hI+kaydaWBKgKbsTiTfykj9Jn2nDwAhw9sGAgFsXqRDvXQU2kilFT+wLwyB3J0qJw107Jw/khBaju6hSReLtJA==","signatures":[{"sig":"MEUCIEn6en30kYplWbeFS+L1mO/5I0A8S0WEbffsjcj0i8I/AiEAjRFb1vt2OZrMtyhi5BRoRHfUadIt7rgGTzrL0i20/IA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65742},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.23_1757615149604_0.6360805232056106","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"nestjs-opensearch-sql-parser","version":"1.0.24","_id":"nestjs-opensearch-sql-parser@1.0.24","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"66560e8af99713ad4e9f37a6f664ae39b69c490c","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.24.tgz","fileCount":14,"integrity":"sha512-gqHWEZ0xMStqk+jPsDh2IboVG5SZ/MJQJASFyKcu9z9sjvNHmI934ZwEpc1rAP2MKzBkpWUIlHZWBrNt0Ze9pQ==","signatures":[{"sig":"MEYCIQD0rW+b3hXABh8Ovh3Nq3W2+Iks7V0XRf/cxUSunSvgDAIhAKuOBpFnDYbkCg43R/7iqdiNnX59j7da6oCaoWJCu+7E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64435},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.24_1757618290351_0.1600723564968185","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"nestjs-opensearch-sql-parser","version":"1.0.25","_id":"nestjs-opensearch-sql-parser@1.0.25","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"88542ff95386b4b150d866f481da75e15d58f775","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.25.tgz","fileCount":14,"integrity":"sha512-LQiW6prGg1eG0qr69H1vFF8re4RoYMf7nrlVe+WIVgNNf9ZfjeXApxK8pg2pVX7CLXc8tjyjgahzhySSiwrBAQ==","signatures":[{"sig":"MEQCICghPZfwa8XstAVJ0G/WyI/zEWbkvh++t5Aa40khhSC6AiA/kjH47fnPzNQpfq1pGjYTG0d7IpiEg9m50pbzAPjtgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64577},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.25_1757619559710_0.39374370995805763","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"nestjs-opensearch-sql-parser","version":"1.0.26","_id":"nestjs-opensearch-sql-parser@1.0.26","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"49b1eebd6b7cd754306bada3bb5e561b28ae1035","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.26.tgz","fileCount":14,"integrity":"sha512-0FeQwBZL00NBoJBNwCPz3SkNOMdlD9w44wqHy/dyMqkqhUifVajz+Mp3Fkben0IQo4GvgXVIflOVKfUIN9swgw==","signatures":[{"sig":"MEUCIQCT6X/wc9PcV6fSLvmUnDrujM3c/5f5k1M5Swfb3h5oWwIgD048DLSzs/oRrWKpjOsxH7QRxOu0+zEJGQadgNr12f0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64577},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.26_1764187604967_0.7962944771260443","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"nestjs-opensearch-sql-parser","version":"1.0.27","_id":"nestjs-opensearch-sql-parser@1.0.27","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"80bfbf09bfe3d821d89ad942bb81c12c10a14ad4","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.27.tgz","fileCount":14,"integrity":"sha512-ZeN2hFBDTzKhTZzcTxctP1fNTR+cUytaWcH9RenNS50jHTdjwX70Dg/PqpzC23JWYk4aEcWZvFStFEP6EylkIg==","signatures":[{"sig":"MEQCIDBr1B26dtIxiDnJqOkSAk0Q5LoNueg1Ul/FSBnuj30oAiB7HJl/v/U2uiMptR2X4dcEGC8bM+uZu12jV1T2CAGodA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64577},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.27_1764187691217_0.553711996050519","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"nestjs-opensearch-sql-parser","version":"1.0.28","_id":"nestjs-opensearch-sql-parser@1.0.28","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"19f1d8a44f12f1f8e41c35d95627a73d8ee40438","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.28.tgz","fileCount":14,"integrity":"sha512-uEKd3cPPUY6tFviRKAY2tmUcICJgEVySQg/BQ0Y6LhRzkJ5jr/5kdg+ov7HKOCNaiUkN6mx/GsiUJUnk6t5xNQ==","signatures":[{"sig":"MEYCIQDt5NUGfIMDLTCP4xRNgzOnliUpysTUwbPME243V/GKEgIhANRZAM5fVwvbMW1bL681INCis/ZdtW96qqsJzYGzW6q9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64577},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"b05318d28667862927c29d7eebd6455cdcf8f151","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.28_1764192851026_0.7037679547552846","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"nestjs-opensearch-sql-parser","version":"1.0.29","_id":"nestjs-opensearch-sql-parser@1.0.29","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"69a947314b709b0d48b108516fe428092f0f9716","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.29.tgz","fileCount":14,"integrity":"sha512-ZkmupkyY2YdiUTR41FjWxJoVTyTmn43PuhQOQC9x/u7oIXUrhNStezM9RszhG/EAoyMNwF6Fa3uiYuPUoj4SrQ==","signatures":[{"sig":"MEUCIGMnGOmBnYvVCsZIf1SsZyw8FWkPWRxOrF+WbG5ql5nbAiEAzq+/mJ/A90pmpkgRrBxHKEQjzrNrA5zZtddpVExaOOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64577},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"9d6f409026ea83d2fbf42d8e3be4184926326115","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.29_1764193845321_0.8491463571590914","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"nestjs-opensearch-sql-parser","version":"1.0.30","_id":"nestjs-opensearch-sql-parser@1.0.30","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"225a23f7e64f309a226a56d23ee58e4450911806","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.30.tgz","fileCount":14,"integrity":"sha512-j8U9rZyWDMdkhrXpL9xcWDgfGZC+SN6rPE+JiCM8iO7LuGBwBKuthBE5Fxf0rdvHAVurJIK/4MEm2laoj1GWDg==","signatures":[{"sig":"MEUCIFU/uL/A08jB+p1mjnQS4jeAF58NC+4NNqOkUoIkORxKAiEAs3YSJ5nRg4KNNNX2TfA0d87n2Jkt/uYGWN7PxAcOO8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68357},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"9d6f409026ea83d2fbf42d8e3be4184926326115","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.30_1764196265813_0.3631919388897811","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"nestjs-opensearch-sql-parser","version":"1.0.31","_id":"nestjs-opensearch-sql-parser@1.0.31","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"66061c2032a18d4146c298cceb6da65a7113a6e6","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.31.tgz","fileCount":14,"integrity":"sha512-2lU7cnOPPiIfvhZzdXa5xvd2z63nuhQXU3EkvY75uwNe3SwKrws4g5P/yUttc4KpoBKGRQarepMmN4tIhXS/zQ==","signatures":[{"sig":"MEUCIHVBoRf9uOyWPPgvWWtvap00cVoz9Nxo9k3hVBxGfkmvAiEAvFiTse6fiy7ddtlMkvDxbbzRtq8drhYeqwfm9xXdBto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69418},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"b793d1466085d9006c19314af63c79b204006152","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.31_1764226082464_0.7297661636297004","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"nestjs-opensearch-sql-parser","version":"1.0.32","_id":"nestjs-opensearch-sql-parser@1.0.32","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"5e9d1f218377874bf0274b5f14a85556ed60efe5","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.32.tgz","fileCount":14,"integrity":"sha512-nLlQzb3u9jcLAGvAf1G1MAxQRcz5URPS7+wDS6Gj4km3EL3he1WsTKSaywE0cUjUSPsNwFQx/sLvOQzrQLCuAA==","signatures":[{"sig":"MEYCIQC7tLnq84DQJwNh6apiDADD2D4uHRgNLtXYbIhEA6FmQwIhAJ3Mm2XHPiwm3D7uH1fK4fkhuwAZSoEWbZiYdwCH9UZw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69497},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2cfd195c412e3d16a108baf851a6a4d5b8aba122","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.32_1764227774691_0.3181941057640274","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"nestjs-opensearch-sql-parser","version":"1.0.34","_id":"nestjs-opensearch-sql-parser@1.0.34","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"e47f02e605fc29c4fd3d23dbe192830a49fbfaee","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.34.tgz","fileCount":14,"integrity":"sha512-6cNIZteHDnF17Ni297iVYt8CbxnPedAACxDEQ8Hee65gwGPGDEh/wlnzNnPudKNfcL/PZsooK5CcMz5GjyoYzA==","signatures":[{"sig":"MEUCIBrAPME8el5+eHzGQGwwFuUul2+HlabKO6Ehw8kuA0ZMAiEAhUNxxV0KOPjJpLytfNKGVWMDb1ZkIYmgudr8TVZnzrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69578},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"043346076ffd3dc35dbae47035552ced44359872","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.34_1764232185162_0.5535046833535087","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"nestjs-opensearch-sql-parser","version":"1.0.35","_id":"nestjs-opensearch-sql-parser@1.0.35","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"48703b36d863bb165e1dcdf2320ba68082438773","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.35.tgz","fileCount":14,"integrity":"sha512-qq1uOtvulvqlGRQTUj4Mt38TiBLEOQKSXU9asAlTsOfyP/EQjg1AfPs6qEkRwD6cVat182s37HdjfqgU4JqBHQ==","signatures":[{"sig":"MEUCIQCP3xD9Vh3ll7I4bAPCIq69qfWRmvPrj+Vq1uqB+OjRiQIgfaxozCe1Ry4icVz82JqLknwAUTSmIGMNTg7STI2lSK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69650},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ef51d6c6404302103d25a8c6600da05c533a5d3c","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.35_1764233746050_0.7615518820932023","host":"s3://npm-registry-packages-npm-production"}},"1.0.36":{"name":"nestjs-opensearch-sql-parser","version":"1.0.36","_id":"nestjs-opensearch-sql-parser@1.0.36","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"dist":{"shasum":"8789a66d7715cf7a54179f8d18c1657ccf82dbf4","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.36.tgz","fileCount":14,"integrity":"sha512-ba5pxSpSe4PTRkT3jppkMmbg2Q68jJP0QQehC/s5CqR6rM6T5B70SohC6HW9dYHWDzp+aMRp4Hvtv0bzGagIEQ==","signatures":[{"sig":"MEUCIQDo9A/xQzLP8NsHRDVGQK/5l6xASw2KV2u+nrZ0loFGBAIgTrY9B2Ro2luFjE8v3OKTy85CBIME0zFIYVtghuzLdOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69799},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"07a725061e4b0cf42daa4ab32f4340839742147c","scripts":{"build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"_npmVersion":"10.9.2","description":"NestJS module with OpenSearch and SQL parsing","directories":{},"_nodeVersion":"23.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","node-sql-parser":">=5.3.8 <9.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-opensearch-sql-parser_1.0.36_1764249711340_0.0959802626769568","host":"s3://npm-registry-packages-npm-production"}},"1.0.37":{"name":"nestjs-opensearch-sql-parser","version":"1.0.37","description":"NestJS module with OpenSearch and SQL parsing","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build"},"peerDependencies":{"@nestjs/common":">=10.0.0 <12.0.0","@opensearch-project/opensearch":">=2.7.0 <4.0.0","node-sql-parser":">=5.3.8 <9.0.0"},"devDependencies":{"@types/node":"^26.1.1","typescript":"^5.8.3"},"gitHead":"985e65b133ae493fa88bcd89678a9ac46624a5c3","_id":"nestjs-opensearch-sql-parser@1.0.37","_nodeVersion":"22.20.0","_npmVersion":"11.10.1","dist":{"integrity":"sha512-8vWurQmUIl8biWktvhZ2qtC8R5GmRJ/tdU8yqhiiYXcFGTzDFaVYjCe7IOm3WcrrOigTEJpCrQCsWYmX5qBNAw==","shasum":"98c47778c5a282218434aad7b1dd9a5c885a44ac","tarball":"https://registry.npmjs.org/nestjs-opensearch-sql-parser/-/nestjs-opensearch-sql-parser-1.0.37.tgz","fileCount":14,"unpackedSize":66353,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCPRN4ZQD+HgrlmU6Am5blN7D4jk7/fAKu1BynZ4BKuFgIhAJBWBQitNWvZuljsdL9ZAn9ej4ask6ZKo5XqovzGJYQm"}]},"_npmUser":{"name":"volodarik9","email":"volodarik9@gmail.com"},"directories":{},"maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs-opensearch-sql-parser_1.0.37_1784807404244_0.2948303476324503"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-28T05:42:11.802Z","modified":"2026-07-23T11:50:04.527Z","1.0.0":"2025-04-28T05:42:11.998Z","1.0.1":"2025-05-06T10:08:57.422Z","1.0.2":"2025-05-06T10:16:46.092Z","1.0.3":"2025-05-06T12:04:59.607Z","1.0.4":"2025-05-06T12:09:36.392Z","1.0.5":"2025-05-06T12:17:19.681Z","1.0.6":"2025-05-22T09:02:41.704Z","1.0.7":"2025-05-22T09:19:50.136Z","1.0.8":"2025-05-22T09:36:04.026Z","1.0.9":"2025-07-22T19:03:26.205Z","1.0.10":"2025-07-22T19:09:38.839Z","1.0.11":"2025-07-22T19:20:03.943Z","1.0.12":"2025-07-22T19:57:58.415Z","1.0.13":"2025-07-22T20:12:03.566Z","1.0.14":"2025-07-22T20:21:23.291Z","1.0.15":"2025-07-22T21:22:55.507Z","1.0.16":"2025-07-22T22:23:08.199Z","1.0.17":"2025-07-23T07:59:48.184Z","1.0.18":"2025-07-23T10:18:16.530Z","1.0.20":"2025-07-23T15:11:12.418Z","1.0.21":"2025-09-11T18:00:05.164Z","1.0.22":"2025-09-11T18:17:51.067Z","1.0.23":"2025-09-11T18:25:49.822Z","1.0.24":"2025-09-11T19:18:10.552Z","1.0.25":"2025-09-11T19:39:19.905Z","1.0.26":"2025-11-26T20:06:45.185Z","1.0.27":"2025-11-26T20:08:11.431Z","1.0.28":"2025-11-26T21:34:11.219Z","1.0.29":"2025-11-26T21:50:45.493Z","1.0.30":"2025-11-26T22:31:06.017Z","1.0.31":"2025-11-27T06:48:02.682Z","1.0.32":"2025-11-27T07:16:14.901Z","1.0.34":"2025-11-27T08:29:45.355Z","1.0.35":"2025-11-27T08:55:46.260Z","1.0.36":"2025-11-27T13:21:51.549Z","1.0.37":"2026-07-23T11:50:04.387Z"},"description":"NestJS module with OpenSearch and SQL parsing","maintainers":[{"name":"volodarik9","email":"volodarik9@gmail.com"}],"readme":"Звісно! Ось вичерпний переклад документації для `SqlWrapperService` українською мовою.\n\n---\n\n# SQL-обгортка для OpenSearch у NestJS\n\nЦей документ описує `SqlWrapperService`, ін'єктований сервіс NestJS, що діє як шар трансляції між SQL-подібною мовою запитів та мовою специфічною для домену OpenSearch (DSL). Він дозволяє розробникам надсилати запити до кластера OpenSearch, використовуючи звичний синтаксис SQL, що спрощує типові завдання з отримання та агрегації даних.\n\nСервіс використовує бібліотеку `node-sql-parser` для розбору (парсингу) SQL-запитів і трансформує Абстрактне синтаксичне дерево (AST) у відповідний запит OpenSearch DSL.\n\n## ✨ Особливості\n\n- **Трансляція з SQL у DSL**: Пишіть прості SQL-запити для роботи з вашими індексами OpenSearch.\n- **Спрощені запити**: Абстрагує складність OpenSearch DSL для поширених сценаріїв використання.\n- **Підтримувані операції**:\n    - `SELECT`, `FROM`, `WHERE`\n    - `ORDER BY`\n    - `LIMIT` (з `OFFSET` та без)\n    - `AND`, `OR`, а також широкий спектр операторів порівняння (`=`, `!=`, `>`, `<`, `IN`, `BETWEEN`, `LIKE`, `IS NULL` тощо).\n- **Потужні агрегації**:\n    - `COUNT(*)` та `COUNT(field)`\n    - `SUM()`, `AVG()`, `MIN()`, `MAX()`\n    - `GROUP BY` для одного або кількох полів.\n    - `HAVING` для фільтрації згрупованих результатів.\n    - `SELECT DISTINCT` для отримання унікальних значень полів.\n- **Пошук за шаблоном індексу**: Використовуйте вайлдкарди (`*`) або регулярні вирази (`/.../`) у `FROM` для запитів до кількох індексів одночасно.\n- **Автоматичне використання поля `keyword`**: Розумно використовує `.keyword` або інші під-поля для агрегацій, сортування та точних запитів (term-level queries) для забезпечення коректності.\n- **Кешування мапінгів полів**: Кешує мапінги індексів, щоб зменшити затримку при повторних запитах.\n- **Параметризовані запити**: Безпечно передавайте динамічні значення у ваші SQL-запити за допомогою плейсхолдерів (`$1`, `$2` тощо).\n\n## ⚙️ Налаштування та встановлення\n\n### 1. Залежності\n\nСпершу переконайтеся, що у вашому проєкті NestJS встановлені необхідні пакети.\n\n```bash\nnpm install @opensearch-project/opensearch node-sql-parser\n```\n\n### 2. Конфігурація модуля\n\n`SqlWrapperService` потребує екземпляра `Client` з OpenSearch, доступного для ін'єкції. Рекомендований спосіб — створити для OpenSearch окремий модуль.\n\n#### Приклад: `opensearch.module.ts`\n\nСтворіть модуль, який надаватиме клієнт OpenSearch. Сервіс використовує токен ін'єкції `'OPEN_SEARCH'` для отримання екземпляра клієнта.\n\n```typescript\n// src/opensearch/opensearch.module.ts\n\nimport { Module } from '@nestjs/common';\nimport { Client } from '@opensearch-project/opensearch';\n\n@Module({\n  providers: [\n    {\n      provide: 'OPEN_SEARCH',\n      useFactory: () => {\n        // Налаштуйте ваш клієнт OpenSearch тут\n        const client = new Client({\n          node: process.env.OPENSEARCH_URL || 'http://localhost:9200',\n          // За потреби додайте інші конфігурації, наприклад, автентифікацію\n        });\n        return client;\n      },\n    },\n  ],\n  exports: ['OPEN_SEARCH'], // Експортуйте провайдер\n})\nexport class OpenSearchModule {}\n```\n\n### 3. Інтеграція сервісу\n\nТепер ви можете імпортувати `OpenSearchModule` у ваш функціональний модуль та надати `SqlWrapperService`.\n\n#### Приклад: `app.module.ts`\n\n```typescript\n// src/app.module.ts\n\nimport { Module } from '@nestjs/common';\nimport { AppController } from './app.controller';\nimport { AppService } from './app.service';\nimport { SqlWrapperService } from './sql-wrapper.service'; // За потреби змініть шлях\nimport { OpenSearchModule } from './opensearch/opensearch.module'; // Імпортуйте новий модуль\n\n@Module({\n  imports: [OpenSearchModule], // Імпортуйте OpenSearchModule\n  controllers: [AppController],\n  providers: [\n    AppService,\n    SqlWrapperService, // Додайте SqlWrapperService до провайдерів\n  ],\n})\nexport class AppModule {}\n```\n\n## 🚀 Використання\n\nІн'єктуйте `SqlWrapperService` у ваші контролери чи сервіси та використовуйте його методи `queryAll` або `queryOne`.\n\n### Публічні методи\n\n- `queryAll<T>(sql: string, args: unknown[] = [], returnRaw = false): Promise<T[]>`: Виконує SQL-запит і повертає масив результатів.\n  - `sql`: Рядок SQL-запиту.\n  - `args`: Масив значень для заміни плейсхолдерів (`$1`, `$2`, ...).\n  - `returnRaw`: Якщо `true`, повертає \"сирі\" результати OpenSearch (`{ _index, _id, _score, _source }`). За замовчуванням `false`, що повертає лише об'єкт `_source`.\n- `queryOne<T>(sql: string, args: unknown[] = []): Promise<T>`: Зручний метод, який виконує запит і повертає лише перший результат.\n\n### Приклади\n\nПрипустимо, у нас є індекс `products` із полями `name`, `category`, `price` та `stock_quantity`.\n\n#### 1. Базовий Select з `WHERE` та `ORDER BY`\n\n```typescript\nimport { Controller, Get } from '@nestjs/common';\nimport { SqlWrapperService } from './sql-wrapper.service';\n\n@Controller('products')\nexport class ProductsController {\n  constructor(private readonly sql: SqlWrapperService) {}\n\n  @Get()\n  async findExpensiveLaptops() {\n    const query = `\n      SELECT name, price\n      FROM products\n      WHERE category = 'Laptops' AND price > 1500\n      ORDER BY price DESC\n      LIMIT 10\n    `;\n    return this.sql.queryAll(query);\n  }\n}\n```\n\n#### 2. Параметризований запит\n\nВикористання плейсхолдерів запобігає SQL-ін'єкціям і спрощує створення динамічних запитів.\n\n```typescript\n@Get('search')\nasync searchProducts(\n  @Query('category') category: string,\n  @Query('minPrice') minPrice: number,\n) {\n  const query = `\n    SELECT name, price, stock_quantity\n    FROM products\n    WHERE category = $1 AND price >= $2\n    LIMIT 50\n  `;\n  // '$1' буде замінено на category, '$2' на minPrice\n  const args = [category, minPrice];\n  return this.sql.queryAll(query, args);\n}\n```\n\n#### 3. Агрегація COUNT\n\n```typescript\n@Get('count')\nasync countProducts() {\n  const query = `SELECT COUNT(*) FROM products WHERE stock_quantity > 0`;\n  const result = await this.sql.queryOne<{ count: number }>(query);\n  // Повертає: { count: 1234 }\n  return result;\n}\n```\n\n#### 4. `GROUP BY` з агрегаціями та `HAVING`\n\nОтримати середню ціну та загальну кількість товарів для кожної категорії, але лише для категорій, де товарів більше 10.\n\n```typescript\n@Get('stats')\nasync getCategoryStats() {\n  const query = `\n    SELECT\n      category,\n      AVG(price) as avg_price,\n      SUM(stock_quantity) as total_stock\n    FROM products\n    GROUP BY category\n    HAVING COUNT(*) > 10\n    ORDER BY avg_price DESC\n  `;\n  // Повертає: [{ category: 'Monitors', avg_price: 899.99, total_stock: 540 }, ...]\n  return this.sql.queryAll(query);\n}\n```\n\n#### 5. `SELECT DISTINCT`\n\nЗнайти всі унікальні категорії.\n\n```typescript\n@Get('categories')\nasync findDistinctCategories() {\n  const query = `SELECT DISTINCT category FROM products`;\n  // Повертає: [{ category: 'Laptops' }, { category: 'Monitors' }, ...]\n  return this.sql.queryAll(query);\n}\n```\n\n#### 6. Використання шаблонів індексів\n\nЗапит до всіх логів за певний рік.\n\n```typescript\n@Get('logs/2023')\nasync getLogsForYear() {\n  // Використання вайлдкарда\n  const query = `SELECT message, level FROM \"logs-2023-*\" WHERE level = 'error' LIMIT 100`;\n\n  // Використання регулярного виразу (потужніше, але потенційно повільніше)\n  // const query = `SELECT message, level FROM /logs-2023-.*/ WHERE level = 'error' LIMIT 100`;\n\n  return this.sql.queryAll(query);\n}\n```\n\n## 📖 Підтримувані можливості SQL\n\n| Можливість     | Рівень підтримки                                                                                                                                                         | Приклад                                                                          |\n|----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|\n| **`SELECT`**   | `*`, конкретні стовпці (`col1`, `col2`), аліаси (`col1 as my_col`).                                                                                                        | `SELECT name, price as p FROM products`                                          |\n| **`FROM`**     | Один індекс, індекс із вайлдкардами (`my-index-*`), індекс із регулярним виразом (`/my-index-\\d+/`).                                                                       | `FROM \"logs-2023-*\"`                                                             |\n| **`WHERE`**    | `AND`, `OR`, `()`. Оператори: `=`, `!=`, `>`, `>=`, `<`, `<=`, `IN`, `NOT IN`, `BETWEEN`, `LIKE`, `ILIKE` (нечутливий до регістру), `IS NULL`, `IS NOT NULL`, `REGEXP`. | `WHERE (name LIKE '%Macbook%' OR category = 'Laptops') AND price > 1000`         |\n| **`LIMIT`**    | `LIMIT count`, `LIMIT offset, count`.                                                                                                                                    | `LIMIT 100` або `LIMIT 50, 10`                                                   |\n| **`ORDER BY`** | Один або кілька стовпців, `ASC` або `DESC`. Підтримує сортування за агрегованими полями в запитах `GROUP BY`.                                                              | `ORDER BY category ASC, price DESC`                                              |\n| **Агрегати**   | `COUNT(*)`, `COUNT(field)`, `SUM(field)`, `AVG(field)`, `MIN(field)`, `MAX(field)`.                                                                                       | `SELECT AVG(price), MAX(price) FROM products`                                    |\n| **`GROUP BY`** | Один або кілька полів. Має використовуватися з агрегатними функціями у `SELECT`.                                                                                           | `GROUP BY category, brand`                                                       |\n| **`HAVING`**   | Фільтрує результати `GROUP BY` на основі агрегатної функції.                                                                                                               | `HAVING COUNT(*) > 5`                                                            |\n| **`DISTINCT`** | `SELECT DISTINCT col1, col2, ...`.                                                                                                                                       | `SELECT DISTINCT category, brand FROM products`                                  |\n\n## ⚠️ Обмеження та застереження\n\n- **Не повноцінний SQL-рушій**: Цей сервіс є транслятором, а не базою даних. Складні можливості SQL, такі як `JOIN`, підзапити, віконні функції та загальні табличні вирази (CTE), **не підтримуються**.\n- **Обмеження парсера**: Трансляція обмежена тим, що може успішно розібрати `node-sql-parser`. Дуже складний або нестандартний синтаксис SQL може не спрацювати.\n- **Продуктивність**:\n    - Запити за шаблонами індексів (`*` або `/.../`) можуть бути повільними на великих кластерах. За можливості будьте більш конкретними.\n    - Запити `LIKE` з вайлдкардом на початку (наприклад, `'%term'`) перетворюються на запити OpenSearch `wildcard`, які є неефективними.\n- **Пагінація з `GROUP BY`**: Сервіс отримує всі згруповані результати з OpenSearch за допомогою композитної агрегації, а потім застосовує `HAVING`, `ORDER BY` та `LIMIT` в пам'яті. Це може споживати значний обсяг пам'яті, якщо кількість унікальних груп дуже велика.\n- **`DISTINCT` для кількох полів**: Ця функція реалізована через скриптову агрегацію, яка може бути повільнішою, ніж агрегації по одному полю.\n- **Мапінги полів**: Сервіс покладається на мапінги ваших індексів в OpenSearch. Для агрегацій, сортування та точних збігів (`=`) він автоматично намагається використовувати під-поле `.keyword` або `.lower`, якщо воно доступне. Переконайтеся, що ваші текстові поля мають під-поле `keyword` для коректної роботи.\n","readmeFilename":"README.md"}