{"_id":"dynoquery","_rev":"28-f06137faf409cbf8ab842edc13581c22","name":"dynoquery","dist-tags":{"latest":"0.2.3"},"versions":{"0.1.0":{"name":"dynoquery","version":"0.1.0","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.0","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"f0b04289d9603488ae49b51fed2fbd68dae03145","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.0.tgz","fileCount":10,"integrity":"sha512-7kWMSNCHMfyjDUbt4MIYxeyR1QR7nK+ooOpL+5OQjGI1EKLNuV4b6JtM1MwZJhazXcx0dmfZ1cUHgRPVePFUxw==","signatures":[{"sig":"MEUCIBflpefG0pzPasKh9z5GCzVgnoomAOQByWwqvJmmy1tJAiEA+oY1C44NW5KqY8DfInL5IE2m1xl7+thGZ7KQ2JoAy4M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28970},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1f877aaa1080906a9b549d1b11d4ae1ce1cca07e","scripts":{"test":"jest src","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.0_1769936986316_0.24278927920935467","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"dynoquery","version":"0.1.1","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.1","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"4e6f7ab644b9673085de58e85879d6d08c0c24d4","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.1.tgz","fileCount":10,"integrity":"sha512-myfYlogz0piORV/HrDa+ud+IdLpvIoWlfpVr8DNfgfa/cICiHk68fnt/FDCtfAvhAzDpj8HpyewSevK5nCxi5g==","signatures":[{"sig":"MEUCIHD9O0yOefTH4qV+U63gq18/xx3meGJro2fREjU1fFClAiEAg63HuCF0QIRD0uuR1iHfFmCoyfWE8MFhxkYl26w68jM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28970},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"6ae9ff92dc3da67018f7fb7c23386c93bd7a67fe","scripts":{"test":"jest src","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.1_1769937770157_0.2556996991091183","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"dynoquery","version":"0.1.2","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.2","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"b92dbb9dfab864a2efe2a9e3b375147f4ec75322","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.2.tgz","fileCount":12,"integrity":"sha512-/2BYKZzWZP3wOgN/DoON20mQL89FtwvzPDpLsAU6UTCeWAKLOgGeb1/SfM5HYkGgUD1SE8g1RSmxiX+yvjJwRQ==","signatures":[{"sig":"MEUCIQDfJTqWau85v+MZDeByp1Q/pDz7BQFEsw5ctwB+XNWjowIgct396fqt3cYiD2ajGoQfDQtWe/5ofqCLTfHjXhwLjGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37684},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"64dc1407f93c587cb93fb3882e889bfbd63af918","scripts":{"test":"jest src","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.2_1770567152343_0.5158818018638924","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"dynoquery","version":"0.1.3","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.3","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"2ef0ae1dc529fb36397803947d7054d59fadb0f6","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.3.tgz","fileCount":12,"integrity":"sha512-9P94DYLAdKERGuhRWzW3u3MfEn1VLKJkYqgPPWShITb8a2WGX1lDyl2w++YQOeI3QqKlbPTf0R/2L4u/KcU6mQ==","signatures":[{"sig":"MEUCIQD1yF38Z43XkQW8x1l0O8kcKd6GuKylpPEx1lGWT2a8tgIgengRYqI7b7rXnguyB9FkxqAKdc6BDOE5NjdFRvcc9q0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37734},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"dc02f9ffe3ed1ec3b62d60e2c62b0e26f26e1906","scripts":{"test":"jest src","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.3_1770603427826_0.3163058487209467","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"dynoquery","version":"0.1.4","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.4","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"c8ac645b460ccd13df86b4d5e44783cb1bdbc0db","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.4.tgz","fileCount":12,"integrity":"sha512-eB4aPo2J+8GiHQIh+8Ls8jyZwvO4Ujs4sZQqU0X5a3bbiv5yWNEZqH8HDKQBoVJzNlT4p0m81KKY11pQPfrHFg==","signatures":[{"sig":"MEUCIQCxyOcbTb2oNaPUIrOLKMYeyWa8lS7Kdlfwcu4rE6n04wIgToIHl6MqrrvQ1MhvW6r5MaheIx2v0UZa3+t1EuwAylk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37734},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d9a43904118d1bfa35cda19dc10a9b345235c541","scripts":{"test":"jest src","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.4_1770603978244_0.10350553619878822","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"dynoquery","version":"0.1.5","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.5","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"9f4dfdb8c39f02d0bf49c9933f5039805ffdac88","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.5.tgz","fileCount":12,"integrity":"sha512-qWXncSyMWW8p+ZbKJ1qEuTMv/T5Qt1RiWVIxrMEgn5tchuO9Zg/kGv2ZMb3hzKx77k6bS/1CVIq+VtaBAriF6A==","signatures":[{"sig":"MEQCIHjTkVNJJofpUGfYpgsVOpx47ZEbiqcK55UEv4kWVNTmAiAJQO24zWtM0HN6M8KYt5j728kIPYMF+I56Y0pmI/N2EA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46149},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"33df2597ccfe9c9094e18908f096615aba34b554","scripts":{"test":"jest src","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.5_1771695296745_0.004902774990232839","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"dynoquery","version":"0.1.6","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.6","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"5836ebb140c5c98e7dd2f87df4c21d0338dda895","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.6.tgz","fileCount":11,"integrity":"sha512-K2RjM8ARZ1j1DCeUSJggtu18MpB+teM7UX6OJbsIa6ixB4eabhWJKyotJ54zrtfHmIGURAAiYg8OL0Wm96+l2A==","signatures":[{"sig":"MEUCIA4A+J4vyjjLBR2vToehivaXhCOzsAxFvNDdX4wmWNLKAiEAjk6/2Sr6TcEqKCf3ifLrfyoj+Atzu81ekIN8TdDiblU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42259},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"be314dba19f8b29bf9e6fcabea90095e7f6127ee","scripts":{"test":"jest src","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.6_1774678842931_0.26780007871970346","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"dynoquery","version":"0.1.7","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.7","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"97be45cac7cd19a321cab0476b618900bfed1a8c","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.7.tgz","fileCount":11,"integrity":"sha512-l8N1P5jnU/tA6QTMUFQf3fiP7W6WORzoURTNFJuUi1ON2g/OVG6EKOUMkxZ2EX5vuURSRcIlIgHDXNeiJTsw1w==","signatures":[{"sig":"MEYCIQD/TjQUPC98TCWiW22ZOUUuEPR6NB2inwpfZl8tAqLBEQIhAMsBYQ14QxoeQ47DfATXGvbJo4uCmDZqd3reZf0Dn4YC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42280},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"76c1b7af9dae020f1b376a5f1335b5a8293d6064","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.7_1774692997361_0.035416051692410244","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"dynoquery","version":"0.1.8","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.8","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"41526098b38036164b9fab6234f69f4769522871","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.8.tgz","fileCount":11,"integrity":"sha512-OJ99puM/HGUoihWZnuNiwSkDrIaFhGbTNErMrM1C7S1VlclRJL3B8GENeK88njjj2wDUt7HzHrlZak9MuElhIA==","signatures":[{"sig":"MEUCIGILZDmd13/HZqwJOGphw3letB7tNNVQQsaIGiCRGfMfAiEA/jk7BRj+9v0AmGcMUcJW8HqQRXXMpfN737V2Z6Wss/c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32678},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ee92c183198f653cc1281662a33f1a81b2de3b72","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.8_1774699006634_0.12104267128714086","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"dynoquery","version":"0.1.9","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.9","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"7fa35cba6222a71962bfb1c617fe0542956b1267","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.9.tgz","fileCount":11,"integrity":"sha512-IhdbIPqtufMc9et2CTg9moNFEWtgfgTW6T3Kwxfxrza6hOSv3+OVlDH7Hl6J+Rd+MRUDXL7HgGSST4covS84gw==","signatures":[{"sig":"MEUCIQDcO5juPMHJvmB8pe0qjczdFeUyOqKNJXN9/ZWsDFo9gQIgImQbAreo3Fbzk0Ui5YncxAs0vNw8qLOTxJYuLhr8cl4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32612},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"16ed3c6ed0debe050041fdc94e30a7578e30e60a","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.9_1774707667024_0.09166043720352879","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"dynoquery","version":"0.1.10","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.10","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"84090e0f69c420a7e753f1693dfc041639382ca7","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.10.tgz","fileCount":11,"integrity":"sha512-6k883yrp4JCvTo8YnXcYKc/1xLAAIUlMr8TT6Th056lrmVOhPCtgUURJGI/xL4sP5tHXR832jonMbXET4Bo0YA==","signatures":[{"sig":"MEYCIQCQHPhraUbrWdFs3+S5KU1fUnaA7iS/sxVPYCWLk5rD0QIhAMymZiV0SVKbm4UtSeNSY8buQ6iLvDKlgLivVWz75mVA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33319},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c58bdbf5a7fc287b5b101ddc17c8b42b7482941f","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.10_1774709898112_0.2836002555119619","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"dynoquery","version":"0.1.11","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.11","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"f8f99b2a6721e6cd7d91f20cc689465ddc56eb39","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.11.tgz","fileCount":11,"integrity":"sha512-27OPHIy74RV4/1rf0eR7rrFEoZZ5G3MHzrrVJcaRsLqK9UN3BszN/rT0Xr+2E6ABufFW3bWGN2omhl5ZJJYF/Q==","signatures":[{"sig":"MEQCID5WWyVXjLZDF5fv2zbICyBboVm+k8sj7aD9Yaly+a5ZAiBSrNnHumL1KD7k6fmsmdjBZBy8t/UeDrnqa8kiXtz3JQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34043},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"168b33ccde76b9524c38a1f11ceb68c0aceeb2fe","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.11_1774710837235_0.19499607401543173","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"dynoquery","version":"0.1.13","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.13","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"b4e5a5c25142c06fd1a2a9772c039770c6607595","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.13.tgz","fileCount":11,"integrity":"sha512-LTvOC6BQiYKfdwLgYscWdW21gBYvWu6e7WjUZwDQiU6yGIHWnRpDdihRubVlY5+Ga2fejgwnC8+0vbqZJZQYog==","signatures":[{"sig":"MEUCIASarh8yJAfcsKsYroG3SeiFydfXXw/8jjjbjBWh2WYRAiEAsdzzL+NOHPAwpF46/vZ/zwz9gXo/AXzSKek4rn4Yz8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35621},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2997a99988334cf56e411ab281b8cecbf39bf164","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.8.0","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.13_1774777020831_0.9419865381054151","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"dynoquery","version":"0.1.14","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.14","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"ee3fa2c442840508469952bc194063acb33f22d7","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.14.tgz","fileCount":11,"integrity":"sha512-414BIqT19Fua6sgD+J/rGe8efVj4U26wrRwg93D5kzin3IEgAYUkg+qWrhDN+EqESliHHTRUatSAXyXuzB1PEA==","signatures":[{"sig":"MEQCID89M45JxGp7As/JuaM+EYJiVp3rqb9vY7Rz74SzZ/tRAiAyUvZAUd1z/G3hjU9TVx2axW0N68mcblb1NIbzmiphXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36409},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"417bb359a5ab453a86190e228ac7235e793d019e","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.14_1776589956187_0.6386700582046405","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"dynoquery","version":"0.1.15","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.15","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"9647765a906c7a248369cee73e86e5076d05fc7c","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.15.tgz","fileCount":11,"integrity":"sha512-jPsApPZrFElbSHnqn7hyIDyD6FqJhY6Nqr/PEx33eGIEEn0dBM1RWrFpIpzApZp96f33cL/F9NprvoyRdBbltQ==","signatures":[{"sig":"MEYCIQCv5hqzdGyinj3t061TCPRY9sgE+thyGbVEgSVhPH5KygIhALCvZcRVXzoLYNbdcvrf2SjvLAIOAuAuqO401+IaejXB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36435},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3056087d55528827a4be1c0fd3b7e566ba0cde70","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.15_1776674257169_0.11501363227019357","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"dynoquery","version":"0.1.16","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.16","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"d8b5f7242e856e7ccfab341b67dc2ea727d1af1f","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.16.tgz","fileCount":11,"integrity":"sha512-Pk6VEfVDV8Be0u3CuGUxLDEO7/qMQgSDzJZaKqYNIJrPuEbySWYRE3gc4XadUNMHqP5SirWiT9bhH0PIB4ye8w==","signatures":[{"sig":"MEUCIQCw+XILmHinP/FGMU9B1dlmZPH83vAN5pAitEQU+uaYVQIgQqgZNMItqVtD0zs1i83VFVGJYWhaZIQiz+P6nTQ5BaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42377},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"9ac8cc39f9c0418c478ebc296148d761a18f980b","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.16_1777207026900_0.09800312985013004","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"dynoquery","version":"0.1.17","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.17","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"1ed5700f6c43171438a3be0e1e89c3f1ebf88a59","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.17.tgz","fileCount":11,"integrity":"sha512-S+zuxkWcS6LNgAdNpAgzuWcs4UylQr0+5uSDtOM2nWvik5HiIAGbwftt6rg10I1yvTTlYdbypI3vnw44Z8SbmA==","signatures":[{"sig":"MEYCIQDZ+qE61DNCWc2KuGxGYSLn3pFjMpYcfXyhq4gs11ahXAIhAKAXBg8wkzeN06VHUoh8UnEC19I1gEEicB8ZuTXtwIx/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43008},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"858a5b25698fbfaa1632e70ed67ca1e7eaccb609","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.17_1777209018976_0.23673397942229624","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"dynoquery","version":"0.1.18","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.18","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"88b07ec5e7ec1dc8c2de9ccb26ab18575a35f122","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.18.tgz","fileCount":11,"integrity":"sha512-mADqPtzGKDsHvB2gQ4ALYx95km6Us/nwdjLeD3QCewXZJYCqDAbyG0yHQgFr5AORbVjNdeLS/jJ2TIk+zxxqMQ==","signatures":[{"sig":"MEUCIArWFvBWhrPTrCZGE8NZ/lVyGOvmhVVXZyXnGRagyApvAiEA2kskiWAlALvkuI1eDAoS02fn4bAZTpM3D/BnrkYOMiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43173},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0a5a07202b3be31547bee1c518f5a5dd0be8f78c","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.18_1777209546030_0.027281215360950295","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"dynoquery","version":"0.1.19","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.19","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"0938298db61b42af2a4709a786a3b0483e850df5","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.19.tgz","fileCount":11,"integrity":"sha512-2Mtgouuq3sCQwANf86t8kKbSTfExi360czLrzCi/bOorjjokDc7tTuv9QsjygVBrfrmIjX6ofXR/rOK/5S7fEQ==","signatures":[{"sig":"MEUCIFarLTR10Sl0hMubBT9P9THklxEDGIIBjicSnfwywjepAiEAqnsRjYq19MzQkllPHvyiJYwg+1W0ki8/SDWS58KU24k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48846},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2173a5d4c6f69b41de175dc14c9cb32d2ae82feb","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.19_1777214857315_0.6332918329836257","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"dynoquery","version":"0.1.20","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.20","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"4e31194abcd6b033159f5c33b142110fcfc241be","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.20.tgz","fileCount":11,"integrity":"sha512-VCyfMhHWJq1Et0GSFaEOThphBRp5y1HWiUy0SHgkWPqKnRej+nYtBTNAd96l9rCkWhDVMEGaID3SeeS2/6JWmw==","signatures":[{"sig":"MEUCIQDPSBuKEOjGqDv1KLeYvbISGLspgak+CxNTNXc1/hqYjQIgGDEsmR3YdqW6sr+WtYJN7+sdr11/gMr034TKHrjt18k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50315},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e18ab9889d9aadf831071890a34607997f4dcfba","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.20_1777221207384_0.32036519355851256","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"dynoquery","version":"0.1.22","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.22","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"86ffefff50f98345077d316fbdc6925f5396a5c8","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.22.tgz","fileCount":13,"integrity":"sha512-62+OmwonDW/ZSwGihpAlulryvz0ceyld/pnVH+lU9l6HeaY6vLErPluzwXhTCgucw/V8RdPLmZmRYIpcHbU+vw==","signatures":[{"sig":"MEQCIBxDzgKOomhlaR92OioWdgzx6dZq1RcWVPBWLkRgPqcyAiAT0Vz3e+Kkl0wZ14DKhu1Na4mg5psdFhT9EdfuUZgq9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77209},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"6a388618ebff9f047f95ea0ec5decf2f4e684362","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.22_1777268747158_0.705050797422617","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"dynoquery","version":"0.1.23","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.23","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"858b9ec83f0ebfa9b3427656244a6dc9a94301e5","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.23.tgz","fileCount":13,"integrity":"sha512-3WUrrSMm2rAURhCUWbkHaZaXzOJd9zK5Ph4Pvo/xmckCPNOUF/WHupo8jQrU+8mmagLdZ6oxGxa7Pqg29dvnww==","signatures":[{"sig":"MEUCIQDMeprG+bvT5Y4IC2WiNEiOZb8u0OFFDbMbHEeT3KYcPAIgE1VvuvGnI7bNjV/q44Liy7IYt4QLEGrSDzNj3yIgG2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76267},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"fbca1c1712a8b563aec56b045a7ecf8c716274e5","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.23_1777290487938_0.8111171803669897","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"dynoquery","version":"0.1.24","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.24","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"eb591d8b10e4d9871bba9ba6b90ce75eea208414","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.24.tgz","fileCount":13,"integrity":"sha512-VP/Q5jJJQZS5sF0lZj6KiboyKLrk2RoL7jcn4vrcLH433JK5KZ45IoReLDKbC1Bk0fsW0F414btdFQDIqwYXaw==","signatures":[{"sig":"MEYCIQCnIpDKmPOVVvMBYTfd++brnheeaX/vyaStLQo0NuygiQIhAPj4yfWhmWfdr8eSiAQUkROJhWrjR2CxeO/OFdnLI6R9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76392},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"18294b0953ac0a2dd0f04c7895865ad5990b132b","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.24_1777290644485_0.43758079025126473","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"dynoquery","version":"0.1.25","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.1.25","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"50620507baae36bec4ce16646df64a21574281d2","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.1.25.tgz","fileCount":13,"integrity":"sha512-gzvjzqjmyj/OXxWw+0H4NFfvgQ1ymh7DK7MTYOZWujKt51n+p50JEDWrDwDJSywKOOHXS6I+K9F/boxNoWYUqA==","signatures":[{"sig":"MEUCIDeMi8wyDERZGpnLdKGiCKuF+q4du2KPjDvwdcTNfK8dAiEA8MfXl97aovGujruRbsDcTrXXt2vPtLUVtXdnWMXJ+1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77720},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"004fd80bc849c7b043fa9e35cd802fa9f226e9c6","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.1.25_1777437786715_0.23398882344210148","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"dynoquery","version":"0.2.0","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.2.0","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"709532070fcacc63ee6eac96512a89bb5ff8a3a3","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.2.0.tgz","fileCount":13,"integrity":"sha512-CPFn/mKHAXvaIk51pVNLepfdOtKI/E6S+NjARF8PXz1oGBGJVxy12ZsVohGKSwFSq4Sqt9NBizW0lfd5nPiHZw==","signatures":[{"sig":"MEUCIQCng0DfzUQgQAC99kFbQWKBs+w5GPQN+npjghFmeoSpngIgL0J5TBfYmvqajCOOKzOt5mYwK9tHWEOmSTNFNCX7c0g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78244},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e8e2df1362f93353c6ca838a19bb9b057917a295","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.2.0_1777826999260_0.4362149840864591","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"dynoquery","version":"0.2.1","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.2.1","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"aa665dcc84138578ef000d143434bcb377f92d22","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.2.1.tgz","fileCount":13,"integrity":"sha512-t/xGWIdwXcq5Adl0XbqkYkVmpqQLxMRcAf2vy6n+toO85uL7MfeM96M8RMi+31VyiA4Occ8x4d8UQmdFAFLUXA==","signatures":[{"sig":"MEYCIQDr6Oc1abxdjxmYge/+I/PDdMmJLMAL0fZBCfaMrGGHCAIhAOx69p5gJ7XgOqMxtgD81stHdRvZF/BO87rwFZ2XFhP8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81170},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"850c0ce70dcba0a7b88e8ca5a81ad2675a39edab","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.2.1_1778241242899_0.6795453506144211","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"dynoquery","version":"0.2.2","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","_id":"dynoquery@0.2.2","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"homepage":"https://github.com/devspikejs/dynoquery#readme","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"dist":{"shasum":"29455ad58c0b497aaf115ac9c3f177c93b698fcc","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.2.2.tgz","fileCount":13,"integrity":"sha512-cUa8FyyJV+3h0PsEwyuJ//UT8uX7a4x1fbPKAhKZ7UEpiFiIlvGJB4TUFLjCg6kzsHNn6MFjkOLiu0r3etCGug==","signatures":[{"sig":"MEYCIQDeKPoidJpxqc0SWLqbbrRU+GUd2vNKpbn8fYG18ppdCgIhAIVmGFfQDjUbY4Uk263kBTsIRnDWRY0YHEbKXyV+vJRN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87025},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1c38859107e828204ea2a3553ead51f46786291a","scripts":{"test":"jest src","build":"tsc","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"repository":{"url":"git+https://github.com/devspikejs/dynoquery.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","directories":{},"_nodeVersion":"25.8.2","dependencies":{"@aws-sdk/lib-dynamodb":"^3.980.0","@aws-sdk/client-dynamodb":"^3.980.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dynoquery_0.2.2_1784488447881_0.8796820357404731","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"dynoquery","version":"0.2.3","repository":{"type":"git","url":"git+https://github.com/devspikejs/dynoquery.git"},"description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"jest src","version":"npm run build && git add dist","prepublishOnly":"npm run build"},"keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"author":"","license":"MIT","publishConfig":{"access":"public"},"dependencies":{"@aws-sdk/client-dynamodb":"^3.980.0","@aws-sdk/lib-dynamodb":"^3.980.0"},"devDependencies":{"@types/jest":"^30.0.0","jest":"^30.2.0","ts-jest":"^29.4.6","typescript":"^5.5.3"},"gitHead":"496b9b485c5a1803ccca53a39daadf658d1fbc26","_id":"dynoquery@0.2.3","bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"homepage":"https://github.com/devspikejs/dynoquery#readme","_nodeVersion":"25.8.2","_npmVersion":"11.11.1","dist":{"integrity":"sha512-TuX3Sbxjo3MNJwN+iZ/FfS/N/6oa5n5mtRkKJwmEGcJ30189q9f2LrQ7Ij1u0O6c4FAsnSBSwPKONtiaIdAaeg==","shasum":"036abbb220e0acc2675e07496c76519c68582ac0","tarball":"https://registry.npmjs.org/dynoquery/-/dynoquery-0.2.3.tgz","fileCount":13,"unpackedSize":87025,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICMi4szAQCQr/VQfFuUJnu9HEXRQGs9YVPokup1jqz77AiEAtjB4m0lSJyEZf3VqVC9I+sAx7+FXzi6+8Wbh0KAvxYQ="}]},"_npmUser":{"name":"tareqtms","email":"tareqtms@gmail.com"},"directories":{},"maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dynoquery_0.2.3_1784489089651_0.9565227481033558"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-01T09:09:46.248Z","modified":"2026-07-19T19:24:49.945Z","0.1.0":"2026-02-01T09:09:46.448Z","0.1.1":"2026-02-01T09:22:50.300Z","0.1.2":"2026-02-08T16:12:32.495Z","0.1.3":"2026-02-09T02:17:07.997Z","0.1.4":"2026-02-09T02:26:18.376Z","0.1.5":"2026-02-21T17:34:56.905Z","0.1.6":"2026-03-28T06:20:43.124Z","0.1.7":"2026-03-28T10:16:37.523Z","0.1.8":"2026-03-28T11:56:46.831Z","0.1.9":"2026-03-28T14:21:07.168Z","0.1.10":"2026-03-28T14:58:18.268Z","0.1.11":"2026-03-28T15:13:57.385Z","0.1.13":"2026-03-29T09:37:00.977Z","0.1.14":"2026-04-19T09:12:36.328Z","0.1.15":"2026-04-20T08:37:37.315Z","0.1.16":"2026-04-26T12:37:07.038Z","0.1.17":"2026-04-26T13:10:19.128Z","0.1.18":"2026-04-26T13:19:06.177Z","0.1.19":"2026-04-26T14:47:37.505Z","0.1.20":"2026-04-26T16:33:27.535Z","0.1.22":"2026-04-27T05:45:47.292Z","0.1.23":"2026-04-27T11:48:08.082Z","0.1.24":"2026-04-27T11:50:44.628Z","0.1.25":"2026-04-29T04:43:06.877Z","0.2.0":"2026-05-03T16:49:59.399Z","0.2.1":"2026-05-08T11:54:03.047Z","0.2.2":"2026-07-19T19:14:08.015Z","0.2.3":"2026-07-19T19:24:49.790Z"},"bugs":{"url":"https://github.com/devspikejs/dynoquery/issues"},"license":"MIT","homepage":"https://github.com/devspikejs/dynoquery#readme","keywords":["dynamodb","aws","wrapper","query","sdk-v3"],"repository":{"type":"git","url":"git+https://github.com/devspikejs/dynoquery.git"},"description":"A lightweight wrapper for Amazon DynamoDB using the AWS SDK v3","maintainers":[{"name":"tareqtms","email":"tareqtms@gmail.com"}],"readme":"# DynoQuery\n\n[![npm version](https://img.shields.io/npm/v/dynoquery.svg)](https://www.npmjs.com/package/dynoquery)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA lightweight wrapper for Amazon DynamoDB using the AWS SDK v3, specifically designed for **Single-Table Design** patterns.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Features](#features)\n- [Quick Start](#quick-start)\n  - [1. Working with Partitions (Models)](#1-working-with-partitions-models)\n  - [2. Global Secondary Indexes (findBy)](#2-global-secondary-indexes-findby)\n  - [3. Creating Items with GSI Support](#3-creating-items-with-gsi-support)\n  - [4. Batch Operations](#4-batch-operations)\n  - [5. Transaction Operations](#5-transaction-operations)\n  - [6. Time To Live (TTL)](#6-time-to-live-ttl)\n- [Configuration](#configuration)\n  - [DynoQuery Options](#dynoquery-options)\n  - [findBy Index Options](#findby-index-options)\n- [Advanced Usage](#advanced-usage)\n  - [Pagination](#pagination)\n  - [Expression Builder](#expression-builder)\n- [API Reference](#api-reference)\n- [License](#license)\n\n## Installation\n\n```bash\nnpm install dynoquery\n```\n\n## Features\n\n- Basic CRUD operations (create, get, update, delete)\n- Optimized for **Single-Table Design** (Partitions and GSIs)\n- Automatic result mapping to partition models\n- Built-in caching for partition instances\n- Batch operations with automatic chunking\n- Transaction support with atomicity guarantees (100-item limit enforced)\n- TypeScript support\n\n## Quick Start\n\nInitialize the client with your table name and define your models.\n\n```typescript\nimport { DynoQuery } from 'dynoquery';\n\nconst db = new DynoQuery({\n  region: 'us-east-1',\n  tableName: 'MyTable'\n});\n```\n\n### 1. Working with Partitions (Models)\n\nDefine models to handle different entity types within your single table. Each model maps to a PK prefix (e.g. `USER#john@example.com`).\n\n```typescript\nconst db = new DynoQuery({\n  region: 'us-east-1',\n  tableName: 'MyTable',\n  models: {\n    User: { pkPrefix: 'USER#' },    // PK: USER#<id>\n    Product: { pkPrefix: 'PROD#' }  // PK: PROD#<id>\n  }\n});\n\nasync function userExample() {\n  const john = db.User('john@example.com'); // PK: USER#john@example.com\n\n  // Create an item (SK: PROFILE)\n  await john.create('PROFILE', { name: 'John Doe', email: 'john@example.com' });\n\n  // Get an item (uses cache if already loaded)\n  const profile = await john.get('PROFILE');\n  console.log(profile.name); // 'John Doe'\n\n  // Update an item (partial update — merges with existing data)\n  await john.update('PROFILE', { theme: 'dark' });\n\n  // Delete an item\n  await john.delete('PROFILE');\n\n  // Update an item with UpdateExpression\n  const johnMeta = john.draft('METADATA');\n  johnMeta.updateAction({\n    UpdateExpression: 'SET #name = :name',\n    ExpressionAttributeNames: { '#name': 'name' },\n    ExpressionAttributeValues: { ':name': 'John Updated' }\n  });\n  await johnMeta.save();\n\n  // Fetch all items in this partition\n  const allData = await john.getAll();\n}\n```\n\n#### Item Objects (Single-Row Operations)\n\nFor fine-grained control over individual rows, use `draft()` to get an `Item` object and call `save()` on it directly. Pass a second argument to the model function as a shorthand.\n\n```typescript\nconst john = db.User('john@example.com'); // PK: USER#john@example.com\n\n// 1. Create a new row via draft\nconst johnMeta = john.draft('METADATA');\njohnMeta.name = 'John Doe';\njohnMeta.email = 'johndoe@johnmail.com';\nawait johnMeta.save();\n\n// 2. Draft with initial properties\nconst johnStat = john.draft('STAT', { views: 100 });\nawait johnStat.save();\n\n// 3. Get an existing row, modify, and save\nconst johnBio = await john.get('BIO');\njohnBio.birthYear = 1986;\nawait johnBio.save();\n\n// 4. Shorthand: pass SK as second argument to get an Item directly\nconst johnPref = db.User('john@example.com', 'PREF'); // PK: USER#john@example.com, SK: PREF\njohnPref.theme = 'dark';\nawait johnPref.save();\n\n// 5. Update with UpdateExpression (non-transactional)\nconst johnUpdate = db.User('john@example.com', 'BIO');\njohnUpdate.updateAction({\n  UpdateExpression: 'SET #v = #v + :inc',\n  ExpressionAttributeNames: { '#v': 'version' },\n  ExpressionAttributeValues: { ':inc': 1 }\n});\nawait johnUpdate.save();\n```\n\n### 2. Global Secondary Indexes (findBy)\n\nUse `findBy` to query GSIs. By default, the GSI PK attribute name is `{indexName}PK` and the SK attribute name is `{indexName}SK`.\n\n```typescript\nconst db = new DynoQuery({\n  region: 'us-east-1',\n  tableName: 'MyTable',\n  models: {\n    Product: { pkPrefix: 'PROD#' }\n  },\n  findBy: {\n    Category: { indexName: 'GSI1', pkPrefix: 'CAT#' }\n    // pkName defaults to 'GSI1PK', skName defaults to 'GSI1SK'\n  }\n});\n\nasync function indexExample() {\n  const electronics = db.findByCategory('ELECTRONICS'); // GSI1PK: CAT#ELECTRONICS\n\n  // Get all items in this category\n  const items = await electronics.getAll();\n\n  // Results are automatically mapped to registered models\n  items.forEach(async item => {\n    if (item.__model === 'Product') {\n      const productPartition = item.getPartition();\n\n      item.price = 45;\n      await item.save();\n    }\n  });\n}\n```\n\n> **Note:** When passing a `skValue` to `getAll()`, it filters using `begins_with` on the sort key. For example, `getAll({ skValue: 'RANK#' })` returns all items whose GSI SK starts with `RANK#`.\n\n### 3. Creating Items with GSI Support\n\nPass index query objects to `create()` or `update()` to automatically populate GSI attributes.\n\n#### Using Partition.create() and Partition.update()\n\n```typescript\nconst electronics = db.findByCategory('ELECTRONICS', 'RANK#1'); // GSI1PK: CAT#ELECTRONICS, GSI1SK: RANK#1\n\nawait db.Product('p123').create('INFO', { // PK: PROD#p123\n  name: 'Gaming Mouse',\n  price: 50\n}, [electronics]);\n\n// Partial update with GSI support\nawait db.Product('p123').update('INFO', { price: 45 }, [electronics]); // PK: PROD#p123\n```\n\n#### Using setIndex() for Persistence\n\nAttach indices to an `Item` so they are included automatically on every `save()`.\n\n```typescript\nconst electronics = db.findByCategory('ELECTRONICS', 'RANK#1'); // GSI1PK: CAT#ELECTRONICS, GSI1SK: RANK#1\nconst mouse = db.Product('p123', 'INFO'); // PK: PROD#p123, SK: INFO\n\nmouse.setIndex(electronics);\nmouse.price = 50;\n\n// GSI attributes are included automatically\nawait mouse.save();\n```\n\n### 4. Batch Operations\n\n`batchWrite` and `batchRead` handle multiple items across partitions. Requests are automatically chunked to respect DynamoDB limits (25 per write, 100 per read).\n\n```typescript\n// 1. Batch Write (create/replace multiple items)\nconst user1 = db.User('john@example.com', 'METADATA'); // PK: USER#john@example.com, SK: METADATA\nuser1.name = 'John Doe';\n\nconst user2 = db.User('jane@example.com', 'METADATA'); // PK: USER#jane@example.com, SK: METADATA\nuser2.name = 'Jane Doe';\n\nawait db.batchWrite([user1, user2]);\n\n// 2. Batch Read (fetch multiple items or index queries)\nconst userDraft = db.User('john@example.com', 'METADATA'); // PK: USER#john@example.com, SK: METADATA\nconst categoryQuery = db.findByCategory('ELECTRONICS', 'p123'); // GSI1PK: CAT#ELECTRONICS, GSI1SK: p123\n\nconst results = await db.batchRead([userDraft, categoryQuery]);\n\nresults.forEach(item => {\n  console.log(item.__model); // Automatically mapped to models\n  if (item.__model === 'User') {\n    item.status = 'active';\n    item.save();\n  }\n});\n\n// 3. Batch Delete\nconst userToDelete = db.User('john@example.com').draftDelete('METADATA'); // PK: USER#john@example.com\nawait db.batchWrite([userToDelete]);\n```\n\n### 5. Transaction Operations\n\n`transactWrite` and `transactRead` perform atomic operations — all items succeed or all fail together. DynamoDB limits a single transaction to 100 items; exceeding this throws an error.\n\n```typescript\n// 1. Transaction Write (all operations succeed or all fail)\nconst user1 = db.User('john@example.com', 'METADATA'); // PK: USER#john@example.com, SK: METADATA\nuser1.name = 'John Doe';\n\nconst userToDelete = db.User('olduser@example.com').draftDelete('METADATA'); // PK: USER#olduser@example.com\n\n// Conditional write: only succeeds if status is 'ACTIVE'\nconst criticalItem = db.User('admin@example.com', 'METADATA'); // PK: USER#admin@example.com, SK: METADATA\ncriticalItem.lastLogin = new Date().toISOString();\ncriticalItem.setCondition(attr('status').equals('ACTIVE'));\n\n// 4. Update operation in transaction\nconst userToUpdate = db.User('john@example.com').draft('METADATA');\nuserToUpdate.updateAction({\n  UpdateExpression: 'SET #name = :name',\n  ExpressionAttributeNames: { '#name': 'name' },\n  ExpressionAttributeValues: { ':name': 'John Updated' }\n});\n\nawait db.transactWrite([user1, userToDelete, criticalItem, userToUpdate]);\n\n// 2. Transaction Read (read multiple items atomically)\nconst userDraft = db.User('john@example.com', 'METADATA'); // PK: USER#john@example.com, SK: METADATA\nconst items = await db.transactRead([userDraft]);\n\nif (items[0]) {\n  console.log('Found user:', items[0].name);\n}\n```\n\n### 6. Time To Live (TTL)\n\nConfigure `ttlAttributeName` to enable TTL support. DynoQuery sets the TTL value on items — you must separately enable TTL on the DynamoDB table itself (via the AWS Console, CLI, or CloudFormation).\n\n```typescript\nconst db = new DynoQuery({\n  region: 'us-east-1',\n  tableName: 'MyTable',\n  ttlAttributeName: 'expireAt'\n});\n\nasync function ttlExample() {\n  const session = db.User('john@example.com').draft('SESSION'); // PK: USER#john@example.com\n\n  // Set TTL to 1 hour from now (Unix timestamp in seconds)\n  const ttl = Math.floor(Date.now() / 1000) + 3600;\n  session.ttl(ttl);\n\n  session.data = 'some session data';\n  await session.save();\n}\n```\n\n## Configuration\n\n### DynoQuery Options\n\n| Parameter | Type | Default | Description |\n| :--- | :--- | :--- | :--- |\n| `tableName` | `string` | - | The DynamoDB table name. |\n| `region` | `string` | - | AWS region. |\n| `pkName` | `string` | `'PK'` | Attribute name for the table Partition Key. |\n| `skName` | `string` | `'SK'` | Attribute name for the table Sort Key. |\n| `pkPrefix` | `string` | `''` | Global prefix for all partition keys (useful for multitenancy, e.g., `TENANT#A#`). |\n| `ttlAttributeName` | `string` | - | Attribute name configured for DynamoDB TTL. |\n| `endpoint` | `string` | - | Custom endpoint for local development (e.g., `http://localhost:8000`). |\n| `credentials` | `object` | - | AWS credentials `{ accessKeyId, secretAccessKey, sessionToken? }`. |\n| `models` | `object` | - | Map of model names to `{ pkPrefix: string }`. |\n| `findBy` | `object` | - | Map of index names to index config (see below). |\n\n```typescript\nconst db = new DynoQuery({\n  region: 'us-east-1',\n  tableName: 'MyTable',\n  pkName: 'PartitionKey',\n  skName: 'SortKey',\n  pkPrefix: 'TENANT#A#',\n  endpoint: 'http://localhost:8000',\n  credentials: {\n    accessKeyId: 'MY_ACCESS_KEY',\n    secretAccessKey: 'MY_SECRET_KEY'\n  }\n});\n```\n\n### findBy Index Options\n\n| Parameter | Type | Default | Description |\n| :--- | :--- | :--- | :--- |\n| `indexName` | `string` | Required | The DynamoDB index name (e.g., `'GSI1'`). |\n| `pkName` | `string` | `'{indexName}PK'` | Attribute name for the GSI partition key. |\n| `skName` | `string` | `'{indexName}SK'` | Attribute name for the GSI sort key. |\n| `pkPrefix` | `string` | `''` | Prefix applied to PK values for this index. |\n\n```typescript\nconst db = new DynoQuery({\n  // ...\n  findBy: {\n    // GSI1PK / GSI1SK auto-derived from indexName\n    Category: { indexName: 'GSI1', pkPrefix: 'CAT#' },\n\n    // Override attribute names explicitly\n    Status: { indexName: 'StatusIndex', pkName: 'StatusPK', skName: 'StatusSK' }\n  }\n});\n```\n\n## Advanced Usage\n\n### Pagination\n\nBoth `Partition.getAll()` and `IndexQuery.getAll()` support pagination via `Limit` and `ExclusiveStartKey`.\n\n```typescript\nconst index = db.findByCategory('ELECTRONICS'); // GSI1PK: CAT#ELECTRONICS\nconst items = await index.getAll({ Limit: 10 });\n\nconst token = index.getLastEvaluatedKey();\nif (token) {\n  const nextItems = await index.getAll({ Limit: 10, ExclusiveStartKey: token });\n}\n```\n\nUse `ScanIndexForward: false` to return results in descending sort key order:\n\n```typescript\nconst latest = await index.getAll({ Limit: 5, ScanIndexForward: false });\n```\n\n### Projections\n\nUse `ProjectionExpression` to fetch only specific attributes. This is highly recommended for performance when dealing with large items.\n\n```typescript\nconst items = await index.getAll({ \n  ProjectionExpression: 'name, email, age' \n});\n```\n\n### Expression Builder\n\nUse `attr()` and `ExpressionBuilder` to build type-safe filter and condition expressions.\n\n```typescript\nimport { attr, ExpressionBuilder } from 'dynoquery';\n\n// 1. Filtering in queries\nconst builder = attr('age').greaterThan(25).and(attr('status').equals('ACTIVE'));\nconst activeUsers = await db.User('some-id').getAll({ filterBuilder: builder }); // PK: USER#some-id\n\n// 2. Conditional save — fails if version is not 1\nconst johnMeta = db.User('john@example.com', 'METADATA'); // PK: USER#john@example.com, SK: METADATA\njohnMeta.setCondition(attr('version').equals(1));\njohnMeta.name = 'John New Name';\njohnMeta.version = 2;\nawait johnMeta.save();\n\n// 3. Conditional create/update on the Partition level\nawait db.User('john@example.com').create('METADATA', { name: 'John' }, [], { // PK: USER#john@example.com\n  conditionBuilder: attr('email').notExists()\n});\n\n// 4. NOT combinator\nconst notPremium = ExpressionBuilder.not(attr('tier').equals('PREMIUM'));\nconst users = await db.User('some-id').getAll({ filterBuilder: notPremium }); // PK: USER#some-id\n```\n\n**Supported operators:**\n\n| Method | DynamoDB Expression |\n| :--- | :--- |\n| `.equals(val)` | `= val` |\n| `.notEquals(val)` | `<> val` |\n| `.lessThan(val)` | `< val` |\n| `.lessThanOrEqual(val)` | `<= val` |\n| `.greaterThan(val)` | `> val` |\n| `.greaterThanOrEqual(val)` | `>= val` |\n| `.between(start, end)` | `BETWEEN start AND end` |\n| `.in([val1, val2])` | `IN (val1, val2)` |\n| `.and(otherBuilder)` | `(a) AND (b)` |\n| `.or(otherBuilder)` | `(a) OR (b)` |\n| `ExpressionBuilder.not(builder)` | `NOT (a)` |\n\n**Supported functions:**\n\n| Method | DynamoDB Function |\n| :--- | :--- |\n| `attr('field').exists()` | `attribute_exists(field)` |\n| `attr('field').notExists()` | `attribute_not_exists(field)` |\n| `attr('field').type('S')` | `attribute_type(field, 'S')` |\n| `attr('field').beginsWith('prefix')` | `begins_with(field, 'prefix')` |\n| `attr('field').contains('value')` | `contains(field, 'value')` |\n| `attr('field').size().greaterThan(5)` | `size(field) > 5` |\n\n## API Reference\n\n### DynoQuery\n\n| Method | Description |\n| :--- | :--- |\n| `[ModelName](id, skValue?)` | Returns a `Partition` for the given ID. If `skValue` is provided, returns an `Item` directly. |\n| `findBy[IndexName](id, skValue?)` | Returns an `IndexQuery` for the given ID. |\n| `batchWrite(items)` | Persists multiple `Item` objects. Auto-chunks at 25 per DynamoDB limit. |\n| `batchRead(items)` | Fetches multiple `Item` objects. Auto-chunks at 100 per DynamoDB limit. |\n| `transactWrite(items)` | Atomic write (Put/Update/Delete). Throws if more than 100 items are provided. |\n| `transactRead(items)` | Atomic read (Get). Throws if more than 100 items are provided. |\n| `create(params)` | Low-level `PutCommand` wrapper. |\n| `get(params)` | Low-level `GetCommand` wrapper. |\n| `update(params)` | Low-level `UpdateCommand` wrapper. |\n| `delete(params)` | Low-level `DeleteCommand` wrapper. |\n| `query(params)` | Low-level `QueryCommand` wrapper. |\n| `scan(params)` | Low-level `ScanCommand` wrapper. |\n\n### Partition\n\n| Method | Description |\n| :--- | :--- |\n| `get(skValue)` | Fetches a single item by SK. Returns an `Item` or `null`. |\n| `getAll(options?)` | Queries all items in the partition. Options: `Limit`, `ExclusiveStartKey`, `filterBuilder`, `FilterExpression`, `ProjectionExpression`, `ExpressionAttributeNames`, `ExpressionAttributeValues`. |\n| `create(skValue, data, indices?, options?)` | Creates/replaces an item. `options`: `conditionBuilder`, `ConditionExpression`, `ExpressionAttributeNames`, `ExpressionAttributeValues`. |\n| `update(skValue, data, indices?, options?)` | Merges `data` with existing item and saves. Same `options` as `create`. |\n| `delete(skValue, options?)` | Deletes an item by SK. Same `options` as `create`. |\n| `draft(skValue, data?)` | Returns an unsaved `Item` initialized with optional `data`. |\n| `draftDelete(skValue)` | Returns an `Item` marked for deletion (for use with `batchWrite`). |\n| `deleteAll()` | Deletes all items in the partition. |\n| `getLastEvaluatedKey()` | Returns the pagination token from the last `getAll()`. |\n\n### IndexQuery\n\n| Method | Description |\n| :--- | :--- |\n| `getAll(options?)` | Queries the index. Options: `Limit`, `ScanIndexForward`, `ExclusiveStartKey`, `skValue` (uses `begins_with`), `filterBuilder`, `FilterExpression`, `ProjectionExpression`, `ExpressionAttributeNames`, `ExpressionAttributeValues`. |\n| `get(skValue?)` | Returns the first item matching the optional SK prefix. |\n| `getLastEvaluatedKey()` | Returns the pagination token from the last `getAll()`. |\n\n### Item\n\n| Method | Description |\n| :--- | :--- |\n| `save()` | Persists the item. Includes any attached indices and condition. |\n| `ttl(timestamp)` | Sets the TTL attribute value (requires `ttlAttributeName` in config). |\n| `getData()` | Returns a plain object with only the item's data attributes. |\n| `setIndex(index)` | Attaches one or more `IndexQuery` objects (included on every `save()`). |\n| `setFilter(builder)` | Sets a filter expression builder for the item. |\n| `setCondition(builder)` | Sets a condition expression applied on `save()`. |\n| `getPartition()` | Returns the parent `Partition` instance. |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}