{"_id":"@arcaelas/dynamite","_rev":"26-6cd2a30ebc6c4223543641b8ca4cde0c","name":"@arcaelas/dynamite","dist-tags":{"latest":"3.4.0"},"versions":{"1.0.0":{"name":"@arcaelas/dynamite","version":"1.0.0","license":"MIT","_id":"@arcaelas/dynamite@1.0.0","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"dist":{"shasum":"b5978c6c5e84820e2da1e461aa883325849016d4","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.0.tgz","fileCount":24,"integrity":"sha512-vpFy/1+ZcIMgZhpvkoVEpBGubkRMxJEW+7agyikwbZLp5gigpGFf7cswRpG5AgSFCDcTpT8K377tnR+jthLTKw==","signatures":[{"sig":"MEQCICY8myKuJ9K9jqoI9A6Yyy/m6yDZl9s995R8u11Nb8dNAiANi+2lIoiEfVRdMEkzR9hevob6DbXhY4Pq3gDT90v1uA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41667},"main":"index.js","gitHead":"6ec19849edfb777f411c3aca6d3457e9f7f29b7f","scripts":{"test":"jest","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"arcaelas","actor":{"name":"arcaelas","type":"user","email":"arcaela.reyes@gmail.com"},"email":"arcaela.reyes@gmail.com"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.0_1751248219594_0.819620126813859","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@arcaelas/dynamite","version":"1.0.1","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.1","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"39f469a920901081220bdcad2b4cef93768890d1","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.1.tgz","fileCount":67,"integrity":"sha512-fkgCQehm8RZdPHq6UD1v6QxoHopBpfzOTnKXIQNaQc02JDW1GiEuFRk1wzyWdyV69zU0R2NfTksceU8qd7eBVQ==","signatures":[{"sig":"MEQCID4jo4p0m1ABFDLxJKk7XYF3YgxoOq9L26MuPkF2jX3jAiABg1O/zEUiVdZ5n9eiMq2iiVvYCRfeNiagaX05/PKSWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115210},"main":"build/index.js","gitHead":"b748e68592b26d85655214924dc975d22464d538","scripts":{"test":"yarn build && jest","build":"tsc && node esbuild.js","commit":"npm publish --access=public","postpublish":"rm -rf build","prepublishOnly":"yarn test && npm version patch"},"_npmUser":{"name":"arcaelas","actor":{"name":"arcaelas","type":"user","email":"arcaela.reyes@gmail.com"},"email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.1_1751248890774_0.9856312595854511","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@arcaelas/dynamite","version":"1.0.2","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.2","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"915274b2da7240ed7624c6accc23ad07e1dca2ff","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.2.tgz","fileCount":8,"integrity":"sha512-E3reQYJR2GM34bBwXgKWeN0BNZc98Bta6gLGBxP3Bv4snh71/PCyEuCmMb36zb+gQeaOFlo+epP77G6AhWlCHg==","signatures":[{"sig":"MEYCIQD9UZAetP6h64A2ZqlWw7q4nDMDGvYEz7QWEEDNFgsN8wIhAJEQAMBnPh4QVzU/05Agc/2QuRh1hNpQ06Ey9UOQHq7r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60759},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"c731c68dc6b2156bb6c401fc82a9cfcd9d639d29","scripts":{"test":"jest && yarn build","build":"tsc && node esbuild.js","commit":"npm publish --access=public","postpublish":"rm -rf build","prepublishOnly":"yarn test && npm version patch"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.2_1753647364723_0.8396565832957448","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@arcaelas/dynamite","version":"1.0.3","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.3","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"f250a2603033d3e2b586b3f5213bd03999a49a47","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.3.tgz","fileCount":46,"integrity":"sha512-YVy+0kcrVC9HWqQyhDnP8VtmJK9YN1iU/qgjTTsZuOkg3REg+tks1ILrhhB/bteuuJiSrdx5pyeAqjEFCDgbFA==","signatures":[{"sig":"MEYCIQDoyrvgIK8yA+slqY430/9UGAEogKLud2uum0iag0Hc4QIhAIrrbu6wRmcW33EsTWv1Cc+6Xm2DLAvsS/MO3B6JentI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101321},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"b59406e5199c46bcacdf37c63b9bb8ea4c812797","scripts":{"test":"jest && yarn build","build":"tsc && tsc-alias && node esbuild.js","commit":"npm publish --access=public","postpublish":"rm -rf build","prepublishOnly":"yarn test && npm version patch"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.3_1753648033891_0.007491574239768761","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@arcaelas/dynamite","version":"1.0.4","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.4","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"8903e2e3490cf61717e2c495c3dd1b0462fe6112","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.4.tgz","fileCount":46,"integrity":"sha512-VV6eDkow+oO2a6DGsJKJkil3ekBmxHD1BjWOmkM7jnW3BbkINR6vGl4ssZRDpp6SOg3ih78ukfyEY2A26lVsGQ==","signatures":[{"sig":"MEUCIQDIdu6KRNg+GOp1JA1SGlpD1JBIHjSNfJzvrjV+u5qKOwIgJrIu98FUj0ncz2RY/kxZ7Ef32ii7+yfY+/SZOfGw1RI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59187},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"d092a91ec9ea46e1b2e85c3ebc4eb263e69ed989","scripts":{"test":"jest","build":"tsc && tsc-alias","commit":"npm publish --access=public","postpublish":"rm -rf build","prepublishOnly":"yarn test && yarn build && npm version patch"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.4_1753663499984_0.2841102534076392","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@arcaelas/dynamite","version":"1.0.5","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.5","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"fe3464c9d7b30b8f62f8cc6977afaac255ad1279","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.5.tgz","fileCount":46,"integrity":"sha512-2XfdW2VneFsEIvEbTlls19b3COVmp6msaB+mOiKO2yLDsx0J+QqP9aZ0fGLarcTatgUAcq1fLstTzDWeg33rUQ==","signatures":[{"sig":"MEQCIC0s83Ed65M01YpwAPAr3z4CevYsUDISGB6tC5rSKoMSAiB/BEdWojmTVcZByHs0e45XoBdjFt1TMgn63PKBuFdlfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59156},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"8036b353104534a8665189e380150c3b39b7b295","scripts":{"test":"jest","build":"tsc && tsc-alias","commit":"npm publish --access=public","postpublish":"rm -rf build","prepublishOnly":"yarn test && yarn build && npm version patch"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.5_1753663767142_0.7517470687470422","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@arcaelas/dynamite","version":"1.0.6","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.6","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"1583febac273f7c45a5600ffd4a1559a935182e7","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.6.tgz","fileCount":46,"integrity":"sha512-xFP4D78QeAKcFm+NJGz4G+S3KON1hbtFDPWuux4XxyP360BHBNrziSpHaWMR+u5jYPaigq3Qu+g8vaFF4Nbx+w==","signatures":[{"sig":"MEQCIFwEy3/3hDBIcc90QJlFiQv6j+wcprhU2jzi8KlcX6M3AiBV+3MCv60b3uQ6eTDSBSTV5bVZPfoknCeAGpswOWjdbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65329},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"e9cd87e5bd23ff0fd76139ee3856e95e14d558d9","scripts":{"test":"jest","build":"tsc && tsc-alias","commit":"npm publish --access=public","postpublish":"rm -rf build","prepublishOnly":"yarn test && yarn build && npm version patch"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.6_1753665513470_0.98342805443064","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@arcaelas/dynamite","version":"1.0.7","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.7","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"c3e4690c6abaecd14ff6e841a3809f67587259f2","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.7.tgz","fileCount":46,"integrity":"sha512-7p7mPluj35QGHZAJ+4NpHn0RjdTcwYR9/Tm8xE/1j5V2bv2mP8sSlcYLqLIq5vo50J8C8VPY7qE2sMJKDAETSg==","signatures":[{"sig":"MEUCIDqJHHFmvpzg+T9OUfvp2mAmnCjX17KL6NXE7QmrcRTxAiEAhLeSrYcFjqgVxPI2Fu1oDJSgKUrohUjplMgoFKwvIsM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71817},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"f6b8670aa453d2ceb78b01393966229fc16a4834","scripts":{"test":"jest","build":"tsc && tsc-alias","commit":"npm publish --access=public","postpublish":"rm -rf build","prepublishOnly":"yarn test && yarn build && npm version patch"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.7_1753667849173_0.2737417680391503","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@arcaelas/dynamite","version":"1.0.8","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.8","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"9dc7d687927503f677482c658957de561bb3abc2","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.8.tgz","fileCount":46,"integrity":"sha512-CYPSI1rDWqvSzy8rEPmfQvReSBABnJhhjtZ1qRLM08P2qGZ/5HTCPRSFO5Uv/sbzAhqSemVaANk+TvL3AdikFQ==","signatures":[{"sig":"MEQCIDzfu7T/lCXOGHMyOF3a7MhjuUPbUPvvBVn4TZ88Sj9eAiBh3za9puXMWndoTeQ6SZ/2s76ar/J56o2/2Mb34n/9rQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75339},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"bd755efa2055a2c0af3f4dcdf1fa6971eefd40ec","scripts":{"test":"jest","build":"tsc && tsc-alias","commit":"npm publish --access=public","postpublish":"rm -rf build","prepublishOnly":"yarn test && yarn build && npm version patch"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.8_1753668628016_0.858988428130113","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@arcaelas/dynamite","version":"1.0.9","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.9","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"06289868eb29f76682f76b56d342a64a9b4d4f5d","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.9.tgz","fileCount":46,"integrity":"sha512-5fAnp/2lDpWrkxUSlF+jYrhLkHbjAtn0hLis+eWrLY/gGJTOdTGYLi2iWpvhkum96FbOz4sMPQJEi4WQDHZ5dg==","signatures":[{"sig":"MEQCIASTO8XOTpms2RKkLVHYG6ysomntGLtnYAAaDTq7/x1VAiBP7OKfgL2mAHDJmrVRpBz8bZC57tuFFnVgUfyvPPynKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79334},"main":"build/index.js","types":"./build/index.d.ts","gitHead":"bad2f432473316332f8ed3636c829ec21c328d23","scripts":{"test":"jest","build":"tsc && tsc-alias","commit":"npm publish --access=public","postpublish":"rm -rf build","prepublishOnly":"yarn test && yarn build && npm version patch"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.9_1753671092514_0.39819295885737005","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@arcaelas/dynamite","version":"1.0.10","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.10","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"2b3f921f17f1e37918bec2a5dfed8ab53d0cf5c8","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.10.tgz","fileCount":70,"integrity":"sha512-Yq/x8OwSWD1t20bZtoUmjNAiWaJOKZp1WdxMLJcUzscDzoIF8gmg+Fpwew/BkePGuysOpGnI1HKteF128ZLihQ==","signatures":[{"sig":"MEUCIQDQWtKp/sa0OjSdE6A13T5oC8jYRhIlVRsfc3nhsqJjjAIgMB45UpQ20rxs1BEIt8/JrOYkT2ua5tQdp4l8/VlVrfw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188121},"main":"build/index.js","gitHead":"19e8be5bc5974c893db24fb6c22ec7368cb6bd40","scripts":{"test":"jest","build":"tsc && tsc-alias","commit":"npm publish --access=public","postpublish":"rm -rf build","prepublishOnly":"yarn test && yarn build && npm version patch"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.10_1753690048476_0.6803489511136889","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@arcaelas/dynamite","version":"1.0.13","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.13","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"79721f8982f575aa1ed32d23843474bf27185c24","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.13.tgz","fileCount":58,"integrity":"sha512-IgUt9/ATxiy9Gu9OFZadybZdZxHIaudO6TSN3ByGP/xu/Tt58uxLLsE7nrsC99K5bs+FpTbdmgNwhAf2xOompg==","signatures":[{"sig":"MEQCID0BVlmMXHcQ5ucUpc2B9JZKWHgIjSRmEIVsbRMGlOnJAiAb3/o5zPtqdhPBUxABB8efA6WHyBQR+ZKPCnrryyJmHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147663},"main":"src/index.js","types":"./src/index.d.ts","gitHead":"cbaaa7e3cb3176a55f10f8040b0d4ede92eba854","scripts":{"test":"jest","build":"tsc && tsc-alias","commit":"npm publish --access=public","postpublish":"find src __tests__ -type f -name '*.js' -o -name '*.d.ts' -o -name '*.map' | xargs rm","prepublishOnly":"yarn test && yarn build && npm version patch"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.13_1756707929004_0.9305942317878584","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@arcaelas/dynamite","version":"1.0.14","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.14","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"92ae899b5624953da8c539f929b686f3eb224b30","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.14.tgz","fileCount":3,"integrity":"sha512-jahFWREI1eyzHxRWJnwLBwqI4SPqJCng6SOi9hOlB9yCNN5hHzPVBRn63i5X2B+6nj7KjLCgn2y9xrS7hSSxpQ==","signatures":[{"sig":"MEUCIA83VeQGLlN9TyRh9rxNRsE8ZsXahce4R0kRMjd8L721AiEAi0IGb3upX0t8XPaY2urJfjIXsmCZSLodcPV2TlQS38k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34592},"main":"src/index.js","gitHead":"db247136ffdc8133ac561b38121abac3bdb09500","scripts":{"docs":"mkdocs gh-deploy --force","build":"tsc && tsc-alias","deploy":"npm version patch && npm publish --access=public","postpublish":"find src -type f \\( -name '*.js' -o -name '*.d.ts' -o -name '*.map' \\) -delete","prepublishOnly":"yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.14_1760843136575_0.8486234975105842","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@arcaelas/dynamite","version":"1.0.15","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.15","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"3d8d5734b84f637e5f1ee0fd406360be058bd99b","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.15.tgz","fileCount":3,"integrity":"sha512-5KgWOk6rG8YaBpD2Z+5mCLykPUCbTs/N9906CVvMfR2hwZynYUSqapyjiHTNsumeU7nRWfqmeA6Tk3uNmKdhww==","signatures":[{"sig":"MEYCIQCQqec92q0xFBB8GguJLR47P6qVDbvqtMSLZKOX6LaMqQIhAPCCEa6yzludWRKW2fQfZGwUTO8uLCYr17IH+hCdjfSb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34592},"main":"src/index.js","gitHead":"53232c44f80a122996de86d0dccfa4fa1d2061ac","scripts":{"docs":"mkdocs gh-deploy --force","build":"tsc && tsc-alias","deploy":"npm version patch && npm publish --access=public","postpublish":"find src -type f \\( -name '*.js' -o -name '*.d.ts' -o -name '*.map' \\) -delete","prepublishOnly":"yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.15_1760843159935_0.9012755153382839","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@arcaelas/dynamite","version":"1.0.17","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.17","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"3ddd028b4516f6a3a968ee10db8ee66cb309a42f","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.17.tgz","fileCount":55,"integrity":"sha512-u4vDdBLN1QZiuwC4ZIM4am7eXrNJcaUaJe72l+DzaApV3MKj+me1FY1VI4QoMHW7upDDchQ0OAg6TF6+VzkcTg==","signatures":[{"sig":"MEYCIQC2EKWysOxuvf0fqNUP1/0DTw9lBJkA+QWSWgiTXbx19gIhAK2+FmKKCmy/M0wb/rNwTJwwalGajQOvx26Xx+jOiV84","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153733},"main":"src/index.js","types":"./src/index.d.ts","gitHead":"c4d29ac32f65178d005188733b42eae8f44d4177","scripts":{"docs":"mkdocs gh-deploy --force","build":"tsc && tsc-alias","deploy":"npm version patch && npm publish --access=public","postpublish":"find src -type f \\( -name '*.js' -o -name '*.d.ts' -o -name '*.map' \\) -delete","prepublishOnly":"yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.2","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.17_1760843459368_0.6149099565623359","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@arcaelas/dynamite","version":"1.0.18","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.18","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"bdd0574aa638ec54d57ff6ec187fa5483b8fe0be","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.18.tgz","fileCount":27,"integrity":"sha512-ltRxbtJPx2uzj9UY1gXJBzhrefUj9fS1ATvdNODhT9pTIppIQLVVLj0IdCnuspqT3r5LpmdpaqC9aMnOWZbAGw==","signatures":[{"sig":"MEUCIA7KWPfw2eGr1cy+1IsvnWWkz84rfpsam6nmmotyoSD1AiEA6brSFSuiyavwM8ewlpidsmwQljAS5utI3TpBIm6cTfg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211892},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","forceExit":true,"testMatch":["**/*.test.ts"],"transform":{"^.+\\.ts$":["ts-jest",{"tsconfig":{"module":"commonjs","target":"ES2022","esModuleInterop":true,"emitDecoratorMetadata":true,"experimentalDecorators":true}}]},"maxWorkers":1,"testTimeout":60000,"testEnvironment":"node","moduleNameMapper":{"^~/(.*)$":"<rootDir>/src/$1","^@type/(.*)$":"<rootDir>/src/@types/$1"},"detectOpenHandles":false},"main":"src/index.js","types":"./src/index.d.ts","gitHead":"4a18f3fb636bf9c71b7192d5ca8d4a2ec93932f8","scripts":{"docs":"mkdocs gh-deploy --force","test":"yarn test:db:start && yarn test:run; yarn test:db:stop","build":"tsc && tsc-alias","deploy":"npm version patch && npm publish --access=public","test:run":"node --expose-gc ./node_modules/.bin/jest src/index.test.ts --runInBand --verbose","test:watch":"yarn test:db:start && node --expose-gc ./node_modules/.bin/jest src/index.test.ts --watch --runInBand","postpublish":"find src -type f \\( -name '*.js' -o -name '*.d.ts' -o -name '*.map' \\) -delete","test:db:stop":"docker stop dynamite-test-db && docker rm dynamite-test-db || true","test:db:clean":"docker stop dynamite-test-db && docker rm dynamite-test-db; docker run -d -p 8000:8000 --name dynamite-test-db amazon/dynamodb-local -jar DynamoDBLocal.jar -sharedDb","test:db:start":"docker run -d -p 8000:8000 --name dynamite-test-db amazon/dynamodb-local -jar DynamoDBLocal.jar -sharedDb || echo 'DynamoDB ya está corriendo'","prepublishOnly":"yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.18_1764963598581_0.5228321275422521","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@arcaelas/dynamite","version":"1.0.19","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.19","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"c1cb55ba76abc0867e4e1f5ff52fbf80f14285e0","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.19.tgz","fileCount":26,"integrity":"sha512-iMDogmjisn+YzjVA56sSmM+YMgN+PK6oiZqkVMdqzbM8lNtCGyfeyo0W1hVg3U3pcHYbaqL229KHitKx3hWHbg==","signatures":[{"sig":"MEQCIBEvSbeBLNvqnM16hzsA5rL8dLsIkzklopLZVx8baGFVAiABvssKLY2uXQSadeTgM+ACIzFOj/ba6YAd7ROidmwDGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212724},"jest":{"roots":["<rootDir>/src"],"preset":"ts-jest","forceExit":true,"testMatch":["**/*.test.ts"],"transform":{"^.+\\.ts$":["ts-jest",{"tsconfig":{"module":"commonjs","target":"ES2022","esModuleInterop":true,"emitDecoratorMetadata":true,"experimentalDecorators":true}}]},"maxWorkers":1,"testTimeout":60000,"testEnvironment":"node","moduleNameMapper":{"^~/(.*)$":"<rootDir>/src/$1","^@type/(.*)$":"<rootDir>/src/@types/$1"},"detectOpenHandles":false},"main":"src/index.js","types":"./src/index.d.ts","gitHead":"80a8a9fd4b9646bc47d37397dfd17a0e725a96ce","scripts":{"docs":"mkdocs gh-deploy --force","test":"yarn test:db:start && yarn test:run; yarn test:db:stop","build":"tsc && tsc-alias","deploy":"npm version patch && npm publish --access=public","test:run":"node --expose-gc ./node_modules/.bin/jest src/index.test.ts --runInBand --verbose","test:watch":"yarn test:db:start && node --expose-gc ./node_modules/.bin/jest src/index.test.ts --watch --runInBand","postpublish":"find src -type f \\( -name '*.js' -o -name '*.d.ts' -o -name '*.map' \\) -delete","test:db:stop":"docker stop dynamite-test-db && docker rm dynamite-test-db || true","test:db:clean":"docker stop dynamite-test-db && docker rm dynamite-test-db; docker run -d -p 8000:8000 --name dynamite-test-db amazon/dynamodb-local -jar DynamoDBLocal.jar -sharedDb","test:db:start":"docker run -d -p 8000:8000 --name dynamite-test-db amazon/dynamodb-local -jar DynamoDBLocal.jar -sharedDb || echo 'DynamoDB ya está corriendo'","prepublishOnly":"yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","jest":"^30.0.3","ts-jest":"^29.4.0","ts-node":"^10.9.2","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.6","tsconfig-paths":"^4.2.0","reflect-metadata":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.19_1764964796120_0.49837179795977926","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@arcaelas/dynamite","version":"1.0.23","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.23","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"306ac07be53278b582de7ec6a6455be4449938f2","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.23.tgz","fileCount":27,"integrity":"sha512-doPJ5A6q1QZbNIittYRuR5dAINt6wEuC5KTLQ8G6DplmHE5gMgAAkuGXj/I4GQ0eZFsjyFKgMSi9IS02scrG/Q==","signatures":[{"sig":"MEQCIEdsPBHu+YuzQWsr3QkHyXjcnQ0aDsz3mqtcaXEQ7d/yAiBqkGG5Cn/woGNLcnf5gtgmbijflUq3eGLcSZFwdCQUmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179053},"main":"src/index.js","gitHead":"50c2f6f1e2724e3e2b40ba425964d6cdbbbd928e","scripts":{"docs":"mkdocs gh-deploy --force","test":"yarn test:db:start && yarn test:run; yarn test:db:stop","build":"tsc && tsc-alias","deploy":"npm version patch && npm publish --access=public","test:run":"NODE_OPTIONS='--expose-gc' tsx --tsconfig tsx.config.json src/index.test.ts","seed:full":"yarn seed:generate && yarn seed:load","seed:load":"tsx scripts/load_seed.ts","test:watch":"yarn test:db:start && NODE_OPTIONS='--expose-gc' tsx watch src/index.test.ts","postpublish":"find src -type f \\( -name '*.js' -o -name '*.d.ts' -o -name '*.map' \\) -delete","test:db:stop":"docker stop dynamite-test-db && docker rm dynamite-test-db || true","seed:generate":"tsx scripts/generate_seed.ts","test:db:clean":"docker stop dynamite-test-db && docker rm dynamite-test-db; docker run -d -p 8000:8000 --name dynamite-test-db amazon/dynamodb-local -jar DynamoDBLocal.jar -sharedDb","test:db:start":"docker run -d -p 8000:8000 --name dynamite-test-db amazon/dynamodb-local -jar DynamoDBLocal.jar -sharedDb || echo 'DynamoDB ya está corriendo'","prepublishOnly":"yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/dark.svg#gh-dark-mode-only) ![Arcaelas Insiders](https://raw.githubusercontent.com/arcaelas/dist/main/banner/svg/light.svg#gh-light-mode-only)","directories":{},"_nodeVersion":"20.19.6","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@arcaelas/utils":"^2.0.8","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","globals":"^16.5.0","tsc-alias":"^1.8.16","@eslint/js":"^9.39.1","typescript":"^5.8.3","@types/node":"^24.0.6","typescript-eslint":"^8.49.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.23_1765653022409_0.09452060203688983","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@arcaelas/dynamite","version":"1.0.24","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.24","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"44dbf084020fe7fd6452ec10d90f320eca0c017c","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.24.tgz","fileCount":27,"integrity":"sha512-0L8fK3JCuM6x6tQFtZBwNDdPcSJGDbYNtNTeSXNfVETy0/w51vbIMGRsd08AzuIEtNh8EY5/xOHH7r6OC4nHQA==","signatures":[{"sig":"MEYCIQD+z8Aa2lHiLTIralzrwnMFQwlgid75mIim+CnMrZNPnAIhAIdF1jAQLXm0T47cg+u+oQKcw+xEhjlbVG2Pdu1MoNlv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156800},"main":"src/index.js","gitHead":"4cb40f70c8ea11515bc06f2f256238cb5db568f3","scripts":{"docs":"mkdocs gh-deploy --force","test":"yarn test:db:start && yarn test:run; yarn test:db:stop","build":"tsc && tsc-alias","deploy":"npm version patch && npm publish --access=public","test:run":"NODE_OPTIONS='--expose-gc' tsx --tsconfig tsx.config.json src/index.test.ts","seed:full":"yarn seed:generate && yarn seed:load","seed:load":"tsx scripts/load_seed.ts","test:watch":"yarn test:db:start && NODE_OPTIONS='--expose-gc' tsx watch src/index.test.ts","postpublish":"find src -type f \\( -name '*.js' -o -name '*.d.ts' -o -name '*.map' \\) -delete","test:db:stop":"docker stop dynamite-test-db && docker rm dynamite-test-db || true","seed:generate":"tsx scripts/generate_seed.ts","test:db:clean":"docker stop dynamite-test-db && docker rm dynamite-test-db; docker run -d -p 8000:8000 --name dynamite-test-db amazon/dynamodb-local -jar DynamoDBLocal.jar -sharedDb","test:db:start":"docker run -d -p 8000:8000 --name dynamite-test-db amazon/dynamodb-local -jar DynamoDBLocal.jar -sharedDb || echo 'DynamoDB ya está corriendo'","prepublishOnly":"yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\"docs/assets/cover.png\" alt=\"Dynamite ORM - Arcaelas Insiders for DynamoDB\" width=\"100%\"> </p>","directories":{},"_nodeVersion":"20.19.6","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@arcaelas/utils":"^2.0.8","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","globals":"^16.5.0","tsc-alias":"^1.8.16","@eslint/js":"^9.39.1","typescript":"^5.8.3","@types/node":"^24.0.6","typescript-eslint":"^8.49.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.24_1765665655883_0.9956773994697756","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@arcaelas/dynamite","version":"1.0.25","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.25","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"2aef3101f0b7b4c9833bbbadf568176fbe4c60af","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.25.tgz","fileCount":23,"integrity":"sha512-bR78iD4sN8bkoNsAM+P4/hLj6NewOBU9wTfj+iKqozl9GwfC4hHjYHdS+0VqeNb5AIzQA6q9TEaJQAwgSJviqw==","signatures":[{"sig":"MEQCIALyLZXevRZXnOVOJMfzsI+sUeoYgZdAWLDV2AIazd86AiB+cG4l2BWfzluMlMNgM755tDdVySEkNNzqLtgep+qGUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116079},"main":"src/index.js","types":"./src/index.d.ts","gitHead":"128b99ef71ad323cf077142e7b2142598f3c492a","scripts":{"docs":"mkdocs gh-deploy --force","build":"tsc && tsc-alias","deploy":"npm version patch && npm publish --access=public","postpublish":"find src -type f \\( -name '*.js' -o -name '*.d.ts' -o -name '*.map' \\) -delete","prepublishOnly":"yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\"docs/assets/cover.png\" alt=\"Dynamite ORM - Arcaelas Insiders for DynamoDB\" width=\"100%\"> </p>","directories":{},"_nodeVersion":"20.19.6","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@arcaelas/utils":"^2.0.8","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","globals":"^16.5.0","tsc-alias":"^1.8.16","@eslint/js":"^9.39.1","typescript":"^5.8.3","@types/node":"^24.0.6","typescript-eslint":"^8.49.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.25_1765665946867_0.960437178532501","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"@arcaelas/dynamite","version":"1.0.29","author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"comunity@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@1.0.29","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"822398f12c5b075ed804b15585231748a1b22576","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-1.0.29.tgz","fileCount":25,"integrity":"sha512-StUYJngjDhIdgq6ZGN2j6+wfHl+gFK8/gpaSkYirjteX11OITTkQZ93me8gqE6GSR4wSSEB/0Ploxb4+NGbLWw==","signatures":[{"sig":"MEQCICvFCe/+Nc5bLjfX7Wi/SjChu6YkkhuVB5aJ4c+3HpNKAiBm44D2hZB5l6Ez/ZjlhV446bmwvAw1XqkX3fC6C5JV6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117804},"main":"src/index.js","types":"./src/index.d.ts","gitHead":"1f6a63d74d44ce8a080bede827b0ec998408820e","scripts":{"docs":"mkdocs gh-deploy --force","build":"tsc && tsc-alias","deploy":"npm version patch && npm publish --access=public","postpublish":"find src -type f \\( -name '*.js' -o -name '*.d.ts' -o -name '*.map' \\) -delete","prepublishOnly":"yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\"docs/assets/cover.png\" alt=\"Dynamite ORM - Arcaelas Insiders for DynamoDB\" width=\"100%\"> </p>","directories":{},"_nodeVersion":"20.19.6","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@arcaelas/utils":"^2.0.8","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","globals":"^16.5.0","tsc-alias":"^1.8.16","@eslint/js":"^9.39.1","typescript":"^5.8.3","@types/node":"^24.0.6","typescript-eslint":"^8.49.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_1.0.29_1766544374685_0.27546656893882937","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@arcaelas/dynamite","version":"2.1.0","keywords":["dynamodb","orm","aws","dynamodb-orm","typescript","decorators","arcaelas","arcaelas insiders","arcaelas-insiders"],"author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"community@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@2.1.0","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"eed38f837b937f3de37fecb29d6f196c08813e00","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-2.1.0.tgz","fileCount":119,"integrity":"sha512-k02BdIdxKorVg2yKqfJETI4kpN9LvaPKs7lg/YTcN4YMLVkLCf2Y1tTckFzZqFVnQhJL1tIAUeJLDISuqIDszg==","signatures":[{"sig":"MEYCIQCw6u7cHrLZFulnp4XEZIaX2AqFJFGJVz1MkEzQjQpOFwIhAPh1AEl/rjujiY27Axh+1Ic3AK2N10CvT14OTwyHMn9l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587771},"main":"./build/cjs/index.js","types":"./build/esm/index.d.ts","module":"./build/esm/index.js","exports":{".":{"types":"./build/esm/index.d.ts","import":"./build/esm/index.js","require":"./build/cjs/index.js"}},"gitHead":"5aeb92cd9faf5d73d4633af28c12f25e72379084","scripts":{"docs":"mkdocs gh-deploy --force","lint":"eslint src/ --fix","build":"yarn build:esm && yarn build:cjs","release":"npm publish --access public","build:cjs":"tsc --module commonjs --moduleResolution node --outDir build/cjs && tsc-alias --outDir build/cjs && echo '{\"type\":\"commonjs\"}' > build/cjs/package.json","build:esm":"tsc --module ESNext --moduleResolution bundler --outDir build/esm && tsc-alias --resolve-full-paths --outDir build/esm && echo '{\"type\":\"module\"}' > build/esm/package.json","prepublishOnly":"rm -rf build && npm version minor && yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"11.7.0","description":"Modern decorator-first ORM for AWS DynamoDB with TypeScript support. Type-safe models, relationships, validations, and transactions.","directories":{},"_nodeVersion":"25.4.0","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@arcaelas/utils":"^2.0.8","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","globals":"^16.5.0","tsc-alias":"^1.8.16","@eslint/js":"^9.39.1","typescript":"^5.8.3","@types/node":"^24.0.6","typescript-eslint":"^8.49.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_2.1.0_1780364374471_0.039489752011206525","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@arcaelas/dynamite","version":"3.1.0","keywords":["dynamodb","orm","aws","dynamodb-orm","typescript","decorators","arcaelas","arcaelas insiders","arcaelas-insiders"],"author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"community@arcaelas.com"},"license":"ISC","_id":"@arcaelas/dynamite@3.1.0","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"9b8af1c5f275ee8c7ee9d7486ef6b16d36f5f2ac","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-3.1.0.tgz","fileCount":131,"integrity":"sha512-zh/LNKvWnpAO8NYLPXHo4rOGUy0cjlxvQKmkjyistKVHpdRVKoOvWSYovekupM6l+9lkyfAq3eG8ZPDROblFUg==","signatures":[{"sig":"MEUCIQDRose0kFy6IGpK7cuqxT+ZB9UvlTzLgpg+1v+eWl6QwAIgTp5zZikCbledZ8tISdtLTt+WeB7SrwRfnieaSCuOLfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":656342},"main":"./build/cjs/index.js","types":"./build/esm/index.d.ts","module":"./build/esm/index.js","exports":{".":{"types":"./build/esm/index.d.ts","import":"./build/esm/index.js","require":"./build/cjs/index.js"}},"gitHead":"f520d13d5dbfbde8a52d8be033fc833b641d3fb5","scripts":{"docs":"mkdocs gh-deploy --force","lint":"eslint src/ --fix","build":"yarn build:esm && yarn build:cjs","release":"npm publish --access public","build:cjs":"tsc --module commonjs --moduleResolution node --outDir build/cjs && tsc-alias --outDir build/cjs && echo '{\"type\":\"commonjs\"}' > build/cjs/package.json","build:esm":"tsc --module ESNext --moduleResolution bundler --outDir build/esm && tsc-alias --resolve-full-paths --outDir build/esm && echo '{\"type\":\"module\"}' > build/esm/package.json","prepublishOnly":"rm -rf build && npm version minor && yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"11.7.0","description":"Modern decorator-first ORM for AWS DynamoDB with TypeScript support. Type-safe models, relationships, validations, and transactions.","directories":{},"_nodeVersion":"25.4.0","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@arcaelas/utils":"^2.0.8","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","globals":"^16.5.0","tsc-alias":"^1.8.16","@eslint/js":"^9.39.1","typescript":"^5.8.3","@types/node":"^24.0.6","typescript-eslint":"^8.49.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_3.1.0_1780800958426_0.09256034874569075","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@arcaelas/dynamite","version":"3.2.0","keywords":["dynamodb","orm","aws","dynamodb-orm","typescript","decorators","arcaelas","arcaelas insiders","arcaelas-insiders"],"author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"community@arcaelas.com"},"license":"MIT","_id":"@arcaelas/dynamite@3.2.0","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"182d2dbd2c330b85aa3f1c6e2505032074af2d6d","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-3.2.0.tgz","fileCount":131,"integrity":"sha512-EYPbhA75Cy2mlJXqgGFkOcCU9UvfyqYSo2ERNx05kmCiIiINJ6RCZSF8TnPV/aMneCZfGY7zEYIvo0Az/5wwpg==","signatures":[{"sig":"MEYCIQDQnSj2N4SzczY/W2vMgvdDgTP2eD9dAeLhMvYpiGBLpQIhAObj01IXL8CtHTogYDkApaQBjel2V7eFw7EZkyvj1LXx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":674976},"main":"./build/cjs/index.js","types":"./build/esm/index.d.ts","module":"./build/esm/index.js","exports":{".":{"types":"./build/esm/index.d.ts","import":"./build/esm/index.js","require":"./build/cjs/index.js"}},"gitHead":"61559f7ca76a6659879666417fa0b86cfda90837","scripts":{"docs":"mkdocs gh-deploy --force","test":"tsx src/test/index.ts","build":"rm -rf build && tsc --module commonjs --moduleResolution node --outDir build/cjs && tsc-alias --outDir build/cjs && echo '{\"type\":\"commonjs\"}' > build/cjs/package.json && tsc --module ESNext --moduleResolution bundler --outDir build/esm && tsc-alias --resolve-full-paths --outDir build/esm && echo '{\"type\":\"module\"}' > build/esm/package.json","release":"npm publish --access public","prepublishOnly":"yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"11.17.0","description":"Modern decorator-first ORM for AWS DynamoDB with TypeScript support. Type-safe models, relationships, validations, and transactions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@arcaelas/utils":"^2.0.8","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","globals":"^16.5.0","tsc-alias":"^1.8.16","@eslint/js":"^9.39.1","typescript":"^5.8.3","@types/node":"^24.0.6","typescript-eslint":"^8.49.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_3.2.0_1788471788873_0.1413484533392313","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@arcaelas/dynamite","version":"3.2.1","keywords":["dynamodb","orm","aws","dynamodb-orm","typescript","decorators","arcaelas","arcaelas insiders","arcaelas-insiders"],"author":{"url":"https://github.com/arcaelas","name":"Arcaelas Insiders","email":"community@arcaelas.com"},"license":"MIT","_id":"@arcaelas/dynamite@3.2.1","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"homepage":"https://github.com/arcaelas/dynamite","bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dist":{"shasum":"a91d6d85a4aad1cd95f4c97ae265546bbea49398","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-3.2.1.tgz","fileCount":131,"integrity":"sha512-/4t3sdXrXLC5mWzl/mvR4uuUECnMeokNWV0e/pZUg9PDkfkITd4YPC31sTn3tmfimxAlSzHgHDqyoBrAWfxUuQ==","signatures":[{"sig":"MEUCIC2py9QE+vFVdYpmWZIMeDOxgUW7cNIPRKe0CIUe8e+vAiEAtYc+s77wI1rTDy+7yqiCbTSe4B7y3UGsV2Zpm9D6qdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":675200},"main":"./build/cjs/index.js","types":"./build/esm/index.d.ts","module":"./build/esm/index.js","exports":{".":{"types":"./build/esm/index.d.ts","import":"./build/esm/index.js","require":"./build/cjs/index.js"}},"gitHead":"ca94e637aea046c7af4ab08939d2a9d80fda4fe7","scripts":{"docs":"mkdocs gh-deploy --force","test":"tsx src/test/index.ts","build":"rm -rf build && tsc --module commonjs --moduleResolution node --outDir build/cjs && tsc-alias --outDir build/cjs && echo '{\"type\":\"commonjs\"}' > build/cjs/package.json && tsc --module ESNext --moduleResolution bundler --outDir build/esm && tsc-alias --resolve-full-paths --outDir build/esm && echo '{\"type\":\"module\"}' > build/esm/package.json","release":"npm publish --access public","prepublishOnly":"yarn build"},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"repository":{"url":"git+https://github.com/arcaelas/dynamite.git","type":"git"},"_npmVersion":"11.17.0","description":"Modern decorator-first ORM for AWS DynamoDB with TypeScript support. Type-safe models, relationships, validations, and transactions.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"uuid":"^11.1.0","pluralize":"^8.0.0","@arcaelas/utils":"^2.0.8","@aws-sdk/lib-dynamodb":"3.329.0","@aws-sdk/client-dynamodb":"3.329.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","globals":"^16.5.0","tsc-alias":"^1.8.16","@eslint/js":"^9.39.1","typescript":"^5.8.3","@types/node":"^24.0.6","typescript-eslint":"^8.49.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamite_3.2.1_1788493090990_0.37115486587337676","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"author":{"name":"Arcaelas Insiders","email":"community@arcaelas.com","url":"https://github.com/arcaelas"},"bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"dependencies":{"@aws-sdk/client-dynamodb":"^3.329.0","@aws-sdk/util-dynamodb":"^3.329.0"},"description":"Modern decorator-first ORM for AWS DynamoDB with TypeScript support. Type-safe models, relationships, validations, and transactions.","devDependencies":{"@eslint/js":"^9.39.1","@types/node":"^24.0.6","eslint":"^9.39.1","globals":"^16.5.0","tsc-alias":"^1.8.16","tsx":"^4.20.3","typescript":"^5.8.3","typescript-eslint":"^8.49.0"},"exports":{".":{"types":"./build/esm/index.d.ts","import":"./build/esm/index.js","require":"./build/cjs/index.js"}},"homepage":"https://github.com/arcaelas/dynamite","keywords":["dynamodb","orm","aws","dynamodb-orm","typescript","decorators","arcaelas","arcaelas insiders","arcaelas-insiders"],"license":"MIT","main":"./build/cjs/index.js","module":"./build/esm/index.js","name":"@arcaelas/dynamite","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"repository":{"type":"git","url":"git+https://github.com/arcaelas/dynamite.git"},"scripts":{"build":"rm -rf build && tsc --module commonjs --moduleResolution node --outDir build/cjs && tsc-alias --outDir build/cjs && echo '{\"type\":\"commonjs\"}' > build/cjs/package.json && tsc --module ESNext --moduleResolution bundler --outDir build/esm && tsc-alias --resolve-full-paths --outDir build/esm && echo '{\"type\":\"module\"}' > build/esm/package.json","test":"tsx src/test/index.ts","docs":"mkdocs gh-deploy --force","release":"npm publish --access public","prepublishOnly":"yarn build"},"types":"./build/esm/index.d.ts","version":"3.4.0","gitHead":"af656611b813d195894d1063b27a2c46912c10fb","_id":"@arcaelas/dynamite@3.4.0","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-3YPLCJ+xcW2ytPVQUctypqEOj2UHIvPVo8aMmVoCxnsvHaKFQIBzKUihO2wVcrGUmBQYgjzlCfxpY2ir3MoYZw==","shasum":"977ab366a96e146c5033bfe4e39388dd52115e48","tarball":"https://registry.npmjs.org/@arcaelas/dynamite/-/dynamite-3.4.0.tgz","fileCount":137,"unpackedSize":805030,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDgmRfK6TbrHeSNyRqmvLrx/3Li6Jy/vAbfRWjzL5iS8AIgViDCCzTF+b/4VR2D5ioUAOXa6ClMQpaSWwo+jClyvTU="}]},"_npmUser":{"name":"arcaelas","email":"arcaela.reyes@gmail.com"},"directories":{},"maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dynamite_3.4.0_1788834350665_0.7564649025316694"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-30T01:50:19.514Z","modified":"2026-09-08T02:25:51.016Z","1.0.0":"2025-06-30T01:50:19.776Z","1.0.1":"2025-06-30T02:01:30.964Z","1.0.2":"2025-07-27T20:16:04.950Z","1.0.3":"2025-07-27T20:27:14.074Z","1.0.4":"2025-07-28T00:45:00.162Z","1.0.5":"2025-07-28T00:49:27.321Z","1.0.6":"2025-07-28T01:18:33.663Z","1.0.7":"2025-07-28T01:57:29.380Z","1.0.8":"2025-07-28T02:10:29.524Z","1.0.9":"2025-07-28T02:51:32.695Z","1.0.10":"2025-07-28T08:07:28.651Z","1.0.13":"2025-09-01T06:25:29.198Z","1.0.14":"2025-10-19T03:05:36.749Z","1.0.15":"2025-10-19T03:06:00.117Z","1.0.17":"2025-10-19T03:10:59.563Z","1.0.18":"2025-12-05T19:39:58.780Z","1.0.19":"2025-12-05T19:59:56.270Z","1.0.23":"2025-12-13T19:10:22.552Z","1.0.24":"2025-12-13T22:40:56.061Z","1.0.25":"2025-12-13T22:45:47.025Z","1.0.29":"2025-12-24T02:46:14.812Z","2.1.0":"2026-06-02T01:39:34.612Z","3.1.0":"2026-06-07T02:55:58.582Z","3.2.0":"2026-09-03T21:43:09.097Z","3.2.1":"2026-09-04T03:38:11.196Z","3.4.0":"2026-09-08T02:25:50.870Z"},"bugs":{"url":"https://github.com/arcaelas/dynamite/issues","email":"community@arcaelas.com"},"author":{"name":"Arcaelas Insiders","email":"community@arcaelas.com","url":"https://github.com/arcaelas"},"license":"MIT","homepage":"https://github.com/arcaelas/dynamite","keywords":["dynamodb","orm","aws","dynamodb-orm","typescript","decorators","arcaelas","arcaelas insiders","arcaelas-insiders"],"repository":{"type":"git","url":"git+https://github.com/arcaelas/dynamite.git"},"description":"Modern decorator-first ORM for AWS DynamoDB with TypeScript support. Type-safe models, relationships, validations, and transactions.","maintainers":[{"name":"arcaelas","email":"arcaela.reyes@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"docs/assets/cover.png\" alt=\"Dynamite ORM - Arcaelas Insiders for DynamoDB\" width=\"100%\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@arcaelas/dynamite\"><img src=\"https://img.shields.io/npm/v/@arcaelas/dynamite?color=cb3837\" alt=\"npm\"></a>\n  <img src=\"https://img.shields.io/bundlephobia/minzip/@arcaelas/dynamite?label=gzip\" alt=\"size\">\n  <img src=\"https://img.shields.io/github/license/arcaelas/dynamite\" alt=\"MIT\">\n  <img src=\"https://img.shields.io/badge/AWS%20SDK-v3-orange\" alt=\"AWS SDK v3\">\n  <img src=\"https://img.shields.io/badge/TypeScript-5.x-blue\" alt=\"TypeScript\">\n</p>\n\n# @arcaelas/dynamite\n\n> **A modern, decorator-first ORM for DynamoDB with TypeScript support**\n> Type-safe models | Relationships | Lifecycle hooks | Transactions | Query-first reads\n\n---\n\n## Quick Start\n\n```typescript\nimport { Dynamite, Table, PrimaryKey, Default, CreatedAt, UpdatedAt, CreationOptional } from \"@arcaelas/dynamite\";\n\n// Define your model\nclass User extends Table<User> {\n  @PrimaryKey()\n  declare id: CreationOptional<string>;\n\n  declare name: string;\n  declare email: string;\n\n  @Default(() => \"customer\")\n  declare role: CreationOptional<string>;\n\n  @CreatedAt()\n  declare created_at: CreationOptional<string>;\n\n  @UpdatedAt()\n  declare updated_at: CreationOptional<string>;\n}\n\n// Connect to DynamoDB\nconst dynamite = new Dynamite({\n  region: \"us-east-1\",\n  endpoint: \"http://localhost:8000\", // DynamoDB Local\n  credentials: { accessKeyId: \"test\", secretAccessKey: \"test\" },\n  tables: [User]\n});\n\nawait dynamite.connect();\nawait dynamite.sync();       // development only: creates missing tables and GSIs\n\n// Use it!\nconst user = await User.create({ name: \"John Doe\", email: \"john@example.com\" });\nconsole.log(user.id);         // \"01JBQ8...\"  (ULID by default)\nconsole.log(user.role);       // \"customer\"\nconsole.log(user.created_at); // \"2025-01-15T10:30:00.000Z\"\n```\n\n`connect()` only configures the client and works out which GSIs the models expect; it never\ncalls the AWS API. `sync()` is the one that creates tables, pivot tables and missing indexes,\nand it is meant for development. In production the infrastructure declares them with the same\nnames — `<field>_index`, partition key on `<field>`, projection `ALL` — and `sync()` is not called.\n\n---\n\n## Installation\n\n```bash\nnpm install @arcaelas/dynamite\n```\n\nDecorators need `experimentalDecorators` in your `tsconfig.json`. Under Serverless Framework,\nesbuild does not honour decorators on its own: register the decorator plugin.\n\n---\n\n## Decorators\n\n### Index Decorators\n\n| Decorator | Description |\n|-----------|-------------|\n| `@PrimaryKey()` | Partition key. Fills in a ULID when no id is given; any non-empty string is accepted, so existing UUID keys keep working. Immutable once assigned |\n| `@Index()` | Partition key of the `<field>_index` GSI: `=` and `in` on that field run a Query instead of a Scan |\n| `@IndexSort()` | Sort key of the table |\n\n### Data Decorators\n\n| Decorator | Description |\n|-----------|-------------|\n| `@Default(value \\| fn)` | Value applied on write when the field is nullish |\n| `@Set(fn)` | Write pipeline: `(next, current) => value` |\n| `@Get(fn)` | Read pipeline: `(current) => value` |\n| `@Validate(fn \\| fn[])` | Rejects on write. Each validator returns `true` or the error message |\n| `@NotNull(message?)` | Rejects `null`, `undefined` and the empty string. Composed from `@Validate` |\n| `@Name(\"custom\")` | Renames the column, or the table when applied to the class |\n\n### Timestamp Decorators\n\n| Decorator | Description |\n|-----------|-------------|\n| `@CreatedAt()` | ISO timestamp written once and never overwritten |\n| `@UpdatedAt()` | ISO timestamp refreshed on every write, unless an explicit value is given |\n| `@DeleteAt()` | Marks the column as the soft delete flag used by `destroy()` and `where()` |\n\n### Relationship Decorators\n\n| Decorator | Description |\n|-----------|-------------|\n| `@HasMany(() => Model, foreign_key, local_key?)` | One-to-many. `foreign_key` lives in the related model, `local_key` defaults to `\"id\"` |\n| `@HasOne(() => Model, foreign_key, local_key?)` | One-to-one, same argument order |\n| `@BelongsTo(() => Model, related_key, local_key)` | Many-to-one. `related_key` is the key of the parent, `local_key` is the field of this model that points at it |\n| `@ManyToMany(() => Model, pivot_table, foreign_key, related_key, local_key?, related_pk?)` | Many-to-many through a pivot table |\n\n### Lifecycle Hook Decorators\n\n| Decorator | Runs |\n|-----------|------|\n| `@BeforeCreate()` / `@AfterCreate()` | Around `create()` and the first `save()` |\n| `@BeforeUpdate()` / `@AfterUpdate()` | Around `update()`. Receives the changes delta as its argument |\n| `@BeforeDestroy()` / `@AfterDestroy()` | Around `destroy()`, `forceDestroy()` and static `delete()` |\n\nHooks are opt-in per operation with `{ hook: true }`. Inside a hook `this` is the instance and\nmay be mutated; several hooks of the same type run in declaration order and async hooks are\nawaited. In a transaction the `after*` hooks run after the commit.\n\n```typescript\nclass Article extends Table<Article> {\n  @PrimaryKey() declare id: CreationOptional<string>;\n  declare title: string;\n  @Default(\"\") declare slug: string;\n\n  @BeforeCreate()\n  fill_slug() { this.slug = this.title.toLowerCase().replace(/\\W+/g, \"-\"); }\n}\n\nawait Article.create({ title: \"Hello World\" }, { hook: true }); // slug: \"hello-world\"\nawait Article.create({ title: \"Hello World\" });                 // slug: \"\"\n```\n\n---\n\n## TypeScript Types\n\n```typescript\nimport type {\n  CreationOptional,  // Optional during create(), present afterwards\n  NonAttribute,      // Excluded from the database (relations, computed fields)\n  InferAttributes,   // Database attributes of a model\n  InferRelations,    // Relations of a model\n  CreateInput,       // Input type of create()\n  UpdateInput,       // Input type of update()\n  WhereOptions,      // Query options\n  QueryResult,       // The array returned by where(), with its cursor\n  QueryOperator,     // Available operators\n  MutationOptions,   // { hook?: boolean; tx?: TransactionContext }\n  DynamiteConfig     // Client configuration\n} from \"@arcaelas/dynamite\";\n```\n\n### CreationOptional\n\nFor fields that are optional on creation but always present afterwards:\n\n```typescript\nclass User extends Table<User> {\n  @PrimaryKey()\n  declare id: CreationOptional<string>;  // optional in create()\n\n  declare name: string;                  // required in create()\n\n  @CreatedAt()\n  declare created_at: CreationOptional<string>;\n}\n```\n\n### NonAttribute\n\nFor relations and computed fields that are never stored:\n\n```typescript\nclass User extends Table<User> {\n  declare first_name: string;\n  declare last_name: string;\n\n  declare full_name: NonAttribute<string>;\n\n  @HasMany(() => Order, \"user_id\")\n  declare orders: NonAttribute<Order[]>;\n}\n```\n\n---\n\n## Query Operations\n\n### Basic Queries\n\n```typescript\nconst users = await User.where({});                        // every record\nconst admins = await User.where({ role: \"admin\" });\nconst one = await User.where(\"email\", \"john@example.com\");\n\nconst first = await User.first({ id: \"01JBQ8...\" });\nconst last = await User.last({});\n```\n\n### Query Operators\n\n```typescript\nawait User.where(\"age\", \">=\", 18);\nawait User.where(\"status\", \"!=\", \"banned\");\nawait User.where(\"role\", \"in\", [\"admin\", \"moderator\"]);\nawait User.where(\"email\", \"$include\", \"gmail\");\nawait User.where({ age: { $gte: 18, $lte: 65 } });\n```\n\n**Available operators:** `=`, `!=`, `<>`, `<`, `<=`, `>`, `>=`, `in`, `include`, with the aliases\n`$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$include`. `null` on `=` reads as\n\"the attribute does not exist\" and on `!=` as \"it does exist\".\n\n### Query Options\n\n```typescript\nconst users = await User.where({}, {\n  limit: 10,\n  skip: 20,             // alias: offset\n  cursor: previous.cursor,\n  order: { created_at: \"DESC\" },\n  attributes: [\"id\", \"name\", \"email\"],\n  deleted: false,       // true also returns the soft-deleted ones\n  include: {\n    orders: { where: { status: \"completed\" }, limit: 5 }\n  }\n});\n```\n\n`order` without a field sorts by the `@CreatedAt` column, and never by the field you meant unless\nyou name it: ask for `{ created_at: \"DESC\" }`, not `\"DESC\"`.\n\n### Pagination\n\n`where()` returns the array of instances with a `cursor` property attached whenever a `limit`\nis given. Feeding that cursor back reads only the next page; `skip` instead reads and discards\neverything before it, so cursors are the cheap way to walk a large table.\n\n```typescript\nlet page = await User.where({}, { limit: 50 });\nwhile (page.cursor) {\n  page = await User.where({}, { limit: 50, cursor: page.cursor });\n}\n```\n\n---\n\n## Relationships\n\n### Defining Relations\n\n```typescript\nclass User extends Table<User> {\n  @PrimaryKey()\n  declare id: CreationOptional<string>;\n\n  // HasMany(model, foreign_key, local_key = \"id\")\n  @HasMany(() => Order, \"user_id\", \"id\")\n  declare orders: NonAttribute<Order[]>;\n\n  // HasOne(model, foreign_key, local_key = \"id\")\n  @HasOne(() => Profile, \"user_id\", \"id\")\n  declare profile: NonAttribute<Profile | null>;\n\n  // ManyToMany(model, pivot_table, foreign_key, related_key, local_key = \"id\", related_pk = \"id\")\n  @ManyToMany(() => Role, \"user_roles\", \"user_id\", \"role_id\")\n  declare roles: NonAttribute<Role[]>;\n}\n\nclass Order extends Table<Order> {\n  @PrimaryKey()\n  declare id: CreationOptional<string>;\n\n  @Index()\n  declare user_id: string;\n\n  // BelongsTo(model, related_key, local_key)\n  @BelongsTo(() => User, \"id\", \"user_id\")\n  declare user: NonAttribute<User | null>;\n}\n```\n\nThe foreign key of every `@HasMany` and `@HasOne` is registered as a GSI, so loading a relation\nis a Query. Mark the same column with `@Index()` when you also filter by it directly.\n\n### Loading Relations\n\n```typescript\nconst users = await User.where({}, {\n  include: {\n    orders: { where: { status: \"completed\" } },\n    profile: true,\n    roles: true\n  }\n});\n```\n\nRelations are batch loaded: one round of queries per relation and per depth level, never one\nquery per parent record. Nesting is allowed up to five levels.\n\n### ManyToMany Operations\n\n```typescript\nconst user = await User.first({ id: \"user-1\" });\n\nawait user.attach(Role, \"role-123\");            // adds the pivot row if it is not there\nawait user.detach(Role, \"role-123\");            // removes it\nawait user.sync(Role, [\"role-1\", \"role-2\"]);    // leaves exactly these\n```\n\n---\n\n## CRUD Operations\n\n### Create\n\n```typescript\nconst user = await User.create({ name: \"John Doe\", email: \"john@example.com\" });\n\n// Batch: 25 records per request, no duplicate-key check\nconst users = await User.createMany([\n  { name: \"Ada\", email: \"ada@example.com\" },\n  { name: \"Alan\", email: \"alan@example.com\" }\n]);\n```\n\n`create()` refuses to overwrite an existing primary key and throws when it already exists.\n`createMany()` cannot express that condition and overwrites instead.\n\n### Read\n\n```typescript\nconst users = await User.where({ active: true });\nconst user = await User.first({ id: \"user-123\" });\n```\n\n### Update\n\n```typescript\n// Static: updates every record matching the filter\nawait User.update({ role: \"premium\" }, { id: \"user-123\" });\n\n// Instance\nawait user.update({ name: \"Jane Doe\" });\n\n// Full rewrite of the item\nuser.name = \"Jane Doe\";\nawait user.save();\n\n// Atomic counters, no read involved\nawait User.increment(\"credits\", 10, { id: \"user-123\" });\nawait user.decrement(\"credits\", 1);\n```\n\n`update()` writes only the fields you pass plus the `@UpdatedAt` columns. `save()` rewrites the\nwhole item, which is what you want after mutating several fields by hand.\n\n### Delete\n\n```typescript\n// Static: hard delete of everything matching the filter\nawait User.delete({ status: \"inactive\" });\n\n// Batch by primary key, no read and no hooks\nawait User.deleteMany([\"user-1\", \"user-2\"]);\n\n// Instance: soft delete when the model has @DeleteAt, hard delete otherwise\nawait user.destroy();\n\n// Always a hard delete\nawait user.forceDestroy();\n```\n\n---\n\n## Soft Deletes\n\n```typescript\nclass Post extends Table<Post> {\n  @PrimaryKey()\n  declare id: CreationOptional<string>;\n\n  declare title: string;\n\n  @DeleteAt()\n  declare deleted_at: CreationOptional<string>;\n}\n\nawait post.destroy();                                  // writes deleted_at\n\nawait Post.where({});                                  // excludes the soft-deleted ones\nawait Post.where({}, { deleted: true });               // includes them\n\nawait post.forceDestroy();                             // removes the record\n```\n\nStatic `delete()` is always a hard delete: soft delete is a decision of the instance.\n\n---\n\n## Transactions\n\n```typescript\nawait dynamite.tx(async (tx) => {\n  const user = await User.create({ name: \"John\" }, { tx });\n  await Order.create({ user_id: user.id, total: 100 }, { tx });\n  await User.increment(\"orders_count\", 1, { id: user.id }, { tx });\n});\n```\n\nEvery mutation takes the transaction inside its options object. Nothing is written until the\ncallback returns: if it throws, no operation is applied. A transaction holds up to 100\noperations and is sent in batches of 25. `__isPersisted` and the `after*` hooks only fire\nonce the commit succeeds.\n\n---\n\n## Cost and Performance\n\nDynamoDB charges for what it reads, so the shape of the query is the bill.\n\n| Query | Command | Note |\n|-------|---------|------|\n| `=` on the primary key | `GetItem` | One request, one item read |\n| `in` on the primary key | `BatchGetItem` | 100 keys per request |\n| `=` or `in` on an `@Index` column | `Query` | Uses `<field>_index` |\n| Anything else | `Scan` | Reads the table and filters server-side |\n\n- A `limit` stops the read as soon as it has enough items, and travels to DynamoDB as `Limit`\n  when there is nothing left to filter. `first()` on an indexed field is a single request.\n- A read with no `limit` that ends in a Scan is split into four parallel segments: same read\n  units, a fraction of the latency.\n- `createMany()`, `deleteMany()`, static `delete()` and mass `update()` write in batches of 25.\n- `attach()`, `detach()`, `sync()` and loading a `@ManyToMany` query the pivot table through\n  its `<foreign_key>_index` GSI; none of them scans it.\n- A projection with `attributes` cuts the payload, not the read units: DynamoDB charges for the\n  whole item either way.\n- `last()` with no sort key has to read everything to find the last one. Prefer\n  `first(filters, { order: { created_at: \"DESC\" } })` over an unbounded table.\n\nThe rule of thumb: give every column you filter by an `@Index()`, and declare the matching GSI\nin your infrastructure. Without it the query still works — it just reads the entire table.\n\n---\n\n## Configuration\n\n### DynamoDB Local\n\n```typescript\nconst dynamite = new Dynamite({\n  region: \"us-east-1\",\n  endpoint: \"http://localhost:8000\",\n  credentials: { accessKeyId: \"test\", secretAccessKey: \"test\" },\n  tables: [User, Order, Product]\n});\n\nawait dynamite.connect();\nawait dynamite.sync();\n```\n\n```bash\ndocker run -d -p 8000:8000 amazon/dynamodb-local\n```\n\n### AWS DynamoDB\n\n```typescript\nconst dynamite = new Dynamite({\n  region: \"us-east-1\",\n  tables: [User, Order, Product]\n});\n\nawait dynamite.connect();\n```\n\n`DynamiteConfig` extends `DynamoDBClientConfig`, so anything the AWS SDK accepts —\ncredential providers, retries, custom endpoints — is accepted here too. With no explicit\ncredentials the SDK resolves them from the environment.\n\n---\n\n## API Reference\n\n### Static Methods\n\n```typescript\ncreate(data, options?): Promise<T>\ncreateMany(rows, options?): Promise<T[]>\nupdate(changes, filters, options?): Promise<number>\ndelete(filters, options?): Promise<number>\ndeleteMany(ids, options?): Promise<number>\nincrement(field, amount, filters, options?): Promise<number>\ndecrement(field, amount, filters, options?): Promise<number>\n\nwhere(filters, options?): Promise<QueryResult<T>>\nwhere(field, value, options?): Promise<QueryResult<T>>\nwhere(field, operator, value, options?): Promise<QueryResult<T>>\nfirst(filters, options?): Promise<T | undefined>\nlast(filters?, options?): Promise<T | undefined>\n```\n\n### Instance Methods\n\n```typescript\nsave(options?): Promise<boolean>\nupdate(changes, options?): Promise<boolean>\ndestroy(options?): Promise<null>\nforceDestroy(options?): Promise<null>\nincrement(field, amount?): Promise<void>\ndecrement(field, amount?): Promise<void>\n\nattach(Model, related_id, pivot_data?): Promise<void>\ndetach(Model, related_id): Promise<void>\nsync(Model, related_ids): Promise<void>\n\ntoJSON(): Record<string, unknown>\ntoString(): string\n```\n\n`options` is always `MutationOptions`: `{ hook?: boolean; tx?: TransactionContext }`.\n\n---\n\n## Documentation\n\nFor complete documentation, examples, and guides:\n\n**[arcaelas.github.io/dynamite](https://arcaelas.github.io/dynamite)**\n\n---\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n---\n\n**Made with care by [Miguel Alejandro](https://github.com/arcaelas) - [Arcaelas Insiders](https://github.com/arcaelas)**\n","readmeFilename":"README.md"}