{"_id":"keyv-cache-proxy","_rev":"12-ab7288f1687ea2bcd8d28ba1372a7410","name":"keyv-cache-proxy","dist-tags":{"latest":"0.2.3"},"versions":{"0.0.6":{"name":"keyv-cache-proxy","version":"0.0.6","keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"author":{"name":"snomiao"},"license":"MIT","_id":"keyv-cache-proxy@0.0.6","maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"dist":{"shasum":"8f814eef07e7ec8abc4ea0ca9019488bee708f46","tarball":"https://registry.npmjs.org/keyv-cache-proxy/-/keyv-cache-proxy-0.0.6.tgz","fileCount":11,"integrity":"sha512-TGX3g907dlfvrFPp7rZ4NqjAjWXcVzzHqvP4bsbg4jZ5E91kO4trNWgmXiS9Xb5G16Z5Kscd/fyzC6xpOGBxDA==","signatures":[{"sig":"MEYCIQDFwprrAOqFRGKk/zgRM2gSa6unWCGmzEq/K1XgwaAfTgIhAMkzAUhaarob1FCq7XByr2GR2IGYlHR+dLDexio4r8Vk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14422},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"fc3efc2343b549d667470b6b18cc0365ea74af66","scripts":{"fmt":"biome check --unsafe --write","build":"tsc","prepack":"bun fmt && bun run build","release":"standard-version && git push --follow-tags && npm publish"},"_npmUser":{"name":"snomiao","email":"snomiao@gmail.com"},"repository":{"url":"git+https://github.com/snomiao/keyv-cache-proxy.git","type":"git"},"_npmVersion":"11.5.2","description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","directories":{},"_nodeVersion":"24.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@biomejs/biome":"^2.3.8","standard-version":"^9.5.0"},"peerDependencies":{"keyv":"^5.0.0","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/keyv-cache-proxy_0.0.6_1764982565983_0.9975854757004929","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"keyv-cache-proxy","version":"0.0.7","keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"author":{"name":"snomiao"},"license":"MIT","_id":"keyv-cache-proxy@0.0.7","maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"dist":{"shasum":"722c0b1db9942808202010a4299028f38e1451d2","tarball":"https://registry.npmjs.org/keyv-cache-proxy/-/keyv-cache-proxy-0.0.7.tgz","fileCount":11,"integrity":"sha512-Jd/uukUFFiXjRgxnVEgPvRTRbeUj+SRRR1Zv8G5pUkMsqSOIbVTrPfTZoGiuZKySRIkOMOyqD13R8Jo5hB2LgA==","signatures":[{"sig":"MEUCIQDi+OfLE5VNW4w/3iuLRktnGzD5siKG9qIk5ScXVlQ/XAIgDoZZaCVmWz4Pp/XBe5i+OLfAmbljys2wksCvFlXotec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18895},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"7cf7fb6e7b16b2568ef7cb0d166ff6186d788baf","scripts":{"fmt":"biome check --unsafe --write","build":"tsc","prepack":"bun fmt && bun run build","release":"standard-version && git push --follow-tags && npm publish"},"_npmUser":{"name":"snomiao","email":"snomiao@gmail.com"},"repository":{"url":"git+https://github.com/snomiao/keyv-cache-proxy.git","type":"git"},"_npmVersion":"11.5.2","description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","directories":{},"_nodeVersion":"24.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@biomejs/biome":"^2.3.8","standard-version":"^9.5.0"},"peerDependencies":{"keyv":"^5.0.0","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/keyv-cache-proxy_0.0.7_1764983083686_0.23646872448864698","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"keyv-cache-proxy","version":"0.0.9","keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"author":{"name":"snomiao"},"license":"MIT","_id":"keyv-cache-proxy@0.0.9","maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"dist":{"shasum":"6d5e8955064b875eb9a3e66c62804f57e0238a73","tarball":"https://registry.npmjs.org/keyv-cache-proxy/-/keyv-cache-proxy-0.0.9.tgz","fileCount":11,"integrity":"sha512-j+JPGO1uTy5DQVy3bfzXa4kMBt/ELKHbyd9AyknpD2d4ODFaerYJg+VCpFw64Ttkwazss+ZgvNOEfIaIUm+j7Q==","signatures":[{"sig":"MEUCICVfwMNKRzNEQ6/1BUF1d3vXKswGCXyjzX6uGBI9aatnAiEA8r6cjF/5bgQmYPd9ZJR3lBrbdrIXuPLiyh8uBXAxpVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18799},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"1901376ca7bbf12cbfa3f472af9e718e299def5e","scripts":{"fmt":"biome check --unsafe --write","build":"tsc","prepack":"bun fmt && bun run build","release":"standard-version && git push --follow-tags && npm publish"},"_npmUser":{"name":"snomiao","email":"snomiao@gmail.com"},"repository":{"url":"git+https://github.com/snomiao/keyv-cache-proxy.git","type":"git"},"_npmVersion":"11.5.2","description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","directories":{},"_nodeVersion":"24.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@biomejs/biome":"^2.3.8","standard-version":"^9.5.0"},"peerDependencies":{"keyv":"^5.0.0","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/keyv-cache-proxy_0.0.9_1764983118106_0.9387962060745403","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"keyv-cache-proxy","version":"0.0.10","keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"author":{"name":"snomiao"},"license":"MIT","_id":"keyv-cache-proxy@0.0.10","maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"dist":{"shasum":"1727fc4805f8d327af40b5b6327325036567a09d","tarball":"https://registry.npmjs.org/keyv-cache-proxy/-/keyv-cache-proxy-0.0.10.tgz","fileCount":11,"integrity":"sha512-yWWrlaoUut5MHJhePcmayza44/qhwfZO3VXa1bEzvg0xZTvwK7sFWeGqVjCu9YHddAgWCuM/1QOAzrA2JMzziA==","signatures":[{"sig":"MEUCIQC3NkhIw7dVFe7gkgNgxb2BP/wuarF9l1ljzWafCKPutgIgXX1KALcb1HlrUTlN0McVNQX9ZJdBNGa/Ugr5g3N4i3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18977},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"d227161544964f3068ebd59148fa636df1367d7c","scripts":{"fmt":"biome check --unsafe --write","build":"tsc","prepack":"bun fmt && bun run build","release":"standard-version && git push --follow-tags && npm publish"},"_npmUser":{"name":"snomiao","email":"snomiao@gmail.com"},"repository":{"url":"git+https://github.com/snomiao/keyv-cache-proxy.git","type":"git"},"_npmVersion":"11.5.2","description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","directories":{},"_nodeVersion":"24.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@biomejs/biome":"^2.3.8","standard-version":"^9.5.0"},"peerDependencies":{"keyv":"^5.0.0","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/keyv-cache-proxy_0.0.10_1764983253687_0.45213280005811707","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"keyv-cache-proxy","version":"0.0.11","keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"author":{"name":"snomiao"},"license":"MIT","_id":"keyv-cache-proxy@0.0.11","maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"dist":{"shasum":"09c807a0a617897baadd37f595001642427c9fe2","tarball":"https://registry.npmjs.org/keyv-cache-proxy/-/keyv-cache-proxy-0.0.11.tgz","fileCount":11,"integrity":"sha512-0geFhJpOvFoLuYARrhTRDbMf3XbvT9o1d9rJMAf4hrTN3uDlhtBtYyT43MSWiDPCykpIvEfGUZpqVGjKkrhPCQ==","signatures":[{"sig":"MEUCICiLwz8BypczYAq1O93O21B1IQ0mJ6JHAgiwF1SFh8gnAiEA1ZxdnEAV3n5TiGwNwdurzKRkqXZTAsNMIqDj1sjzWAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21329},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"84670784f2804df74554e55b21752db418f1ef82","scripts":{"fmt":"biome check --unsafe --write","build":"tsc","prepack":"bun fmt && bun run build","release":"standard-version && git push --follow-tags && npm publish"},"_npmUser":{"name":"snomiao","email":"snomiao@gmail.com"},"repository":{"url":"git+https://github.com/snomiao/keyv-cache-proxy.git","type":"git"},"_npmVersion":"11.5.2","description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","directories":{},"_nodeVersion":"24.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@biomejs/biome":"^2.3.8","standard-version":"^9.5.0"},"peerDependencies":{"keyv":"^5.0.0","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/keyv-cache-proxy_0.0.11_1764984136692_0.7187977484337456","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"keyv-cache-proxy","version":"0.0.12","keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"author":{"name":"snomiao"},"license":"MIT","_id":"keyv-cache-proxy@0.0.12","maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"dist":{"shasum":"d355e2f8e5082cb260a6681f33ec40581a666775","tarball":"https://registry.npmjs.org/keyv-cache-proxy/-/keyv-cache-proxy-0.0.12.tgz","fileCount":11,"integrity":"sha512-5fXfyXsipLddN2jmAyF6xyzciFe2cT5ilpZTqDhH2A+pObM4n/CGSSAhXaor1MVju851konmh8YkRtQ3fTUDzQ==","signatures":[{"sig":"MEYCIQDb5pNZMUe93wykvQUOmw3FRnbFJJIEquHXWntCmdSGVQIhAIphu7C8CDKXeAcOhESj4KN4KBIx3EAzMWHryHFlZipH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21223},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"a9481e7cf5e427c89a0c44fc0dc0deb57fde0432","scripts":{"fmt":"biome check --unsafe --write","build":"tsc","prepack":"bun fmt && bun run build","release":"standard-version && git push --follow-tags && npm publish"},"_npmUser":{"name":"snomiao","email":"snomiao@gmail.com"},"repository":{"url":"git+https://github.com/snomiao/keyv-cache-proxy.git","type":"git"},"_npmVersion":"11.5.2","description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","directories":{},"_nodeVersion":"24.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@biomejs/biome":"^2.3.8","standard-version":"^9.5.0"},"peerDependencies":{"keyv":"^5.0.0","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/keyv-cache-proxy_0.0.12_1764984754018_0.9238372688925631","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"keyv-cache-proxy","version":"0.1.0","keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"author":{"name":"snomiao"},"license":"MIT","_id":"keyv-cache-proxy@0.1.0","maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"dist":{"shasum":"41546392701f65b1cfa413b8683b06c319b4848b","tarball":"https://registry.npmjs.org/keyv-cache-proxy/-/keyv-cache-proxy-0.1.0.tgz","fileCount":15,"integrity":"sha512-uzctnZidUhic0ejdWzibC/NDp8cqqsjxTUu4SpzLPXp1f0EqS9bUEYX2BfOPVGWx4CZaI1GUzkYa4lDxyFJ1NQ==","signatures":[{"sig":"MEQCIE6/UDgM72JgSwk7d67CyKfkHs/rbQBGeSmzDVdM36yfAiBsoAvUCsds+YXEp2Lo1Qb4SGboj92YUEQU3cHjOX5jNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68310},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"a8ffa89029ab536bd88686f63ea08184c93b7690","scripts":{"fmt":"biome check --unsafe --write","build":"tsc","prepack":"bun fmt && bun run build","release":"standard-version && git push --follow-tags && npm publish"},"_npmUser":{"name":"snomiao","email":"snomiao@gmail.com"},"repository":{"url":"git+https://github.com/snomiao/keyv-cache-proxy.git","type":"git"},"_npmVersion":"11.5.2","description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","directories":{},"_nodeVersion":"24.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@biomejs/biome":"^2.3.8","standard-version":"^9.5.0"},"peerDependencies":{"keyv":"^5.0.0","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/keyv-cache-proxy_0.1.0_1764992805705_0.09006371001779834","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"keyv-cache-proxy","version":"0.1.1","keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"author":{"name":"snomiao"},"license":"MIT","_id":"keyv-cache-proxy@0.1.1","maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"dist":{"shasum":"62a0b74b2add9d021be7060171c575dcc74c1d58","tarball":"https://registry.npmjs.org/keyv-cache-proxy/-/keyv-cache-proxy-0.1.1.tgz","fileCount":15,"integrity":"sha512-mi+fzxRVNrlV4j7S5ExKK84lTciTnX2NoO9iCHO/mWu4ncEh6fWio1RS+Tq+F/ytA8cuibZhjK7B5mFG+PgYYw==","signatures":[{"sig":"MEUCICrgv9dSiujjEKK9IookAulb0rk1gqfCUSkAcPgjvqF2AiEA9dpNI+X1hFJL5vR/vag69TOZOypE0L1yAbsQvV5ASV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68259},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"cb20e98e4c5d816b5e7b86404b122e10a17b6e52","scripts":{"fmt":"biome check --unsafe --write","build":"tsc","prepack":"bun fmt && bun run build","release":"standard-version && git push --follow-tags && npm publish"},"_npmUser":{"name":"snomiao","email":"snomiao@gmail.com"},"repository":{"url":"git+https://github.com/snomiao/keyv-cache-proxy.git","type":"git"},"_npmVersion":"11.5.2","description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","directories":{},"_nodeVersion":"24.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@biomejs/biome":"^2.3.8","standard-version":"^9.5.0"},"peerDependencies":{"keyv":"^5.0.0","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/keyv-cache-proxy_0.1.1_1764992856329_0.8411268522414681","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"keyv-cache-proxy","version":"0.1.2","keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"author":{"name":"snomiao"},"license":"MIT","_id":"keyv-cache-proxy@0.1.2","maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"dist":{"shasum":"807873a20a4908f44b0ca6ae2cbd1623eb64b27b","tarball":"https://registry.npmjs.org/keyv-cache-proxy/-/keyv-cache-proxy-0.1.2.tgz","fileCount":15,"integrity":"sha512-6VaaiJhUH1xvKVL1E8KiLsq/yuw/eh29tlIHwo3I46ZwCcvZhOzreMoW3kcwAwJA8Sgbt7B2D4IWoRF6L40o5Q==","signatures":[{"sig":"MEYCIQD/XpmgbhEtcKPqlMr5HjzYvFVo1dPQHa4KYES1jp1BZwIhAMpVnF1nGXs8f5sbqLslzWS5eqT4KGaAdU/50zQmTjUT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68973},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"3bb9842eb6b6ba7bf4bc5a1e7fb960736d962d37","scripts":{"fmt":"biome check --unsafe --write","build":"tsc","prepack":"bun fmt && bun run build","release":"standard-version && git push --follow-tags && npm publish"},"_npmUser":{"name":"snomiao","email":"snomiao@gmail.com"},"repository":{"url":"git+https://github.com/snomiao/keyv-cache-proxy.git","type":"git"},"_npmVersion":"11.5.2","description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","directories":{},"_nodeVersion":"24.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@biomejs/biome":"^2.3.8","standard-version":"^9.5.0"},"peerDependencies":{"keyv":"^5.0.0","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/keyv-cache-proxy_0.1.2_1764992993005_0.6500900307707984","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"keyv-cache-proxy","version":"0.1.3","keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"author":{"name":"snomiao"},"license":"MIT","_id":"keyv-cache-proxy@0.1.3","maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"dist":{"shasum":"935660aa6dbec35e4f1e14f687eda1ce8280c208","tarball":"https://registry.npmjs.org/keyv-cache-proxy/-/keyv-cache-proxy-0.1.3.tgz","fileCount":15,"integrity":"sha512-VznziXy++4xmRJJqdzczVZ1lUUEZvMx2t9mEUdU2clCZLHJy9zXE/yq9qEp3J13uY1qbHmKNMSoa13EdFL6JEg==","signatures":[{"sig":"MEUCIQDVNQO5wntrW712qvvjg7Bt5Yov2s+BglKqpFo8PNvoiQIgHKw2IExWE0johoSKJB7UZtLDm3gEcsBM2f+j92b9j6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69305},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"9f40188d6ea06569751d92705654fc11bb1d8ff0","scripts":{"fmt":"biome check --unsafe --write","build":"tsc","prepack":"bun fmt && bun run build","release":"standard-version && git push --follow-tags && npm publish"},"_npmUser":{"name":"snomiao","email":"snomiao@gmail.com"},"repository":{"url":"git+https://github.com/snomiao/keyv-cache-proxy.git","type":"git"},"_npmVersion":"11.5.2","description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","directories":{},"_nodeVersion":"24.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@biomejs/biome":"^2.3.8","standard-version":"^9.5.0"},"peerDependencies":{"keyv":"^5.0.0","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/keyv-cache-proxy_0.1.3_1764993502201_0.5379814259691624","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"keyv-cache-proxy","version":"0.2.0","keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"author":{"name":"snomiao"},"license":"MIT","_id":"keyv-cache-proxy@0.2.0","maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"dist":{"shasum":"a159b4ca51ed092f041a2b3328faa49eb24d02d9","tarball":"https://registry.npmjs.org/keyv-cache-proxy/-/keyv-cache-proxy-0.2.0.tgz","fileCount":15,"integrity":"sha512-VDJbqr3ZgJy8Np1/aVnpd4PRmS7CXvcTXWzMTY2DQBUCQQQMRkdgn1rEn2eC4ynlI0HC+7bPNGbWMSygR/BgpA==","signatures":[{"sig":"MEYCIQDtULM8n/eAA7xnGo5mNFtneZyXtBG+Xy3faGIoPioi4gIhAL7mlo2bYNTpDXRuK6R1kpLNmcgFLypoNLKN+MUUT9pm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78085},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"3c24194bbec91cac9516a4b2106d724a0add20c8","scripts":{"fmt":"biome check --unsafe --write","build":"tsc","prepack":"bun fmt && bun run build","release":"standard-version && git push --follow-tags && npm publish"},"_npmUser":{"name":"snomiao","email":"snomiao@gmail.com"},"repository":{"url":"git+https://github.com/snomiao/keyv-cache-proxy.git","type":"git"},"_npmVersion":"11.5.2","description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","directories":{},"_nodeVersion":"24.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@biomejs/biome":"^2.3.8","standard-version":"^9.5.0"},"peerDependencies":{"keyv":"^5.0.0","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/keyv-cache-proxy_0.2.0_1764995100450_0.4865379581112339","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"keyv-cache-proxy","version":"0.2.3","description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"author":{"name":"snomiao"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/snomiao/keyv-cache-proxy.git"},"bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","devDependencies":{"@types/bun":"latest","semantic-release":"^25.0.2","standard-version":"^9.5.0","oxlint":"latest"},"peerDependencies":{"typescript":"^5.9.3","keyv":"^5.0.0"},"dependencies":{},"scripts":{"build":"tsc","test":"bun test","prepack":"bun run build","release":"standard-version && git push --follow-tags && npm publish","fix":"oxlint --fix"},"engines":{"node":">=18.0.0"},"gitHead":"9bef25c7a21e2054604efc4d5f3ca96d0a7a1a79","_id":"keyv-cache-proxy@0.2.3","_nodeVersion":"25.7.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-yDETKImJn4g/vxhZStt62WVhPHuzNev3NZPVagX0tRiteoZ+wWlhQH56Z6JJa79tYVkbz1EKKm8lTfIVR8b2Xw==","shasum":"0d455dc426427bb88e1e68d9bb8f89312a859648","tarball":"https://registry.npmjs.org/keyv-cache-proxy/-/keyv-cache-proxy-0.2.3.tgz","fileCount":11,"unpackedSize":78347,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/keyv-cache-proxy@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC1VwRGqToRuqbV1H1mjgVngi4vDP/MyHeGCwle0WwPxgIhAJW/lKRDhq2fg6iDoeGd+ro8t7h24G7Cpd4lineonhNx"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f2658fcd-94d0-4a9b-a394-3ff9e8e2b9a7"}},"directories":{},"maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/keyv-cache-proxy_0.2.3_1772217146548_0.8348794877978449"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-06T00:56:05.982Z","modified":"2026-02-27T18:32:27.108Z","0.0.6":"2025-12-06T00:56:06.156Z","0.0.7":"2025-12-06T01:04:43.819Z","0.0.9":"2025-12-06T01:05:18.260Z","0.0.10":"2025-12-06T01:07:33.834Z","0.0.11":"2025-12-06T01:22:16.853Z","0.0.12":"2025-12-06T01:32:34.197Z","0.1.0":"2025-12-06T03:46:45.856Z","0.1.1":"2025-12-06T03:47:36.474Z","0.1.2":"2025-12-06T03:49:53.207Z","0.1.3":"2025-12-06T03:58:22.365Z","0.2.0":"2025-12-06T04:25:00.588Z","0.2.3":"2026-02-27T18:32:26.702Z"},"bugs":{"url":"https://github.com/snomiao/keyv-cache-proxy/issues"},"author":{"name":"snomiao"},"license":"MIT","homepage":"https://github.com/snomiao/keyv-cache-proxy#readme","keywords":["keyv","cache","proxy","caching","memoization","ttl","storage","key-value","method-cache","transparent-cache"],"repository":{"type":"git","url":"git+https://github.com/snomiao/keyv-cache-proxy.git"},"description":"A transparent caching proxy for any object using Keyv - automatically cache method calls with TTL support","maintainers":[{"name":"snomiao","email":"snomiao@gmail.com"}],"readme":"# keyv-cache-proxy\n\nA transparent caching proxy for any object using [Keyv](https://github.com/jaredwray/keyv) - automatically cache method calls with TTL support.\n\n## Features\n\n- 🚀 **Zero-config caching**: Wrap any object to automatically cache all method calls\n- ⏱️ **TTL support**: Set time-to-live for cached values\n- 🔑 **Flexible storage**: Use any Keyv-compatible storage adapter\n- 🎯 **Deep proxy**: Automatically handles nested objects\n- 📊 **Cache observability**: Optional hooks for monitoring and modifying cached/fetched data\n- 🔄 **Async-first**: Automatically converts all methods to async\n\n## Installation\n\n```bash\nbun add keyv-cache-proxy keyv\n```\n\nOr with npm/yarn/pnpm:\n\n```bash\nnpm install keyv-cache-proxy keyv\n```\n\n## Quick Start\n\n```typescript\nimport { KeyvCacheProxy } from 'keyv-cache-proxy';\nimport Keyv from 'keyv';\n\n// Create a Keyv instance with any storage backend\nconst store = new Keyv();\n\n// Wrap any object with caching\nconst cachedAPI = KeyvCacheProxy({\n  store,\n})(yourAPIClient);\n\n// All method calls are now automatically cached!\nconst result = await cachedAPI.fetchData('param1', 'param2');\n```\n\n## Usage Examples\n\n### Basic Usage\n\n```typescript\nimport { KeyvCacheProxy } from 'keyv-cache-proxy';\nimport Keyv from 'keyv';\n\nconst myObject = {\n  expensiveOperation(a: number, b: number) {\n    console.log('Computing...');\n    return a + b;\n  }\n};\n\nconst cached = KeyvCacheProxy({\n  store: new Keyv(),\n  ttl: 60000, // 1 minute\n})(myObject);\n\n// First call: executes the method\nawait cached.expensiveOperation(1, 2); // Logs: \"Computing...\"\n\n// Second call: returns cached result\nawait cached.expensiveOperation(1, 2); // No log, returns from cache\n```\n\n### With GitHub API (Octokit)\n\n```typescript\nimport { Octokit } from 'octokit';\nimport { KeyvCacheProxy } from 'keyv-cache-proxy';\nimport Keyv from 'keyv';\nimport KeyvNedbStore from 'keyv-nedb-store';\n\n// Use persistent storage\nconst kv = new Keyv(new KeyvNedbStore('.cache/github.yaml'));\n\nconst gh = KeyvCacheProxy({\n  store: kv,\n  ttl: 600000, // 10 minutes\n  prefix: 'github.',\n  onCached: (key, value) => console.log('Cache hit:', key),\n  onFetched: (key, value) => console.log('Fetched fresh:', key),\n})(new Octokit().rest);\n\n// API calls are now cached\nconst repo = await gh.repos.get({ owner: 'snomiao', repo: 'keyv-cache-proxy' });\n```\n\n### With Notion API\n\n```typescript\nimport { Client } from '@notionhq/client';\nimport { KeyvCacheProxy } from 'keyv-cache-proxy';\nimport Keyv from 'keyv';\n\nconst notion = new Client({ auth: process.env.NOTION_API_KEY });\n\n// Cache Notion API calls to reduce rate limiting\nconst cachedNotion = KeyvCacheProxy({\n  store: new Keyv(),\n  ttl: 300000, // 5 minutes\n  prefix: 'notion.',\n})(notion);\n\n// These calls will be cached\nconst database = await cachedNotion.databases.query({\n  database_id: 'your-database-id',\n});\n\nconst page = await cachedNotion.pages.retrieve({\n  page_id: 'your-page-id',\n});\n```\n\n### With Slack API\n\n```typescript\nimport { WebClient } from '@slack/web-api';\nimport { KeyvCacheProxy } from 'keyv-cache-proxy';\nimport Keyv from 'keyv';\n\nconst slack = new WebClient(process.env.SLACK_TOKEN);\n\n// Cache Slack API calls\nconst cachedSlack = KeyvCacheProxy({\n  store: new Keyv(),\n  ttl: 600000, // 10 minutes\n  prefix: 'slack.',\n})(slack);\n\n// Cached API calls\nconst channels = await cachedSlack.conversations.list();\nconst userInfo = await cachedSlack.users.info({ user: 'U123456' });\nconst messages = await cachedSlack.conversations.history({\n  channel: 'C123456',\n});\n```\n\n### With Custom Storage Backends\n\n```typescript\nimport { KeyvCacheProxy } from 'keyv-cache-proxy';\nimport Keyv from 'keyv';\nimport KeyvRedis from '@keyv/redis';\nimport KeyvMongo from '@keyv/mongo';\n\n// Redis\nconst redisCache = KeyvCacheProxy({\n  store: new Keyv(new KeyvRedis('redis://localhost:6379')),\n  ttl: 3600000,\n})(yourObject);\n\n// MongoDB\nconst mongoCache = KeyvCacheProxy({\n  store: new Keyv(new KeyvMongo('mongodb://localhost:27017')),\n  ttl: 3600000,\n})(yourObject);\n\n// SQLite (via keyv-sqlite)\nconst sqliteCache = KeyvCacheProxy({\n  store: new Keyv('sqlite://cache.db'),\n  ttl: 3600000,\n})(yourObject);\n```\n\n### Cache Observability & Data Modification\n\nTrack cache performance:\n\n```typescript\nlet hits = 0;\nlet fetches = 0;\n\nconst cached = KeyvCacheProxy({\n  store: new Keyv(),\n  ttl: 60000,\n  onCached: (key, value) => {\n    hits++;\n    console.log(`Cache hit for ${key}. Total hits: ${hits}`);\n  },\n  onFetched: (key, value) => {\n    fetches++;\n    console.log(`Fetched fresh for ${key}. Total fetches: ${fetches}`);\n  },\n})(myObject);\n```\n\nModify cached/fetched data:\n\n```typescript\nconst cached = KeyvCacheProxy({\n  store: new Keyv(),\n  ttl: 60000,\n  // Add metadata to cached data (called on every invocation)\n  onCached: (key, value) => {\n    if (value !== undefined) {\n      console.log('Returning cached data');\n      return { data: { ...value, fromCache: true, cachedAt: Date.now() } };\n    }\n  },\n  // Transform fetched data before caching\n  onFetched: (key, value) => {\n    console.log('Processing fresh data');\n    return { data: { ...value, fetchedAt: Date.now(), processed: true } };\n  },\n})(myObject);\n```\n\nForce cache refresh:\n\n```typescript\nconst cached = KeyvCacheProxy({\n  store: new Keyv(),\n  ttl: 60000,\n  onCached: (key, value) => {\n    // Return { skip: true } to force refetch even if cached\n    if (value && isStale(value)) {\n      return { skip: true }; // Forces cache miss and refetch\n    }\n    // Return undefined to use cached value\n  },\n})(myObject);\n```\n\nCustom TTL per request:\n\n```typescript\nconst cached = KeyvCacheProxy({\n  store: new Keyv(),\n  ttl: 60000, // Default 1 minute\n  onFetched: (key, value) => {\n    // Cache user data longer than other data\n    if (key.includes('user')) {\n      return { data: value, ttl: 3600000 }; // 1 hour\n    }\n    return { data: value }; // Use default TTL\n  },\n})(myObject);\n```\n\n## API\n\n### `KeyvCacheProxy(options)`\n\nCreates a cache proxy factory function.\n\n#### Options\n\n- **`store`** (required): A Keyv instance for cache storage\n- **`ttl`** (optional): Time-to-live for cached entries in milliseconds (can be overridden per request via `onFetched`)\n- **`prefix`** (optional): Prefix for cache keys (default: `\"\"`)\n- **`onCached`** (optional): Hook called on **every invocation**. Receives key and cached value (or `undefined` on cache miss).\n  - Return `undefined` → Use original cached value\n  - Return `{ skip: true }` → Treat as cache miss and refetch\n  - Return `{ data: <value> }` → Return modified cached value\n  - Signature: `(key: string, value: any) => { data?: any } | { skip: true } | undefined | Promise<...>`\n- **`onFetched`** (optional): Hook called when data is freshly fetched (cache miss). Receives key and fetched value.\n  - Return `undefined` → Cache original fetched value with default TTL\n  - Return `{}` → Cache original fetched value with default TTL (same as undefined)\n  - Return `{ data: <value> }` → Cache modified value\n  - Return `{ data: <value>, ttl: <ms> }` → Cache modified value with custom TTL\n  - Return `{ skip: true }` → Skip caching but still return the fetched value\n  - Signature: `(key: string, value: any) => { data?: any, ttl?: number } | { skip: true } | undefined | Promise<...>`\n\n#### Returns\n\nA function that takes an object and returns a proxied version with automatic caching.\n\n### Cache Key Generation\n\nCache keys are generated based on:\n- Method name\n- Arguments (JSON stringified)\n- Prefix (if provided)\n\nFormat: `${prefix}${methodName}:${JSON.stringify(args)}`\n\n### Type Safety\n\nThe proxy preserves TypeScript types and automatically converts all methods to async:\n\n```typescript\ntype DeepAsyncMethod<T> = {\n  [K in keyof T]: T[K] extends (...args: infer A) => infer R\n    ? (...args: A) => Promise<Awaited<R>>\n    : T[K] extends object\n    ? DeepAsyncMethod<T[K]>\n    : T[K];\n};\n```\n\n## How It Works\n\nThe `KeyvCacheProxy` uses JavaScript Proxy to intercept method calls:\n\n1. When a method is called, it generates a cache key from the method name and arguments\n2. Checks the Keyv store for an existing cached result\n3. If found (cache hit), returns the cached value\n4. If not found (cache miss), executes the original method\n5. Stores the result in the cache with the specified TTL\n6. Returns the result\n\nNested objects are automatically wrapped with the same caching behavior.\n\n## Storage Backends\n\nYou can use any Keyv-compatible storage adapter:\n\n- **In-memory** (default): `new Keyv()`\n- **Redis**: [@keyv/redis](https://github.com/jaredwray/keyv/tree/main/packages/redis)\n- **MongoDB**: [@keyv/mongo](https://github.com/jaredwray/keyv/tree/main/packages/mongo)\n- **SQLite**: [@keyv/sqlite](https://github.com/jaredwray/keyv/tree/main/packages/sqlite)\n- **PostgreSQL**: [@keyv/postgres](https://github.com/jaredwray/keyv/tree/main/packages/postgres)\n- **MySQL**: [@keyv/mysql](https://github.com/jaredwray/keyv/tree/main/packages/mysql)\n- **NeDB**: [keyv-nedb-store](https://github.com/snomiao/keyv-nedb-store)\n\n## See Also\n\nOther Keyv storage adapters by the same author:\n\n- [keyv-github](https://github.com/snomiao/keyv-github) — GitHub repository adapter; each key is a file, commits are writes\n- [keyv-sqlite](https://github.com/snomiao/keyv-sqlite) — SQLite storage adapter\n- [keyv-mongodb-store](https://github.com/snomiao/keyv-mongodb-store) — MongoDB storage adapter\n- [keyv-nedb-store](https://github.com/snomiao/keyv-nedb-store) — NeDB embedded file-based adapter\n- [keyv-dir-store](https://github.com/snomiao/keyv-dir-store) — file-per-key directory adapter with TTL via mtime\n- [keyv-nest](https://github.com/snomiao/keyv-nest) — hierarchical multi-layer caching adapter\n\n## License\n\nMIT © [snomiao](https://github.com/snomiao)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Related Projects\n\n- [keyv](https://github.com/jaredwray/keyv) - Simple key-value storage with support for multiple backends\n- [keyv-nedb-store](https://github.com/snomiao/keyv-nedb-store) - NeDB storage adapter for Keyv\n","readmeFilename":"README.md"}