{"_id":"@5no/pg-builder","_rev":"5-decbf85e2add1348fb74d514d10a8a78","name":"@5no/pg-builder","dist-tags":{"latest":"1.2.4"},"versions":{"1.2.0":{"name":"@5no/pg-builder","version":"1.2.0","description":"Simple query builder for PostgreSQL","main":"compiled/index.js","scripts":{"clean":"rm -rf compiled","lint":"eslint --ext .js src","lint:fix":"eslint --fix --ext .js src","test":"mocha test","build":"babel src -d compiled","release":"yarn lint && yarn clean && yarn build && yarn test"},"author":{"name":"reb2020"},"license":"MIT","keywords":["postgresql","sql","query","builder","parameter","param","parameterized"],"homepage":"https://5no.io","repository":{"type":"git","url":"git+https://github.com/reb2020/5no-pg-builder.git"},"dependencies":{"dotenv":"^6.1.0","pg":"^7.5.0","pg-pool":"^2.0.0","url":"^0.11.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^10.0.1","babel-preset-es2015":"^6.24.1","babel-preset-stage-0":"^6.24.1","chai":"^4.2.0","eslint":"^4.0.0","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.0","eslint-plugin-standard":"^3.0.0","mocha":"^5.2.0"},"gitHead":"9a1c596cd6cbf8f257f44cfaf414325e3d3b3ab8","bugs":{"url":"https://github.com/reb2020/5no-pg-builder/issues"},"_id":"@5no/pg-builder@1.2.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-Rr1Ma0zwIvn05DDfLcU2hHbMSJJmSHxdenL5cyH4ItvD2QszKa7Fp6SFz/67EPSbCBs8+sADvm7azEp+bdn/ug==","shasum":"d630548a3294f4e6536dd9b01232e3ad6fd23f20","tarball":"https://registry.npmjs.org/@5no/pg-builder/-/pg-builder-1.2.0.tgz","fileCount":135,"unpackedSize":121864,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeDc4hCRA9TVsSAnZWagAAJOYP/03MBoy9+EM4S2VoXsDY\nB8cNrm2qQPchZoZEUYus7uiyj5wfjzMHfNWPt4Ohdd/Vvhel6ns0kWAFFoFk\n/k6dpuMUHFt7Y73vsXRNt4sHfs+306V+RFW9MKbrdUnHPBUnwibexUMZ6Xw5\nUgtWjSDMyltuxWr9iTCFoozlOenRuYANywBDJ4vapA60pn8nqj7Io4GxDu3R\n2YcK2vFovDt1397Fkm/xRrBzDwbracLXAkQ7WMKOAYSy4Lkc8NSK5ZiqmZ+Q\njto6PZGEmkWXmjpiVzaoQTrpQheA1mV8w35kHyHllIFDpK0ZToiRIT2ePHTH\nn7Bmm/QdwX8aRTivbBlm5FI/R1rQqntiGyuviGbMW/Mf3E2a3UEJ2umLZi7/\n2VaKa2L1DKlPl9+fyBdOxK8d5e70bf6ws441JAMEzeShQs48mcQu6FWAW3X6\nkCqw3LbOpqrDUc6jQbBFu17JjdDe9gJToa3SDd+etar5Tm6gVXKoieb9TD6b\nbgdRrwA3z+iWdbzNBu0TgTbHmsBJ38cWI5XzAEGIg4zEe0FnHro6dL1n9Ovp\nMVdzBrqsTJ/zQhDrBLD2K3w/srv/NCLVJFTZdkry+sV4d1htXPDuVbfZqHgF\nRU/sB5sb/YtpEuQXtS91Wfmt5IHxOjtrVyS0fsP15LzfjawvN535/ADSBaXW\nrp5S\r\n=nCgL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYuEFy5Ua94TLyDHEYnQlqpCXHp5KaTgFJQeU8jyDuLgIgKtwVzFoCQOraF5hRgWNPDtiZUEk3dv7HwVOsTmA1Fns="}]},"maintainers":[{"name":"reb2020","email":"reb2020@gmail.com"}],"_npmUser":{"name":"reb2020","email":"reb2020@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pg-builder_1.2.0_1577963040727_0.6098883844574972"},"_hasShrinkwrap":false},"1.2.1":{"name":"@5no/pg-builder","version":"1.2.1","description":"Simple query builder for PostgreSQL","main":"lib/index.js","scripts":{"clean":"rm -rf lib","lint":"eslint --ext .js src","lint:fix":"eslint --fix --ext .js src","test":"mocha test","build":"babel src -d lib","prepare":"yarn lint && yarn clean && yarn build && yarn test"},"author":{"name":"reb2020"},"license":"MIT","keywords":["postgresql","sql","query","builder","parameter","param","parameterized"],"homepage":"https://5no.io/","repository":{"type":"git","url":"git+https://github.com/reb2020/5no-pg-builder.git"},"dependencies":{"dotenv":"^8.2.0","pg":"^8.0.0","pg-pool":"^3.0.0","url":"^0.11.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-eslint":"^10.0.1","babel-preset-es2015":"^6.24.1","babel-preset-stage-0":"^6.24.1","chai":"^4.2.0","eslint":"^4.0.0","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.0","eslint-plugin-standard":"^3.0.0","mocha":"^5.2.0"},"_id":"@5no/pg-builder@1.2.1","dist":{"shasum":"c14b4340be8fee91735e7ba2f55e404a2638ebdb","integrity":"sha512-Fh0mBPiNS0mOT/Bn7FctZBPu2TYfosiE59S9J+EbMIHqn0U1fCmVQ9kwQBYhUVLlBhr1VyOsSLqZQT35CrjV3w==","tarball":"https://registry.npmjs.org/@5no/pg-builder/-/pg-builder-1.2.1.tgz","fileCount":70,"unpackedSize":55193,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeh6HpCRA9TVsSAnZWagAA4XMP/ju6WnbENu5qhV2s9inV\nsoQ0yaHQP8SsPnL0ywoZsMXKbUwMsfGY36Z3FkxogdTWmBwhFNi+AQ76Y5FA\nOz5QCAOwBGNOrW/ENJnQydgRJqERwZEmRPaxV9B0ba5rNKoIdrvqyLr9EimI\nqqEaZp4di0l/xRBXMxYGyUAJV78cFnKdtDUG6r9gyFAuvfiNW9hbsW5iAvc9\nVDjrTg6yc6n2B+/PHUhzgAOk7kf4a6wFLUFIZVN5P8vNUJe/76DqwBGLNWJv\nni/AMViHCdo08ucxNRSl6N03sONcluDAlP8VZSDn4HVKDYqxseVbuCz6/PE0\n6Ty+fDFOAIqvecqQ2csZRI3iiD0ZraI/k046l4r0B39RFNksoP1jAcg/z8XM\nBwORbSlfPMCTzDW3EZXSoLDXVeSgeafOetcmSmmWQ3GEUaWgW0yNamL6tF3I\nUK221NYD/XYSC2FEGE4Wxjt6gHOiwlG2xxpi/kzn69J84hujkJmV5EgmpZ/x\n0OoOhbR0X1ySOXqvtKolkpM2mth5fOI58S2od84G7oqH8H8kUgIY8DzLELE8\ncy3ggzXMmTEjuXMswAcGQuKoX2S/p4m/LIdKHzco9Rwa5dnbyUhA5FCq5g+b\n6PzTX3SOiFh12cmcUYOWLSra638tM9UdHIe7Gu9O5EPSvXikEbiMC5Lrn7zM\nhhu1\r\n=3AC3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCl0qCI+WvAoAI+JTYoyRgfP3KahiLKVk6gHG+Fncr3MQIgdGP6LIt3kSxCmSKZyj6RX1DFTrYo1ZRKfM7F8e/UFo4="}]},"maintainers":[{"name":"reb2020","email":"reb2020@gmail.com"}],"_npmUser":{"name":"reb2020","email":"reb2020@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pg-builder_1.2.1_1585947112892_0.4967388671768185"},"_hasShrinkwrap":false},"1.2.2":{"name":"@5no/pg-builder","version":"1.2.2","description":"Simple query builder for PostgreSQL","main":"index.js","types":"typings/index.d.ts","scripts":{"clean":"rm -rf lib","lint":"eslint --ext .ts src","lint:fix":"eslint --fix --ext .ts src","test":"mocha test","build":"tsc","prepare":"yarn lint && yarn clean && yarn build && yarn test"},"author":{"name":"reb2020"},"license":"MIT","keywords":["postgresql","sql","query","builder","parameter","param","parameterized"],"homepage":"https://5no.io/","repository":{"type":"git","url":"git+https://github.com/reb2020/5no-pg-builder.git"},"dependencies":{"dotenv":"^8.2.0","pg":"^8.5.1","pg-pool":"^3.2.2","url":"^0.11.0"},"devDependencies":{"@types/node":"^14.6.2","@types/pg-pool":"^2.0.2","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.17.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.22.0","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^8.1.3","typescript":"^4.1.3"},"_id":"@5no/pg-builder@1.2.2","dist":{"shasum":"67edf36b73c5c16fc6b49a07c61cf8b41b9bf80a","integrity":"sha512-DJTXjHYqLgcH7vxssutUgaeBMFNrYsQ+C8yhl2S7ptjumSBXQb35u/lCnQdgXISZEJDiJCfKd5yIC47OuKWdCg==","tarball":"https://registry.npmjs.org/@5no/pg-builder/-/pg-builder-1.2.2.tgz","fileCount":136,"unpackedSize":72119,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/iBsCRA9TVsSAnZWagAAox8P/jf1DvpAsfIPug+SyPt+\n66DbwrvsN/vdv3w66VdQGc76hNh7KdFmRNNGVnK7dDPzGG927luPhFsF1XpD\n0TagITlUxJmMDuvMBBuUpaXWjlXjl/eU0dpUg2SGsYGpibNrbyFU6kXoK8eR\n56QHji7IH7M2idwguG9EY3vNkilqhZn06TY3jr0cvRl9gL7HGutwSuSL4ejT\nT7fAn6NECP87/usxXgxlHHiuhvZ4yynPEnYVFq0mhtQ9DYldw4Q7dIP9ycCj\ne2cRTvfsOo2Jl4lHyecqyRQI/Ug9e9323AuTremx6sg1fx4vrl9mIyUKX1cq\nweiBE2P2yE1qTdsjPRtan7S3gElrh/LBDBYf3u0J/2115UIw1YY5hTMcs/sJ\nLqCvBWh5Srsq2Ql3wk9HWo6z9MdUTxK8Z8cRbiVrNJZxe2dm5cnL/yMf53R2\nZpPzewlfGfZyO8447NYJ3aVntOa3CO6pcqA7cn6Vqd9N6GoPLmu4g1NIn3c3\nF9+J77XOoCyz2QOGzsiU47BGmLCcw8LP82TELo08goRvNXldGZDJK4OcmM3k\nvgmkOxVflwjx5SNxXFrF8WwRvAHtjtwSeetyUDpWIFEZdqtYURGbHghnIaQ0\nPsQnU4kgGlBYFJxF2iKZ/RK/e62X5JvcgpMluk9AZciRjqD2Bymtrk3czIdU\nmxwu\r\n=sjVf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCilzgeu9mjbVWOdPCLMghtvec7N+aTZw5ZZo1dAZhE4gIhALk/uURk6gdQF17jw/3CWMxJxa2NVDSkV7JWQs4J0883"}]},"_npmUser":{"name":"reb2020","email":"reb2020@gmail.com"},"directories":{},"maintainers":[{"name":"reb2020","email":"reb2020@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pg-builder_1.2.2_1610489964056_0.3162874995932592"},"_hasShrinkwrap":false},"1.2.3":{"name":"@5no/pg-builder","version":"1.2.3","description":"Simple query builder for PostgreSQL","main":"index.js","types":"typings/index.d.ts","scripts":{"clean":"rm -rf lib","lint":"eslint --ext .ts src","lint:fix":"eslint --fix --ext .ts src","test":"mocha test","build":"tsc","prepare":"yarn lint && yarn clean && yarn build && yarn test"},"author":{"name":"reb2020"},"license":"MIT","keywords":["postgresql","sql","query","builder","parameter","param","parameterized"],"homepage":"https://5no.io/","repository":{"type":"git","url":"git+https://github.com/reb2020/5no-pg-builder.git"},"dependencies":{"dotenv":"^8.2.0","pg":"^8.5.1","pg-pool":"^3.2.2","url":"^0.11.0"},"devDependencies":{"@types/node":"^14.6.2","@types/pg-pool":"^2.0.2","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.17.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.22.0","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^8.1.3","typescript":"^4.1.3"},"_id":"@5no/pg-builder@1.2.3","dist":{"shasum":"2f4f7e4c3ac5c16d85143f8a86b630e897cef21d","integrity":"sha512-bDsrmKYTAgE4ZOMnbKR0mqbyvYb4NehHOXbh/X8GfvKStz/fSAcsIXoS7MpvIiqvpPqwGdQWaG06zKbYooulmw==","tarball":"https://registry.npmjs.org/@5no/pg-builder/-/pg-builder-1.2.3.tgz","fileCount":136,"unpackedSize":72148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEAJJCRA9TVsSAnZWagAA3L8P/A3o5VHtdoZU18qg4/wC\nZe7Mmuvl6S7ovZwEsaHoyEu8xfa6gC58KldhPwzlpQI8wWNwiAiEY8rsdkoG\n62NKANOssN16IyJjqdNDMfncnVtP+V+Cnkd6RryA8YGe8te/PQCw6tfI0op2\n8QLolZG8F6emgsEvJ4hiaoA1JaRD/BanRUuPqRnHtWryzwjEZ6Ar6xHz6Xcd\nJpRKo+yE8anhMWssdbDqfMkbptYcIYtevWJ+/xy4MxJtOtFy99c1pmdd+0ZV\nO+VJi3Qu0kthDgi3mJm9lHTEHL/H5gHOGJXmW1X18gq31gjCTSybOppGR5j9\nEvi2/nW32xvMdqv1sGgh/Rh5V4XQZmR+RF+lOYZ0ZXGm47crMSJ8eKtaqPn4\n0BZgV3wO3GDzLwrJW/+pnVkk+B/YdMC2HrGNFe8sm6jRB5UTaB2fLjOp7Nl9\nJ1ALjr3OLSr4C5X6UVB5UpDwpz/6M8r9ouqRg2TSE7/VFnkIOsWaoRleF5Ps\nd5gPC/LmRM9JuGFm8BE51OiYy6WnZ7w/AbC69Iijca7UlGwMudFmJfauO0aj\nacMxIZ5J0pkhqy4i9FWY33h36ZxHkj7ud+4Y1SUlOhGuK9N7cUlFHrqC/qI+\nxDPQWaQPJ4GKWhfGJkisfb881rPdMIdrMj1fNoIKJ0cAmnK24wivbkWUpEEk\nPuo+\r\n=xGK4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9Dt2GZyksC6E8nug0Nv0u935I/7areGFzuzumS2GuZwIhAPzpVqqEZgvePcBJ0/uVr/NIxuM2mp6IgegtYIQgpZfL"}]},"_npmUser":{"name":"reb2020","email":"reb2020@gmail.com"},"directories":{},"maintainers":[{"name":"reb2020","email":"reb2020@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pg-builder_1.2.3_1611661897303_0.8270843910494072"},"_hasShrinkwrap":false},"1.2.4":{"name":"@5no/pg-builder","version":"1.2.4","description":"Simple query builder for PostgreSQL","main":"index.js","types":"typings/index.d.ts","scripts":{"clean":"rm -rf lib","lint":"eslint --ext .ts src","lint:fix":"eslint --fix --ext .ts src","test":"mocha test","build":"tsc","prepare":"yarn lint && yarn clean && yarn build && yarn test"},"author":{"name":"reb2020"},"license":"MIT","keywords":["postgresql","sql","query","builder","parameter","param","parameterized"],"homepage":"https://5no.io/","repository":{"type":"git","url":"git+https://github.com/reb2020/5no-pg-builder.git"},"dependencies":{"dotenv":"^8.2.0","pg":"^8.5.1","pg-pool":"^3.2.2","url":"^0.11.0"},"devDependencies":{"@types/node":"^14.6.2","@types/pg-pool":"^2.0.2","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","chai":"^4.2.0","eslint":"^7.17.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.22.0","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","mocha":"^8.1.3","typescript":"^4.1.3"},"_id":"@5no/pg-builder@1.2.4","dist":{"shasum":"12104f14d89558ea56e88543978ebbc76f3af6b8","integrity":"sha512-u7qDmM1LHOFcNIVxyhTGDgKBThOcY8HTDLqjeAtTmuOHJGfgzdARkHRuIc4FAqJEofOIe2qn1qEN+NRy+90ydw==","tarball":"https://registry.npmjs.org/@5no/pg-builder/-/pg-builder-1.2.4.tgz","fileCount":136,"unpackedSize":72168,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEBKqCRA9TVsSAnZWagAAIwwP/jZ+wajKeFa5uKx/vB8V\nktv3NHdU5/JA0NtFs/zSqccJXxRGeT5u3HfBTBrwwrMAc0Udaug1yNznPxun\nQausSjWgSIQkOxj57ZbdWe6F4V/3K4YT9FclYLJ1z8+FnXbN4B1LGUZCWJNQ\nrMFP0LxyVJmXVPcAHxpnrz3waUG9yTCIkfhCMW68oZHdjtBGCRWSO1UA/nIP\nQDQFtKPNkk3DpHZgVEjpSOX9HZ35nnq1GxlRXHAi+hUvR8IcDl9kIq1NmyFt\nkq+8hLSTFDDT4SRlqupzWuVLeM3tNq1oeq+qGEI+4PqH4QE0csY3V4LbVrU8\nt1dXcPsadl2u8+yyg3jKzHUbk3JsVDS5TlhIBWBV638Hcp17fI/HElnPWFLh\nqIteg7Ut2+JIkj0jDOsJwVxWZULeJ/obNs2rclN7QKqErXhA5aZQup2Ulfsu\n9hd2VOAmLfN7SDltK/e9yEhW+WAyn5H9QL7Hp7DFAUFsHRoR+IekekVLlr7y\nKjSQxAs1cMhIiKR4PfbSe8AcxczEzGdKZmNwMZRhsR+jqfa6b7e5EG0n1XW2\nsHclTACFuZ7AYVIXLmLCVRcYnev7Ex7k0e4LR36Znkis9UML7U5GVrnOxniM\nk+KeXcVrwGyailXA+K+tdDIKPKFprnCdWpx0FDvMaRRStiQEW45JAZFlpUEH\nVTM8\r\n=si0G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDoquMGOcBmvB1Sxkj369pP068ZCaBuFGGsiVppJfC/ZwIhAKssz6nJH+btPH4N3dP/8T80jETtdxKofOCxtwHk7bnh"}]},"_npmUser":{"name":"reb2020","email":"reb2020@gmail.com"},"directories":{},"maintainers":[{"name":"reb2020","email":"reb2020@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pg-builder_1.2.4_1611666089682_0.3099421282509349"},"_hasShrinkwrap":false}},"time":{"created":"2020-01-02T11:04:00.561Z","1.2.0":"2020-01-02T11:04:00.916Z","modified":"2022-04-04T10:48:37.174Z","1.2.1":"2020-04-03T20:51:53.225Z","1.2.2":"2021-01-12T22:19:24.193Z","1.2.3":"2021-01-26T11:51:37.434Z","1.2.4":"2021-01-26T13:01:29.841Z"},"maintainers":[{"name":"reb2020","email":"reb2020@gmail.com"}],"description":"Simple query builder for PostgreSQL","homepage":"https://5no.io/","keywords":["postgresql","sql","query","builder","parameter","param","parameterized"],"repository":{"type":"git","url":"git+https://github.com/reb2020/5no-pg-builder.git"},"author":{"name":"reb2020"},"license":"MIT","readme":"# <a href='https://5no.io'><img src='https://5no.io/img/5no-small-logo.png' height='100' alt='5no Logo' aria-label='5no.io' /></a>PG Builder\n\nSimple query builder for PostgreSQL\n\n## Install\n\n@5no/pg-builder requires Node version 8 or above.\n\n```sh\nnpm install --save @5no/pg-builder\n```\n\n## .env\n\n```js\nDATABASE_URL=postgres://test:123123@127.0.0.1:5432/testDB?ssl=false\nDATABASE_QUERY_LOG=true\n```\n\n## Manager.build\n\n```js\n{\n    table: \"users\",\n    alias: \"Testusers\",\n    schema: \"custom\",\n    rowsHandler: fn(rows, method: 'select' | 'count' | 'update' | 'delete'),\n}\n```\n\n## Methods\n\n```js\nasync execute() // Return PG result\nasync rows() // Return rows of PG result\nasync result() // Return summary of count_rows, use only with count\nasync query() // Return raw query text\n```\n\n\n## Examples\n\nSELECT\n\n```js\nconst Manager = require('@5no/pg-builder')\n\nconst Users = await Manager.build({\n    table: \"users\"\n  }).select([\"*\"]).execute()\n\n// \"SELECT users.* FROM public.users AS users\"    \n\nconst Users = await Manager.build({\n    table: \"users\",\n    alias: \"Testusers\"\n  }).select([\"*\"]).execute()\n\n// \"SELECT Testusers.* FROM public.users AS Testusers\"    \n\nconst Users = await Manager.build({\n    table: \"users\",\n    alias: \"Testusers\",\n    schema: \"custom\"\n  }).select([\"*\"])\n  .execute()\n\n// \"SELECT Testusers.* FROM custom.users AS Testusers\"    \n\nconst Users = await Manager.build({\n    table: \"users\",\n    alias: \"Testusers\",\n    schema: \"custom\"\n  }).select([\"sum(email) AS sum_emails\"])\n  .execute()\n\n// \"SELECT sum(Testusers.email) AS sum_emails FROM custom.users AS Testusers\"    \n\nconst Users = await Manager.build({\n    table: \"users\",\n    alias: \"Testusers\",\n    schema: \"custom\"\n  }).select([\"email\", \"first_name\", \"last_name AS FN\"])\n    .where('status', '=', 'active')\n    .whereIn('id', ['1', '2', '3'])\n    .whereOr('email', '=', 'test')\n    .whereOr('email', '=', 'test1')\n    .execute()\n\n// \"SELECT Testusers.email, Testusers.first_name, Testusers.last_name AS FN FROM custom.users AS Testusers WHERE Testusers.status = $1 AND Testusers.id IN ($2,$3,$4) AND (Testusers.email = $5 OR Testusers.email = $6)\"    \n\nconst Users = await Manager.build({\n    table: \"users\",\n    alias: \"Testusers\",\n    schema: \"custom\"\n  }).select([\"email\", \"first_name\", \"last_name AS FN\"])\n    .whereOr('email', '=', 'test', 'email')\n    .whereOr('email', '=', 'test1', 'email')\n    .whereOr('last_name', '=', 'last_name1', 'last_name')\n    .whereOr('last_name', '=', 'last_name2', 'last_name')\n    .execute()\n\n// \"SELECT Testusers.email, Testusers.first_name, Testusers.last_name AS FN FROM custom.users AS Testusers WHERE (Testusers.email = $1 OR Testusers.email = $2) AND (Testusers.last_name = $3 OR Testusers.last_name = $4)\"    \n\nconst Users = await Manager.build({\n    table: \"users\",\n    alias: \"Testusers\",\n    schema: \"custom\"\n  }).select([\"email\", \"first_name\", \"last_name AS FN\"])\n    .distinct()\n    .where('first_name', '=', 'first_name_test')\n    .order('email', 'ASC')\n    .order('first_name', 'DESC')\n    .limit(10, 5)\n    .execute()\n\n// \"SELECT DISTINCT Testusers.email, Testusers.first_name, Testusers.last_name AS FN FROM custom.users AS Testusers WHERE Testusers.first_name = $1 ORDER BY Testusers.email ASC, Testusers.first_name DESC LIMIT 10 OFFSET 5\"    \n\nconst Users = await Manager.build({\n    table: \"users\",\n    alias: \"Testusers\",\n    schema: \"custom\"\n  }).select([\"email\"])\n    .where('first_name', '=', 'first_name_test')\n    .group(['email'])\n    .order('email', 'ASC')\n    .having('count(email)', '>', '1')\n    .execute()\n\n// \"SELECT Testusers.email FROM custom.users AS Testusers WHERE Testusers.first_name = $1 GROUP BY Testusers.email HAVING count(Testusers.email) > $2 ORDER BY Testusers.email ASC\"   \n\nconst Users = await Manager.build({\n    table: \"users\",\n    alias: \"Testusers\",\n    schema: \"custom\"\n  }).select([\"email\"])\n    .where('first_name', '=', 'first_name_test')\n    .whereBetween('created_at', '2019-10-12', '2019-11-12')\n    .group(['email'])\n    .order('email', 'ASC')\n    .having('count(email)', '>', '1')\n    .execute()\n\n// \"SELECT Testusers.email FROM custom.users AS Testusers WHERE Testusers.first_name = $1 AND Testusers.created_at BETWEEN $2 AND $3 GROUP BY Testusers.email HAVING count(Testusers.email) > $4 ORDER BY Testusers.email ASC\"   \n\nconst Users = await Manager.build({\n    table: \"users\",\n    alias: \"Testusers\",\n    schema: \"custom\"\n  }).select([\"email\"])\n    .where('first_name', '=', 'first_name_test')\n    .whereNotBetween('created_at', '2019-10-12', '2019-11-12')\n    .group(['email'])\n    .order('email', 'ASC')\n    .having('count(email)', '>', '1')\n    .execute()\n\n// \"SELECT Testusers.email FROM custom.users AS Testusers WHERE Testusers.first_name = $1 AND Testusers.created_at NOT BETWEEN $2 AND $3 GROUP BY Testusers.email HAVING count(Testusers.email) > $4 ORDER BY Testusers.email ASC\"   \n\nconst Users = await Manager.build({\n    table: \"users\",\n    alias: \"Testusers\",\n    schema: \"custom\"\n  }).count(\"email\")\n    .distinct()\n    .execute()\n\n//SELECT COUNT(DISTINCT TestUser.email) AS count_rows FROM custom.users AS TestUser        \n```\n\n\nSELECT WITH JOIN\n\n```js\n\nconst SelectQueryInfo = await Manager.build({\n    table: \"users_info\",\n    schema: \"custom\"\n  }).select()\n    .where('status', '=', 't')\n    .order('created_at', 'DESC')\n\nconst SelectQueryAddress = await Manager.build({\n    table: \"users_address\",\n    schema: \"custom\"\n  }).select([\"*\"])\n    .where('number', '=', '100')\n\nconst Users = await Manager.build({\n    table: \"users\",\n    alias: \"Testusers\",\n    schema: \"custom\"\n  }).select([\"email\", \"first_name\", \"last_name AS FN\"])\n    .innerJoin(SelectQueryInfo, 'id', 'users_id')\n    .leftJoin(SelectQueryAddress, 'id', 'users_id')\n    .where('first_name', '=', 'first_name_test')\n    .whereIsNull('last_name')\n    .execute()\n\n//SELECT Testusers.email, Testusers.first_name, Testusers.last_name AS FN, users_address.* FROM custom.users AS Testusers INNER JOIN custom.users_info AS users_info ON Testusers.id = users_info.users_id LEFT JOIN custom.users_address AS users_address ON Testusers.id = users_address.users_id WHERE Testusers.first_name = $1 AND Testusers.last_name IS NULL AND users_info.status = $2 AND users_address.number = $3 ORDER BY users_info.created_at DESC \n\n\nconst Users = await Manager.build({\n    table: \"users\",\n    alias: \"Testusers\",\n    schema: \"custom\"\n  }).select([\"email\", \"first_name\", \"last_name AS FN\"])\n    .innerJoin(SelectQueryInfo, 'id', 'users_id')\n    .leftJoin(SelectQueryAddress, 'id', 'users_id')\n    .where('id', '=', {\n      builder: SelectQueryInfo,\n      field: 'users_id'\n    })\n    .execute()\n\n//SELECT Testusers.email, Testusers.first_name, Testusers.last_name AS FN, users_address.* FROM custom.users AS Testusers INNER JOIN custom.users_info AS users_info ON Testusers.id = users_info.users_id LEFT JOIN custom.users_address AS users_address ON Testusers.id = users_address.users_id WHERE Testusers.id = users_info.users_id AND users_info.status = $1 AND users_address.number = $2 ORDER BY users_info.created_at DESC     \n```\n\n\nINSERT\n\n```js\nconst data = {\n  email: 'test@test.com',\n  first_name: 'Test',\n  last_name: null\n}\n\nconst Users = await Manager.build({\n    table: \"users\",\n    schema: \"custom\"\n  }).insert(data)\n  .returning()\n  .execute()\n\n//INSERT INTO custom.user AS user (email, first_name, last_name) VALUES ($1, $2, NULL) RETURNING user.*\n\n\nconst Users = await Manager.build({\n    table: \"users\",\n    schema: \"custom\"\n  }).insert(data)\n  .onConflict(['email'])\n  .doNothing()\n  .returning()\n  .execute()\n\n//INSERT INTO custom.user AS user (email, first_name, last_name) VALUES ($1, $2, NULL) ON CONFLICT (email) DO NOTHING RETURNING user.*\n\n\nconst Users = await Manager.build({\n    table: \"users\",\n    schema: \"custom\"\n  }).insert(data)\n  .onConflict(['email'])\n  .doUpdate(['email', 'first_name', 'last_name'])\n  .returning()\n  .execute()\n\n//INSERT INTO custom.user AS user (email, first_name, last_name) VALUES ($1, $2, NULL) ON CONFLICT (email) DO UPDATE SET email = $2, first_name = $3, last_name = NULL WHERE user.email = $2 RETURNING user.*\n```\n\nUPDATE\n\n```js\nconst data = {\n  email: 'test1@test.com',\n  first_name: 'Test1',\n  last_name: null\n}\n\nconst Users = await Manager.build({\n    table: \"users\",\n    schema: \"custom\"\n  }).update(data)\n  .where(\"id\", \"=\", \"123\")\n  .execute()\n\n//UPDATE custom.users AS users SET email = $1, first_name = $2, last_name = NULL WHERE users.id = $3\n```\n\n\nUPDATE WITH JOIN\n\n```js\nconst data = {\n    email: 'test@test.a.a',\n    first_name: {\n      builder: SelectQueryInfo,\n      field: 'users_id',\n    }\n}\n\nconst SelectQuery = Manager.build({\n      table: \"user\",\n      alias: \"TestUser\",\n      schema: \"custom\"\n  }).update(data)\n    .innerJoin(SelectQueryInfo, 'id', 'users_id')\n    .where(\"id\", \"=\", \"123\")\n    .returning(['email'])\n    .execute()\n\n//UPDATE custom.user AS TestUser SET email = $1, first_name = users_info.users_id FROM custom.users_info AS users_info WHERE TestUser.id = $2 AND TestUser.id = users_info.users_id RETURNING TestUser.email    \n```\n\nDELETE\n\n```js\n\nconst Users = await Manager.build({\n    table: \"users\",\n    schema: \"custom\"\n  }).delete()\n  .where(\"id\", \"=\", \"123\")\n  .execute()\n  \n//DELETE FROM custom.users AS users WHERE users.id = $1\n```\n\nDELETE WITH JOIN\n\n```js\n\nconst Users = await Manager.build({\n    table: \"users\",\n    schema: \"custom\"\n  }).delete()\n  .join(SelectQueryInfo, 'id', 'users_id')\n  .where(\"id\", \"=\", \"123\")\n  .execute()\n  \n//DELETE FROM custom.users AS users USING custom.users_info AS users_info WHERE users.id = $1 AND TestUser.id = users_info.users_id\n```\n\nTRANSACTION\n\n```js\n\nawait Manager.begin()\n\nawait Manager.build({\n    table: \"users\",\n    schema: \"custom\"\n  }).delete()\n  .where(\"id\", \"=\", \"1233\")\n  .execute()\n\nawait Manager.build({\n    table: \"users\",\n    schema: \"custom\"\n  }).delete()\n  .where(\"id\", \"=\", \"1234\")\n  .execute()  \n\nawait Manager.commit() // or await Manager.rollback()\n```\n\n\nRAW QUERY\n\n```js\nconst Manager = require('@5no/pg-builder')\n\nconst SelectQueryInfo = await Manager.query(\"SELECT Testusers.email, Testusers.first_name, Testusers.last_name AS FN, users_address.* FROM custom.users AS Testusers INNER JOIN custom.users_info AS users_info ON Testusers.id = users_info.users_id LEFT JOIN custom.users_address AS users_address ON Testusers.id = users_address.users_id WHERE Testusers.first_name = $1 AND users_info.status = $2 AND users_address.number = $3 ORDER BY users_info.created_at DESC\", [\n  \"one\",\n  \"two\",\n  \"three\"\n])\n\n//SELECT Testusers.email, Testusers.first_name, Testusers.last_name AS FN, users_address.* FROM custom.users AS Testusers INNER JOIN custom.users_info AS users_info ON Testusers.id = users_info.users_id LEFT JOIN custom.users_address AS users_address ON Testusers.id = users_address.users_id WHERE Testusers.first_name = $1 AND users_info.status = $2 AND users_address.number = $3 ORDER BY users_info.created_at DESC \n```\n\n## License\n\nMIT Licensed, Copyright (c) 2018 Aleksandr Sokol","readmeFilename":"README.md"}