{"_id":"@alanfilho184/kami-lru-cache","_rev":"3-75181a311c4bc2db4f9a70e1ba75e747","name":"@alanfilho184/kami-lru-cache","dist-tags":{"latest":"1.2.0"},"versions":{"1.1.1":{"name":"@alanfilho184/kami-lru-cache","version":"1.1.1","description":"Simple LRU-Cache, created for my personal projects","main":"dist/index.js","scripts":{"start":"npx tsc && node dist/index.js","build":"npx tsc","test":"jest --forceExit"},"keywords":["cache","memory","lru"],"author":{"name":"alanfilho184"},"license":"ISC","devDependencies":{"@babel/preset-typescript":"^7.18.6","@types/jest":"^28.1.5","@types/node":"^18.0.4","ts-jest":"^28.0.6","typescript":"^4.7.4"},"types":"./dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/alanfilho184/Kami-LRU-Cache.git"},"bugs":{"url":"https://github.com/alanfilho184/Kami-LRU-Cache/issues"},"homepage":"https://github.com/alanfilho184/Kami-LRU-Cache#readme","gitHead":"6a5b28b8d80b4102d2ddc6859e08af517518609b","_id":"@alanfilho184/kami-lru-cache@1.1.1","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-r9zb9pvMh4FGUfRpk1XGo1/UlhfmXIlei5j/4sydRi47bIS1vpaXrzTIYyJxREPTRjw7A84iKAeCG4qknEkbeQ==","shasum":"8df03e5340ffaa801e831da1ba3f412e7e0f2f91","tarball":"https://registry.npmjs.org/@alanfilho184/kami-lru-cache/-/kami-lru-cache-1.1.1.tgz","fileCount":12,"unpackedSize":25469,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE3LbvNEO9hefXMMdApdkPK2RImneZOgniYOhklFRu4iAiAOLzMaTSW9V+8FebfNecblt02gfhco7DUANS7MVxqryA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi3HT4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4TRAAgw/rJv8PSeaiFbWp8i8xfLI0nZARUp8ON7JdLIY6+OF0jALN\r\ndknub35Sqg86CwscWh1G29AM5qUDvcv5XlCiZEhgWCBS89cC8z8T/KDlYNHP\r\nTAeR0DRf7/OU4PVyuCBpSbBKw/oqq2qwYIltX/oJsJA96NTD1V8GQbDQfeJ1\r\nEAoBuNKyd5okcSkg3ayKjKzZj70iamn3seo/7GCzcOUKPUd4bIrsRoge8Pjp\r\nQv1HivHHLsyxhiIC6G3KBfwu6MfmN3i/053hjZjBnX2xRL3Bpwp+4XgZj6dL\r\nG98mvCzRUjytirAX4HO2jqVHzqdoV0R9AxGpY1XTIG9LMpzXpYPmpBgu4DG6\r\nGQBP295Z1xHL3HNGmViFrcZqAPoWHl8m+XQE1ekKlL8nnoHd8g0NCMW6DWAC\r\nNTgxrLbz8R4cscXZ7NRMb7eWv0m/d/fBQ2hhwx/JUk1ZZge9XNmMNcNpJh+N\r\nB/bKz5h3z/zaSczXQrglE/6TMgqM5hI5z1xjvtp/1JXqHUVUoT9JOgjsP8fz\r\nMOeuKpUQDvhtcBUkK6RwsA39MTRmhQ1DA6dSJqUalKnz8KIOw5A8wgF0eTfe\r\nb7wvHo6d9wcyXJFg3lWSww+9A6Mm3QvylNFZgrHc7lzJJIqJ/6HpakGC68CQ\r\nXArAxi1uh/IEnPyqll8F8jMt5VGjHSJuvxg=\r\n=0IKl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alanfilho184","email":"alan.filho@hotmail.com"},"directories":{},"maintainers":[{"name":"alanfilho184","email":"alan.filho@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kami-lru-cache_1.1.1_1658615032756_0.2959103695436889"},"_hasShrinkwrap":false},"1.1.2":{"name":"@alanfilho184/kami-lru-cache","version":"1.1.2","description":"Simple LRU-Cache, created for my personal projects","main":"dist/index.js","scripts":{"start":"npx tsc && node dist/index.js","build":"npx tsc","test":"jest --forceExit"},"keywords":["cache","memory","lru"],"author":{"name":"alanfilho184"},"license":"ISC","devDependencies":{"@babel/preset-typescript":"^7.18.6","@types/jest":"^28.1.5","@types/node":"^18.0.4","ts-jest":"^28.0.6","typescript":"^4.7.4"},"types":"./dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/alanfilho184/Kami-LRU-Cache.git"},"bugs":{"url":"https://github.com/alanfilho184/Kami-LRU-Cache/issues"},"homepage":"https://github.com/alanfilho184/Kami-LRU-Cache#readme","gitHead":"9da8d2df77cf8f8edb37f779f8dc526f5dc144d3","_id":"@alanfilho184/kami-lru-cache@1.1.2","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-dPhPRL5a0BX1lh25DXKZ+JKtJgorlGrxT5sAVWFnqH/d/w0xKHJBmXwvJ0PhuYpTgl5McVIkR6n4asNGLg9AGQ==","shasum":"1c2381ee591070a5a9ba7ff0044a996a9415c80a","tarball":"https://registry.npmjs.org/@alanfilho184/kami-lru-cache/-/kami-lru-cache-1.1.2.tgz","fileCount":9,"unpackedSize":12827,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHtDJIKoORK/5GyyMguG7aomGSbEOSHiJXZ5PN4NB/cvAiEA0/5Gj8nKHgXNn6iGhn9qcrfh71kooOW1kvxx86isXhE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi3HbbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrBAQ//dHqhmkvXKkDdQIrKJKEmhMvmTkAelZGj4UWoGhEvMYMcJ6qL\r\nuGnZgBN9/eCJy4nZtxfuUFN0AaOWGSHbXHOn0nzpwNB7wvwEQeQSnBPilTWM\r\naAvapE0VwG6fS8nD8U62hW0z+Z/l2J5mEocD3iNrIlMH/NZBpJq4cu30j1Q4\r\n8XaKnC3qw8T+9ADG2v8m9QAG9PdLM68NKGocO97EogLT50hTn1cLGQ3St6RI\r\nKdX9zroKBZsn3rIevLFeje57XwUS9dV0IUlCxjf45n2mDuoOEr1o6RFcVxB6\r\nvOm1hDGYELr/d74WNSRIYIq1Vt5ouKULTT2SUL31Dl7zKiVFhhxGG4FEThBf\r\nyT+VFOzApTEUrpi/IOa4FotaR5lwMIxZXJJiU4ueqsXACyca3W1TJegjv84j\r\nHoUQRq3k5sMf5e92G2Jm/Ek8ktq6PgywVMi6vDSdSFpIzAONpuivDF8JQN+F\r\nYQfbgwrpA5udi6BMXKehpqwYoAMz1Wxo3axNlz130xGsndPrsXSB+633nO9W\r\nYSU2xnmltVUQgENs0yGXyF0tCjYs6Bl1ei9llSqp1vRRKaMbzb0bK/jBiP1P\r\nAdXELQ5FtT/uqL2D6B2TPFgScUT729c7N0MjGBuqJjBc9iye39hnIaB/0IdY\r\nr6XFdNRFvbQ+RBIPn6hNTcj6FI47llPmksI=\r\n=3ire\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alanfilho184","email":"alan.filho@hotmail.com"},"directories":{},"maintainers":[{"name":"alanfilho184","email":"alan.filho@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kami-lru-cache_1.1.2_1658615514927_0.3590195635512725"},"_hasShrinkwrap":false},"1.1.3":{"name":"@alanfilho184/kami-lru-cache","version":"1.1.3","description":"Simple LRU-Cache, created for my personal projects","main":"dist/index.js","scripts":{"start":"npx tsc && node dist/index.js","build":"npx tsc","test":"jest --forceExit"},"keywords":["cache","memory","lru"],"author":{"name":"alanfilho184"},"license":"ISC","devDependencies":{"@babel/preset-typescript":"^7.18.6","@types/jest":"^28.1.5","@types/node":"^18.0.4","ts-jest":"^28.0.6","typescript":"^4.7.4"},"types":"./dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/alanfilho184/Kami-LRU-Cache.git"},"bugs":{"url":"https://github.com/alanfilho184/Kami-LRU-Cache/issues"},"homepage":"https://github.com/alanfilho184/Kami-LRU-Cache#readme","gitHead":"9da8d2df77cf8f8edb37f779f8dc526f5dc144d3","_id":"@alanfilho184/kami-lru-cache@1.1.3","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-+Bo3RfDhOh9MLRe4TyJ6MTE/TLQ1ugbVfpqj71CKorymR47vq1oUOjv0ftsCExoamBxbxgGmXZOvl6q0yQDvlQ==","shasum":"15e0dd1d144a6c1b3750ad60cfb4d8675a363f75","tarball":"https://registry.npmjs.org/@alanfilho184/kami-lru-cache/-/kami-lru-cache-1.1.3.tgz","fileCount":6,"unpackedSize":8223,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHM6qqWB/MvgySgeAu9Rgk1C4rkctB0szs5gfIFMTgFdAiB8dfQVlwzE0CbIUJOfe2Ttpx04porXFWsKQst8dcfzmQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi3HjGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrU+w/+LhexrrrHPad+t/oF/yKZ4pTgaIYJ3LRxFsCqYTA3d9iT4NUV\r\nC1kQaZovVsmzS0VeN954IhJHWU06uMb/c7Deze1vS8LNa0tOc6rYN+eC/RU0\r\n8ya0h6Kull/y4EWfYKrLyGO4Lq5QZuDxsPa1s4SV8MYZl+Rz3pnNqLtqtRih\r\ndii5EHlQLMQftUfQgNUjkxmUR5V/ExxrbjNXpEGm5apcRI25oxROgz4635ta\r\nBNF5XnIi6aACDKZk3LXNB2HTqaiFHghoNej1kj5dPcnSGe5B3ayh8oRy+LN/\r\nZ/8vV5Hdz/oXiyYd4Frg9X+MUezVN+8jtFcGqVjMyQ5pa8onn3cyyK+S1lGf\r\nfk9ui9RB8Czo+pMtuo4K49d7Gril5hgVfTa3w9EWrBEwBYaL5VzDzE0x2mGc\r\n8rs9K3EIs60V1yR9/b1z5dvlK/SxYwBpBchJn/i6qDdR1JooGQKkMc9nq5j5\r\ntHAyNJyB9tJTHp+Qyp4kQL8XwiWG9Nse8d8VIPIPlUxviGS45cr1A3VkUDUh\r\nzdk+sCSZQXHvJqbq568vJzXtktMJ4KHBVzF8hl4t7H/tU93pdcjnhBMRYjVI\r\n8TTth36RIiebn1kL+VDjEpgGc1B3kllcIromUlfhI5N+/6UR1+Nbya35vnyW\r\nVxsO4MCEJ2pT2dn4YjbkBMlHvfsBhil8rVA=\r\n=D0qZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alanfilho184","email":"alan.filho@hotmail.com"},"directories":{},"maintainers":[{"name":"alanfilho184","email":"alan.filho@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kami-lru-cache_1.1.3_1658616006146_0.33829348777593915"},"_hasShrinkwrap":false},"1.2.0":{"name":"@alanfilho184/kami-lru-cache","version":"1.2.0","description":"Simple LRU-Cache, created for my personal projects","main":"dist/index.js","scripts":{"start":"npx tsc && node dist/index.js","build":"npx tsc","test":"jest --forceExit","build-test":"npx tsc && jest --forceExit"},"keywords":["cache","memory","lru","autodelete","flexible","simple"],"author":{"name":"alanfilho184"},"license":"ISC","devDependencies":{"@babel/preset-typescript":"^7.18.6","@types/jest":"^28.1.5","@types/node":"^18.0.4","ts-jest":"^28.0.6","typescript":"^4.7.4"},"types":"./dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/alanfilho184/Kami-LRU-Cache.git"},"bugs":{"url":"https://github.com/alanfilho184/Kami-LRU-Cache/issues"},"homepage":"https://github.com/alanfilho184/Kami-LRU-Cache#readme","gitHead":"e9f226cb93c6cb809e8f71e55b32605cf0a5c0c6","_id":"@alanfilho184/kami-lru-cache@1.2.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Rpc8sKsKc53Rd9K8jByJjrrhcENpi4+Ej7AeQFhMrKOVIyR7wIg2aswxmNjrYEgUvp/Z0hpk4zuVmA+NOFR3/A==","shasum":"c9ff9ac55deb63c2a3fdb5c39f28a0fae1469aa7","tarball":"https://registry.npmjs.org/@alanfilho184/kami-lru-cache/-/kami-lru-cache-1.2.0.tgz","fileCount":6,"unpackedSize":13670,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHu884Vy7umqgtLthWTXHzTiFSWAHk+ztsafpcITU28AIgcP3CObbEjFglMffwkfS6oyK8R+eefN/6WTOpJASwOio="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi3avOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrKwRAAmHEpSNrWsm1cPPYXJ+6sh09lJxOJ4YR2/mZzTC94zZ643MJK\r\nF8l/4IhlwuyNoca+JsU6eRnotK4lzEiQd+LX2MhsiOXehS1ZlgxyeCvSLbUV\r\nk2eYACDnQGTLaepGNC0ZERjfSplZPkElI0R36OIUiYX2nn7l346b9yLOfJ3d\r\naBSNVEW86XbxZge4/4ttXaOJyqRoL3i+70JFs8gXenDmQNRPAbJHpmXAPIBO\r\nn0s9JmFsBSKMtOQo5/hJw/9Xu9XH0TDpefEGrX8r/mSajSYHe85afGv8/QXb\r\n/QVbIvWQncr9WMaTtafrfzsPX7SsZ+Job1XPHvRNO5r04LjbJDCMRuFbzlxK\r\nkgL4TsQsrPIbKGfjrYb2xhv+tJ3S0DONNl1K5UqvpfFqb7oinSrU2K2Xln7N\r\n/pYidQkpE+jpX84/63dJk/y5esktCXaqVDTVF9CsXHncRXs5mjQTrsZyHBaD\r\n4/QACYUvBv2oHDHf1LFRt9ii3gorQmgKXFEtrZdCiebYsSB727dB3YLduRTH\r\nv4YTsGV0mGvEtXoMsvFgnNFXXUAzDe/eUnxymwblH3oCxOxND5XGMXBsyxNm\r\nONWT1i77tRKLS7wNpeWiL6ZvdIRJew417AFX1MoN5hT/XZEgITvi04dAsB5b\r\narsH7RbbZ/plHl4Ry3fL9c96/tebrrLbx88=\r\n=gHmg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alanfilho184","email":"alan.filho@hotmail.com"},"directories":{},"maintainers":[{"name":"alanfilho184","email":"alan.filho@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kami-lru-cache_1.2.0_1658694606243_0.9518614150972675"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-23T22:23:52.700Z","1.1.1":"2022-07-23T22:23:52.950Z","modified":"2022-07-24T20:30:06.504Z","1.1.2":"2022-07-23T22:31:55.081Z","1.1.3":"2022-07-23T22:40:06.304Z","1.2.0":"2022-07-24T20:30:06.407Z"},"maintainers":[{"name":"alanfilho184","email":"alan.filho@hotmail.com"}],"description":"Simple LRU-Cache, created for my personal projects","homepage":"https://github.com/alanfilho184/Kami-LRU-Cache#readme","keywords":["cache","memory","lru","autodelete","flexible","simple"],"repository":{"type":"git","url":"git+https://github.com/alanfilho184/Kami-LRU-Cache.git"},"author":{"name":"alanfilho184"},"bugs":{"url":"https://github.com/alanfilho184/Kami-LRU-Cache/issues"},"license":"ISC","readme":"[![Tests CI](https://github.com/alanfilho184/Kami-LRU-Cache/actions/workflows/test.yml/badge.svg)](https://github.com/alanfilho184/Kami-LRU-Cache/actions/workflows/test.yml)\r\n\r\n\r\n# Kami-LRU-Cache\r\nEste pacote é uma simples implementação de um cache em memória que automaticamente apaga items salvos após um tempo pre-definido sem uso (LRU).\r\n\r\nFoi criado com a ideia de ser um modulo mais flexível e simples de se utilizar quando comparado com outras alternativas disponiveis atualmente, foi feito para ser utilizado em outros projetos meus (Kami e Kami-Site).\r\n# Utilização\r\n## Métodos\r\n### `.set(key: String, value: Any, maxAge: Number): true`\r\n### `.get(key: String): Any`\r\n### `.delete(key: String): true`\r\n### `.has(key: String): Boolean`\r\n### `.length(): Number`\r\n### `.clear(): true`\r\n&nbsp;\r\n## Propriedades\r\n### `.map: Map<String, JSON>`\r\n### `.maxAge: Number` *READ-ONLY*\r\n### `.updateAgeOnGet: Boolean` *READ-ONLY*\r\n### `.events: EventEmitter` *READ-ONLY*\r\n&nbsp;\r\n## Eventos\r\n### `.on('keyAutoDelete') => key: String`\r\n### `.on('keySet') => key: String`\r\n### `.on('keyUpdateAge') => (key: String, newAge: Number)`\r\n### `.on('keyGet') => key: String`\r\n### `.on('keyHas') => (key: String, has: Boolean)`\r\n### `.on('cacheLength') => length: Number`\r\n### `.on('cacheClear') => void`\r\n&nbsp;\r\n## Inicialização\r\n```js\r\nconst kami_cache = require(\"kami-lru-cache\").kami_cache\r\n\r\nconst config = {\r\n    maxAge: 600000, // Tempo máximo que o item pode permanecer no cache em milissegundos\r\n    updateAgeOnGet: true, // Se o tempo máximo do item será redefinido sempre que ele for utilizado\r\n    rateOfVerifyAgedKeys: 60000 // Tempo entre cada verficação de chaves que atingiram seu tempo máximo\r\n}\r\n\r\nconst cache = new kami_cache(config)\r\n```\r\n\r\n## Utilização\r\n### .set\r\n```js\r\nconst meuItem = {\r\n    atributo: \"valor\"\r\n}\r\n\r\nconst meuItemAdicionado = cache.set(\"MinhaChave\", meuItem, 300000)\r\n\r\n// meuItemAdicionado = true\r\n```\r\n\r\n### .get\r\n```js\r\nconst meuItem = cache.get(\"MinhaChave\")\r\n\r\n// meuItem = {\r\n//    atributo: \"valor\"\r\n// }\r\n```\r\n\r\n### .has\r\n```js\r\nconst meuItemNoCache = cache.has(\"MinhaChave\")\r\n\r\n// meuItemNoCache = true\r\n```\r\n\r\n### .length\r\n```js\r\nconst quantidadeDeItensNoCache = cache.length()\r\n\r\n// quantidadeDeItensNoCache = 1\r\n```\r\n\r\n### .delete\r\n```js\r\nconst meuItemApagado = cache.delete(\"MinhaChave\")\r\n\r\n// meuItemApagado = true\r\n```\r\n\r\n### .clear\r\n```js\r\nconst meuCacheVazio = cache.clear()\r\n\r\n// meuCacheVazio = true\r\n```\r\n\r\n## Eventos\r\n\r\n### keyAutoDelete\r\n```js\r\ncache.events.on(\"keyAutoDelete\", (key) => {\r\n    //To Do\r\n})\r\n```\r\n\r\n### keySet\r\n```js\r\ncache.events.on(\"keySet\", (key) => {\r\n    //To Do\r\n})\r\n```\r\n\r\n### keyUpdateAge\r\n```js\r\ncache.events.on(\"keyUpdateAge\", (key, newAge) => {\r\n    //To Do\r\n})\r\n```\r\n\r\n### keyGet\r\n```js\r\ncache.events.on(\"keyGet\", (key) => {\r\n    //To Do\r\n})\r\n```\r\n\r\n### keyDelete\r\n```js\r\ncache.events.on(\"keyDelete\", (key) => {\r\n    //To Do\r\n})\r\n```\r\n\r\n### keyHas\r\n```js\r\ncache.events.on(\"keyHas\", (key, has) => {\r\n    //To Do\r\n})\r\n```\r\n\r\n### cacheLength\r\n```js\r\ncache.events.on(\"cacheLength\", (length) => {\r\n    //To Do\r\n})\r\n```\r\n\r\n### cacheClear\r\n```js\r\ncache.events.on(\"cacheClear\", () => {\r\n    //To Do\r\n})\r\n```","readmeFilename":"README.md"}