{"_id":"@caspiandb/aurora-data-api","_rev":"4-48bb588dbbd5ccd02788d9fdeca06e1f","name":"@caspiandb/aurora-data-api","dist-tags":{"latest":"1.0.0-alpha.20"},"versions":{"1.0.0-alpha.4":{"name":"@caspiandb/aurora-data-api","version":"1.0.0-alpha.4","description":"Aurora Serverless Data API Client that simplifies the request and response payloads.","homepage":"https://github.com/marcgreenstock/data-api-suite/tree/master/packages/aurora-data-api","repository":{"type":"git","url":"git+https://github.com/marcgreenstock/data-api-suite.git","directory":"packages/aurora-data-api"},"bugs":{"url":"https://github.com/marcgreenstock/data-api-suite/issues"},"main":"lib/index.js","types":"lib/index","scripts":{"build":"npm run clean && npm run compile","clean":"rm -rf ./lib","compile":"tsc -b tsconfig.build.json  --force --verbose","prepare":"npm run build"},"license":"MIT","dependencies":{"aws-sdk":"^2.644.0"},"devDependencies":{"@types/jest":"^24.9.1","@types/node":"^13.9.3","typescript":"^3.8.3"},"keywords":["aws","rds","aurura","data api","postgres"],"publishConfig":{"access":"public"},"gitHead":"edd5107826b960f1a4752716a6a3b246c9a8759d","_id":"@caspiandb/aurora-data-api@1.0.0-alpha.4","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-xVwVFwmVf6Aouhicw7bjNkha6Ol3R9EJtv+PY4kucX4WDL4JW06t+TGK9nQu0XTrTzBSUQpcWs2q4zcNdmfN6g==","shasum":"c6cefdc503708b29238e9f8b7863d4f10cb72bd1","tarball":"https://registry.npmjs.org/@caspiandb/aurora-data-api/-/aurora-data-api-1.0.0-alpha.4.tgz","fileCount":24,"unpackedSize":77591,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDN6stx7G8frxYMryfrpPX2IZcPywUF5j1qY4p3YteWrwIgUFdatJQYnNtqPiDEi5yEnzUiSKreSdE823IuAxVxVoo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiX+F4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpF4g/8CSrEqV15nLwZTE1eBhCm/W3F8kR309gtN1kpSC58id0Wji72\r\nVmCx8JutjTNbMeoGm1VCja88+E7jOw0uI8OHA7EhYPg8oe1AidA5aKLT5oVC\r\nPLZd/ibJ1scHbeJ06kTsK12zxpK1jJu3eonDcpI0+WXUtsWE0Z2MOSU8c4Wd\r\niz8o4osb5bOGNZprIy7ZrjoRntLWNCzE1VRc8Pz2T52FLxa/n/rgm7k0X1ZH\r\nHxDsdmacPaZ0iTFltGbpMavwvmvBf8ubWIjaImT893VKYFeEJxGZZ+c9R751\r\nc5wZlXZdEpY8Fv9qCuV5cB2Ro+bw9ef4SsSsY64yLEgRhzp1/gOraIbma6Hb\r\nI15MsQzFf+AW/65GyknWLHCgXltXZUbJvdWia+GNVlN2SsUR1CGkcr4mjnhw\r\nqb1EOpSwukTgSblsBWt/aHTXcrspJ/v2xBq0OcFT+1hTH1kz1Smk4NtXHpNN\r\niUDB2j8jZNb2ROyf88LifuA8mRMQ+wMWMXQhVb4TlwOE318hO3d28Z1X5eYE\r\n7QLx5QwZyXzp/dqHkH7oEpielDujz0mouVCLS14ZnhtsHESZlwPgvtna5WDF\r\nB+JzddtGuM93eAgMAkBpdW6ZEGkZpjkffHmRuoLzwhqGvDEXnDS4sg/Sui5A\r\nCEV2fIklf/OtON+MTe5nYxQNuCdHvOIFBrk=\r\n=nRO/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"caspiandb","email":"admin@caspiandb.com"},"directories":{},"maintainers":[{"name":"caspiandb","email":"admin@caspiandb.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aurora-data-api_1.0.0-alpha.4_1650450808305_0.7883170186473929"},"_hasShrinkwrap":false},"1.0.0-alpha.9":{"name":"@caspiandb/aurora-data-api","version":"1.0.0-alpha.9","description":"Aurora Serverless Data API Client that simplifies the request and response payloads.","homepage":"https://github.com/caspiandb/data-api-suite/tree/master/packages/aurora-data-api","repository":{"type":"git","url":"git+https://github.com/caspiandb/data-api-suite.git","directory":"packages/aurora-data-api"},"bugs":{"url":"https://github.com/caspiandb/data-api-suite/issues"},"main":"lib/index.js","types":"lib/index","scripts":{"build":"npm run clean && npm run compile","clean":"rm -rf ./lib","compile":"tsc -b tsconfig.build.json  --force --verbose","prepare":"npm run build"},"license":"MIT","dependencies":{"aws-sdk":"^2.644.0"},"devDependencies":{"@types/jest":"^24.9.1","@types/node":"^13.9.3","typescript":"^3.8.3"},"keywords":["aws","rds","aurura","data api","postgres"],"publishConfig":{"access":"public"},"gitHead":"b0c3413978ad8d3b917e4ef76418a48e30237227","_id":"@caspiandb/aurora-data-api@1.0.0-alpha.9","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-xNGCWMKDJU3UCnSaWi+agWHuIdZh1tL35vedgSwS93ZiB7wrlGghxcvYrg7pD6Wdspf6eEbbbQP/P8l8Q0pouA==","shasum":"18b6040f51d469aea97cb6cec07b22711d96dda4","tarball":"https://registry.npmjs.org/@caspiandb/aurora-data-api/-/aurora-data-api-1.0.0-alpha.9.tgz","fileCount":24,"unpackedSize":77546,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDeUFaqbM15/s9sbJYYVgMe8z+qxwRR2DXq3neBsoqG/QIgYmsxCLLu4L0Uw9cYkl3yyjPVN4u6UmfFlAEqK48x4XE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYtF0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqUsw//Zt7X6wZCuLPxocEMqVSjzlKRqMBn5pQ6GqPi7GVdYqkBIIgh\r\nawXhYRr0bKorske3v47Q9RF04mnmmtNem9RWdZYOmV4KmAiiyRAKiw41xppb\r\n8cy5CUwebuZ7qSWmUYchgHdaKjRNTRDk5fpfnYIln13uSK+GV25Z77W0PI58\r\ns99XmpSXzXsdQaorBJGkIghT1v9aDxD4RG/udB/iEkBPqnj30YPN8bmFajPM\r\no5Vvgf0RWlMxaQzlPxMA1AnkhQny6tcTlKQVNm1UauxFvJW90dNILoqsgIap\r\nL5mE1JYWfvjRHexyDWP8bppcGmzGDXLe/lZd7oecbk9fQY/0IyX5pk05NI0Y\r\nzijpQPXkHg0iyP5Z1fwg5bI8C8NeRYiDR6b0Zw927YNI+PrWA2bd6RdjM5er\r\np/VGjIxg171YzIqOBlyO/0kFSfHYbaKdZis1wJyC4myPNrxcgDI/EdJ7Ca5E\r\noTs+G4v0Z5/wouCLN1cnL2pdy/+LFuljlxpkP7f9qu3RmtOK4WWXG1xN3pY/\r\n05i1KG26uf42nL3AtHwWSN0u5HBPNOLQWYeS36v31KPXHPCYht10nf9i9bsE\r\noV/1hG0CMdn8JBAcrh0yLtm4Kgiu2lvEqp45DqDnIDKItEDpE7Dkpe5lP0gi\r\npQ4d32d8OnHrb2x2IuN0eKQRv+I3XA08Hdc=\r\n=BajY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"caspiandb","email":"admin@caspiandb.com"},"directories":{},"maintainers":[{"name":"caspiandb","email":"admin@caspiandb.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aurora-data-api_1.0.0-alpha.9_1650643316011_0.715538107705765"},"_hasShrinkwrap":false},"1.0.0-alpha.10":{"name":"@caspiandb/aurora-data-api","version":"1.0.0-alpha.10","description":"Aurora Serverless Data API Client that simplifies the request and response payloads.","homepage":"https://github.com/caspiandb/data-api-suite/tree/master/packages/aurora-data-api","repository":{"type":"git","url":"git+https://github.com/caspiandb/data-api-suite.git","directory":"packages/aurora-data-api"},"bugs":{"url":"https://github.com/caspiandb/data-api-suite/issues"},"main":"lib/index.js","types":"lib/index","scripts":{"build":"npm run clean && npm run compile","clean":"rm -rf ./lib","compile":"tsc -b tsconfig.build.json  --force --verbose","prepare":"npm run build"},"license":"MIT","dependencies":{"aws-sdk":"^2.644.0"},"devDependencies":{"@types/jest":"^24.9.1","@types/node":"^13.9.3","typescript":"^3.8.3"},"keywords":["aws","rds","aurura","data api","postgres"],"publishConfig":{"access":"public"},"gitHead":"e5074e898065b331756ec4028a2609fedef83b1f","_id":"@caspiandb/aurora-data-api@1.0.0-alpha.10","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-Da5IQoUCMKBxgzzT8MPLPwBfXrKQfGqIcdkE9+fjqzdWYrcZah6k9/FR+cn+2b9Sb5dZuy6S4xIA54paxckxYw==","shasum":"f41370bfcbf16f30a8a4b7ae2eeb837010cabc36","tarball":"https://registry.npmjs.org/@caspiandb/aurora-data-api/-/aurora-data-api-1.0.0-alpha.10.tgz","fileCount":24,"unpackedSize":77574,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICgZjl1S5s7psMhluh/Q+Bm/9iwirjyU01Fr/wwwnudMAiEAuZeiyXGN+zNOEGMf17ZTWGb3Jmp0QX0D2rmBCgprWYA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYtzZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqbow//ftyw9zqqbo/8JcvW+jyWN9EzqwtC40XGfL8XQvzOwM4SBjiJ\r\nMjaYfe8xUcRCEecIewe7+gEtlbG2rpT3AMslM1QLk1BiiVQu9cM+Opsw1ism\r\nSIA5demAtE9qqqe94vdo1zLQLeyyVlVyHxyPhDMGCZl71PpSKAy+/oOQIDz2\r\nQR+gc/MIDA5w+BmJ9t+C1LwPkZYt02bccqrpkJFIUZHR67vsNS2E1OHeq43X\r\n/HuNLcx0geWrcN6CxF7n1KiafID9BKZoXw+5FvguEMn9EU4BBGvOuWb1XS5w\r\nWpRHxIpsjmODg6zpdzkcfDXVL9+lTaN80/65cMYsnPAc1poZJ3itDHbrahiY\r\nGj6wUGF5EZtcfKzIQYUZfd1+qyTWMSqoxJSYkjwHdTwVD3WPKdxkvUrMCrNP\r\n+D5kTFNtqYca/rGkN//qFTjdkllYq2tbYL3XObkUWYQ6dhnFNH1Esjv6CMUj\r\nhmM1hNw1vkongk5mamh2uYSlLpFk8XAbwX3396Vk2MjTNX9AOFuDtg2NGsYr\r\nQ2ZjAt05RGzr412lw6zPQLO/UfKMgO8/zzjMud3pcTANqwDLdr1CSX+omajT\r\nzsKKdGdJ/TgGD+1fot+oRYRp+7XnrEsCQXRYLGHj157t3YUZDEAetMVL0zVa\r\nF8Gi4w+WZWXZQ2FSPAw8xF4i3//lTLxJ9BQ=\r\n=golb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"caspiandb","email":"admin@caspiandb.com"},"directories":{},"maintainers":[{"name":"caspiandb","email":"admin@caspiandb.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aurora-data-api_1.0.0-alpha.10_1650646232902_0.2750273218761117"},"_hasShrinkwrap":false},"1.0.0-alpha.15":{"name":"@caspiandb/aurora-data-api","version":"1.0.0-alpha.15","description":"Aurora Serverless Data API Client that simplifies the request and response payloads.","homepage":"https://github.com/caspiandb/data-api-suite/tree/master/packages/aurora-data-api","repository":{"type":"git","url":"git+https://github.com/caspiandb/data-api-suite.git","directory":"packages/aurora-data-api"},"bugs":{"url":"https://github.com/caspiandb/data-api-suite/issues"},"main":"lib/index.js","types":"lib/index","scripts":{"build":"npm run clean && npm run compile","clean":"rm -rf ./lib","compile":"tsc -b tsconfig.build.json  --force --verbose","prepare":"npm run build"},"license":"MIT","dependencies":{"aws-sdk":"^2.644.0"},"devDependencies":{"@types/jest":"^24.9.1","@types/node":"^13.9.3","typescript":"^3.8.3"},"keywords":["aws","rds","aurura","data api","postgres"],"publishConfig":{"access":"public"},"gitHead":"7537b2c2043004c32ba89b8133439b77a45e5d0a","_id":"@caspiandb/aurora-data-api@1.0.0-alpha.15","_nodeVersion":"14.17.2","_npmVersion":"lerna/4.0.0/node@v14.17.2+x64 (linux)","dist":{"integrity":"sha512-w2mzXYXSTCJ4mi3qKXzcazMLqxjSaNU0bkwfcGMB3B1xKUR7FDy0gYCgytKVtLuTtCC6K79zb+jTyFDRzr1x2g==","shasum":"3f71e0e6149877ab7390e040c91657b8c04ce325","tarball":"https://registry.npmjs.org/@caspiandb/aurora-data-api/-/aurora-data-api-1.0.0-alpha.15.tgz","fileCount":24,"unpackedSize":77574,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHZGQDSEamOADgoieaPvhhBpXX/Uq00X5egdeAbNL0nTAiEA0CcSHW1A6oZ/quSn6WcMboVcj+5VxGDjkAbMfzNFzyc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0GSiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrmgA/+KpIlc21DXLkClSBLpTd1JKap2mQyP+j0C6XXd0dbN4Cjxzou\r\nfiSVPbYq7deNtzieZqFmiMODwSZYggmzHUgGWVpTszja2e4XeID35cU2soMm\r\nKZcBaqmeXYHo6oHRDOdp2IDSPM9R9LJ1KLy7WDOBZxTatf7E5wqbkQOlIAsZ\r\nTK16UqxnGnmSqFsZWbIOwFnIDSoU5hDP/5Gi1zagfgWiEisor97GrV/h1hY0\r\nrpRh/DoTsRvmUPY4zjHJNJtWnfl9ryJ4fhbSXIAHHd5rQAqpQCbMAr3sfwPR\r\nEHCfl9yuYv+dmkdj63dzeiGqu3h2QtfOKOQRHhQAs/P5CgNPTaFlMdpEtXtU\r\nVrKgdP/wU4P9NEGG2AXOd58izYYKZl2aNAMd4h2xepsK/0gy/UkLGtEfhiZr\r\niuwowX2Z/a5gABrr1MjBx9i3GhvVZBFZ1Tarj6uVyDFocbTL4sxH23nyPKn0\r\nwJytOsztOqc/zXT+8lF8HVJXRR/eu/E1Gnyc1toTEFQ9OikSmUxkE7jiz/5f\r\n/eLyi/14YwhlP4dEINz3xPA4GZcSQl5ic6le/U7wecBSQDu4rhBvNQPtGU/x\r\nlBEFp7XGUbqQLNSJTvfAqTLxmgyFZU1+CKPM+hFOBSVDvVf4jWLQslijRWRU\r\n0sMM/H9iencAqjhKrCwTcf/jRQN8N1UHXsM=\r\n=sJ3f\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"caspiandb","email":"admin@caspiandb.com"},"directories":{},"maintainers":[{"name":"caspiandb","email":"admin@caspiandb.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aurora-data-api_1.0.0-alpha.15_1657824417987_0.5533089268341174"},"_hasShrinkwrap":false},"1.0.0-alpha.20":{"name":"@caspiandb/aurora-data-api","version":"1.0.0-alpha.20","description":"Aurora Serverless Data API Client that simplifies the request and response payloads.","homepage":"https://github.com/caspiandb/data-api-suite/tree/master/packages/aurora-data-api","repository":{"type":"git","url":"git+https://github.com/caspiandb/data-api-suite.git","directory":"packages/aurora-data-api"},"bugs":{"url":"https://github.com/caspiandb/data-api-suite/issues"},"main":"lib/index.js","types":"lib/index","scripts":{"build":"npm run clean && npm run compile","clean":"rm -rf ./lib","compile":"tsc -b tsconfig.build.json  --force --verbose","prepare":"npm run build"},"license":"MIT","dependencies":{"aws-sdk":"^2.644.0"},"devDependencies":{"@types/jest":"^24.9.1","@types/node":"^13.9.3","typescript":"^3.8.3"},"keywords":["aws","rds","aurura","data api","postgres"],"publishConfig":{"access":"public"},"gitHead":"fac46db6b7c926387e0ff3ec36f92b7424fdd15d","_id":"@caspiandb/aurora-data-api@1.0.0-alpha.20","_nodeVersion":"16.18.1","_npmVersion":"lerna/4.0.0/node@v16.18.1+x64 (linux)","dist":{"integrity":"sha512-qxHBQCDR0Zqi7K72NFeaoSosYoGKkymJCTb6mGgK3Mif6rb4vrszGiJW8qaYg/VRYMntElGbY0O/rXGZgczbUg==","shasum":"eacb169239346e15699f3b54fe63552a11af721d","tarball":"https://registry.npmjs.org/@caspiandb/aurora-data-api/-/aurora-data-api-1.0.0-alpha.20.tgz","fileCount":24,"unpackedSize":77574,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB+oYtTDgucY/b3QwEfJ9oRcmPABr0xMMYlW/x/L2dqIAiBfbnLgemLEpSIcYbhn3oPn3mGKc8DwgbyFTMXM40hBYA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjsh+TACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4CQ/+JPSSaFr1ELRlwPWYSDu43VW+jQPp+BZYtT7IOvM94frONG8T\r\nakg70jX31eEoOBfBFA/0xGlsDqufJBPWE/Eqzci6HGiy+qnp97LoTmypXLdZ\r\noEIIDgyKK9q/qIceX5105FJ/1oWsQb0CGp9UjqL/0vckoSFybU2NY4hvO7cD\r\nFs4YaTbXswzFHdZYOQBfRck6OszP5yxrd4XOJ4K34nUYH6pm1e1Qkpdg/1p6\r\n2aWNrIdCQg4NGmuCN0iyDzfUzu3SXcoABC218W7QHvR5811V39gcVxcsRc0o\r\nFkBwg4VPBJ/teotgFXsm7WfLp3FZ89budKVJnCPWcmqiWSkuXZShNCrIeaJ0\r\nhfPMNT7k5mzUs0eEU+YRJb15kstEOXun2ijrhZWoCj3hBWUAaiREClKB2nht\r\n33siuR8teI67yJyy5xFMqyLKXVObZsw4ku9tUf+NndvvLIzqN/XjLp1Qo2qo\r\nuRE3g7xij69pANbx2ejPH4XE0bWLr+6WBemyTuRVJQTtsd1QcOUFdYZ39d+w\r\nvHaSnmdTO5pdOmIrZjZ29fAICT6t5w2ZCCB6Gq0QbdRjKadpKXtEHMPohB9S\r\nhTAIW0XpoeQeHzpNcP88pWpvw2sfaCqgNfOiVAqxRft/P4cilWx5lfCN1DJ2\r\n9pHuoguaKiWqP1v+/836myeerdMiyAw1lOE=\r\n=4b3V\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"caspiandb","email":"admin@caspiandb.com"},"directories":{},"maintainers":[{"name":"caspiandb","email":"admin@caspiandb.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aurora-data-api_1.0.0-alpha.20_1672617875358_0.8062086763267615"},"_hasShrinkwrap":false}},"time":{"created":"2022-04-20T10:33:28.212Z","1.0.0-alpha.4":"2022-04-20T10:33:28.580Z","modified":"2023-01-02T00:04:35.643Z","1.0.0-alpha.9":"2022-04-22T16:01:56.252Z","1.0.0-alpha.10":"2022-04-22T16:50:33.078Z","1.0.0-alpha.15":"2022-07-14T18:46:58.191Z","1.0.0-alpha.20":"2023-01-02T00:04:35.525Z"},"maintainers":[{"name":"caspiandb","email":"admin@caspiandb.com"}],"description":"Aurora Serverless Data API Client that simplifies the request and response payloads.","homepage":"https://github.com/caspiandb/data-api-suite/tree/master/packages/aurora-data-api","keywords":["aws","rds","aurura","data api","postgres"],"repository":{"type":"git","url":"git+https://github.com/caspiandb/data-api-suite.git","directory":"packages/aurora-data-api"},"bugs":{"url":"https://github.com/caspiandb/data-api-suite/issues"},"license":"MIT","readme":"# Aurora Data API Client\n\n[![Master](https://github.com/caspiandb/data-api-suite/workflows/master/badge.svg)](https://github.com/caspiandb/data-api-suite/actions) [![npm (scoped)](https://img.shields.io/npm/v/@caspiandb/aurora-data-api)](https://www.npmjs.com/package/@caspiandb/aurora-data-api)\n\n## Summary\n\n**Aurora Data API Client** is an abstraction of the [RDSDataService](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html) that implements the [Data API for Aurora Serverless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html).\n\nQuery requests are simplified; instead of expecting clunky query params it expects only a JSON object:\n\n```ts\n// using AuroraDataAPI\nawait auroraDataAPI.query('SELECT * FROM users where id = :id', { id: 42 })\n```\n\n```ts\n// using RDSDataService\nawait rdsDataService.executeStatement({\n  sql: 'SELECT * FROM users where id = :id',\n  includeResultMetadata: true,\n  parameters: [{\n    value: {\n      longValue: 42\n    }\n  }]\n}).promise()\n```\n\nResults are also simplified by transforming the records into a ready-to-use JS object:\n\n```ts\n// response from AuroraDataAPI#query\n{\n  rows: [\n    {\n      id: 7,\n      name: 'Filip J Fry'\n    },\n    {\n      id: 9,\n      name: 'Bender Bending Rodriguez'\n    }\n  ],\n  metadata: {\n    id: {\n      tableName: 'users',\n      name: 'id',\n      typeName: 'int8',\n      // ...everything else from columnMetadata\n    },\n    name: {\n      tableName: 'users',\n      name: 'name',\n      typeName: 'varchar',\n      // ...\n    }\n  },\n  // ...includes the original result payload too\n}\n```\n\n```ts\n// response from RDSDataService#executeStatement\n{\n  records: [\n    [\n      {\n        longValue: 7\n      },\n      {\n        stringValue: 'Filip J Fry'\n      }\n    ],\n    [\n      {\n        longValue: 9\n      },\n      {\n        stringValue: 'Bender Bending Rodriguez'\n      }\n    ]\n  ],\n  columnMetadata: [\n    {\n      tableName: 'users',\n      name: 'id',\n      typeName: 'int8',\n      // ...everything else from columnMetadata\n    },\n    {\n      tableName: 'users',\n      name: 'name',\n      typeName: 'varchar',\n      // ...\n    }\n  ]\n}\n```\n\n## [Data API for Aurora Serverless Suite](https://github.com/caspiandb/data-api-suite#readme)\n\nThis library is part of the **[Data API for Aurora Serverless Suite](https://github.com/caspiandb/data-api-suite#readme)**, a [monorepo](https://en.wikipedia.org/wiki/Monorepo) that includes libraries, [Serverless Framework](https://serverless.com/) plugins and development tools to simplify and enhance the development, deployment and use of the [Data API for Aurora Serverless](https://aws.amazon.com/blogs/aws/new-data-api-for-amazon-aurora-serverless/) on Amazon Web Services.\n\n## Installation\n\n```sh\n$ npm install aurora-data-api --save\n```\n\n## Usage\n\n```ts\nimport * from AuroraDataAPI\nconst auroraDataAPI = new AuroraDataAPI({ ...config })\nauroraDataAPI.query('SELECT * FROM users').then(console.log)\n```\n\n## AuroraDataAPI#constructor\n\n```ts\nnew AuroraDataAPI(\n  config: AuroraDataAPI.Config\n) => AuroraDataAPI\n```\n\nConstructs a new instance of `AuroraDataAPI`.\n\n#### Config\n\n| Name | Description | Required | Default |\n| ---- | ----------- | -------- | -------- |\n| `resourceArn`| The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. | Yes | `undefined` |\n| `secretArn` | The name or ARN of the secret that enables access to the DB cluster. | Yes | `undefined` |\n| `database` | The name of the database. | No | `undefined` |\n| `schema` | The name of the database schema. | No | `undefined` |\n| `includeResultMetadata` | A value that indicates whether to include metadata in the results. **Note**: must be `true` for the results to be transformed. | No | `true` |\n| `continueAfterTimeout` | A value that indicates whether to continue running the statement after the call times out. By default, the statement stops running when the call times out.<br /><br />For DDL statements, we recommend continuing to run the statement after the call times out. When a DDL statement terminates before it is finished running, it can result in errors and possibly corrupted data structures. | No | `undefined` |\n| `resultSetOptions` | Options that control how the result set is returned. | No | `undefined` |\n| `valueTransformer` | See [Value Transformer](#Value-Transformer). | No | `undefined` |\n| `...rest` | Unspecified properties (i.e. properties from `RDSDataService.ClientConfiguration`) will be used to construct the `RDSDataService` client. [See the AWS SDK docs for more info.](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#constructor-property) | Conditional - see note below. | `undefined` |\n\n**Note**: The `RDSDataService` can be constructed without any properties, for instance when the [Global Configuration Object](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/global-config-object.html) is set.\n\n#### Class Properties\n\n| Name | Description |\n| ---- | ----------- |\n| `client` | Instance of the [`RDSDataService`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html). |\n| `requestConfig` | Object containing properties to send to the [`RDSDataService`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html) methods. |\n\n## `AuroraDataAPI` methods\n\n| Name | Description |\n| ---- | ----------- |\n| [`query`](#auroradataapiquery) | Performs an SQL query. |\n| [`batchQuery`](#auroradataapibatchquery) | Runs a batch SQL statement over an array of data. |\n| [`beginTransaction`](#auroradataapibegintransaction) | Starts a SQL transaction. |\n| [`commitTransaction`](#auroradataapicommittransaction) | Commits and ends a SQL transaction. |\n| [`rollbackTransaction`](#auroradataapirollbacktransaction) | Rolls-back and ends a SQL transaction. |\n| [`executeStatement`](#auroradataapiexecutestatement) | Abstraction of the [`RDSDataService#executeStatement`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#executeStatement-property) method. |\n| [`batchExecuteStatement`](#auroradataapibatchexecutestatement) | Abstraction of the RDSDataService [`RDSDataService#batchExecuteStatement`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#batchExecuteStatement-property) method. |\n\n### `AuroraDataAPI#query`\n\n```ts\nquery<T = AuroraDataAPI.UnknownRow>(\n  sql: string,\n  params?: AuroraDataAPI.QueryParams,\n  options?: AuroraDataAPI.QueryOptions\n) => Promise<AuroraDataAPI.QueryResult<T>>\n```\n\nPerforms an SQL statement.\n\nThe response size limit is 1 MB or 1,000 records. If the call returns more than 1 MB of response data or over 1,000 records, the call is terminated.\n\n#### Arguments\n\n| Name | Description | Required |\n| ---- | ----------- | -------- |\n| `sql`  | The SQL query string to perform. | Yes |\n| `params` | See [Query Params](#query-params). | No |\n| `options` | See options below. | No |\n\n#### Options\n\n| Name | Description | Default |\n| ---- | ----------- | ------- |\n| `includeResultMetadata` | A value that indicates whether to include metadata in the results. **Note**: must be `true` for the results to be transformed. | Defined in [constructor](#auroradataapiconstructor). |\n| `continueAfterTimeout` | A value that indicates whether to continue running the statement after the call times out. By default, the statement stops running when the call times out.<br /><br />For DDL statements, we recommend continuing to run the statement after the call times out. When a DDL statement terminates before it is finished running, it can result in errors and possibly corrupted data structures. | Defined in [constructor](#auroradataapiconstructor). |\n| `database` | The name of the database. | Defined in [constructor](#auroradataapiconstructor). |\n| `resourceArn` | The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n| `resultSetOptions` | Options that control how the result set is returned. | Defined in [constructor](#auroradataapiconstructor). |\n| `schema` | The name of the database schema. | Defined in [constructor](#auroradataapiconstructor). |\n| `secretArn` | The name or ARN of the secret that enables access to the DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n| `transactionId` | The identifier of a transaction that was started by using the BeginTransaction operation. Specify the transaction ID of the transaction that you want to include the SQL statement in. | `undefined` |\n| `valueTransformer` | See [Value Transformer](#value-transformer). | Defined in [constructor](#auroradataapiconstructor). |\n\n#### Further reading\n- https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#executeStatement-property\n- https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_ExecuteStatement.html\n\n### `AuroraDataAPI#batchQuery`\n\n```ts\nbatchQuery(\n  sql: string,\n  params?: AuroraDataAPI.QueryParams[],\n  options?: AuroraDataAPI.BatchQueryOptions\n) => Promise<AuroraDataAPI.BatchQueryResult>\n```\n\nRuns a batch SQL statement over an array of data.\n\n#### Arguments\n\n| Name | Description | Required |\n| ---- | ----------- | -------- |\n| `sql`  | The SQL query string to perform. | Yes |\n| `params` | An array of [Query Params](#query-params). Maximum of 1,000. | No |\n| `options` | See options below. | No |\n\n#### Options\n\n| Name | Description | Default |\n| ---- | ----------- | ------- |\n| `database` | The name of the database. | Defined in [constructor](#auroradataapiconstructor). |\n| `resourceArn` | The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n| `schema` | The name of the database schema. | Defined in [constructor](#auroradataapiconstructor). |\n| `secretArn` | The name or ARN of the secret that enables access to the DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n| `transactionId` | The identifier of a transaction that was started by using the BeginTransaction operation. Specify the transaction ID of the transaction that you want to include the SQL statement in. | `undefined` |\n\n### `AuroraDataAPI#beginTransaction`\n\n```ts\nbeginTransaction(\n  options?: AuroraDataAPI.BeginTransactionOptions\n) => Promise<AuroraDataAPI.Transaction>\n```\n\nStarts a SQL transaction and resolves an instance of [`AuroraDataAPI.Transaction`](#auroradataapitransaction-methods).\n\nFrom the [AWS SDK Docs](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#beginTransaction-property):\n\n> <p>A transaction can run for a maximum of 24 hours. A transaction is terminated and rolled back automatically after 24 hours.</p>\n> <p>A transaction times out if no calls use its transaction ID in three minutes. If a transaction times out before it's committed, it's rolled back automatically.</p>\n> <p>DDL statements inside a transaction cause an implicit commit. We recommend that you run each DDL statement in a separate <code>ExecuteStatement</code> call with <code>continueAfterTimeout</code> enabled.</p>\n\n#### Arguments\n\n| Name | Description | Required |\n| ---- | ----------- | -------- |\n| `options` | See options below. | No |\n\n#### Options\n\n| Name | Description | Default |\n| ---- | ----------- | ------- |\n| `database` | The name of the database. | Defined in [constructor](#auroradataapiconstructor). |\n| `resourceArn` | The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n| `schema` | The name of the database schema. | Defined in [constructor](#auroradataapiconstructor). |\n| `secretArn` | The name or ARN of the secret that enables access to the DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n\n#### Further reading\n\n- https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#beginTransaction-property\n- https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_BeginTransaction.html\n\n### `AuroraDataAPI#commitTransaction`\n\n```ts\ncommitTransaction(\n  transactionId: string,\n  options?: AuroraDataAPI.CommitTransactionOptions\n) => Promise<AuroraDataAPI.CommitTransactionResult>\n```\n\nEnds a SQL transaction started with the `beginTransaction` method and commits the changes.\n\n#### Arguments\n\n| Name | Description | Required |\n| ---- | ----------- | -------- |\n| `transactionId` | The identifier of the transaction to end and commit. | Yes |\n| `options` | See options below. | No |\n\n#### Options\n\n| Name | Description | Default |\n| ---- | ----------- | ------- |\n| `resourceArn` | The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n| `secretArn` | The name or ARN of the secret that enables access to the DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n\n#### Further reading\n\n- https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#commitTransaction-property\n- https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_CommitTransaction.html\n\n### `AuroraDataAPI#rollbackTransaction`\n\n```ts\nrollbackTransaction(\n  transactionId: string,\n  options?: AuroraDataAPI.CommitTransactionOptions\n) => Promise<AuroraDataAPI.RollbackTransactionResult>\n```\n\nEnds a SQL transaction started with the `beginTransaction` method and rolls-back the changes.\n\n#### Arguments\n\n| Name | Description | Required |\n| ---- | ----------- | -------- |\n| `transactionId` | The identifier of the transaction to roll back. | Yes |\n| `options` | See options below. | No |\n\n#### Options\n\n| Name | Description | Default |\n| ---- | ----------- | ------- |\n| `resourceArn` | The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n| `secretArn` | The name or ARN of the secret that enables access to the DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n\n#### Further reading\n\n- https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#rollbackTransaction-property\n- https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_RollbackTransaction.html\n\n### `AuroraDataAPI#executeStatement`\n\n```ts\nexecuteStatement(\n  options: AuroraDataAPI.ExecuteStatementOptions\n) => Promise<RDSDataService.ExecuteStatementResponse>\n```\n\nAbstraction of the AWS SDK RDSDataService [`executeStatement`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#executeStatement-property) operation.\n\nFrom the [SDK Docs](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#executeStatement-property):\n\n> <p>Runs a SQL statement against a database.</p>\n> <p>If a call isn't part of a transaction because it doesn't include the <code>transactionId</code> parameter, changes that result from the call are committed automatically.</p>\n> <p>The response size limit is 1 MB or 1,000 records. If the call returns more than 1 MB of response data or over 1,000 records, the call is terminated.</p>\n\n#### Arguments\n\n| Name | Description | Required |\n| ---- | ----------- | -------- |\n| `options` | See options below. | Yes |\n\n#### Options\n\n| Name | Description | Default |\n| ---- | ----------- | ------- |\n| `sql` (Required) | The SQL statement to run. | `undefined` |\n| `includeResultMetadata` | Includes the column metadata. | `undefined` |\n| `continueAfterTimeout` | A value that indicates whether to continue running the statement after the call times out. By default, the statement stops running when the call times out.<br /><br />For DDL statements, we recommend continuing to run the statement after the call times out. When a DDL statement terminates before it is finished running, it can result in errors and possibly corrupted data structures. | Defined in [constructor](#auroradataapiconstructor). |\n| `database` | The name of the database. | Defined in [constructor](#auroradataapiconstructor). |\n| `resourceArn` | The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n| `resultSetOptions` | Options that control how the result set is returned. | Defined in [constructor](#auroradataapiconstructor). |\n| `schema` | The name of the database schema. | Defined in [constructor](#auroradataapiconstructor). |\n| `secretArn` | The name or ARN of the secret that enables access to the DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n| `transactionId` | The identifier of a transaction that was started by using the BeginTransaction operation. Specify the transaction ID of the transaction that you want to include the SQL statement in. | `undefined` |\n\n#### Further reading\n\n- https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#executeStatement-property\n- https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_ExecuteStatement.html\n\n### `AuroraDataAPI#batchExecuteStatement`\n\n```ts\nbatchExecuteStatement(\n  options: AuroraDataAPI.BatchExecuteStatementOptions\n) => Promise<RDSDataService.BatchExecuteStatementResponse>\n```\n\nAbstraction of the AWS SDK RDSDataService [`batchExecuteStatement`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#batchExecuteStatement-property) operation.\n\nFrom the [SDK docs](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#batchExecuteStatement-property):\n> <p>Runs a batch SQL statement over an array of data.</p>\n> <p>You can run bulk update and insert operations for multiple records using a DML statement with different parameter sets. Bulk operations can provide a significant performance improvement over individual insert and update operations.</p>\n> <p>If a call isn't part of a transaction because it doesn't include the <code>transactionId</code> parameter, changes that result from the call are committed automatically.</p>\n\n#### Arguments\n\n| Name | Description | Required |\n| ---- | ----------- | -------- |\n| `options` | See options below. | Yes |\n\n#### Options\n\n| Name | Description | Default |\n| ---- | ----------- | ------- |\n| `sql` (Required) | The SQL statement to run. | `undefined` |\n| `parameterSets` | The parameter set for the batch operation. The maximum number of parameters in a parameter set is 1,000. | `undefined` |\n| `database` | The name of the database. | Defined in [constructor](#auroradataapiconstructor). |\n| `resourceArn` | The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n| `schema` | The name of the database schema. | Defined in [constructor](#auroradataapiconstructor). |\n| `secretArn` | The name or ARN of the secret that enables access to the DB cluster. | Defined in [constructor](#auroradataapiconstructor). |\n| `transactionId` | The identifier of a transaction that was started by using the `beginTransaction` method. Specify the transaction ID of the transaction that you want to include the SQL statement in. | `undefined` |\n\n#### Further reading\n\n- https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#batchExecuteStatement-property\n- https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_BatchExecuteStatement.html\n\n## `AuroraDataAPI.Transaction` methods\n\n[`AuroraDataAPI#beginTransaction`](#auroradataapibegintransaction) resolves an instance of `AuroraDataAPI.Transaction` that exposes the following methods:\n\n| Name | Description |\n| ---- | ----------- |\n| [`query`](#auroradataapitransactionquery) | Performs an SQL query in the transaction. |\n| [`batchQuery`](#auroradataapitransactionbatchquery) | Performs an SQL query over an array of data in the transaction. |\n| [`commit`](#auroradataapitransactioncommit) | Commits and ends the transaction. |\n| [`rollback`](#auroradataapitransactionrollback) | Rolls-back and ends the transaction. |\n| [`executeStatement`](#auroradataapitransactionexecutestatement) | Abstraction of the [`RDSDataService#executeStatement`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#executeStatement-property) method in context of the transaction. |\n| [`batchExecuteStatement`](#auroradataapitransactionbatchexecutestatement) | Abstraction of the RDSDataService [`RDSDataService#batchExecuteStatement`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#batchExecuteStatement-property) method in context of the transaction. |\n\n### `AuroraDataAPI.Transaction#query`\n\n```ts\nquery<T = AuroraDataAPI.UnknownRow>(\n  sql: string,\n  params?: AuroraDataAPI.QueryParams,\n  options?: AuroraDataAPI.Transaction.TransactionQueryOptions\n) => Promise<AuroraDataAPI.QueryResult<T>>\n```\n\nPerforms an SQL statement in the transaction.\n\nThe response size limit is 1 MB or 1,000 records. If the call returns more than 1 MB of response data or over 1,000 records, the call is terminated.\n\n#### Arguments\n\n| Name | Description | Required |\n| ---- | ----------- | -------- |\n| `sql`  | The SQL statement string to perform. | Yes |\n| `params` | See [Query Params](#query-params). | No |\n| `options` | See options below. | No |\n\n#### Options\n\n| Name | Description | Default |\n| ---- | ----------- | ------- |\n| `includeResultMetadata` | A value that indicates whether to include metadata in the results. **Note**: must be `true` for the results to be transformed. | Defined in [`#beginTransaction`](#auroradataapibegintransaction). |\n| `continueAfterTimeout` | A value that indicates whether to continue running the statement after the call times out. By default, the statement stops running when the call times out.<br /><br />For DDL statements, we recommend continuing to run the statement after the call times out. When a DDL statement terminates before it is finished running, it can result in errors and possibly corrupted data structures. | Defined in [`#beginTransaction`](#auroradataapibegintransaction). |\n| `resultSetOptions` | Options that control how the result set is returned. | Defined in [`#beginTransaction`](#auroradataapibegintransaction). |\n| `valueTransformer` | See [Value Transformer](#value-transformer). | Defined in [`#beginTransaction`](#auroradataapibegintransaction) |\n\n#### Further reading\n\n- https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#executeStatement-property\n- https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_ExecuteStatement.html\n\n### `AuroraDataAPI.Transaction#batchQuery`\n\n```ts\nbatchQuery(\n  sql: string,\n  params?: AuroraDataAPI.QueryParams[]\n) => Promise<AuroraDataAPI.QueryResult<T>>\n```\n\nPerforms a batch SQL statement over an array of data in the transaction.\n\n#### Arguments\n\n| Name     | Description                                                  | Required |\n| -------- | ------------------------------------------------------------ | -------- |\n| `sql`    | The SQL query string to perform.                             | Yes      |\n| `params` | An array of [Query Params](#query-params). Maximum of 1,000. | No       |\n\n#### Further reading\n\n- https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#batchExecuteStatement-property\n- https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_BatchExecuteStatement.html\n\n### `AuroraDataAPI.Transaction#commit`\n\nCommits and ends the transaction.\n\n```ts\ncommit() => Promise<AuroraDataAPI.CommitTransactionResult>\n```\n\n#### Further reading\n\n- https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#commitTransaction-property\n- https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_CommitTransaction.html\n\n### `AuroraDataAPI.Transaction#rollback`\n\n```ts\nrollback() => Promise<AuroraDataAPI.RollbackTransactionResult>\n```\n\nRolls-back and ends the transaction.\n\n#### Further reading\n\n- https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#rollbackTransaction-property\n- https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_RollbackTransaction.html\n\n### `AuroraDataAPI.Transaction#executeStatement`\n\n```ts\nexecuteStatement(\n  options: AuroraDataAPI.Transaction.ExecuteStatementOptions\n) => Promise<RDSDataService.ExecuteStatementResponse>\n```\n\nAbstraction of the [`RDSDataService#executeStatement`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#executeStatement-property) method in context of the transaction.\n\n#### Arguments\n\n| Name      | Description        | Required |\n| --------- | ------------------ | -------- |\n| `options` | See options below. | Yes      |\n\n#### Options\n\n| Name                    | Description                                                  | Default                                                      |\n| ----------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |\n| `sql` (Required)        | The SQL statement to run.                                    | `undefined`                                                  |\n| `includeResultMetadata` | A value that indicates whether to include metadata in the results. | Defined in [`#beginTransaction`](#auroradataapibegintransaction). |\n| `continueAfterTimeout`  | A value that indicates whether to continue running the statement after the call times out. By default, the statement stops running when the call times out.<br /><br />For DDL statements, we recommend continuing to run the statement after the call times out. When a DDL statement terminates before it is finished running, it can result in errors and possibly corrupted data structures. | Defined in [`#beginTransaction`](#auroradataapibegintransaction). |\n| `resultSetOptions`      | Options that control how the result set is returned.         | Defined in [`#beginTransaction`](#auroradataapibegintransaction). |\n\n#### Further reading\n\n- https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#executeStatement-property\n- https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_ExecuteStatement.html\n\n### `AuroraDataAPI.Transaction#batchExecuteStatement`\n\n```ts\nbatchExecuteStatement(\n  options: AuroraDataAPI.Transaction.BatchExecuteStatementOptions\n) => Promise<RDSDataService.BatchExecuteStatementResponse>\n```\n\nAbstraction of the RDSDataService [`RDSDataService#batchExecuteStatement`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#batchExecuteStatement-property) method in context of the transaction.\n\n#### Arguments\n\n| Name      | Description        | Required |\n| --------- | ------------------ | -------- |\n| `options` | See options below. | Yes      |\n\n#### Options\n\n| Name             | Description                                                  | Default     |\n| ---------------- | ------------------------------------------------------------ | ----------- |\n| `sql` (Required) | The SQL statement to run.                                    | `undefined` |\n| `parameterSets`  | The parameter set for the batch operation. The maximum number of parameters in a parameter set is 1,000. | `undefined` |\n\n#### Further reading\n\n- https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#batchExecuteStatement-property\n- https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_BatchExecuteStatement.html\n\n## Query Params\n\nQuery params are, to put simply, just a JS object of *names* and *values*. The *name* is attributed to the placeholder in your SQL statement, for instance:\n\n```ts\nquery('SELECT * FROM users WHERE id = :id', { id: 99 })\n```\n\nThe SQL statement with the placeholder `:id` will be interpreted as `SELECT * FROM users WHERE id = 99`.\n\nThe Data API for Aurora Serverless however, expects `parameters` to be defined like so:\n\n```ts\n[\n  {\n    name: 'id',\n    value: {\n      longValue: 99\n    }\n  }\n]\n```\n\n`AuroraDataAPI` transforms your query params by inspecting the type of the value. If you need more control, for instance, when inserting JSON, you can define your params using AWS's structure, for example:\n\n```ts\nquery('UPDATE users SET json_data = :jsonData WHERE id = :id', {\n  id: 99,\n  jsonData: {\n    typehint: 'json',\n    value: {\n      stringValue: JSON.stringify({ foo: 'bar' })\n    }\n  }\n})\n```\n\nNote that `name` is omitted from the object because it is defined by the key.\n\nSee [The docs on RDSDataService#executeStatement](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDSDataService.html#executeStatement-property) and the [SqlParameter documentation](https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_SqlParameter.html) for more information on how to structure your parameter in the \"RDSDataService way\".\n\n### How values are transformed\n\n| Value Type | Transformed Field |\n| ---- | ----- |\n| `string` | `{ stringValue: value }` |\n| `boolean` | `{ booleanValue: value }` |\n| `number` (integer) | `{ longValue: value }` |\n| `number` (float) | `{ doubleValue: value }` |\n| `string[]` | `{ arrayValue: { stringValues: values } }` |\n| `boolean[]` | `{ arrayValue: { booleanValues: values } }` |\n| `number[]` (integer) | `{ arrayValue: { longValues: values } }` |\n| `number[]` (float) | `{ arrayValue: { doubleValues: values } }` |\n| `instanceof Buffer` | `{ blobValue: value }` |\n| `instanceof Uint8Array` | `{ blobValue: value }` |\n\nMultidimensional arrays are also transformed recursively:\n\n```ts\n// these AuroraDataAPI Query parms...\n{\n  threeDimensions: [\n    [\n      ['1.1.1', '1.1.2'],\n      ['1.2.1', '1.2.2']\n    ],\n      ['2.1.1', '2.1.2'],\n      ['2.2.1', '2.2.2']\n  ]\n}\n\n// are transformed into these RDSDataService parameters...\n[\n  {\n    name: 'threeDimensions',\n    value: {\n      arrayValue: {\n        arrayValues: [\n          {\n            arrayValues: [\n              {\n                arrayValues: {\n                  stringValues: ['1.1.1', '1.1.2']\n                }\n              },\n              {\n                arrayValues: {\n                  stringValues: ['1.2.1', '1.2.2']\n                }\n              }\n            ],\n            arrayValues: [\n              {\n                arrayValues: {\n                  stringValues: ['2.1.1', '2.1.2']\n                }\n              },\n              {\n                arrayValues: {\n                  stringValues: ['2.2.1', '2.2.2']\n                }\n              }\n            ]\n          }\n        ]\n      }\n    }\n  }\n]\n\n```\n\n### Custom value classes\n\nSupport for `CustomValue` classes make it easy to \"DRY\" your code. They offer a way to encapsulate your values so they can be transformed into an `SqlParameter`. Here is an example of a `uuid` value:\n\n```ts\nclass UUIDValue implements AuroraDataAPI.CustomValue {\n  private value: string\n\n  constructor (value: string) {\n    this.value = value\n  }\n\n  toSqlParameter (): AuroraDataAPI.SqlParameter {\n    return {\n      typeHint: 'uuid',\n      value: {\n        stringValue: this.value\n      }\n    }\n  }\n}\n\nawait query(\n  'SELECT * FROM users WHERE uuid = :uuid',\n  { uuid: new UUIDValue(req.params.uuid) }\n)\n\n// it works with arrays too:\nawait query(\n  'SELECT * FROM users WHERE uuid = ANY(:uuids)',\n  { uuids: req.params.uuids.map((uuid) => new UUIDValue(uuid)) }\n)\n\n```\n\nA few predefined custom values are available: `AuroraDataAPI.JSONValue` and `AuroraDataAPI.BlobValue`, for more information please take a look at [`src/customValues.ts`](https://github.com/caspiandb/data-api-suite/tree/master/packages/aurora-data-api/src/customValues.ts).\n\n## Value Transformer\n\nWhen `includeResultMetadata` is `true`, the Data API response payload includes metadata for each of the columns in the result set. In cases such as `timezone`, `json` or `jsonb` columns, the column value will be returned as a `stringValue` (or `stringValues` in the case of an array).\n\nBy default `AuroraDataAPI` some types (such as those described above) into the expected objects. e.g. a `timezone` column will be parsed with `new Date`, a `jsonb` column will parsed using `JSON.parse`.\n\nYou can override and/or extend the default behavior by providing your own `valueTransformer` like so:\n\n```ts\nconst valueTransformer = (\n  value: any,\n  metadata: RDSDataService.ColumnMetadata,\n  next: Function\n) => {\n  if (\n    metadata.typeName === 'varchar' &&\n    typeof value === 'string'\n  ) {\n    return value.toUpperCase()\n  }\n  return next() // remove this line to disable the default value transformer\n}\n\n// construct AuroraDataAPI with your new value transformer\nconst client = new AuroraDataAPI({\n  ...config,\n  valueTransformer\n})\n\n// or add it to the options argument on #query or transaction#query\nconst result = await client.query(\n  'SELECT email FROM users',\n  undefined,\n  { valueTransformer }\n) // => { rows: [{ email: 'EXAMPLE@EXAMPLE.COM' }] }\n```\n\n## Example\n\nTake a look at the [example folder](https://github.com/caspiandb/data-api-suite/tree/master/example) for a complete example app that uses all the **Data API for Aurora Serverless Suite** packages.\n\n## MIT License\n\nCopyright (c) 2020 Marc Greenstock\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","readmeFilename":"README.md"}