{"_id":"@thi.ng/leaky-bucket","_rev":"38-bb96da81efc8a7b18d4d0d0ad952c7e4","name":"@thi.ng/leaky-bucket","dist-tags":{"latest":"0.2.40"},"versions":{"0.1.0":{"name":"@thi.ng/leaky-bucket","version":"0.1.0","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.1.0","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"050d64c0a13fbd7c0f0b49443235554f6015f365","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.1.0.tgz","fileCount":6,"integrity":"sha512-AEAhhXmD/HjxRf1ecHvYZsZEDJOKmnprU1+Lsr0iPvyz8Y4PKWNjR9kuGT9bg/79BJax3OHFt7ywVlhW+wD6eg==","signatures":[{"sig":"MEQCICnwqni3wV+KGtvx1cbEZxHZBlG0h+hvXOBk4RnKo7sUAiB6C6vlc3A5tXBp1Cm8j0TES+v6ZZ0dnBkfzdbGxS3fOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26148},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"55987d581e4985b1c3091ba6be3f9b53a0c5eeea","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.22"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typedoc":"^0.27.7","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.1.0_1741548434535_0.1705333762659873","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@thi.ng/leaky-bucket","version":"0.2.0","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.0","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"fe33f611afddb0a6ecfc3ae763b4e157673db0b1","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.0.tgz","fileCount":6,"integrity":"sha512-Zqnm2x3d/098kxMStXcx2imVrz7iTqmf55uu7gKh1cz57PkDzcpZGNF2wXb9gDVBCLa216PdJG2EtP3FmbJNfA==","signatures":[{"sig":"MEYCIQCtGijsu6eWMMeiu5ob6ybN1JrpDoe4negF2fdDyNGVNQIhAOdJRYN/0r8YZYhTThpoJiFQmXGlziBk1WrrPEc/C4f3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29880},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"1df585220c1dbfbcdd10f7a775917b052ced1437","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.22"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typedoc":"^0.27.7","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.0_1741596808373_0.3732762269291523","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@thi.ng/leaky-bucket","version":"0.2.1","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.1","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"0ebc3f2cb59e6ca231538219a3533d79abb0455a","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.1.tgz","fileCount":6,"integrity":"sha512-QrCfsyTI5b82jnXMskhW/jDY7WdJbJf04xiGxCm6HHKjhg0sZwUq8VQmgrsueqOlick78OGr0x58a6fPElzPzQ==","signatures":[{"sig":"MEUCIQCnFSy8TLqZaNC05czfkwcq2HexiOLCEE7QoQDUXbX3pQIgMb4fXmgF2H+wOLqTQiCDtLPPLpZRC1KzOI7MwXhcb0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29906},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"dfecb91b5b6a05db32d96f261e0c0ac6319240b9","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.23"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.1","typedoc":"^0.28.0","typescript":"^5.8.2"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.1_1742219118313_0.7076854284045426","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@thi.ng/leaky-bucket","version":"0.2.2","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.2","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"5da24bd2fc0cf0c467e37522d6a77aa03638cfdb","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.2.tgz","fileCount":6,"integrity":"sha512-yTi5mVK93cyN3ehKmtJ2i50Oeubu9PhojKp+OfbJEWS05YY+Dn8oZF9iCd/DtKZTRNF1inCSid1oZ0qQ2JoBFA==","signatures":[{"sig":"MEYCIQCixPNdnrxInlCUTvjDrv3jpJh87VPMMZXpGSJCz52uBwIhALBfdyNSNsAc4E5iq2EZJLbyEb0VhrRRgg7ArmX0LZ/l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29906},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"1646e0ffcdfd812b29e1b9c7c528d294ea60373e","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.24"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.1","typedoc":"^0.28.0","typescript":"^5.8.2"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.2_1742304544749_0.8912607174955738","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@thi.ng/leaky-bucket","version":"0.2.3","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.3","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"1485dbf0adc0c8a5c70efa8e30afa9568c129fb1","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.3.tgz","fileCount":6,"integrity":"sha512-fnjqCjuJONeV+VIN7zMR3+3vhr0iqNCL21gpoguNuXE/1gV6tdv3nX6xcc9k+pQgmMYiWlENgRxk1BhORDLqMQ==","signatures":[{"sig":"MEUCIHu953ENcz+Q953Yr1otQiGs5iaxQuesSZA70aRnTqhjAiEA8gm0Uy8HO5S+XkrgwGFz7qLlRwXd7RQj/AC/Ai9qgz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29906},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"87aa2d0e64a357476c10fd57aabdfded13c79f7d","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typedoc":"^0.28.1","typescript":"^5.8.2"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.3_1743544017400_0.21471973121782773","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@thi.ng/leaky-bucket","version":"0.2.4","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.4","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"48123853640126b896cacc6bb054f193c5dc93ae","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.4.tgz","fileCount":6,"integrity":"sha512-pZ5CM/qClbCaZdO7dqAD11b7meT03qA+oiakKnZXDGKOrAOd8qSMe5i9SmjeNeVqFbIdjxiXV5NUvM/A2bRfNw==","signatures":[{"sig":"MEQCIFkI1YagmqKrYvm9NfDiT4Sw/i5amwVg8tm/c1/KrRULAiBhU+HR9WhxcDFDzWyOiFfoAhKPdfV0JhQLZ5XeN3rqkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29906},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"c464b6948f92cba90c2ea75b59203dad894fb450","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.26"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typedoc":"^0.28.2","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.4_1744802233310_0.8375683773970488","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@thi.ng/leaky-bucket","version":"0.2.5","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.5","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"03dabc7ab1cef2a9cb119b27844aa027a986dd91","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.5.tgz","fileCount":6,"integrity":"sha512-W4wOH1EvwdUkLhW50C92bcgU5Fmt6lk8iOjMhV70Z7VmKGn3Pr6Np8psqt10efofAwclJvkwtWBUz+VPtct7+g==","signatures":[{"sig":"MEUCIC8sCY4wRMhg36H8F0sxbkHQYVXQWlLV/Tjn0lzzoYShAiEA/pmEnRzXce3hCOAIiR0sHzUOxjM+0p/76DXx2dEZX3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29906},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"4354686a6fb1f82c09ea48f92f87786191b231a0","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.27"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.3","typedoc":"^0.28.3","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.5_1746017823020_0.3169299679582467","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@thi.ng/leaky-bucket","version":"0.2.6","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.6","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"cf38f710d5f923455ab1932ec81d25fc2429dec3","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.6.tgz","fileCount":6,"integrity":"sha512-6mDP9O8fLM9PJdvrXwkegOwPMk+zsdGBHC4xGaOhRVYMted8lrXVin1RwfWBlFf3S2+ZnJSwvSJs+IUO8efHWg==","signatures":[{"sig":"MEQCIChmyB+iL+M9IerCS4Aa7kcQd1bMtgipQRow+P2w42R5AiAmSLHOlR2D7Oy/bqhVNsmtYb/btooSdSKCVLbwNkdaLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29906},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"61c3833b7ef7d044621454b5ea4af885d39f065e","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.28"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.5","typedoc":"^0.28.5","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.6_1748434040705_0.4657712616211698","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@thi.ng/leaky-bucket","version":"0.2.7","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.7","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"50a5b1a93bd68dc9a1fdd92e3a6e993f04f066c3","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.7.tgz","fileCount":6,"integrity":"sha512-kZvuw4pd9i18R0FCGz43In1RC7zhoN7dRwUeIO5P4QzredzBzhStLHG3KKOUP5RH+tnuBjZt/vc6hmIdtjapzw==","signatures":[{"sig":"MEUCIDITcKf/SwOMrPDn7YJMQEBF6yBeE9wpzU6LsTUS02YCAiEArZStpjy7iTcLUKSciPFEiMuKk7FLIGNfOI9Q2wBc7sc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29906},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"93cdcd8db4d4669561a7f0ebc47697bdbfd04214","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.29"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.5","typedoc":"^0.28.5","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.7_1749490139358_0.10168406219027726","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@thi.ng/leaky-bucket","version":"0.2.8","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.8","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"04c09ed1cb244fc1c64094ff40d23c27ba7e614f","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.8.tgz","fileCount":6,"integrity":"sha512-ufJZtMqFC/pU0DWS8DM0YrlcbNDbfW/17tb29OgNgTf4vy9SAEXIJktJ4qRWeTe74flUNBtpxzp5Ep21uepufg==","signatures":[{"sig":"MEUCIEE/BO9ZgJKOosf856n2eB6ZyLRBj2E+wfvyo/CRW1fYAiEA2HdVnQrWV2+c211NphABsFI+7vDCONyjpj9jpcQBZ8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29906},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"56d8f088389b22192a06e9a395b5eecebf47697a","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","actor":{"name":"thi.ng","type":"user","email":"k+npm@thi.ng"},"email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.30"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.6","typedoc":"^0.28.7","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.8_1752157495884_0.6071362620291141","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@thi.ng/leaky-bucket","version":"0.2.9","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.9","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"54bef9aae1a28676cbcc21eb541e9156dbe32cd5","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.9.tgz","fileCount":6,"integrity":"sha512-mMJykJHxzhy6P6Usge7js9mo8Fxnh9ui1nvhiY9mfxIhdvvjmWa1jGG8UM0Wxl8CRqtIthrjSrUuQd3WgGM7ig==","signatures":[{"sig":"MEUCIHTZ9+DyLVTsMgwLm6UwKPi9K38uRePQ7VlO5UwQdRJdAiEAj4DrzPpby9FzIiPeckKx5z7kUWWzpXze7ueHxPCjFOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29906},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"3cd1bea8b2bf6b859609f6d5c14b4eb64745681f","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.31"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.8","typedoc":"^0.28.7","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.9_1753023629720_0.8472575648700074","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"@thi.ng/leaky-bucket","version":"0.2.10","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.10","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"e1446c3b6a33680d7ca3de88b492f7e3b9324774","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.10.tgz","fileCount":6,"integrity":"sha512-HxKJlhoKRQeseRGf9bIny/l1GPHogbPIwwReScGD1DJM6SWISfJhs56XzbBYTW33BDbPJVBwZoU0GdBQ3XQW1Q==","signatures":[{"sig":"MEUCIQDETU9528jaG5KzHHcjOE1SPAJXLcQbUwv+F3MEPDO5QwIgIyfgg7BbthbTUI8Za0XdOFo3lSJDd9LRxwvpUQFIh80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29907},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"11747c482773d3da03c8b7848b25a56251ccd759","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.32"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.8","typedoc":"^0.28.7","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.10_1753086369306_0.05202035932211113","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"@thi.ng/leaky-bucket","version":"0.2.11","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.11","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"64af3b782f42360232a8216967c8f46a3fcd611a","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.11.tgz","fileCount":6,"integrity":"sha512-K3YM1EMfymtT33AeWgDpdbvNMvTjk4bmbDCzuEEefyKMTHSk5SwNVb7Ez/Mv7RJV1lLx5ZDVr0xwDAEpc9O89w==","signatures":[{"sig":"MEQCIC/phN3rXhM7J6TwyjU2bsZQDJQ83T+b4NG0ZZKLuS6RAiBjkbk7rA//ULQZA8dEheS/ZolQazi0o9fmt/5tihzGnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29907},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"1df8a3a9061257ea73ccf1ab9cdf63c81a9f519f","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.11.33"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.8","typedoc":"^0.28.7","typescript":"^5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.11_1753915038221_0.9401775301513788","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"@thi.ng/leaky-bucket","version":"0.2.12","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.12","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"826748f9f3df715f9ec964098add76f496178056","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.12.tgz","fileCount":6,"integrity":"sha512-hfBCQCeypMCXBSwwEJJBYszrNVeSYsgsPzSJ4SpwXp/i0bJaV9uvaDwn0Cf1znj3TJZymv/25SVLhJYjgb3dlg==","signatures":[{"sig":"MEUCIQDYjiikBpf5cYQ1WyXY7xxNg76G54b+WPgQEiPYMGTb9QIgMpnOAOc3RoUqfI1O4tGpNlElsOM2eLQTPjb8CKKTnAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29906},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"d4e2e72dcdadf26da3400900f04f9eb0ebeb0a5b","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.8","typedoc":"^0.28.9","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.12_1754297493526_0.7478613658108328","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"@thi.ng/leaky-bucket","version":"0.2.13","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.13","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"575c933b75dc7a565212c56c91cfed4ec07e9532","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.13.tgz","fileCount":6,"integrity":"sha512-/EXNdo6QA2m8EdDDdsgjr3/LLazUh6S/0s2TfUClzlmseeoHKGxvmzfhdHzur1BRJNYKFlr96JH1IHRXywXDFg==","signatures":[{"sig":"MEUCIH/xq1l0TDNr7zajXOdwmADs4vk+1mSByLdkiUP+zHuyAiEA2r4ypClEhnfDOGOt4Q7NbJtw9b3wZ9RXYrL5ABbfZtU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29906},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"0bcedf8d1dd4f30cd06bb2c668599628f2f0141e","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.8","typedoc":"^0.28.9","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.13_1754300103698_0.7867848250707472","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"@thi.ng/leaky-bucket","version":"0.2.14","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":"Karsten Schmidt (https://thi.ng)","license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.14","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"75205a464bb9f8162bd34bbf8895b587ccf97716","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.14.tgz","fileCount":6,"integrity":"sha512-2oW8p7zfxq5f17Ln+wFiZ56ZMkW2MwICr+mIx84U+t1FY78sdegpIxdrB1qaBlJUobrh9tvaTDBm5uQIzfI+lw==","signatures":[{"sig":"MEYCIQCMHtcW2atlfCQEfobHHWYtOGsUcpV7tvQdcPDpVACYTQIhAI0UwUr5fRo4r6FwT+gANrxFneL5YJkY6EWHGo1MtgQC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29907},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"e215a3e8de3809736ba0042c93bd8703a5a1a337","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"yarn npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"https://github.com/thi-ng/umbrella.git","type":"git"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"dependencies":{"@thi.ng/api":"^8.12.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.9","typedoc":"^0.28.12","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.14_1756744985159_0.1878875866760521","host":"s3://npm-registry-packages-npm-production"}},"0.2.18":{"name":"@thi.ng/leaky-bucket","version":"0.2.18","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.18","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"e77e59b90475f77ce5db56d85cf015978596db34","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.18.tgz","fileCount":5,"integrity":"sha512-4PmO8xRROavpL1du66K4Mt34uBQd7YS/82Q4JY/JJig9Mez/pacyJ0/1FqC1c3xFQxmyErukW2P4JVYECEIT+g==","signatures":[{"sig":"MEUCIQCdCFZBBWQpgFD2twaLL5pz53v/KQUYoAx0WloYgCC4/AIgXd3pBlrf6xcQndsHkb9cTj+hllgFGm+e0whiwzO0weE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28617},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"136a5e5ef0b69e82329db00d806c3c4e8f1aa063\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.5.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","dependencies":{"@thi.ng/api":"^8.12.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.11","typedoc":"^0.28.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.18_1761328473932_0.767282603798624","host":"s3://npm-registry-packages-npm-production"}},"0.2.19":{"name":"@thi.ng/leaky-bucket","version":"0.2.19","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.19","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"47999492b1ddc493539eca930853e1beebdbffee","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.19.tgz","fileCount":5,"integrity":"sha512-/85qaKN4NxQR0g4yudW4BmVcJWclua7cFAn2QcSUlmVZINDqXe6/HwF92Jt1PbbXar9IhSQ34xMhwtqJwNxIAA==","signatures":[{"sig":"MEQCIDVd0gvvFc8Bo2k1FuK2FKlA/AQfRQ0iWXwaGOiI0IwfAiBpZa7oefy7NjfFA+4U1f5yjQPFOgcVyyzu3rQht5dzwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28617},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"d977f819bcafdcb2b24c45f8d01a167fe29fc85a\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.5.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","dependencies":{"@thi.ng/api":"^8.12.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.11","typedoc":"^0.28.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.19_1761431781518_0.7918189336637997","host":"s3://npm-registry-packages-npm-production"}},"0.2.20":{"name":"@thi.ng/leaky-bucket","version":"0.2.20","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.20","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"ea300bc9816966b004c75e507d53bbd9a02e9a00","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.20.tgz","fileCount":5,"integrity":"sha512-xncOSkK9Y0npr+6D7JE1ziXKvYkF7Yhgl11Yb55mm8LHvOXFCzxy30NckK/ar/2j44zxIWlXYAdFHH8pTJMabw==","signatures":[{"sig":"MEQCIGGxR6RbYT/YtVGPbPjpqpZTu4LQY2lVo4/r/mvY48ceAiB9Jno3px3r72i9R5ZMUyVVGwP/A0nZZgGUmoiI6D54Ow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28616},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"be6e7657b1e5c54d7d648d1b52888a7297e95a17\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.0","typedoc":"^0.28.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.20_1763740926587_0.7851861622034189","host":"s3://npm-registry-packages-npm-production"}},"0.2.21":{"name":"@thi.ng/leaky-bucket","version":"0.2.21","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.21","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"48a37d04981013eb96dbf9972bc4daf3a66665ab","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.21.tgz","fileCount":5,"integrity":"sha512-wMa4cVcTf6cWgQIjiDbK+YfZffbtdRGyE0j5a1Jih+uoTY8SRGgCTO2h4l9wyMSgUZSVAW0GiscKm4lipspzFg==","signatures":[{"sig":"MEUCIQCKQWLy9uYxK2TJ4mZBEZDEmb/ekES906pt06WcoAhcBgIgWLgI1W/0SKDlfwogNfYPGkBf6GV8VvjEgM5+QtUK2L0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28616},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"fdca77cabf47dd23a9ab17a5ca13e3060075c12c\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.0","typedoc":"^0.28.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.21_1764073797630_0.20290612680859166","host":"s3://npm-registry-packages-npm-production"}},"0.2.22":{"name":"@thi.ng/leaky-bucket","version":"0.2.22","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.22","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"a8bb6c6027f56767aa6656351f19f6194aa110f7","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.22.tgz","fileCount":5,"integrity":"sha512-IW+zNCGjFJLcE9gsy3LYQae3g64d9p69I73rnY25ykvAHjMuZc+kVjsPjqBhspzvvk+kPAeVjdNVfF4Xve5wiQ==","signatures":[{"sig":"MEUCIFWb4LBYkPrqjxrEz+Ss+XNy+ZAfDGYB+bZNYBd0W5suAiEAz2NLuLh4g0kZfhNJoKJ56LOAYKy2g4TeAjUuh32QfN0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28619},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"824bf9047b5a10f777c5c5b4aeecf0c750a22c75\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.0","typedoc":"^0.28.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.22_1764802188599_0.32092068516255745","host":"s3://npm-registry-packages-npm-production"}},"0.2.23":{"name":"@thi.ng/leaky-bucket","version":"0.2.23","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.23","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"802ac2fd3e90e20d9f948f8c19c0f2b8a85b9526","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.23.tgz","fileCount":5,"integrity":"sha512-yhm4CO6Wt9Tt4ZKwEfh2lYvOChJ3MczI4Czn2PmUXUnKb0st11ECaRDgp3N+LSm1FYMPFDCXHtfvh4dGd0vFrQ==","signatures":[{"sig":"MEUCIQDFGulk3kh+pwHU/ZrvCgtEsekU7XJmunDNkTrKuKXY2QIgfdrIW22U6J36Z7uwrRAWXn2ajcySP5jGmgT9ZUJ51x0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28619},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"e7a21b9d2a188fa04d4c893d8531c40fbc0f4c06\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.0","typedoc":"^0.28.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.23_1766678613067_0.8944573358675953","host":"s3://npm-registry-packages-npm-production"}},"0.2.24":{"name":"@thi.ng/leaky-bucket","version":"0.2.24","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.24","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"8d3f97be223b1bad1e25680aa1b8646e3ba29e4d","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.24.tgz","fileCount":5,"integrity":"sha512-rX4aj41iJIuCqu7dIb8OGHz4U3kyNxNksgIf8E9aRK6Nz6CK1ywIn2S9D3fswQCUAJGvYTLVJIcokca7WdpePw==","signatures":[{"sig":"MEUCIQDUNWgJEPmpmMFX9FofnrsQiXmtetQTp45+3CcAN9gIswIgf33zdGjXSAHEe130Y+VB4QM5MjXVs+MN0N0GmU6U9Z4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28626},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"deb511294f7a120091b654af0ff7e8a399a465b3\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.0","typedoc":"^0.28.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.24_1768563931527_0.20697799577582376","host":"s3://npm-registry-packages-npm-production"}},"0.2.25":{"name":"@thi.ng/leaky-bucket","version":"0.2.25","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.25","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"d079ae09ac8a7b037b07d6ca1411b11bbda71cdb","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.25.tgz","fileCount":5,"integrity":"sha512-fxdUE3Yk8G4Ds54a72XVGNYSy0M99TlIoe5784I9twPYQaI/JfI9kVfEyNRTBXNaWxXELFW7Bl3IpBneIb8bOw==","signatures":[{"sig":"MEQCIC2FOnbpPFQr2amTTHLm12gZOL+sCwu7nFmCn6eh/ucqAiA7YVOVo5sx+ilTJN/qDq5tUWVjVC9QolPnBh40iZxbRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28626},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"828ec2e9ffde7307231b03cff46598c0915b1857\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.25_1769174237451_0.947709684278454","host":"s3://npm-registry-packages-npm-production"}},"0.2.26":{"name":"@thi.ng/leaky-bucket","version":"0.2.26","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.26","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"d18d3c0a7e31b58074d8c159c68545a635582355","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.26.tgz","fileCount":5,"integrity":"sha512-AYFHtK56BHYtZX5qTGxnyUCWqkaTHYd4kNGejac2ImIK03BdzGewsKe27eywKsWeUED63CWtSZFrtf+9M/lzFA==","signatures":[{"sig":"MEUCIQCgwVUaaeGbIodyjOXnHcuJ+i9/2URXLgN0soKuYzH3YQIgJS50br5Plu9BoQ2hyXVYk74GNET6Ps8XfI9xSgicUxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28670},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"4bd1b9d8ae52ba32b90a1b9a55d329c708ca7865\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.26_1770474041758_0.8104527543745421","host":"s3://npm-registry-packages-npm-production"}},"0.2.27":{"name":"@thi.ng/leaky-bucket","version":"0.2.27","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.27","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"e87e24aeade68da11adb775324b5d3f763968870","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.27.tgz","fileCount":5,"integrity":"sha512-5TKO/MR6GTRmdB7Cv+RBaWLqCXPaBZtMrCZSZFbnPbgcYnRD0uWcaLe+XW/qCHGxNoGlT5tFlu6y3WFiydP1RQ==","signatures":[{"sig":"MEYCIQCqiAz7NtRAPhBL3hScznGXLW9/ZyvtKYFffEiNixvNVAIhAKKujqbGGAHAjjQ8OI4AkfmmowbBWZbQ23kxlAaNmthn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28670},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"8f50352caab9ec7757d645c0afa605dfb5427abe\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.27_1772875081444_0.3235239506309848","host":"s3://npm-registry-packages-npm-production"}},"0.2.28":{"name":"@thi.ng/leaky-bucket","version":"0.2.28","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.28","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"e59d0c7ce4241a5e34f8e899db27d91217ef6a6d","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.28.tgz","fileCount":5,"integrity":"sha512-AArT+i61vUnnHk+6YpFOsC+n0O+EkYdliRSkA/iMyQq0sBQyTH9B5sQFoLBmAfbOeIQuINXienEhNmilnyqqAQ==","signatures":[{"sig":"MEYCIQDTQfg2TgYbfr/6O3mMm4b0ufLSftrYXS7+ZErK9LVQowIhAMma7mBYOshJLfHcV58Cu8PYfIO3En049mYRrG0XuChi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28670},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"411adbeeb5c03da1cf0c86e567c80942a6b875e7\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.28_1772879673861_0.06478911213096739","host":"s3://npm-registry-packages-npm-production"}},"0.2.29":{"name":"@thi.ng/leaky-bucket","version":"0.2.29","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.29","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","bugs":{"url":"https://github.com/thi-ng/umbrella/issues"},"dist":{"shasum":"406f8deeacf68e376eb2dfecd2a0a8bae8bb6157","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.29.tgz","fileCount":5,"integrity":"sha512-xnHERN3FX7L8F8fOKB+hKyMrLxjxEmy8ULc090q+Cy76fqUO0kY/Wf+GmPVdXxxecMRr0IQqwYW+OThsb/sUvQ==","signatures":[{"sig":"MEUCIHkv/YnXMzn+HgWmEaOCKlBGBKSXe+l3Q925tEnw/wxQAiEAvVnFPxtgAgpp9QmJaFh00qvr2J4/4phyD1GGvmrXECA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28670},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"1107498d31504dc63d1a457b5def387d7a134f69\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://github.com/thi-ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.29_1773923695755_0.32818842706397944","host":"s3://npm-registry-packages-npm-production"}},"0.2.30":{"name":"@thi.ng/leaky-bucket","version":"0.2.30","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.30","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"67ede28d088814c2becab87ff18cc895e6700bb3","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.30.tgz","fileCount":5,"integrity":"sha512-dSJ3nG0ztqIu2GdQv2vwvj4imH1TLHI3U8kHh3bnLnXdEdgqNCJ7fkbtLLZi15mqEhFaA4EbiCNsEPALwfIxVA==","signatures":[{"sig":"MEUCIQC/mpdd0G7NB8YKhVDTno2dzGyjxWqsXyVAUYCGW7zX3gIgUF5/sB+++T8FK9VqYN71v9ARE7IbOjUiYR/fi/KqFe8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28712},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"8ddf86ea0a1e658ddbf19cc645b29d0c176e29c4\n","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.2","typedoc":"^0.28.16","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.30_1775127597705_0.41690769236805836","host":"s3://npm-registry-packages-npm-production"}},"0.2.31":{"name":"@thi.ng/leaky-bucket","version":"0.2.31","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.31","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"feb63fcdce2c4a348b258c6e0203a43e4d8f852e","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.31.tgz","fileCount":5,"integrity":"sha512-TvWwPrqVTsoxQ8tnxgYNbnzaQ5+29VZd+M7TNjHzPvnBkgSdPp+MU0taZxdERZS9g3OCGjQSJw2QD/qq5zW++g==","signatures":[{"sig":"MEUCIE4uLbrMMjvpluwtoO1uWUczwpObkzlZ2TOEtCrE/JdqAiEAophHd0qPX8A+Q+N58XG503NT2xPJEmmTruc7dK7mmTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28718},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"a780d4a5f6f5fc595c9d28527686f63534927d32","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.18","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.31_1776512483209_0.500221520119789","host":"s3://npm-registry-packages-npm-production"}},"0.2.32":{"name":"@thi.ng/leaky-bucket","version":"0.2.32","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.32","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"de7008d38b9345cc1d2e22ea2347515e4f1f64de","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.32.tgz","fileCount":5,"integrity":"sha512-gc57g/kX4Xtg2otDj0+8wdgSHiE4JRNPHOBOE4VIRNLH89osTf/CiUpw1OLBaYaBi3s9jCqkczya2a3acz9kIA==","signatures":[{"sig":"MEUCIGE1h11f9DhtsKEZh3qOCGQ5Vcwd0cEjUYDOzTkarpABAiEAoknHwLEkUeXgbyOZ62QxaSs2FzCw0BycsI5O5eTX/7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28718},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"92be63f24030506f09d6d156804da2798c381dc4","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.18","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.32_1777221842109_0.7638478730908904","host":"s3://npm-registry-packages-npm-production"}},"0.2.33":{"name":"@thi.ng/leaky-bucket","version":"0.2.33","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.33","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"8fbab4cd4ad90d251d6e0b87bd2b2b390884dc5d","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.33.tgz","fileCount":5,"integrity":"sha512-AYE4TazTV1FmtsHsx3piR2zYBG1gPAHv4+RFuVIgZ/FJsMU/RFIJD2K/L82op0trjkD2cBQ7vnOC1nGkV5Ybfg==","signatures":[{"sig":"MEUCIDoV12Z/fJ4luzDLXwV2jJ3bmeMloRuSwmCX11Ke6iWiAiEAyujsuwk7gggX55BMRkhXykd0V/xZC7UybpE+RffSzSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28718},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"dcaa4e2beb427e434a68cba1259a9bf9983a569a","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.18","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.33_1778241635096_0.8120763983660584","host":"s3://npm-registry-packages-npm-production"}},"0.2.34":{"name":"@thi.ng/leaky-bucket","version":"0.2.34","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.34","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"2b835e06bb243419dd8c631fb7803d1ebcdcb622","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.34.tgz","fileCount":5,"integrity":"sha512-dNU9WunyjHjmihZh+c3zd3cnLdTdX+Q4DrXpybhIppYRkfUm9a5/YtNc6BriQyUyhJXoiECUMieTeMb7sYVV0w==","signatures":[{"sig":"MEUCIExTJlJEYyn9d1NPlyGPpbqEkp9QOBDREK/LwGL7hDZKAiEApUqwosYhbA84+N9j/ZXmbdwVJj3GL70pSCr+4UC1ZiU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28718},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"17d2d1a6542704f55f2daa37550a4213b4a32cd8","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.22"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.19","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.34_1778489053205_0.6122674427604673","host":"s3://npm-registry-packages-npm-production"}},"0.2.36":{"name":"@thi.ng/leaky-bucket","version":"0.2.36","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.36","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"36c1edff240bc5552c6d4f1abcd5008e3060dbed","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.36.tgz","fileCount":5,"integrity":"sha512-9Qoqc2kOiSHaRNDbvNnkz378qCT1Qvng7f0Cywe0ZihlGBsStL8H7OhSOkNbfl7LvY7aaiqo71s1a6hCHLE6fA==","signatures":[{"sig":"MEUCIQDSewmwCWz5VXJKUkKEVr5ugVR4oJue8GbXtkElb5GU0gIgKoSdSHCR4S927p4V2WSYnI8WS8lr3Y3746CLUddt/4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28766},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"b302822c51b2ab255f8f27f8dd010433d95f29df","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.24"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.19","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.36_1779276515438_0.12200487538942806","host":"s3://npm-registry-packages-npm-production"}},"0.2.37":{"name":"@thi.ng/leaky-bucket","version":"0.2.37","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.37","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"e860d04eda37c06849d72d7b5043c98921c4197a","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.37.tgz","fileCount":5,"integrity":"sha512-GELr4hj4Kzzm1S/G9tdASL1GXbJEc6pjlRGfTvk/Jp/+bGmCab9mYUYjjvOUZbvfla16gW6MSrTA8YS5fbFEcA==","signatures":[{"sig":"MEUCIBhbowDm1nEHf++qZt/7BvHMS1PIfKj7UFdbHpYorOkLAiEAgB2rGw2bLv++XZzvhy7MxScGxc73pyvpL4mISxxSAgQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28766},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"65b041e97110e16c01cf968949b72a0873f14445","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.19","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.37_1779540909448_0.49046694497201204","host":"s3://npm-registry-packages-npm-production"}},"0.2.38":{"name":"@thi.ng/leaky-bucket","version":"0.2.38","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.38","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"0b34dbef4620b8d74af310290c2662dd1d02c14f","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.38.tgz","fileCount":5,"integrity":"sha512-5Hch2UILAnxSrd+uNhit0Jk6F+aZA1XBUpY9blDMG4E/xMxfcwz/K5VjRy7y15QOM/p7EPZG/UpwsMmpuu/cfQ==","signatures":[{"sig":"MEUCIQCGkTbySD4U1lRUdjMLwxlpw+P8SHiPl5mk0X+E67UzXgIgbUbArZpJXqSVtMO5pXBTvY/td9p6vEaHuSLU3pFPM/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28766},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"c47c56420bcae2e0477d252a497be44f08ca185a","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.26"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.0","typedoc":"^0.28.19","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.38_1780684709026_0.37072549977471914","host":"s3://npm-registry-packages-npm-production"}},"0.2.39":{"name":"@thi.ng/leaky-bucket","version":"0.2.39","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"author":{"url":"https://thi.ng","name":"Karsten Schmidt"},"license":"Apache-2.0","_id":"@thi.ng/leaky-bucket@0.2.39","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"homepage":"https://thi.ng/leaky-bucket","dist":{"shasum":"40f89cf7c896d634842f2f35727e350e91725c23","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.39.tgz","fileCount":5,"integrity":"sha512-dLdNXxKVX0XjjgLNtYteClM6S3Z4a0sED+TxIdVjJKhXCYbEpIQP1yi+CV1hxjfhdot1g4rPErnJTiUl9IID2w==","signatures":[{"sig":"MEYCIQDgMtmkszepOltTIU83puhDOHVT8Rp26Dn+hGROg8s/mAIhAP1aZodFBEjYwC/xx+vMbj9ZdHmeK/IymcLBo8hqpk46","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28766},"type":"module","module":"./index.js","thi.ng":{"year":2025,"status":"alpha"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"funding":[{"url":"https://github.com/sponsors/postspectacular","type":"github"},{"url":"https://patreon.com/thing_umbrella","type":"patreon"},{"url":"https://liberapay.com/thi.ng","type":"liberapay"}],"gitHead":"febee81fd8b59e5e330a6e6521a2667ed5401a3d","scripts":{"doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","pub":"npm publish --access public","test":"bun test","build":"yarn build:esbuild && yarn build:decl","clean":"bun ../../tools/src/clean-package.ts","build:decl":"tsc --declaration --emitDeclarationOnly","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts"},"typings":"./index.d.ts","_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"repository":{"url":"git+https://codeberg.org/thi.ng/umbrella.git","type":"git","directory":"packages/leaky-bucket"},"_npmVersion":"11.6.1","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@thi.ng/api":"^8.12.27"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/leaky-bucket_0.2.39_1783002541266_0.13623339505495902","host":"s3://npm-registry-packages-npm-production"}},"0.2.40":{"name":"@thi.ng/leaky-bucket","version":"0.2.40","description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","type":"module","module":"./index.js","typings":"./index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://codeberg.org/thi.ng/umbrella.git","directory":"packages/leaky-bucket"},"homepage":"https://thi.ng/leaky-bucket","funding":[{"type":"github","url":"https://github.com/sponsors/postspectacular"},{"type":"patreon","url":"https://patreon.com/thing_umbrella"},{"type":"liberapay","url":"https://liberapay.com/thi.ng"}],"author":{"name":"Karsten Schmidt","url":"https://thi.ng"},"license":"Apache-2.0","scripts":{"build":"yarn build:esbuild && yarn build:decl","build:decl":"tsc --declaration --emitDeclarationOnly","build:esbuild":"esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts","clean":"bun ../../tools/src/clean-package.ts","doc":"typedoc --options ../../typedoc.json --out doc src/index.ts","doc:readme":"bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts","pub":"npm publish --access public","test":"bun test","tool:tangle":"../../node_modules/.bin/tangle src/**/*.ts"},"dependencies":{"@thi.ng/api":"^8.12.28"},"devDependencies":{"esbuild":"^0.28.2","typedoc":"^0.28.20","typescript":"^6.0.3"},"keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"publishConfig":{"access":"public"},"browser":{"process":false,"setTimeout":false},"engines":{"node":">=18"},"exports":{".":{"default":"./index.js"}},"thi.ng":{"status":"alpha","year":2025},"gitHead":"57ce96457ee0b8de5b17f9d371e6707780c64bd7","_id":"@thi.ng/leaky-bucket@0.2.40","_nodeVersion":"26.5.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-TWKD3Ig/q1Cv6ifD8wVnB9yDbRnSFmj0ltjIjdUBwsxRGRLIbUKXzSe5Z26Yqh1gPXraWEp+qTWitcHUPTcG7w==","shasum":"8e35732c774752333d5ee46400657c9ac685bf8a","tarball":"https://registry.npmjs.org/@thi.ng/leaky-bucket/-/leaky-bucket-0.2.40.tgz","fileCount":5,"unpackedSize":28766,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCgXKKnEH/PxgHNmhLoe/LmTM0ywg30LMGCppulJ31RXAIhAJRthW7RD95ZTvgsXaXqEZBfN/b0L9gxfK1B/kK9FWm0"}]},"_npmUser":{"name":"thi.ng","email":"k+npm@thi.ng"},"directories":{},"maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/leaky-bucket_0.2.40_1787678272660_0.12028898379566266"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-09T19:27:14.455Z","modified":"2026-08-25T17:17:52.965Z","0.1.0":"2025-03-09T19:27:14.723Z","0.2.0":"2025-03-10T08:53:28.571Z","0.2.1":"2025-03-17T13:45:18.535Z","0.2.2":"2025-03-18T13:29:04.964Z","0.2.3":"2025-04-01T21:46:57.603Z","0.2.4":"2025-04-16T11:17:13.525Z","0.2.5":"2025-04-30T12:57:03.226Z","0.2.6":"2025-05-28T12:07:20.901Z","0.2.7":"2025-06-09T17:28:59.604Z","0.2.8":"2025-07-10T14:24:56.087Z","0.2.9":"2025-07-20T15:00:29.951Z","0.2.10":"2025-07-21T08:26:09.485Z","0.2.11":"2025-07-30T22:37:18.382Z","0.2.12":"2025-08-04T08:51:33.698Z","0.2.13":"2025-08-04T09:35:03.889Z","0.2.14":"2025-09-01T16:43:05.368Z","0.2.18":"2025-10-24T17:54:34.122Z","0.2.19":"2025-10-25T22:36:21.716Z","0.2.20":"2025-11-21T16:02:06.774Z","0.2.21":"2025-11-25T12:29:57.807Z","0.2.22":"2025-12-03T22:49:48.747Z","0.2.23":"2025-12-25T16:03:33.210Z","0.2.24":"2026-01-16T11:45:31.703Z","0.2.25":"2026-01-23T13:17:17.630Z","0.2.26":"2026-02-07T14:20:41.919Z","0.2.27":"2026-03-07T09:18:01.600Z","0.2.28":"2026-03-07T10:34:34.027Z","0.2.29":"2026-03-19T12:34:55.914Z","0.2.30":"2026-04-02T10:59:57.855Z","0.2.31":"2026-04-18T11:41:23.357Z","0.2.32":"2026-04-26T16:44:02.234Z","0.2.33":"2026-05-08T12:00:35.232Z","0.2.34":"2026-05-11T08:44:13.331Z","0.2.36":"2026-05-20T11:28:35.585Z","0.2.37":"2026-05-23T12:55:09.580Z","0.2.38":"2026-06-05T18:38:29.147Z","0.2.39":"2026-07-02T14:29:01.412Z","0.2.40":"2026-08-25T17:17:52.800Z"},"author":{"name":"Karsten Schmidt","url":"https://thi.ng"},"license":"Apache-2.0","homepage":"https://thi.ng/leaky-bucket","keywords":["associative","bucket","counter","datastructure","map","rate-limit","time","typescript"],"repository":{"type":"git","url":"git+https://codeberg.org/thi.ng/umbrella.git","directory":"packages/leaky-bucket"},"description":"Configurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes","maintainers":[{"name":"thi.ng","email":"k+npm@thi.ng"}],"readme":"<!-- This file is generated - DO NOT EDIT! -->\n<!-- Please see: https://codeberg.org/thi.ng/umbrella/src/branch/develop/CONTRIBUTING.md#changes-to-readme-files -->\n# ![@thi.ng/leaky-bucket](https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/banners/thing-leaky-bucket.svg?92dc6543)\n\n[![npm version](https://img.shields.io/npm/v/@thi.ng/leaky-bucket.svg)](https://www.npmjs.com/package/@thi.ng/leaky-bucket)\n![npm downloads](https://img.shields.io/npm/dm/@thi.ng/leaky-bucket.svg)\n[![Mastodon Follow](https://img.shields.io/mastodon/follow/109331703950160316?domain=https%3A%2F%2Fmastodon.thi.ng&style=social)](https://mastodon.thi.ng/@toxi)\n\n> [!NOTE]\n\n> This is one of 217 standalone projects. LLM-free, human-made and\n> cared for software, maintained as part of the\n> [@thi.ng/umbrella](https://codeberg.org/thi.ng/umbrella/) ecosystem and\n> anti-framework.\n>\n> 🚀 Please help me to work full-time on these projects by [sponsoring\n> me](https://codeberg.org/thi.ng/umbrella/src/branch/develop/CONTRIBUTING.md#donations).\n> Thank you! ❤️\n\n- [About](#about)\n- [Status](#status)\n- [Installation](#installation)\n- [Dependencies](#dependencies)\n- [API](#api)\n- [Authors](#authors)\n- [License](#license)\n\n## About\n\nConfigurable, counter-based Leaky Bucket abstractions for generalized rate-limiting purposes.\n\n[Leaky Buckets](https://en.wikipedia.org/wiki/Leaky_bucket) are commonly used in\ncommunication networks for rate limiting, traffic shaping and bandwidth control,\nbut are equally useful in other domains requiring similar constraints.\n\nA Leaky Bucket is a managed counter with an enforced maximum value (i.e. bucket\ncapacity). The counter is incremented for each a new event to check if it\ncan/should be processed. If the bucket capacity has already been reached, the\nbucket will report an overflow, which we can then handle accordingly (e.g. by\ndropping or queuing events). The bucket also has a configurable time interval at\nwhich the counter is decreasing (aka the \"leaking\" behavior) until it reaches\nzero again (i.e. until the bucket is empty). Altogether, this setup can be\nutilized to ensure both an average rate, whilst also supporting temporary\nbursting in a controlled fashion.\n\n```ts tangle:export/readme-1.ts\nimport { LeakyBucket } from \"@thi.ng/leaky-bucket\";\n\n// create bucket w/ 1Hz mean target rate, burstable to 3Hz\nconst bucket = new LeakyBucket({ capacity: 3, leakInterval: 1000 });\n\nlet event = 0;\nlet t0 = Date.now();\n\n// trigger events at 5Hz\nsetInterval(() => {\n    event++;\n    // update bucket and only log successful events (discard the rest)\n    if (bucket.update()) {\n        console.log(\"time\", Date.now() - t0, \"/ event\", event);\n    }\n}, 200);\n\n// time 200 / event 1   <-- initial burst\n// time 401 / event 2   <-- initial burst\n// time 601 / event 3   <-- initial burst\n// time 1003 / event 5  <-- average rate enforced\n// time 2007 / event 10\n// time 3012 / event 15\n// time 4017 / event 20\n// ...\n```\n\nIn addition to individual `LeakyBucket`s, this package also provides a\n`LeakyBucketMap` for managing multiple buckets in a key-value store, with shared\nconfiguration and more efficient updates (only using a single timer). Other\nfeatures include:\n\n- enforces max number of active (non-empty) buckets\n- auto-pruning of empty buckets\n- auto-creation of new buckets\n- per-bucket capacity overrides\n\n## Status\n\n**ALPHA** - bleeding edge / work-in-progress\n\n[Search or submit any issues for this package](https://codeberg.org/thi.ng/umbrella/issues?q=%5Bleaky-bucket%5D)\n\n## Installation\n\n```bash\nyarn add @thi.ng/leaky-bucket\n```\n\nESM import:\n\n```ts\nimport * as lb from \"@thi.ng/leaky-bucket\";\n```\n\nBrowser ESM import:\n\n```html\n<script type=\"module\" src=\"https://esm.run/@thi.ng/leaky-bucket\"></script>\n```\n\n[JSDelivr documentation](https://www.jsdelivr.com/)\n\nFor Node.js REPL:\n\n```js\nconst lb = await import(\"@thi.ng/leaky-bucket\");\n```\n\nPackage sizes (brotli'd, pre-treeshake): ESM: 626 bytes\n\n## Dependencies\n\n- [@thi.ng/api](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/api)\n\nNote: @thi.ng/api is in _most_ cases a type-only import (not used at runtime)\n\n## API\n\n[Generated API docs](https://docs.thi.ng/umbrella/leaky-bucket/)\n\n```ts tangle:export/readme-2.ts\nimport { LeakyBucketMap } from \"@thi.ng/leaky-bucket\";\n\nconst buckets = new LeakyBucketMap({\n    maxBuckets: 2,\n    capacity: 3,\n    leakInterval: 1000,\n});\n\nbuckets.update(\"a\") // true\nbuckets.update(\"a\") // true\nbuckets.update(\"a\") // true\n\n// max capacity=3 reached\nbuckets.update(\"a\"); // false\n\n// another bucket\nbuckets.update(\"b\"); // true\n\n// max buckets=2 reached\nbuckets.update(\"c\"); // false\n\n// wait > 1000ms, buckets have leaked...\n\n// bucket A has capacity again\nbuckets.update(\"a\"); // true\n\n// bucket B has been removed (since emtpy)\nbuckets.has(\"b\"); // false\n```\n\n## Authors\n\n- [Karsten Schmidt](https://thi.ng)\n\nIf this project contributes to an academic publication, please cite it as:\n\n```bibtex\n@misc{thing-leaky-bucket,\n  title = \"@thi.ng/leaky-bucket\",\n  author = \"Karsten Schmidt\",\n  note = \"https://thi.ng/leaky-bucket\",\n  year = 2025\n}\n```\n\n## License\n\n&copy; 2025 - 2026 Karsten Schmidt // Apache License 2.0\n","readmeFilename":"README.md"}