{"_id":"cachalot","_rev":"29-b879a81f50b9c2e11a2ad3667963110d","name":"cachalot","description":"Cache manager for nodejs with support different cache strategies","dist-tags":{"latest":"3.3.1"},"versions":{"0.0.0":{"name":"cachalot","version":"0.0.0","description":"Cache store for a lot types of storage","main":"index.js","scripts":{"test":"mocha ./test"},"repository":{"type":"git","url":"https://github.com/gobwas/cachalot.js.git"},"keywords":["cache","store","node","browser","rotating"],"author":{"name":"Sergey Kamardin"},"license":"MIT","bugs":{"url":"https://github.com/gobwas/cachalot.js/issues"},"homepage":"https://github.com/gobwas/cachalot.js","gitHead":"00342ac236d2a059e47b7ac89835c6ebe8de1025","_id":"cachalot@0.0.0","_shasum":"44a80ea401142ad834bef66f25de912efde8b6aa","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"gobwas","email":"gobwas@gmail.com"},"maintainers":[{"name":"gobwas","email":"gobwas@gmail.com"}],"dist":{"shasum":"44a80ea401142ad834bef66f25de912efde8b6aa","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-0.0.0.tgz","integrity":"sha512-Q0bA6kkhQIYQO9s1bYGbseC25XnBKDTVEyNm/gMkkAWuPy0Q1us/geABobznpAnYh2ftLMN3RwDsk4vmmJsIsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCHzBz/U8MKjCeK7LqM2lbNJv3cyFT1AKJbjTmdcevnJoCIHUhgBk7Y7N9gKRqVr1n1/PpDcbFbgqOFjE1DCLfQ7pC"}]},"directories":{}},"1.0.0":{"name":"cachalot","version":"1.0.0","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","url":"ssh://git@stash.tcsbank.ru:7999/pfa/libs-server-cache-manager.git"},"scripts":{"clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --ignoreCompilerErrors --mode file --hideGenerator --includes docs/assets","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test:unit":"jest --forceExit --coverage --verbose --detectOpenHandles --passWithNoTests","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build"},"dependencies":{"lodash":"^4.17.11"},"devDependencies":{"@types/ioredis":"^4.0.9","@types/jest":"^23","@types/lodash":"^4.14.120","@types/node":"^8","ioredis":"^4.6.3","jest":"^24.3.1","ts-jest":"^23","tslint":"^5.13.1","typedoc":"^0.14.2","typescript":"^3.3.3","tslint-config-unional":"^0.10.0"},"gitHead":"2d39aebf246a9c41943ebd7e461c59e7ae8c5042","_id":"cachalot@1.0.0","_nodeVersion":"8.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-tqv6YEwi5WAUcJFOSgVlIZcuuDDbyozL+NmVYeuZbGsKjV3fasB3+BUytIhyVTVZL8QSPAZMJWrELvmoT+9W+g==","shasum":"a4ea19fd2400cbc417d592a4c8602b56d14e8fa6","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.0.0.tgz","fileCount":86,"unpackedSize":99093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcjinVCRA9TVsSAnZWagAAsqIP/jGhucxwrxoo46r1DlTV\nbw/Hmy0dtPwx+IDiSCH2cTLNGKX9wDGmkoEzQtdNaqsp12B5ToEkA+ljU4x6\nFn7+v69cvii+uiASIpK1OlVYZID0IVtGNcgeCE6Y+zyEYHZQFnTO8u1lVamL\nANk7skxBymbe45fft5LAD4d8tCURc/frsxphnDmbVqAwXtOlnaI9I7YYb4ze\nYEwONmw/NsFYmJsobe4JGKwxJqR7GMNpPyZzpS4ZWbT908g6VPcPQm4SW17f\nvCFvhCSXLcR3f67shxmyA9VUoaA5ArBIJvhyN0GyZCD89GlndWqk7xOcZfP0\n5e6XMoEXnSAf/t6E8kjfFOpiaTnsf7A+nXcxEl73YCTGbjBsYWTcvyhVDmkq\n5PonkR52C+FWnHpMms+DJFQwjkX1FLJMHsBE6Qg3Je0JRbfWtq/0QtLHcJmz\nw1jql7g92XFOJtIkTC6lWG7s7z2b4EaTUlmQzubtjzYmbKvTcMq0n/LZJ4iF\nlbAk3O2+ENAJn5VC7dfjRieIC4Xth/IEoUCFagArIoEgpnHhVgqXrK2LTM5l\nfT4ugRe3R5KYBYa4HBa50PbAxh2Ys0Th0qKi5sc7bLt514iXHiTS2gG87F00\nnlGMiLdQcY+6xhN0YdNUGcUzf+amBI/ZKK270nRiOhUsJIxqXjwzE8VVzUI0\nYeuv\r\n=bz+B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICXBVRsCPSNuCqtpxxazhrvAO1VBfEwnrQsqvlZtNij4AiADi53AljHUiGPE5y5B5sKPqbhVUfM8KmVx75PDmNtynA=="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"},{"email":"gobwas@gmail.com","name":"gobwas"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.0.0_1552820692574_0.20626286597318444"},"_hasShrinkwrap":false},"1.0.1":{"name":"cachalot","version":"1.0.1","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --ignoreCompilerErrors --mode file --hideGenerator --includes docs/assets","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test:unit":"jest --forceExit --coverage --verbose --detectOpenHandles --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build"},"dependencies":{"lodash":"^4.17.11"},"devDependencies":{"@types/ioredis":"^4.0.9","@types/jest":"^23","@types/lodash":"^4.14.120","@types/node":"^8","coveralls":"^3.0.3","ioredis":"^4.6.3","jest":"^24.3.1","ts-jest":"^23","tslint":"^5.13.1","tslint-config-unional":"^0.10.0","typedoc":"^0.14.2","typescript":"^3.3.3"},"gitHead":"e990f7fe8f7d35602ef78d347090da54bc076805","_id":"cachalot@1.0.1","_nodeVersion":"8.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-dACKkQFz+aKKQnmoNjKbpcPf1SKsb8xlRMvnvUJGGBGQp84s7FT+ef7O19j+hZ49JXwzlEpAB5B8REXI03pqrQ==","shasum":"3854350349d255230a7083d7beefb4c0e2ffa7c2","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.0.1.tgz","fileCount":88,"unpackedSize":110638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcj1dRCRA9TVsSAnZWagAAl40P/jTFPgbyTMLSzHTraeWG\nlWQVPVASLZs2iILw5FnPcATzN6Q4Up7yKmevSjTieMaRWivU3EVt7UuaqEBj\nqzel/663Z95H1nzu0f9qK+OT5msnKevMWPFm/HqlLLy3bfamsE8JCewsHa0S\nF6w5OcRN0oQa4c02as6o2661gTRX4HzbmYjOpjVoWMsqSM1eO+V49yC/vcBk\nLExlbw/RnOstfUEsceRNh9Nhg5n8Ojb/OupRiJ2Sha2Ete8W2GV8ZDEaKuNL\ntN5wFPJJBNfZAAg4xBqRH+QHQqGhLJNvoF7xDe5v5OIxu3kJGmmSRPOAbpBP\naortSFv0vUs/JzVktu62nulmcQpJMvbti1t+UjM9+vAvI+/pLHDvT7OIU1t8\nbKWGLdXONQTzbl6x3Jv9C1TL+21OZxDG5JM6zB+/0RNQykVAglET8pb+WYVM\ncsaJNm9W0e5OsEswZZo7jnI8k9ih4RW4xLjDIkIr2llgKRLZGB/7zJWbANGH\n5uOipjcbB2M3rW8mtkLwNvG/3jgAtmnw2xPYEaGIfdqqUviyaq4YKPFz8wgc\ndW+hAzD8zThWCHwsa1nrY48FP6KJJm5FamJsOing5liVBeU25JNoQPQrrCFK\npMImoQztxsp1RS5FfUm+Oif+LusynicCt/OZYA9Ezzwd1R2AMuSJ6fHhWRaX\nLsvD\r\n=yVpD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCwEleV9CN3dhHykOjA0tKrC0G1vUoRqZa69XAiR6iwgIgDxzwOUM4xBqwoVXCFRzCR4UQKDKDxVOVsbtgHIDkKF8="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.0.1_1552897872527_0.8521943894128059"},"_hasShrinkwrap":false},"1.1.0":{"name":"cachalot","version":"1.1.0","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --ignoreCompilerErrors --mode file --hideGenerator --includes docs/assets","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test:unit":"jest --forceExit --coverage --verbose --detectOpenHandles --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build"},"dependencies":{"lodash":"^4.17.11"},"devDependencies":{"@types/ioredis":"^4.0.10","@types/jest":"^24.0.13","@types/lodash":"^4.14.132","@types/node":"^8","coveralls":"^3.0.3","ioredis":"^4.9.5","jest":"^24.8.0","ts-jest":"^24.0.2","tslint":"^5.16.0","tslint-config-unional":"^0.10.0","typedoc":"^0.14.2","typescript":"^3.4.5"},"gitHead":"0a6ad612cc04eb6d19892142ffa049794a74e53f","_id":"cachalot@1.1.0","_nodeVersion":"8.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-iDGCl785WbqaFRlvTB5JFtTtSvAiamPhSLgkfbcGH/bijKngZr62L9qtpJnE4reGz6dLNm3wu0gRWtduchQM2A==","shasum":"efd9fda40af9df607846e050c090d5dbd4e2f9c0","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.1.0.tgz","fileCount":88,"unpackedSize":111803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7TpWCRA9TVsSAnZWagAAnhIP/2QQQf9TUTtRl3Au1SnJ\nVcCBjvBwM+0dJtK+A//vVFSOls5uPSNcA+1zl7wgP96uEMh9oRwBGjXsNmtd\nUZb/K/sn4etqA4GGQcf6Oz3SI3CNhWb9UI8x8ar+f2fUwq5q1WyIVhgJl49R\n/hPlqxUfVDcjKvEPbDkGkhkCKYiowyyeMvF6WbuMNIUeL7Zc5Sc4WlxmUQxw\nInWBKeyhvTQn/BOsYelxBenrR/ss+i47LBFvv8CoyYxr/nVv8ZCcU24UmOos\nLAcPtxdXYNrOKvMQT/N2BArx7u4D/ZWBkg7YVkfgU7ZPzto8fdGcH0puwpxj\nLDn6HhB+EA5wjiKKzdZpWRcBub20Ki5KVKmeZmW+pWsIYO4RGEMVoBXfEyRE\ndLzqrShgZ8Jj3XGwP8YAy3reK7jGdaUf7zeXAgpTxQhi5JuJLy391g5YQmHy\n7mj+42brPKvxEalFhnfnmkoURm8mu0XE8oB+oi8KlQ6WvR1CziDl/tgSX5Fy\ngu7fo1dPAtAhC7B1QDQqF+MKLPgjwE5NGRvMGheEytS/f2wd6kMV3bWC/u3v\n5kmeLMKlVm9pwkQ7CKnDE1F6KNi7/y4FiJeuTOOiLdHB49XlMp2khbNJ4TGA\naRi32GwNdxAqdzsw4DNGHCWI8p0NyBrtoo3J8gDny2KcjBXVrDghTiihdSPM\noirr\r\n=hxrQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQCTIOzw44O5lk8Dj28cG5+TbOcvthlNaozG3Exps3qBCwIfR7CFDECFpUBxLhjmEZ0rDchBI7xgxrUdpbvJuGu4og=="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.1.0_1559050837860_0.08812034450801254"},"_hasShrinkwrap":false},"1.1.1":{"name":"cachalot","version":"1.1.1","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --ignoreCompilerErrors --mode file --hideGenerator --includes docs/assets","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test:unit":"jest --forceExit --coverage --verbose --detectOpenHandles --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build"},"dependencies":{"lodash":"^4.17.11"},"devDependencies":{"@types/ioredis":"^4.0.12","@types/jest":"^24.0.15","@types/lodash":"^4.14.135","@types/node":"^8","coveralls":"^3.0.4","ioredis":"^4.11.1","jest":"^24.8.0","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-unional":"^0.10.0","typedoc":"^0.14.2","typescript":"^3.5.2"},"gitHead":"987c732ec75f39e10609d6185964f344606d38d8","_id":"cachalot@1.1.1","_nodeVersion":"8.15.0","_npmVersion":"6.10.0","dist":{"integrity":"sha512-/glJDmSVqV4XLKbsTzTndcbmAQYFBSBhcIJZEiJxzsHVgudf0veVZVLHLWovBYHa3d6zEV4m+fOuwcYECabvxw==","shasum":"4cb5a093f684d87f4d914b66c209575f6e2b281a","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.1.1.tgz","fileCount":88,"unpackedSize":112991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdIzzNCRA9TVsSAnZWagAAHfoP/iMuNFjopju716/YIE2a\nDlRVqXjvfA0CWRM+e2w7oyU80LM2l0QA1CMjFZapFhvHnli2iyz7qDwq4rgg\nnoQIiKW/F9aoq4n+XhWG6iKX5TkZY/6ASIX6OLKHJ9qadPOvWbH65QmocL57\nUb/Tb/LKQBJrryps/7Pg8rsgGKmUhCRSkNRGeXZNT4zcvSJMV55Xx3+fYVIG\nkWrxIW9/XCtOgNqRtuOCfaxeOtzZ/Ur2w+M2zYmmFKAvkgsRwAWAOn7nSNKF\ncl6L5Ij06U238e3zt8PPyrFXao1wNfKsh0BIzS4Xo0oQ2q8+xsSmEjAaHkSa\nCo5gigH21TlYjhl5WPuD7SwT091NTQkST8L4XRSSUY0YO0i15yevIiJ2rIYt\nhTAo8smZmu9jWxf5PHyZdQbBV7zVUdnMeXV8YVgKxMVUvP+ojvij7FozPrkf\nOZPPPXwd5KmaaTa91y7zh7NSUQ1X07c1LWc2QBgVRr8Hq9yPtSAvYSkzANy5\ngvOBfVOf9yDt5SI+C68I9Aaz4O4+cnmioNpT6cLDkIEQoVU0htHQ9g2GLmAO\nTFi4gR84yR8CZdhJRjdThzEkkBc8oEHpKDOc/+8NfsUyo10y36KCMJ+sX1lz\nCo58HZQsA+K/kzlcPg5w1ZEd/VpuiFAxUHecqDwS5AeMR16UvMhQP5wBQv2X\nUTdQ\r\n=1GVH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHuASavDHmNcKuofICqzNKGNGVmOovGEF3UXcKY3kWEuAiEA3aACPbLI0Dcbqes7xPxkGDVosSlcGOhKx6yweDCGVgw="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.1.1_1562590412575_0.9690958962717791"},"_hasShrinkwrap":false},"1.1.2":{"name":"cachalot","version":"1.1.2","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --ignoreCompilerErrors --mode file --hideGenerator --includes docs/assets","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test:unit":"jest --forceExit --coverage --verbose --detectOpenHandles --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@types/ioredis":"^4.0.12","@types/jest":"^24.0.15","@types/lodash":"^4.14.135","@types/node":"^8","coveralls":"^3.0.4","cz-conventional-changelog":"^3.0.2","ioredis":"^4.11.1","jest":"^24.8.0","semantic-release":"^15.13.24","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-unional":"^0.10.0","typedoc":"^0.15.0","typescript":"^3.5.2"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"b77f7341cc30d00debef2a6b6eeddcc1e6590229","_id":"cachalot@1.1.2","_nodeVersion":"10.16.3","_npmVersion":"6.11.3","dist":{"integrity":"sha512-jjQ82QYtlTnZVrHBKDt+MRdzjL1MyQnqTa2ETuyEDBxQ9IEX8m2De9j9l/7wuYZuNNDuzO6BeH522DZoFAVUdA==","shasum":"dd3626891a76fa86dd10340dbf3be8b4fbdeecda","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.1.2.tgz","fileCount":88,"unpackedSize":113224,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdmdFUCRA9TVsSAnZWagAAufUP/1Hs8FM2Zi4kcR1P2Vc0\nPkH1cSbkXWmhkl24V/hfguo+TbQL9D23Lkq6shMhR5P22QZn6KQP0yVcxB9H\nwoANR0oQeS7sjFv3k3PlZ6j051uHEL/vA430ZGWcPJgVcfYDKINEOPr3ltPN\nUrEexBhGPPOoFjzMRWhaBQsQxxMamfS2Z49G/tfjzdFdyVcEhyayp/qwcPhv\n/GYQppIRjZ8xqc6MripoT6CfutCYG1Hj98c71TrC+S7QAAnvyF8uIHFUKHcw\nPq8Onqq4BNRjXi61Le9AXt12kZGR3lBWfRHRC7EsZgAhx94wuo+gSe/gBPRo\nl34q1Vc5RbslKUcTN0snyQAxqluAY6DfJyVzdFjUoMHGoofHJODvthfJXsnz\nBypXgjCU1njrhmRVyK7j7wc0lrd45AWcgdGaGmCnpH4vQGCRpR0NZyDDzDmf\nTKutzPrdYKihHG+X49vCzRG0TpooLZDxeYTxYOT1+QQu5gaj6Gq2xyRgSCMC\nUrrFRNVOSc7URAdaz4Guf988tQxFvkP3DYf6bPVCczfIHWuuuoQ9GKXcPVU/\nKUBdOGma8TwpxEHF/ZFgUlKjN7JSiTvYR/HASXJuX8iwV/jgTPR7RxnZGWYM\nYxMRzzLrrRxGO22ra4ZtblaASsHz1983YK+FxDOHY2X570QImmI3ubAYndGv\nCxko\r\n=UaNb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVYu6I1F3++QON2gEYaeUpx5zmhyGeOIOJTpQoekmD9QIhAI08ENYzKCVqm6QhIpB9sZ86FqMrYHKi+nKTnLIry+2X"}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.1.2_1570361684184_0.7942105534088026"},"_hasShrinkwrap":false},"1.2.0":{"name":"cachalot","version":"1.2.0","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --ignoreCompilerErrors --mode file --hideGenerator --includes docs/assets","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@types/ioredis":"^4.0.12","@types/jest":"^24.0.15","@types/lodash":"^4.14.135","@types/node":"^8","coveralls":"^3.0.4","cz-conventional-changelog":"^3.0.2","ioredis":"^4.11.1","jest":"^24.8.0","semantic-release":"^15.13.24","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-unional":"^0.10.0","typedoc":"^0.15.0","typescript":"^3.5.2"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"7b2fcaa70897938bf7e023a8c8f71637ff166744","_id":"cachalot@1.2.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-GqH5xbVndQJHFSM7HGsVKCSLe3YGOwv6ncynXWq8lLcdPky1Z/mHOtn6hRgCx2LDyuguNGYpdaH1xtV6mvSo9A==","shasum":"31a936fd987201d5d926ab99cf0640a29b2c2193","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.2.0.tgz","fileCount":88,"unpackedSize":114080,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKbRQCRA9TVsSAnZWagAAcrsP/2TAGIA2E4HdYATELk8k\nFX+BL6DVBqL22gCyxV5AL8fpn9tNc6AaW8eKV0Gogys1SmHc3kHtIpAXEK1W\nsJvW70kPk+7If1Lq6wMlMVIp/IwdQlR72WQXC7HgR/KvaM2bVK2UmgYBS89+\nfPEDmyIlhfd9hIbtNZb3i7yJ7BkxALunT6lfxjVcdRDvcUsVKQWvwWyNUzSe\nJz+T59WNLe6GjVlQFQb9N5VQ3wkvjsiRYKZIrBU6meeZt4pdfa1M9286PW3n\n9xC5DChh6yFZ/61JMA8cOhXURCAfbuetpsLr6Rz3IHO9KLPNODxEIjV/Kktn\nxduXOhrLlmGc/f3POErHg5QOa1xh3ssVBpkPK2t3ZwSCcx+jpag8DXra6KXb\nOUSyTSlNwOqnSJbcHDaVZzZWK3tDbUU9ySgMtVUhRWsjcCOxVC7ffTOcjncM\ngHc8SxHVOSnLvyDoc15B0FL4hg9WNgTHBsG3+/k2ZroF+81NEsAiDPkLuB5v\nRbWK+AFj8sj+IUiUg8cqjzN/ZiGxVFexESXybRcFUZjZ3vM0KJVUzmZVoMLh\n28Cw4wNFIJyex0JxIh+TjWaYo2lIzS3q+lqb4dvcqPyPa6CSIH5xRIgegA6j\ne9Y7bTKZ1jxDaBx5DG3E4Rq/8oznOVzaGjKSikNny643S7jP31KXhNLnHwYn\nvyN1\r\n=l8Yy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB1DU9hkCBQvzmj9Lbobihb62xzoiyiaStiHiBaTD1lmAiAVyWlO2st7frMTgFyyewrOpcAkgLGaX/F/ge8h6j9GNw=="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.2.0_1579791439774_0.6218412630748842"},"_hasShrinkwrap":false},"1.2.1":{"name":"cachalot","version":"1.2.1","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --ignoreCompilerErrors --mode file --hideGenerator --includes docs/assets","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@types/ioredis":"^4.0.12","@types/jest":"^24.0.15","@types/lodash":"^4.14.135","@types/node":"^8","coveralls":"^3.0.4","cz-conventional-changelog":"^3.0.2","ioredis":"^4.11.1","jest":"^24.8.0","semantic-release":"^15.13.24","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-unional":"^0.10.0","typedoc":"^0.15.0","typescript":"^3.5.2"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"1245152edf9a1ff0d70586b659d444abfc08c94b","_id":"cachalot@1.2.1","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-T5dUZUqXW7o8a2sFRz+kP070wVMCXuoclEMV+6CDdt6BDokvpTBUK2jK+dmVW7c+BN5Ckd+sOMbFuPaqBJ64tg==","shasum":"9668326ecdbd9501913fa2b310f3e49426480548","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.2.1.tgz","fileCount":88,"unpackedSize":114436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKdHmCRA9TVsSAnZWagAALesP/3asnmhwjlNOhvGug0gw\n3o8xC0+sTwoolhcHB/rn2LvYYlBjAmP2CxkuIxtlnnG6ulttqCtZdPjBc2Lo\nAt35iBRLzcbN0xIhNB7Ve1+BWR+4QBkNByp4zGfIqMgTJI3rFIxsaGq8bSup\n/qH3a8DBMvKzHwp6LImLxbKP0ZEl9KGN8SgKUEYaJ5JHVy+hpWCYk0Hxtm3t\njzjvfbNXJw7cw/RuQS7K13/aSDrBHs8NZYknPZhYWC2TR5njCTEZTukxCMOA\n/kYYRRiwDifTfeikaFyUUISa2M+ZIqbhqXpwT8RqYVUEc2UblT8lb4TgiKkb\nexK/1afoAF37S6BKsSVbJcVP0G8bpIvL5QAOmFkgwLma0G4+9X1GewsV0HNu\na047gGa4LlKfdzWJdqKeWPtXt9aK/sMkVamTFECh5Dom+aMmYORcWmWsorVi\nAyD3EH49cUXUeKL+pXl+hAEJaSi9phkfQO/vtlSt58UQVYiULmC8OVCUVLLC\nD6qkkfBlecO9dd73mlaYIHtjz3WmUny/4RXEXf1uzRO+th6ncfXxxft2nxEn\nXPYTvWTy2EgGqREHin32R9CgEDuza8jQWWlQAABbApjyO1G22fI9n8AOo5fU\nGr2wAXpDifv+kvXCfJVVEgXRJNszNSovCfP1LooHGsR1iN42XG48CvBS2LjR\nZO1M\r\n=V9H4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBqBZAmPdyOastkymvBfEBWZq9kR/YJIWLUgkYLNAgqdAiEAycEyKBCqY7h1lMXaBhyzkv2M7rxHM/roL5JTQMFcbWg="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.2.1_1579799013845_0.0958522699431057"},"_hasShrinkwrap":false},"1.3.0":{"name":"cachalot","version":"1.3.0","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --ignoreCompilerErrors --mode file --hideGenerator --includes docs/assets","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/ioredis":"^4.14.4","@types/jest":"^24.0.15","@types/lodash":"^4.14.149","@types/node":"^8","coveralls":"^3.0.4","cz-conventional-changelog":"^3.0.2","ioredis":"^4.14.1","jest":"^24.8.0","semantic-release":"^15.13.24","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-unional":"^0.10.0","typedoc":"^0.15.0","typescript":"^3.7.5"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"dc9517dd632813ddb7f0366542d184391f55028f","_id":"cachalot@1.3.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.6","dist":{"integrity":"sha512-27WCTo6djAY11RhonQMKoxwLDoNwMR8JVsWkDnb8GmgbKFqVgVT8BWIB/BfvhqBWpe8jc56AclHmOJ/HIq8gxg==","shasum":"f024e69c519eb40d7746840e79befbdbb1d11959","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.3.0.tgz","fileCount":88,"unpackedSize":117204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLwy9CRA9TVsSAnZWagAAvjcQAKQlO4NXcKKNjDX5S7m4\nTE39BiQem8YCIESRwOkAALe1SiCmdwSBFo6NiTLYzIs9iLdyziBqDx398rMe\nh6A96ONGi7eMeo7NSkMCsFnfo8l095k4sczpHyq0pB4f2v6bVenVqYs6IuDM\n8itiprEwSxf21cW4z+7wy0/HH01Oegsujn470IZHxwXvbjUFsR19g0g82opd\nOUUz2PT9QZqwPd7X3h2ZubTPGx0XphWdHv9HEg/yXwY4OOvECqODMsT61e6S\nvRxBMoVg+PazdFFyf/Qn5AnJOTvfzavgtAEAS7BKly0zHURyq/1xKB8Od13N\ns8FCzyKzg1e1LWq9xGdW4SY0DSu/xHzR6Qf+931fJ1+EYXCHRkFBVEUSzES1\nNgYdVs7d5VYIcKRQK4jsZ+TGFsIfybThIwPyAQypC8bkpj+2OebYcZ+dyuAb\neq+ujhSY5TjAocVC2RKfcIkglCBafKIKBKW7ooZpd0YBtMBoQWTdpEhcsoon\n8r6NtOLWT5zygpOJgj2XBcpERZ3g0MHWVDnZFVljpva0aHu0SsRYreKf/cIX\n/F8DiJ90YgK5mlNLZg3B1FyCwd9WwvvAOnt71rtgUGIgCwbbUDigLVLVhEuU\ny3UHSRUNW8QpwZYI7X/fAXhoo8/eMyhblE3dBlnnyBEnzDSzcMhZMiSqgNS5\nEuvL\r\n=wuwn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTVGFKLr5idaZM+VjmrtWF+DvltjB0rxqNUzokoOaXtwIgRHHqqkXLF939hFWkNhRD6MjfKXyDucTDAUPcO3Fooy4="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.3.0_1580141757246_0.19912381492734443"},"_hasShrinkwrap":false},"1.3.1":{"name":"cachalot","version":"1.3.1","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --ignoreCompilerErrors --mode file --hideGenerator --includes docs/assets","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:integration":"jest --config ./integration/jest.config.js --forceExit --detectOpenHandles","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/faker":"^4.1.9","@types/ioredis":"^4.14.4","@types/jest":"^24.0.15","@types/lodash":"^4.14.149","@types/node":"^8","coveralls":"^3.0.4","cz-conventional-changelog":"^3.0.2","faker":"^4.1.0","ioredis":"^4.14.1","jest":"^24.8.0","semantic-release":"^15.13.24","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-unional":"^0.10.0","typedoc":"^0.15.0","typescript":"^3.7.5"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"695f22d7dfbcba732386a616e0ab2cefc467c536","_id":"cachalot@1.3.1","_nodeVersion":"12.14.1","_npmVersion":"6.13.6","dist":{"integrity":"sha512-su54FzUcpDRb5f+KRV1d+M0aEspeocOGMPyJQ6FCz246IG9VAtfVN++a4rzXDqULO5A3tB8qiQUxi34D5o4SEg==","shasum":"2edfa07c7adb16b6060c7743e41e436cc9329637","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.3.1.tgz","fileCount":88,"unpackedSize":117937,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMDOCCRA9TVsSAnZWagAAcSkP/ifI8sSeHwvYgI1eCHe6\n4S763t5qCZoUNoYzA3K2C+JAV+FGm1IidHvYMCcTT0GlDOP84v63qKQzMb/y\nhX4lgNdEiO1zSAN7sYXcBmnKBfv92M0KEinq2MYeVMv/CYL36hv2cD5aadaJ\nai05Maz8TasfU5faDRGFU/5Jyez3d9Xw4ZNvw+TsDRuLun1cyt5g0KpMU3Q4\nFSabdyMzSDplvMV4HrZ6CKgliR2sjZVvof8zDEwjXjrKQJErzK3zgYPzQ0Gy\nHqprUEZWzjePitR8XmBlGRa0PDX9fCJAZQEQuOluEWqMx7oPFOnjM0C5BH1E\neOHI63i3lfHiSpidV+ONXabnYqODhgnvV3UfsyavF8mU5MkWgTRqRtJS3HXm\njK7iC9ecDgb3xB6Y6rWTwZGkdGI0Nad7+ntW4TDUr6NEXkeDtHNGCCutr2X0\nZ0p9Q1jaaEyU8dlXyJtp3YepIZgbK7WNrnAWayEjbRcHLE+STbzYshaLwMoj\nE8NZzhEF5p29JDKAgL70uMH1YGKYQvTrGw5aHD/dWQCScUCv4pmYp+xRkGBO\nTt3qbxwQYTkAlABVO9H2l+zi7Ax8TrsSZDz3QkNZWARbwlKmPZm3RB9OBRRX\nuEayQJqAhbcIi5ulodv8s0KuF4EYhbwqrtyabRRdcBbgSNrSuOb2rIGaxBrI\nAP09\r\n=PyEl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICbVeUwNPKL5gDGqLzuO9oYn6PoW5lGMRkxlXHuCyOZoAiEA1vvndMt81/NjPld5GODCQvv7cgv35U9bXwzE7GHxT+g="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.3.1_1580217218158_0.08449916209910646"},"_hasShrinkwrap":false},"1.4.0":{"name":"cachalot","version":"1.4.0","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --ignoreCompilerErrors --mode file --hideGenerator --includes docs/assets","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:integration":"jest --config ./integration/jest.config.js --forceExit --detectOpenHandles","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/faker":"^4.1.9","@types/ioredis":"^4.14.4","@types/jest":"^24.0.15","@types/lodash":"^4.14.149","@types/node":"^8","coveralls":"^3.0.4","cz-conventional-changelog":"^3.0.2","faker":"^4.1.0","ioredis":"^4.14.1","jest":"^24.8.0","semantic-release":"^15.13.24","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-unional":"^0.10.0","typedoc":"^0.15.0","typescript":"^3.7.5"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"2ae531a221637269f43e923d573e97c7d7b96582","_id":"cachalot@1.4.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.6","dist":{"integrity":"sha512-JJW6e407Y3Kv93hWGpNk6GmskXmAd98M2uiyxTjMk0RnPb8el/sKblsKbZcMDqF6px46pSCUzmZn5xbHGcT8lw==","shasum":"9c104ad048cc20badbd30e1a806a6fd54f65e574","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.4.0.tgz","fileCount":88,"unpackedSize":119349,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMXimCRA9TVsSAnZWagAAFZEP/2ff3/8ddsWO50Ci99g5\n56g+UPExftT9w7SzLepOBByhk0nqcIyck9LDEVD5hf3CJA+cXwlwno6iH5KE\no1qZ3cDpE0nSSSX7NCV4t2k/0rxR8DvqXirNVat9HXUAdVsdZELB0+JiqFdn\n0GYq2deM37DenQxsgyyT7LI5s2Ff2osvN98Evxa1UdX+ZtkvHUabcoCdxvnV\nQZiEu3VdfMLPwoHMWSNtNsMY2nHnEcc1tbt+qrRfKYlzSPSilzT5sNAUeX/p\nq5emnDxKFOkjDEAymyL+wXG6jqt+Z49l+at/f7AcIyO4X6jdiq2qaNjNgvNq\nlj+Kw3V0EVygk4z9XYF/T9HTC6FrdYCKNmklGRv4acitRMnkTLuSo9gfdWhm\nckY1d+ib+wKsPMOF/fN8oUQwUROB2gDOG3Kg7wP6DU0Bbni2ITuRpcLNcoh8\n+j0G1vTHw7ZiVip5FpqIK8hW7MHmZewCvYVH17xUlMtL3X4yGfwksLHHl3qa\nd2snabcR69MIw8PGOEQCis2s5QPGnSqcwI/2wkrAFcB5bK0yVjiofPMWquRW\n9LB1wqgQYZy+lXwlacSDOGe2GR9KbicT8XSPwLaWi4hQiOuxP07ORnjNSkkJ\nbJ8jkCXg+sDyx3rs9piXMGLSkKTGHDf2iV6J74s6ZN4f929dLrxBLlF5KRXh\nDGbu\r\n=qwq9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDruLbGU6Okti5zvmGKWhxkej2782rse+v/75eGt8BR5AiEA8Wy0iNrvFWweqFiLLL55hkFqK7xu9YymbDsRF6uow28="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.4.0_1580300453643_0.9528153571759499"},"_hasShrinkwrap":false},"1.5.0":{"name":"cachalot","version":"1.5.0","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --mode file --gitRevision master --hideGenerator --media docs/assets --exclude \"**/*+.spec.ts\"","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:integration":"jest --config ./integration/jest.config.js --forceExit --detectOpenHandles --verbose","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/ioredis":"^4.14.6","@types/jest":"^25.1.1","@types/lodash":"^4.14.149","@types/node":"^8","@types/uuid":"^3.4.7","coveralls":"^3.0.4","cz-conventional-changelog":"^3.0.2","ioredis":"^4.14.1","jest":"^25.1.0","semantic-release":"^15.13.24","ts-jest":"^25.1.0","tslint":"^5.18.0","tslint-config-unional":"^0.10.0","typedoc":"^0.16.9","typescript":"^3.7.5","uuid":"^3.4.0"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"a923085d18b54acacf910ffdba907fc6c934b66d","_id":"cachalot@1.5.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.6","dist":{"integrity":"sha512-rEFAOwZRyjeZRpbXjzAiwFqHrKntyWRnA5mXG5WohWQvTQa0ypV6GWc0aK2ac+rVZ6cNuHMOKlp+jlM3gB3Vyg==","shasum":"fccb7216b20ab8a742bca4d71804ba8546aafcde","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.5.0.tgz","fileCount":88,"unpackedSize":130065,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOXhxCRA9TVsSAnZWagAAcyQP/jA6qtP4a3F7w41z0Vff\n5bV5O/RS0m/gzOCnfBIObpAxRZl7jVfjVEVTNQijId14Xza63FvMulXECDuI\njIZCdkSX8gBXRcrpLouaG3u+OTLl2HKyUTuCckQRz2UX3HlAWyxGZx5olCZM\n6etylQkpf8gvuABwFs1SoA1gA39jusAhlw60FOd/AueJ/o8iOuT7aSPVx+uU\n5FR4y0cichDdQ74ALHRAUc2pzNRMI1/VEfMeEJCKeMx/+QigrPXCNhHHaK3j\ndenBUkbwiZxuVCrHtfgywVJK8FqmUWsWoWwc1Hp+PAOH+45eJ0xUL5Ecr8U9\nw9kdu5BRtTjAoKWuEHftEji88UYkilBqvys0dOvI0LrlQyiawYUjZJ5af8vq\nPFjElQs7J6bgH+qu9uOXoIK0StxmIU6xlGLz/1TPuvZ4bBn2fb6vAgaGO3UF\nAcQLBn+NWk0/wXVfhVZeybKZRHxz+rkqgHcDPYVHWr/4JUfSQlTrO2UHYkwo\nRwVxXWLrebxxMDN1LTVo7sGJ2nX1IK9mI8beAUO+OzaNoUNYlUINTds1ZLx+\nN9wlpda5A+nAu/OD8WtTM3W+px7N1NiVytbw4Re8At/F1XpKgx1iHMS4MKKD\n7rl3t2ZrOvwb2MwWfcB/DTj8n+fiB+5cSHOJypOGia/QyGvz5bLpZgdbJAWm\nAgPf\r\n=9l5j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4kzWpV+r78TPMkKTOIn499iKL7eJBjnSrJDyMD67gcgIhAKjiQdxxoBz83eSTdF2JxioBtYycn/lS1VAyLhaxtHQ3"}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.5.0_1580824689551_0.9622629943787078"},"_hasShrinkwrap":false},"1.5.1":{"name":"cachalot","version":"1.5.1","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --mode file --gitRevision master --hideGenerator --media docs/assets --exclude \"**/*+.spec.ts\"","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:integration":"jest --config ./integration/jest.config.js --forceExit --detectOpenHandles --verbose","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/ioredis":"^4.14.6","@types/jest":"^25.1.1","@types/lodash":"^4.14.149","@types/node":"^8","@types/uuid":"^3.4.7","coveralls":"^3.0.4","cz-conventional-changelog":"^3.0.2","ioredis":"^4.14.1","jest":"^25.1.0","semantic-release":"^15.13.24","ts-jest":"^25.1.0","tslint":"^5.18.0","tslint-config-unional":"^0.10.0","typedoc":"^0.16.9","typescript":"^3.7.5","uuid":"^3.4.0"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"6b9c13be065dc1cc3b4d6aa5ef670b1f9f5995d4","_id":"cachalot@1.5.1","_nodeVersion":"12.16.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-bRQf8MtMT/+wekG3OEUIPa+Hx2CzikQGUoA5eWdekuci5JDt0lEgdxxrK7eGC56e26jBivV1MG8u2L4Q5n5Pdg==","shasum":"8f654c588abc846612215389998adc921e4a3e39","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.5.1.tgz","fileCount":88,"unpackedSize":130428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQ7ybCRA9TVsSAnZWagAARFUP/2fO+vNz46fTcO/AGd7i\nSYYnuyytmnFhbYsHGhqWb8OcZFqz93SWvd4wy2yA2ySRS8aUKv7bm0PUgZIS\nGFWvPo9x97rZLu0Mj9biMTlYrpy3u7toBexEvmvvoT1KEKDoMPJ9N2IALemX\n+2qZTCHfIqO7a5Lh2phrkKvuqnmsJd1/EQY6oU9HaQQ5pLH791iVbPBH0oha\nlmfyjylCATWfLEAiQ7YAHTiA8yLT3omnFLOPaCZhWWkFbmMhjjKf1UU6l7mU\nKhyNlP42b+5m7QNi5HrN88/wFZwZXXRCr+SWaCA5C3bAt9uj5SbDBqg/Md+U\nrtatm00HJW03jh1XoZflSk++BNReYIKaAyGEL5v61ks0a9Qk+5/ppGgYqx1s\n06nn0tsNP98VkCMFAMZUa4eFGwvlRE0/gRa/uO1tOZbXbVhcQjmO1hPotkhe\nYpD2eCxlK2hvO83FBgJbqgJBmzgGmVy8hD7BS6pIWP738rnrlGqIP/pcM8HC\nBzgOFltZp2P9U5TMS8SOXTdFFEbpU4+I+e6MAGzB32pO7OT1mwnKqqUeZps7\nt1JcPyXokC74PG7MGQOSHuFV7lqM0GbXZjCQ9/rlEvYD/tbxG/9WtIhJlm+H\n9l/6AcB8xXciny1jz/xV24rQihOYPAQxmRkiYl4095vn4t6EHXJbo83Fsv7O\nQBAO\r\n=jmpF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGgzvRU4f6IOF9hxDAMWgiHMxnmR+SaHmM9GOuvAN+prAiEA4QWoM1O2/7jnzEGMR+hYFP9lBPkVrcC55+dO9Wb35s0="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.5.1_1581497498529_0.017525737342172443"},"_hasShrinkwrap":false},"1.6.0":{"name":"cachalot","version":"1.6.0","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","docs":"typedoc --out docs/api src/ --mode file --gitRevision master --hideGenerator --media docs/assets --exclude \"**/*+.spec.ts\"","build":"tsc","watch":"tsc -w","lint":"tslint --project . \"src/**/*.ts\"","check":"npm run lint && npm run test:unit","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:integration":"jest --config ./integration/jest.config.js --forceExit --detectOpenHandles --verbose","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/ioredis":"^4.14.6","@types/jest":"^25.1.1","@types/lodash":"^4.14.149","@types/node":"^8","@types/uuid":"^3.4.7","coveralls":"^3.0.4","cz-conventional-changelog":"^3.0.2","ioredis":"^4.14.1","jest":"^25.1.0","semantic-release":"^15.13.24","ts-jest":"^25.1.0","tslint":"^5.18.0","tslint-config-unional":"^0.10.0","typedoc":"^0.16.9","typescript":"^3.7.5","uuid":"^3.4.0"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"24661522fe6454dd7b17a7404a8ea019109298a6","_id":"cachalot@1.6.0","_nodeVersion":"12.16.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-mLUHlR6231pl16UCUTcCQ30X8trNn4+MTs59R4mAe9zvYhR8fWEzu9Ule6pGe9ONq3nXMZkjFr4GF9P0GsTJ0w==","shasum":"979cd6aa99707e8877fb2c5e2f820e2749dd84fc","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-1.6.0.tgz","fileCount":88,"unpackedSize":131777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRreyCRA9TVsSAnZWagAAgs8P/jtU94OJn9fWDYb8K3VD\nZAyaj8mD9/2DtyiPslaxtRaPXajLHM8ngIPLnUdwBV2l95zTyz30p5FVMJsL\ne0kKwqGFT+qwh0BqKNKM4jAAsO+R9irZ2rA7Po6ctIXuBvE3V38ktialgRVN\nWDW626WpvTM1MsLEr/lFML84bDmn+FivT3nF6xMx2t7cPH+TNuKAhJ/IAg5q\nAIIIMwIuWOtq4MjsAlj9FuCz8Y0wrlP6QtxQNNHLis6zeAKgdCi658ij0Vum\nk5gWO1cKCF36qlDzXM558CopZYeRdKTWDGRKBCyXVvEoZgQ0x6yxVlBA1Kz8\nnJ6EVUM2+I+0QzzI4vLX+XY+VHh8kpLMMj2bT30YfSp7aTWLlH5Bh2FMk32L\nCGOlbtkm732AxLtWIBgSvqpESYywlVnC/fGwTk+11q2OvqCHgPlyKps6UiNu\nVrMUV00algjjIAV7Aso4FXJZOqPI43fcSqJekqA+G34YXmVfF+BZFNrIDUwK\n9veZBhEmj00IqisxPiGHAsU5qIKTJtbtZtSzkAti2IycLgWlUfvKfgWSfP62\nwmpvV+nXd1qf8xZD1yasr24S/f0r9KAiZQFVzM0lO/i7zfzmiNh5hX5NRYmb\n79pU6SXiCJdlOnIr7FCqp03Ye8hKxST9jrIaWT6BgN6UqlBtAZqYWEP/d3DM\nrG5e\r\n=VdvB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+9izigt/03wu8gzJT0iVolTGjNNHayeHDsLTZ1F8q5AiAJkChrgPy/b1Z12sZ286A7udgGgi+qXzt/iYtomuDAYQ=="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_1.6.0_1581692850352_0.6155938968335457"},"_hasShrinkwrap":false},"2.0.0":{"name":"cachalot","version":"2.0.0","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","build":"tsc","watch":"tsc -w","format":"prettier --write tests/**/*.ts src/**/*.ts","lint":"prettier -c tests/**/*.ts src/**/*.ts && eslint src/**/*.ts tests/**/*.ts","check":"npm run lint && npm run test:unit","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:integration":"jest --config tests/jest.config.js --forceExit --detectOpenHandles --verbose","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/ioredis":"^4.14.9","@types/jest":"^25.1.4","@types/lodash":"^4.14.149","@types/memcached":"^2.2.6","@types/node":"^8","@types/uuid":"^7.0.0","@typescript-eslint/eslint-plugin":"^2.23.0","@typescript-eslint/parser":"^2.23.0","coveralls":"^3.0.4","cz-conventional-changelog":"^3.1.0","eslint":"^6.8.0","eslint-config-prettier":"^6.10.0","ioredis":"^4.16.0","jest":"^25.1.0","memcached":"^2.2.2","prettier":"1.19.1","semantic-release":"^15.13.24","ts-jest":"^25.2.1","typedoc":"^0.16.11","typescript":"^3.8.3","uuid":"^7.0.2"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"490acecdbbe2d204b9eed5766af62903652dc92e","_id":"cachalot@2.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.2","dist":{"integrity":"sha512-4b9LPb9DkzQ/g77UC/D5TPPwlYYfpePs2d/dTZuMAmLHRhGMUBeqHZLDSgcnlMid6KPzOlOI1J4K0T1RBUz3Yg==","shasum":"8eb3e2579491c482e1eae3b3ebfc640d9ab98d49","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-2.0.0.tgz","fileCount":82,"unpackedSize":132331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecK+DCRA9TVsSAnZWagAAziEP/3GNdh0/g6ZmoYwrEO3f\n0reTC789NrMW1mMynIT7pDUrzIzhuMU/frli35+jqSFXbskuXnjIJS58UUlx\nZytLIFoGG6/F1mb5hIqarKYuv2Skl18JLl9+hTIw7aeRW1lgG3Dja4+8aDUc\n15jUgVNXinOfFA2+xIiBr39sk70nPoaBC1ZbaQ7t73JRcQGT7AL8ObXa5PZu\n7phoe/V+XTpqPsKhtVxmbzUPhH3PgTnFpy2yx0RyQITF4id3PnBKR0B7j7Ss\n80rkfaVETB53mDTrAy2lfBQOGjoGdZPn0PPZO4GyonFlMZCfmOAM/ZmrRde8\nWueHvHmgpqDfIhiLp5PIfOLz6EXJQyaKH3anf5PXSuEF+5FWq710+ZLELvd9\nnJFIEvBHWojCTnPRQTNyvwKtD+9OoP5qhHqstBPjLwZwmRDxavFl3tkUjFVq\nnS64MYq2evkY5A8HhSASxS/vR0rv/MVFD2mE2NLkAZMfrK+pmFdCVZsqq8oS\n8MCaNd6zZzazM+/17oaUP1n/5vqARCJ4zlvXxiXjk5fqMGVr4gUmwkIln3w3\n0OHFhy7h5JsIP8Gg2KYk1KIn0U+/dBTrhBLjEh1f+R8bMBMQJoeJmlqrjjww\nR3v1hPtuqy+48wcyj5kyS3ayCy8qBM/qPgjJE0K+DPMA83Np1n2txo2/gfOl\ni6kq\r\n=hsyy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID+dWavmEogEHPcOefaCMTxGNOb9ifuELv9HL5eq99snAiEAmW3iOV+ZwZtvE76WccMyR0nKINOvqVm4+J7Xf24u438="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_2.0.0_1584443266585_0.31267319272066274"},"_hasShrinkwrap":false},"3.0.0":{"name":"cachalot","version":"3.0.0","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","build":"tsc","watch":"tsc -w","format":"prettier --write tests/**/*.ts src/*.ts src/**/*.ts","lint":"prettier -c tests/**/*.ts src/*.ts src/**/*.ts && eslint src tests --ext .ts --max-warnings 0","check":"npm run lint && npm run test:unit","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:integration":"jest --config tests/jest.config.js --forceExit --detectOpenHandles --verbose","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/ioredis":"^4.14.9","@types/jest":"^25.1.4","@types/lodash":"^4.14.149","@types/memcached":"^2.2.6","@types/node":"^8","@types/uuid":"^7.0.0","@typescript-eslint/eslint-plugin":"^2.23.0","@typescript-eslint/parser":"^2.23.0","coveralls":"^3.0.4","cz-conventional-changelog":"^3.1.0","eslint":"^6.8.0","eslint-config-prettier":"^6.10.0","ioredis":"^4.16.0","jest":"^25.1.0","memcached":"^2.2.2","prettier":"1.19.1","semantic-release":"^15.13.24","ts-jest":"^25.2.1","typedoc":"^0.16.11","typescript":"^3.8.3","uuid":"^7.0.2"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"36c8db06880b7d8acae843806378d4a4fa248cbf","_id":"cachalot@3.0.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.2","dist":{"integrity":"sha512-lQOyNaR+BEcHifCxlleZZ4aw9KL2QAm8TLY52HxKXZm2lavXrLtIgxmgKo65+LnHk+tOnCARgj1q5ul+ubE0jg==","shasum":"c02fab747b933050b9c475522a298b4bcefed192","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-3.0.0.tgz","fileCount":82,"unpackedSize":134768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetW94CRA9TVsSAnZWagAAfxwQAJ+N2p1NtkAWrwVN45bb\n2+v2EjMLKZxdKO2FQL2yqYZD/AIOhHhMTEtd4pp/3tgWVhits8/bWGK+Ga5D\nygsZlARb8MmKNlVFoT6XleC3GVSDxm9Svh7iYOXIvilNJWGTeBIEczraQpEB\ni6VoDVPaY/TVztQVzRPxz8AvFGnou4+rkYwH5oER3ZaT6WYVhqfkalQF+ymt\nRO/yhOYLeT5w74biva725s1j0z/nnW8dQ7nI7DHZ5rE2dgS3ogpWZ4kM1zkR\nnY33Ejpgc+TRVNfRs1w4oK3hXoTZYhqTTXXu5LdZZf0sroKnThSZuncXCClh\nSOHwIbVyEa9Ry2Kz3UH+g5zRW8ig+JMWyOIe4SDF+GOl/cLcMJbmtO+wF6jI\nnJSUVVAsWx3oby5mK5reuqSNttOPZoXuUg2hZ76RiugOhAH7IurksYPG9uvK\no6RDLKKSaxTroWViejobvgr2qL6UzvLVpalaJn5j0rMVUQcEm2WIvD2KuLVS\nyOEWgfhST1U/C0UdAr9I8Tt8q5umt11wntOAQai+aedEvs91ltedRl+xXwMV\norehjj/mgK+ZB9WprWvkMuVINHh0O9eCcnKl2J0XTW1qSH/TGBUDVb9vubHn\nszmXn1Pit7FguCRGowHl8NN6K9XgkbNXSoHb+SYTAv0QU3L5B/6WKSsZHFNH\nY1YT\r\n=43bB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID9a1uw4RHp7LI/t/BbQNp0Hw0IKmGXz82ZFJFD5onmSAiBPESX2ZTR7PXv5WVHnONEPb6Qs1LzPWbkzwH/JCqoTOw=="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_3.0.0_1588948855592_0.2333269777564595"},"_hasShrinkwrap":false},"3.0.1":{"name":"cachalot","version":"3.0.1","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","build":"tsc","watch":"tsc -w","format":"prettier --write tests/**/*.ts src/*.ts src/**/*.ts","lint":"prettier -c tests/**/*.ts src/*.ts src/**/*.ts && eslint src tests --ext .ts --max-warnings 0","check":"npm run lint && npm run test:unit","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=text-lcov | coveralls","test:integration":"jest --config tests/jest.config.js --forceExit --detectOpenHandles --verbose","test:unit:watch":"jest --watch","prepublishOnly":"npm run check && npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/ioredis":"^4.14.9","@types/jest":"^25.1.4","@types/lodash":"^4.14.149","@types/memcached":"^2.2.6","@types/node":"^8","@types/uuid":"^7.0.0","@typescript-eslint/eslint-plugin":"^2.23.0","@typescript-eslint/parser":"^2.23.0","coveralls":"^3.0.4","cz-conventional-changelog":"^3.1.0","eslint":"^6.8.0","eslint-config-prettier":"^6.10.0","ioredis":"^4.16.0","jest":"^25.1.0","memcached":"^2.2.2","prettier":"1.19.1","semantic-release":"^15.13.24","ts-jest":"^25.2.1","typedoc":"^0.16.11","typescript":"^3.8.3","uuid":"^7.0.2"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"82d0cc5df998407b1f879d334f48d46d10dbae65","_id":"cachalot@3.0.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.2","dist":{"integrity":"sha512-82U7giZ02ZdRPZOrvI2qmHvb/YrHGMtuFxq794BRhVcLfTqpj7Dt+uZDD3+/hlZ9yozuD2pLu7eBllbDTTvxLQ==","shasum":"a3ea8b5c0a7fdfebd41692ba3c803f77194f150f","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-3.0.1.tgz","fileCount":82,"unpackedSize":136027,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetarlCRA9TVsSAnZWagAAgrwP/2Jla/qAtr9JlB/7LNz0\nuItWVcAx0Z1ZK4bG6HvosnjFZnfPOFbp9hKBrD6kG6PGEJfgrEfhpnW7PFeb\nTU5vxR5wnx3GNrSz9ZDT3GCN945KCuDngNpN+Rsj+OeSZCuDEg4wOmyGHWpe\nVG9w5dU0XiSXpH2JlLQX12OdDlZT9asbvJwnYjTxyiPqJVvqktGeT+iBtXZt\nCSqB8QrW1wL/z7umOeT6R53jbK6xZbR0sDVbm+oDxDm+8vhfq2jfm13/TbeQ\nHRqLUDEVGeSiMm8T9198kKajA54HJOXgULe6lq5L4AVlfliJ37IKNDGXnEK0\nT3JvUgqLjn/K9vS44Vqr/41BRLLWGtcZYDX2tRht8QnWzWsOIg5Wzxdklq+9\nr6BYhxPq9967u8+WkW4paZJNaSerSjPLE8ScHNmdpMtKQPFxKXKFIFQBqHVu\na4bJed0xZyH0EQoxQUMOzmAkYcUQJ257iI5J4CjSFvztuTSUce5fpVqKvPxi\n4YSbuh/xK/mBYbNcBn8lqC8odlHBgOlUyctL0rnX1DM4QMYFXI1OXSCxCDi8\n2Nguj3BygocK4afbX9YVibIaZv6fPpU+8XmKcnpcuCWh37HM8UU+cJiYws33\necbkPJpn1kiVSKSXH/A8I1sHoEBTU5V5Q2nodYRrHJ/ucncQXuv/ZSBq2u4U\n4R1G\r\n=1zc/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDO+zOSp/igIDQzqYyG3lk3YHX4nfhezpc438O899qdKwIgc4Xo9Orm56eOaa+Cgz981srdQB9q00eph/p/EVmm+l4="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_3.0.1_1588964069001_0.921896652951566"},"_hasShrinkwrap":false},"3.0.3":{"name":"cachalot","version":"3.0.3","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","build":"tsc","watch":"tsc -w","format":"prettier --write tests/**/*.ts src/*.ts src/**/*.ts","lint":"prettier -c tests/**/*.ts src/*.ts src/**/*.ts && eslint src tests --ext .ts --max-warnings 0","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=lcovonly","test:integration":"jest --config tests/jest.config.js --forceExit --detectOpenHandles --verbose","test:unit:watch":"jest --watch","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"dependencies":{"lodash":"^4.17.15"},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/ioredis":"^4.16.7","@types/jest":"^25.2.3","@types/lodash":"^4.14.157","@types/memcached":"^2.2.6","@types/node":"^8.10.61","@types/uuid":"^8.0.0","@typescript-eslint/eslint-plugin":"^3.4.0","@typescript-eslint/parser":"^3.4.0","coveralls":"^3.1.0","cz-conventional-changelog":"^3.2.0","eslint":"^6.8.0","eslint-config-prettier":"^6.11.0","ioredis":"^4.17.3","jest":"^25.5.4","memcached":"^2.2.2","prettier":"^1.19.1","semantic-release":"^15.13.24","ts-jest":"^25.5.1","typescript":"^3.9.5","uuid":"^8.2.0"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"6c049e154340491f85902c89aee4a44168a4828d","_id":"cachalot@3.0.3","_nodeVersion":"10.21.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-dRxQ0qA2pN4w4wVRG0TDpK3u9uYhk39l39nmMtRBMmlC7PJlVZpkLG7WfSNRI6SJhWTkay3ySoA0u8ED+YZmUg==","shasum":"d9a1bab87dcfa529cbbb5fb2fcb334cb9303258a","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-3.0.3.tgz","fileCount":82,"unpackedSize":138983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe84FSCRA9TVsSAnZWagAA+HsQAJoSqTj7RPjnYU8/6Z7f\nDIFccXIqOGSxtm8JXyf5Jw6gpcP74W4rlrrSVGs0s0XowZXWsvK2Mx8+gBmD\n0bxY0xZW1LHkAW4rvtQPCYPzi+sIXhxRk1lCVd8rseaYVmfaFsg/8Pqqlxc5\npN1dvNq+ZhlPwamu00PaJYCqO1Q+W3H+6DH6o0D6IrPHgXu55TQd1UJhiBHg\n3UhPId+FWznu4z1+WbWkYYa606+GeRnd+HL3EhDupzGpHJppvj9Upx5TYTZI\nmkUdB/jgGfIJznMPaiH/HSqRtwuJHFoHs2W3R3mGKyfUQV6ESAXrIxS/YfX7\nol7g/fTjvKfN5d8UwN6uqEylVl6QFy8ZY2weNIdx1IWj8HgG5E8ank/tyqTM\nAUFFZ1ERUyEGuDsZEdnleNFXiQv0xcrjPKi50h9jaOglF/THIvwWGDv9M2jU\niqsSUF/8AR2lwBCfmihpD3rOalblCEzNrKg+gyS2V8jnOqgGhz0GhUSkkZab\nyV/aYbUL4Drfut753+UGDPD9s8kOHAtGc69t2j30CjPd11WDTFx4EN6xN3iH\nuE79IAwgXk+iEw/RzOEjPXNbKXdA8ycC2leMXC8SlJw6MgFyaYbwp8PtXMa2\nnmKaSs6bJo83v0syA2Yn+xffIqdDarKWbkyKkOJrKe9gTFdu3+cZgoWLC7m7\ny1Kl\r\n=Rh85\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhdumI2Do9Y1/c3zvmMzqhOhfnu43mWo1KJUwZrfcxBgIgZDFCDz/W/8ZHNvbgHVvYjsG5Ow05VZo3kUtK2BIjY7c="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_3.0.3_1593016657634_0.2507350006269531"},"_hasShrinkwrap":false},"3.1.0":{"name":"cachalot","version":"3.1.0","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","build":"tsc","watch":"tsc -w","format":"prettier --write tests/**/*.ts src/*.ts src/**/*.ts","lint":"prettier -c tests/**/*.ts src/*.ts src/**/*.ts && eslint src tests --ext .ts --max-warnings 0","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=lcovonly","test:integration":"jest --config tests/jest.config.js --forceExit --detectOpenHandles --verbose","test:unit:watch":"jest --watch","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"dependencies":{},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/ioredis":"^4.16.7","@types/jest":"^25.2.3","@types/memcached":"^2.2.6","@types/node":"^8.10.61","@types/uuid":"^8.0.0","@typescript-eslint/eslint-plugin":"^3.4.0","@typescript-eslint/parser":"^3.4.0","coveralls":"^3.1.0","cz-conventional-changelog":"^3.2.0","eslint":"^6.8.0","eslint-config-prettier":"^6.11.0","ioredis":"^4.17.3","jest":"^25.5.4","memcached":"^2.2.2","prettier":"^1.19.1","semantic-release":"^15.13.24","ts-jest":"^25.5.1","typescript":"^3.9.7","uuid":"^8.2.0"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"d01714d1e804b9c8d69b9f68a5f2ce2926a35250","_id":"cachalot@3.1.0","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-uZHmQMX55QeMEgu5HT4jmCxp7ysJpg25dI+jNhkpv6yLiGQ+NOkrDvo1kKXG9MtqnG2irGbiXoFCm7ntcNJyJg==","shasum":"f55c1dc9da9a369fd0a40ebfc3420b7a9b3c0e3e","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-3.1.0.tgz","fileCount":82,"unpackedSize":139370,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJb5NCRA9TVsSAnZWagAAg1EP/jV/Gd/OO7KbRo63OsCv\n5ogF0/89aBZ7ryU1JtwpxH/mf+/RAuxOl/+sDFUmnTQY/L8hsrbLRV7cC3W7\nRAXVYikluPAnED+gRoO48i2q5t8IR5wG13PPbVHEcuHcrnzwAPKUTLl9cN0H\nUibdFeF5BTiAZtloPiiOmtlC+i+fHf6vGCpaiFyQPTeVff+UiZ16PMPOhk7W\nhtRYfEP19xznlvOpD8qiQpc8lW0nniyZjmfKwACKv5VZcnucXrTADgM0x8bQ\nRdNgBChx3RiV3SwYIDzeLAZDjqhh54OHMCW9XEAhfrjgfhOIdwQ7z8uPJFtf\nJBtz7GjCRFJogv7qH7SLcbQnBJMc9CuyUxCdT2CugHRbIniQuMcWsgvbSUN1\n/rdk4MY+sYjRgEuA91LAfCasNCjNL2i/Mf6WAEefbBD7Y7ng7uYQ/z1VOv0E\nCmnLifcthnsNGniEvb+TNFm9EN0ROkluchptZwjdoERCdyswvIiXSK4ZD6+p\nKE15Se5G5/lr7AUqIiB6Litz/atvE7Dl3wrWaBrJ2MdCuopxADHCeis05lVk\nS61MCGhIwbXUAXPzZd10lWdszusmbki3v7fzIZ1iQzkoGOCHJ3Rkp7L/bRly\nfS2Qpx2Hd24z7IhxnhpFt8Cj5TOA+LGuPlC4KxSxLAkUTiyEJKkHpD4rBTVr\nloF9\r\n=mUhv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID9YilZxc91XEzZPEjHsPlyilBBVa/UbRtTQpOFSlcbcAiBV3pDHCzBTiYtWq/GmzUO7RBG1CJ3TEkAXlDUlI6cZcQ=="}]},"maintainers":[{"email":"dmit8815@gmail.com","name":"drwatsno"}],"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_3.1.0_1596309068995_0.062178216084634474"},"_hasShrinkwrap":false},"3.1.1":{"name":"cachalot","version":"3.1.1","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=8.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","build":"tsc","watch":"tsc -w","format":"prettier --write tests/**/*.ts src/*.ts src/**/*.ts","lint":"prettier -c tests/**/*.ts src/*.ts src/**/*.ts && eslint src tests --ext .ts --max-warnings 0","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=lcovonly","test:integration":"jest --config tests/jest.config.js --forceExit --detectOpenHandles --verbose","test:unit:watch":"jest --watch","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"dependencies":{},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/ioredis":"^4.16.7","@types/jest":"^25.2.3","@types/memcached":"^2.2.6","@types/node":"^8.10.61","@types/uuid":"^8.0.0","@typescript-eslint/eslint-plugin":"^3.4.0","@typescript-eslint/parser":"^3.4.0","coveralls":"^3.1.0","cz-conventional-changelog":"^3.2.0","eslint":"^6.8.0","eslint-config-prettier":"^6.11.0","ioredis":"^4.17.3","jest":"^25.5.4","memcached":"^2.2.2","prettier":"^1.19.1","semantic-release":"^15.13.24","ts-jest":"^25.5.1","typescript":"^3.9.7","uuid":"^8.2.0"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"a818fcc864eb2a2cadfaba91e59a64399782f30c","_id":"cachalot@3.1.1","_nodeVersion":"10.23.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-0Yy8M/AuFIhcZbMRiig04sWPiKlLiWDzekcIfcuMcfXrmbRg9G45FsJOvTCSQMsCv2e6xLFDBsR0e5phX+K/pA==","shasum":"fdca019ec6add9013a8cc24b5e3f5b740c9a51b0","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-3.1.1.tgz","fileCount":82,"unpackedSize":139604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfs9+LCRA9TVsSAnZWagAASIAP/RrQTojNmIZCwpiyQ4Ij\nPNCZBcplkEKTblTE3BOsq6jPHS2eqFHHOnb9sh1dU0XFcuNnODvIn5ZiD6r6\ndVleVZ7VKQvfzd59EPmgkQfR8Rs7gfSane6PvV1dEUR1yoP9SKvQGfpt5Mp8\nv9+dczkz7OeO0SpNLzQ2z2XA9BoHV65/5LhZ9vd3TLhvzzgHW6pXTTi9qMAH\negYGeub9p2D8I1xiWMNF+02IQs4IVH+VR/j5qUHtc8ZFV/alC/2OTjosmEsE\nE19p0nikB2R2yEu6r3pvzW8fyX8zsquCWwq1CXudXp4EH9SfIoFku9uiZc7s\n5q0dyBipmrEuM3ke5UK8NaV5XDHAZhjlnMIVubp996Sv8MBBdyNOB1dZZsQn\ncbZbqdobUK7ACY3Gv0BQqaGogEtx+s9tTcQhVCmS2ff9whqGTZjC8AdvyFCC\nLj63pGFo1sIsOLUtimzkMO5Qh6/JXqkdFJGeRlMsAzRSalqqGcUDwN0az5WJ\nXAJe0xdnYPBk2PK7uxzu+8QbAQXARQr6Yepl6CzMzXACvdtR7Zi8saQWRpir\nFhd2kMsBcPgmf1pxy2H47D2yup++AR5pouRFt3avkDROP0zTIWIsX+VFu0jX\nccHqna0wQV2sxCNXy5B9oOyr7Vk64S84f9TxwUP2A0J8ILLpkyKpMxXhB9rI\ngc9h\r\n=X6QS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE0Rq6QzFqlcHRBhx9lcWVrYqO/OBOBeuQH1fcJ1OjsMAiEAmZgdHyXpGJNQhj6XQFVchE4TwoMDuKqFvsaOTsTGVLs="}]},"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"maintainers":[{"name":"drwatsno","email":"dmit8815@gmail.com"},{"name":"tinkoffbank","email":"f.nehaev@tinkoff.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_3.1.1_1605623690835_0.2812676087143491"},"_hasShrinkwrap":false},"3.2.0":{"name":"cachalot","version":"3.2.0","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/TinkoffCreditSystems/cachalot.git"},"engines":{"node":">=10.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","build":"tsc","watch":"tsc -w","format":"prettier --write tests/**/*.ts src/*.ts src/**/*.ts","lint":"prettier -c tests/**/*.ts src/*.ts src/**/*.ts && eslint src tests --ext .ts --max-warnings 0","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=lcovonly","test:integration":"jest --config tests/jest.config.js --forceExit --detectOpenHandles --verbose","test:unit:watch":"jest --watch","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"devDependencies":{"@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@types/ioredis":"^4.26.4","@types/jest":"^26.0.23","@types/memcached":"^2.2.6","@types/node":"^8.10.61","@types/uuid":"^8.3.0","@typescript-eslint/eslint-plugin":"^4.26.1","@typescript-eslint/parser":"^4.26.1","coveralls":"^3.1.0","cz-conventional-changelog":"^3.2.0","eslint":"^7.28.0","eslint-config-prettier":"^8.3.0","ioredis":"^4.27.5","jest":"^27.0.4","memcached":"^2.2.2","prettier":"^2.3.1","semantic-release":"^17.2.3","ts-jest":"^27.0.3","typescript":"^4.3.2","uuid":"^8.3.2"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"9bac38e5b097673ca6eb0c527559b3540615cc1a","_id":"cachalot@3.2.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.13","dist":{"integrity":"sha512-5gms0VuC2Z8pY3jnhZ5EL0FmTaIU6+GKw8S6bQSBEENWfsccQrIfbryiaGxSe/n2qODFcR7Q+HdPht3z4zT5xw==","shasum":"4645046e272c4f80af722ad69eb25abc39be5764","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-3.2.0.tgz","fileCount":82,"unpackedSize":140355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwWF9CRA9TVsSAnZWagAAPusP/ArYPtW/lVUQr/dHepv0\nYfH6GICCzV/4Q2e5JEhHmdXpu+fgQMn8caTHL8pO+rV67J8VbLWBIa2vQF5w\nC4yUFxvxu0QiLqjY+KOBN/rjwFzP7YGjOdbRmH5m6JZ/mUw+rUwsz4xbL0S4\noHebbZkl2RXWQjz8RVKu3vLM85Xw6yIvMp4QnFbMSga/HtxNzV/eFHyeyw3S\nyaJDfJvawnbpMCgVVRdXxUJmixnd6+hw6/h7OLfaJyfukqmzLxDL1WPS3znp\n537E+6Do794oyLaELU+XxidDYT0YHMTE5DyIgMu/OAshyGgp9dFJU5sOJIzj\nkH7Hhe5GeQc1JJaOa6iYjbt5+mAQVTSYSYYPRGeddVV3/DS9JPJB8I67hI75\nM1mv3MHFOzn7aGkIfMzfpz7Wn3omg4KvahN+HevMlceNBj+FZORG1FkJVe9V\nxR6HxNNOOSG/KccIIY9J7vCAou1iKlU0uIWVXTgibVSqsWI1V5ONKmq2p16+\n+StG/uJJQGVEGAVLEAZ2OIqHmvMzg0nhEdKvApvwWE9LkARwqVl2URZJNazf\nfaFoZooB3CyoIXk/oxNTT3QQUMGHjDEBnkzq3G7yBlEgu3xQVxjH2wRcZoUq\n4/s+I9bVN3fDqGKRnOulb23iXgNWbUlv7wU9ZqYP9NQrmH1sJBAJlgEJGBeW\n+Ot0\r\n=AXKY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4SITPE/dwJLdNkk/8jb3Z8khryNy/QkSJQi17K6tudQIgYUD9sjvxJTLWXkutS02uw272BU9bftDUEa2U336aUJE="}]},"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"maintainers":[{"name":"drwatsno","email":"dmit8815@gmail.com"},{"name":"tinkoffbank","email":"npmjs@tinkoff.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_3.2.0_1623286140885_0.8036750642452144"},"_hasShrinkwrap":false},"3.3.0":{"name":"cachalot","version":"3.3.0","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/Tinkoff/cachalot.git"},"engines":{"node":">=10.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","build":"tsc","watch":"tsc -w","format":"prettier --write tests/**/*.ts src/*.ts src/**/*.ts","lint":"prettier -c tests/**/*.ts src/*.ts src/**/*.ts && eslint src tests --ext .ts --max-warnings 0","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=lcovonly","test:integration":"jest --config tests/jest.config.js --forceExit --detectOpenHandles --verbose","test:unit:watch":"jest --watch","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"devDependencies":{"@semantic-release/changelog":"^6.0.0","@semantic-release/git":"^10.0.0","@types/ioredis":"^4.27.5","@types/jest":"^27.0.2","@types/memcached":"^2.2.7","@types/node":"^10.17.60","@types/uuid":"^8.3.1","@typescript-eslint/eslint-plugin":"^4.32.0","@typescript-eslint/parser":"^4.32.0","coveralls":"^3.1.1","cz-conventional-changelog":"^3.3.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","ioredis":"^4.27.9","jest":"^27.2.4","memcached":"^2.2.2","prettier":"^2.4.1","semantic-release":"^18.0.0","ts-jest":"^27.0.5","typescript":"^4.4.3","uuid":"^8.3.2"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"5a310003375b95b4bb6f35547ff2ac65347aa99e","_id":"cachalot@3.3.0","_nodeVersion":"14.18.2","_npmVersion":"7.24.1","dist":{"integrity":"sha512-F+/COaoYI3OIdbuZgubWOipEOIkkMutbVfU8kz3UU3PRL/lvbEtrVqju8SvMgh4eVzyemzG0CUyrdwo6ZrZZbQ==","shasum":"6a42a506a21d8e2db196d408441f99b76f6a9b4b","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-3.3.0.tgz","fileCount":81,"unpackedSize":135407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzA9eCRA9TVsSAnZWagAAaAcP/2EAGjydSMy0vo+EFhUZ\njiQHmCXfyvzHvipcJYptPgCrCc0vkHi283bpC2xEsYNn2A4xiaXuqOujLNYQ\nz5La6mtNdSKt2gms3iTKDz653x4n1Tj3FEwXa/oXCP9MrWUqtFD5VbFCpmks\n9KU/o6avMams+TiSYKiNSQtfmyVAiPCf7raOTzewP7z/M16Z4SomL7bQSVz0\n1jZj5C7gjYS5j34aSoel/8z6D4P2qcQHi4UrpZ3k5ZJ5dtKyIdx6QHis9b4n\n9O2HQFoFq8/Zmpsldyv0JSkZtmnVSp7ItJaXMUE+KZHiUThO1qjuYjHR9Q3c\nrQscHWOfQcxzQDrJFi4r+mmqHCusPZXbc9R9wOLumk4g6JK2LZUM4Ud1FhqX\nMfnBhxT+m2ovkkhD1U+U+b+CBb+/pKSYbc6EWE7CREbzbNC/3DhhKnYuMEu+\nm5lxXQ9gwpSLXE0d9yQHtVAVP15X+xQZrJaHJcoeSTNGlGR5aE2N4NPNZ7Rw\netmZsrcNpGoDc7I3EZIPjY7MAbnWT/MiLk1P5QsyLJMJ6RsmzuMw3fVua5ID\nd16TvlVM0Z4TInIyw0Eyu9lTU85zFXE1p9MrsaMKwaTgCi6q+dKcp8kUtjIU\nvgHVlMu84+gukyVEaiLi9jDofSzY4w1Pq7Aynmq8lYqupcBXpMht1YNyaTJc\nAZwy\r\n=O1fW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIlgpzo3XWcCbZyMAjdHSGs27GWwQ3Mirk7a7RsSlb/wIgBzi4+CRL/qpr/D1vH/TpLg32IhRjbhLng5/5QoaNozQ="}]},"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"maintainers":[{"name":"drwatsno","email":"dmit8815@gmail.com"},{"name":"tinkoffbank","email":"npmjs@tinkoff.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_3.3.0_1640763230192_0.2366901272890325"},"_hasShrinkwrap":false},"3.3.1":{"name":"cachalot","version":"3.3.1","description":"Cache manager for nodejs with support different cache strategies","keywords":["cache","redis","read-through","refresh-ahead"],"license":"Apache-2.0","author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"main":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","repository":"https://github.com/Tinkoff/cachalot.git"},"engines":{"node":">=10.0.0"},"scripts":{"cz":"git-cz","clean":"rm -rf dist","build":"tsc","watch":"tsc -w","format":"prettier --write tests/**/*.ts src/*.ts src/**/*.ts","lint":"prettier -c tests/**/*.ts src/*.ts src/**/*.ts && eslint src tests --ext .ts --max-warnings 0","test":"npm run test:unit","test:unit":"jest --coverage --verbose --passWithNoTests","test:ci":"npm run test:unit -- --coverageReporters=lcovonly","test:integration":"jest --config tests/jest.config.js --forceExit --detectOpenHandles --verbose","test:unit:watch":"jest --watch","prepublishOnly":"npm run build","semantic-release":"semantic-release"},"devDependencies":{"@semantic-release/changelog":"^6.0.0","@semantic-release/git":"^10.0.0","@types/ioredis":"^4.27.5","@types/jest":"^27.0.2","@types/memcached":"^2.2.7","@types/node":"^10.17.60","@types/uuid":"^8.3.1","@typescript-eslint/eslint-plugin":"^4.32.0","@typescript-eslint/parser":"^4.32.0","coveralls":"^3.1.1","cz-conventional-changelog":"^3.3.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","ioredis":"^4.27.9","jest":"^27.2.4","memcached":"^2.2.2","prettier":"^2.4.1","semantic-release":"^18.0.0","ts-jest":"^27.0.5","typescript":"^4.4.3","uuid":"^8.3.2"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"956fecd2c5d7e6997cbff5fb51fea7444dfe2277","_id":"cachalot@3.3.1","_nodeVersion":"14.19.1","_npmVersion":"7.24.1","dist":{"integrity":"sha512-GsPGuy7J30BKN4uzt0aR8JOJ6yEfaS7G1PrDDlyMewF64s+aKYEgFF5Vm2A/9ialGhpqkjv0TmnJvcMyHj6UQg==","shasum":"6cc1a5712d5533381a7dab8fb6e9e77410d49be9","tarball":"https://registry.npmjs.org/cachalot/-/cachalot-3.3.1.tgz","fileCount":81,"unpackedSize":135323,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBY7PVPQRJrmBi5F7pLrQf9/xRFzpx/dL6ZYwnlrEQvgAiB3OIQPs+8HHn2l7XeSoneCjwP+lKuGe8f/6aiaLvqYWA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiSqEkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp5fhAAgjNdkGYO2C5pQ0WNvPzQfejST6+VFE8EcWA8yrp862azZ5aU\r\nUpXS4nb4290IJe8J4kKR7HxbnTvAwXnOsLzwWr3oBZT1NFcxG1t8JGg/IIH+\r\nq9DrxjvvpIa+vJLfuXD5a5Cu4MC6mINyixpl4NTtu86zlCMqVjkQItxF/BIJ\r\njDlOcJFd9S3LZlCKi7nyVg2nSkEUIdR97aPcaO30DKERSZ3Ns4sjNRXvLmdx\r\nNy35PIYgg1JOxwNabCnMuXGHKXQKAna44SzrHm0GgxH4+FU6vgrGPW5//1e5\r\nOJge1woK6GjIfyg3J4iTyEQdtsV0UGuXaRuscyl/pdZd3tx6d6PfP60qgdpr\r\n20Our50d4+tRfvNmK56K72MmY0hPTZpZUhX/K2FhuWvhsCSHCJWg20cC+5WF\r\niCzcFzrkp5v5e2leZzdmgYB371idvrHprVKnkt9Iumlkf9y6BFb25mF91J+k\r\nIWA9r3UmuIIB+ZBUQ9wyluAsMtKAMJf47pBBUokKWLZynw1qwlQ5vrCjrjG1\r\nrn/bCV3V6Dxjf4YRKgS/YTQCplFyczI3Su8V24TtYyIPhvMzLQcx+Q8xmCEB\r\n5CoEGHrVkMPXaTmjeic6Yb+0TDtfprAvlliRy+OZrsq/G5fQ8lWJZn/oFvsU\r\nz4ld5iNm2x6jMNbxntTSur62o2n/XTJWdfY=\r\n=eAwd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"drwatsno","email":"dmit8815@gmail.com"},"directories":{},"maintainers":[{"name":"drwatsno","email":"dmit8815@gmail.com"},{"name":"tinkoffbank","email":"npmjs@tinkoff.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachalot_3.3.1_1649058084458_0.7747529979023129"},"_hasShrinkwrap":false}},"readme":"# <img src=\"assets/logo.svg\" alt=\"cachalot logo\" height=\"100px\">\n\n[![Build status](https://img.shields.io/github/workflow/status/Tinkoff/cachalot/CI?style=flat-square)](https://github.com/Tinkoff/cachalot/actions?query=branch%3Amaster+workflow%3ACI)\n[![Coveralls github](https://img.shields.io/coveralls/github/Tinkoff/cachalot.svg?style=flat-square)](https://coveralls.io/github/Tinkoff/cachalot)\n[![Written in typescript](https://img.shields.io/badge/written_in-typescript-blue.svg?style=flat-square)](https://www.typescriptlang.org/)\n[![npm](https://img.shields.io/npm/v/cachalot.svg?style=flat-square)](https://www.npmjs.com/package/cachalot)\n\nZero-dependency library designed to cache query results. Features:\n* Implements popular caching strategies (Read-Through, Write-Through, Refresh-Ahead), and also allows them to be combined\n* Defines an adapter interface that allows you to use it with any key-value storage for which the corresponding adapter is written\n* Comes with adapter for redis, memcached\n* Allows to use prefixes for keys, automatic hashing\n* Allows to pass in a logger that will be used to display informational messages and errors\n* Supports various behaviors of cache write waiting (heavy queries), more details below.\n\n### Getting started\n\nTo initialize Cache instance, you need:\n* StorageAdapter (in the example below, an adapter for connecting to redis). RedisStorageAdapter takes as an argument the instance of ioredis client.\n* Settings object. The options are the following options:\n  \n   - prefix - prefix used by CacheManager for storing keys. In essence, this is the namespace for a specific CacheManager.\n  \n   - logger - instance of logger. Must implement following interface:\n\n    ```typescript\n    interface Logger {\n      info(...args: any[]): void;\n      trace(...args: any[]): void;\n      warn(...args: any[]): void;\n      error(...args: any[]): void;\n    }\n    ```\n   - expiresIn - the time after which the keys lose relevance (ms)\n\n##### Example of use:\n\nInitialization:\n\n```typescript\n// cache.ts\n\nimport Redis from 'ioredis';\nimport Cache, { RedisStorageAdapter } from 'cachalot';\nimport logger from './logger';\n\nconst redis = new Redis();\n\nexport const cache = new Cache({\n  adapter: new RedisStorageAdapter(redis),\n  logger,\n});\n```\nIf your Redis instance uses eviction policy you need to use separate Redis instance for tags. **Tags should not be evicted!**\n\n```typescript\n// cache-with-tags.ts\n\nimport Redis from 'ioredis';\nimport Cache, { RedisStorageAdapter } from 'cachalot';\nimport logger from './logger';\n\nconst redis = new Redis(); // with eviction policy enabled\nconst redisForTags = new Redis(6380);\n\nexport const cache = new Cache({\n  adapter: new RedisStorageAdapter(redis),\n  tagsAdapter: new RedisStorageAdapter(redisForTags),\n  logger,\n});\n```\n\nThere are three main methods of working with Cache; their behavior depends on the chosen caching strategy:\n\n`get` gets cache data\n\n```typescript\n// get-something.ts\nimport { cache } from './cache'\n\nconst cacheKey = 'something:id100'; // key that records and accesses the value\n\nfunction getSomething() {\n  return cache.get(\n      cacheKey,\n      () => executor('hello', 'world'), // executor is a function that returns promise. Run if failed to get valid cache entry\n      { tags: [cacheKey, 'something'] }, // you can associate tags with any cache record. You can later invalidate record with any of them.\n    );\n}\n```\n\n`get` will check the tags and compare their versions with the current date, runs an executor if necessary and returns result.\nOptions for `get`:\n- expiresIn?: number; - The number of milliseconds after which key values are considered expired\n- tags?: string[] | (() => string[]) - Tags - keys for which checks the validity of a particular record. If the tag value in the cache + invalidation time is <the current time, then the tag will be considered invalid and the record will need to be obtained using the executor. Can be calculated lazy.\n- getTags?: (executorResult) => string[] function which extracts tags from executor result. These tags will be merged with tags given in option below.\n\nThe next method, \"touch\", serves to invalidate tags. Calling this method with one of the tags will make all records in the cache with this tag invalid.\nIt can be used both to invalidate a single record (for example, by creating a unique id) or a group of records.\n\nExample:\n```typescript\nimport { cache } from './cache'\n\nasync function createSomething() {\n  await cache.touch(['something']) // invalidates all entries with the tag \"something\"\n}\n```\nThe latter method is `set`, used in write-through strategies to update entries.\n\nNote that `touch` does not make sense when using Write-Through in its pure form, just as there is no point in using set in the Refresh-Ahead and Read-Through strategies\n\n## Locked key retrieve strategies\n\nCachalot allows you to set a strategy for `get` behavior if the cache entry is locked (for updating). Available strategies:\n\n`waitForResult` -` get` will wait for the result to appear in the cache and the lock will be removed. Good to use with heavy demands and average load\n. Under high loads, spikes can occur due to queuing requests.\n\n`runExecutor` -` get` will immediately call the executor and return its result. Good in cases where requests are light. The disadvantage of\nthis strategy is a temporary increase in the load on the database at the time of updating the record. This strategy is used by default.\n\nFor each entry, the strategy can be set individually. To do this, its name must be passed in the readThrough options.\n```typescript\ncache.get('something:id100', () => executor('hello', 'world'), {\n    tags: [cacheKey, 'something'],\n    lockedKeyRetrieveStrategy: 'runExecutor'\n  },\n);\n```\n### Cache Managers\n\nFor all the examples above, the Refresh-Ahead strategy is used. This strategy is used by default, but it is possible to connect other strategies from cachalot.\nDifferent caching strategies implement different classes of \"managers\". Each manager has a string identifier.\nWhen registering a strategy, it is obtained by calling the getName static method of the manager class. Further, the same identifier can be used\nin get and set calls to tell the Cache instance to which manager to delegate the call.\n\n#### Refresh-Ahead\n\nThe Refresh-Ahead Cache strategy allows the developer to configure the cache to automatically and asynchronously reload (refresh) any recently available cache entry from the cache loader before it expires. As a result, after a frequently used entry entered the cache, the application will not sense the effect of reading on the potentially slow cache storage when the entry is reloaded due to expiration. An asynchronous update is launched only when accessing an object close enough to its expiration time — if the object is accessed after it has expired, Cache will perform a synchronous read from the cache storage to update its value.\n\nThe refresh ahead factor is expressed as a percentage of the record expiration time. For example, suppose that the expiration time for entries in the cache is set to 60 seconds, and refresh ahead factor is set to 0.5. If the cached object is accessed after 60 seconds, Cache will perform a synchronous read from the cache storage to update its value. However, if the request is made for a record that is older than 30, but less than 60 seconds, the current value in the cache is returned, and Cache plans an asynchronous reboot from the cache storage.\n\nAn advanced update is especially useful if objects are accessed by a large number of users. The values ​​in the cache remain fresh, and the delay that may result from an excessive reload from the cache storage is eliminated.\n\nBy default, RefreshAhead is already defined in Cache with default settings. However, you can override it. To do this, simply register `RefreshAheadManager` again\n\n```typescript\ncache.registerManager(RefreshAheadManager, null, {\n  refreshAheadFactor: 0.5,\n});\n```\n#### Read-Through\n\nWhen an application requests an entry in the cache, for example, the X key, and X is not yet in the cache, Cache will automatically call executor, which loads X from the underlying data source. If X exists in the data source, executor loads it, returns it to Cache, then Cache puts it in the cache for future use and finally returns X to the application code that requested it. This is called read-through caching. Advanced caching functionality (Refresh-Ahead) can further improve read performance (by reducing the estimated latency).\n\n```typescript\nimport Redis from 'ioredis';\nimport logger from './logger';\nimport Cache, { RedisStorageAdapter, ReadThroughManager } from 'cachalot'; // constructor adapter for redis\n\nconst redis = new Redis();\n\nexport const cache = new Cache({\n  adapter: new RedisStorageAdapter(redis),\n  logger,\n});\n\ncache.registerManager(ReadThroughManager);\n\n// ...\nconst x = await cache.get('something:id100', () => executor('hello', 'world'), {\n    tags: [cacheKey, 'something'],\n    manager: 'read-through',\n  },\n);\n```\n#### Write-Through\n\nWith Write-Through, get causes no validation logic for the cache, tags, and so on. A record is considered invalid only if it is not in the cache as such. In this strategy, when an application updates a portion of the data in the cache (that is, calls set (...) to change the cache entry), the operation will not complete (that is, set will not return) until the Cache has passed through the underlying database and successfully saved data to the underlying data source. This does not improve write performance at all, since you are still dealing with a delay in writing to the data source.\n\n#### Read-Through + Write-Through\n\nIt is also possible to combine different strategies, the most common option is Read-Through + Write-Through.\n\n```typescript\n// ...\nexport const cache = new Cache({\n  adapter: new RedisStorageAdapter(redisClient),\n  logger,\n});\n\ncache.registerManager(ReadThroughManager);\ncache.registerManager(WriteThroughManager);\n\n// creates permanent record\ncache.set('something:id100', 'hello', {\n  tags: ['something:id100', 'something'],\n  manager: WriteThroughManager.getName()\n});\n\n// gets the record\nconst x = await cache.get('something:id100', () => executor('hello', 'world'), {\n    tags: ['something:id100', 'something'],\n    manager: ReadThroughManager.getName(),\n  },\n);\n```\n## License\n\n```\nCopyright 2019 Tinkoff Bank\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","maintainers":[{"name":"drwatsno","email":"dmit8815@gmail.com"},{"name":"tinkoffbank","email":"npmjs@tinkoff.ru"}],"time":{"modified":"2022-06-13T05:23:05.097Z","created":"2014-12-26T06:53:15.848Z","0.0.0":"2014-12-26T06:53:15.848Z","1.0.0":"2019-03-17T11:04:52.735Z","1.0.1":"2019-03-18T08:31:12.644Z","1.1.0":"2019-05-28T13:40:38.053Z","1.1.1":"2019-07-08T12:53:32.697Z","1.1.2":"2019-10-06T11:34:44.335Z","1.2.0":"2020-01-23T14:57:19.926Z","1.2.1":"2020-01-23T17:03:34.049Z","1.3.0":"2020-01-27T16:15:57.388Z","1.3.1":"2020-01-28T13:13:38.305Z","1.4.0":"2020-01-29T12:20:53.844Z","1.5.0":"2020-02-04T13:58:09.657Z","1.5.1":"2020-02-12T08:51:38.639Z","1.6.0":"2020-02-14T15:07:30.478Z","2.0.0":"2020-03-17T11:07:46.682Z","3.0.0":"2020-05-08T14:40:55.706Z","3.0.1":"2020-05-08T18:54:29.124Z","3.0.3":"2020-06-24T16:37:37.838Z","3.1.0":"2020-08-01T19:11:09.153Z","3.1.1":"2020-11-17T14:34:50.966Z","3.2.0":"2021-06-10T00:49:01.075Z","3.3.0":"2021-12-29T07:33:50.355Z","3.3.1":"2022-04-04T07:41:24.671Z"},"keywords":["cache","redis","read-through","refresh-ahead"],"repository":{"type":"git","repository":"https://github.com/Tinkoff/cachalot.git"},"author":{"name":"Gajewski Dmitriy Yurevish","email":"d.y.gaevskiy@tinkoff.ru"},"license":"Apache-2.0","readmeFilename":"README.md"}