{"_id":"@davidegheri/lru","_rev":"5-61a65c3e9412921d54f8ddaa99ff8d3c","name":"@davidegheri/lru","dist-tags":{"latest":"1.1.0","beta":"1.0.0-beta.0"},"versions":{"0.1.0":{"name":"@davidegheri/lru","version":"0.1.0","main":"dist/index.js","types":"dist/index.d.ts","license":"MIT","scripts":{"build:tsc":"tsc --emitDeclarationOnly","build":"rimraf dist && yarn build:tsc && rollup -c rollup.config.js","test":"jest","test:coveralls":"jest --coverage --coverageReporters=text-lcov | coveralls","lint":"tslint -p tsconfig.json -c tslint.json","preversion":"yarn lint && yarn test","version":"yarn build","postversion":"git push --follow-tags"},"devDependencies":{"@types/jest":"^24.0.13","coveralls":"^3.0.3","husky":"^2.3.0","jest":"^24.8.0","rimraf":"^2.6.3","rollup":"^1.12.4","rollup-plugin-typescript":"^1.0.1","rollup-plugin-uglify":"^6.0.2","ts-jest":"^24.0.2","tslint":"^5.16.0","typescript":"^3.4.5"},"husky":{"hooks":{"pre-commit":"yarn lint"}},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage"},"dependencies":{"benchmark":"^2.1.4","rollup-plugin-copy":"^2.0.1"},"gitHead":"5cc9aabf5a49e3047502b362fb9aac2cd73a29f8","description":"[![Greenkeeper badge](https://badges.greenkeeper.io/Davide-Gheri/lru.svg)](https://greenkeeper.io/) [![Build Status](https://travis-ci.com/Davide-Gheri/lru.svg?branch=master)](https://travis-ci.com/Davide-Gheri/lru) [![Coverage Status](https://coveralls.i","_id":"@davidegheri/lru@0.1.0","_npmVersion":"6.5.0","_nodeVersion":"10.13.0","_npmUser":{"name":"davide-gheri","email":"davide@davidegheri.com"},"dist":{"integrity":"sha512-R8U+4xAtkxhnfQDTWF2D0388HjqmYNoySkGOv0GJ6qi52SkmJjroUSrKOpkdsgB07YmM2S12AZg6bEK2NG3JYg==","shasum":"969d7c0397969ec7955470005e9d6534ed03780a","tarball":"https://registry.npmjs.org/@davidegheri/lru/-/lru-0.1.0.tgz","fileCount":16,"unpackedSize":178845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc6+HJCRA9TVsSAnZWagAA0vUP/380OZ6RdzHFTSeybMcB\nCJbkBZBj8MmsDiBARJaCeMWOlE4jGCprEf9H5u/vtKcpiC2tgTvacvvUUXbW\ncUeNbr2TXCe37FIis62v/QGH6D09zdD1MfopoSNUXjVeBkMEGxrwMm+TcPMA\nV4RR5H2Sd415UNk8DJEo7VPViYPeIlvhu2A42/UVxbcW1qBlSPxSaqGAxHmf\nID6RL4qTB2LLgCVcbLDGxZAjAmEFPfq/Chs91IOt2/lXjNnVpovc/rE+33S5\nA5j9VRfrki+EYBDcXUrh6DtTOvxdUgxCasviidhqjdiOK+9S6Di0op4yqKSl\nIR2O93rMP7PJFn9z4rJqhRuRVTAiJ1jd0sF9qThkmwTEnqkR46U31ftooEs8\n6re3iVPsWFZlafJ4TB+x+FYLd7uSdp1UjwoMDdzsYpompJB5Xad/3UOASYZH\ngKfb5QkcwfXpNPP0VPcY0AogLOibqYG1UMt5ntKtH5uS8Gmvw3e9Q6I59k4s\nOb54E54BPPp/3m/Z6ASJV+r3einG3ZghsMCbrWT/MDH5c4oAQu8eJgEX4i2m\nKHRXYb+ww31jVp1UyRG6HCTSYOuzP5lAjb/3rMLc8GsM9UyRYLs0uQbXk8wh\nK/gqsy64YCkDf6d2MUJPoCP6rU+euQG+ey/IgwGYmWc/F1Y9OSygDV4U4HOb\namM+\r\n=6a2N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/KSE4wuPJ30p7x7AU4CTTulWMAFv1aJSp1i1T+ukNDAIgQdHoGCblboixZEYOv7mXMRhoo4Qe5AePWfDGLAg9btk="}]},"maintainers":[{"name":"davide-gheri","email":"davide@davidegheri.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lru_0.1.0_1558962632995_0.17186949065387203"},"_hasShrinkwrap":false},"1.0.0-beta.0":{"name":"@davidegheri/lru","version":"1.0.0-beta.0","main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","license":"MIT","scripts":{"build:cjs":"tsc -p tsconfig.json","build:esm":"tsc -p tsconfig.esm.json","build":"rimraf dist && yarn build:cjs && yarn build:esm && rollup -c rollup.config.js","test":"jest","test:coveralls":"jest --coverage --coverageReporters=text-lcov | coveralls","lint":"tslint -p tsconfig.json -c tslint.json","preversion":"yarn lint && yarn test","version":"yarn build","postversion":"git push --follow-tags"},"devDependencies":{"@types/jest":"^24.0.13","coveralls":"^3.0.3","husky":"^3.0.0","jest":"^24.8.0","rimraf":"^2.6.3","rollup":"^1.16.2","rollup-plugin-typescript":"^1.0.1","rollup-plugin-uglify":"^6.0.2","ts-jest":"^24.0.2","tslint":"^5.16.0","typescript":"^3.4.5"},"husky":{"hooks":{"pre-commit":"yarn lint"}},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage"},"readme":"# @davidegheri/lru\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/Davide-Gheri/lru.svg)](https://greenkeeper.io/)\n[![Build Status](https://travis-ci.com/Davide-Gheri/lru.svg?branch=master)](https://travis-ci.com/Davide-Gheri/lru)\n[![Coverage Status](https://coveralls.io/repos/github/Davide-Gheri/lru/badge.svg?branch=master)](https://coveralls.io/github/Davide-Gheri/lru?branch=master)\n\nTiny Javascript Least Recently Used cache, for both Browsers and NodeJs.\nNo dependencies needed.\n\n## Installation\n```bash\nnpm install --save @davidegheri/lru\n# Or\nyarn add @davidegheri/lru\n```\n## Usage\n\n### Require the module\n```javascript\nconst lru = require('@davidegheri/lru');\n```\n### Or with imports\n```javascript\nimport lru from '@davidegheri/lru';\n```\n\n### Create a new cache instance\n```javascript\nconst maxEntries = 5; // Defaults 10\nconst cache = lru(maxEntries);\n```\n### Methods\n\n**get(key): any**\n\nRetrieve a cached element by its key. Moves the element as head of the cache.\n```javascript\ncache.get('key');\n```\n\n**set(key, value): Lru**\n\nAdd a new element to the cache if not already present. Moves the element as head of the cache  \n```javascript\ncache.set('key', 'fooBar');\n```\n\n**has(key): boolean**\n\nCheck if the given key exists, this not move the element as head of the cache\n```javascript\ncache.has('key1');\n````\n\n**delete(key): Lru**\n\nRemove a cached element by its key. Moves every other elements consequently\n```javascript\ncache.delete('key');\n```\n\n**reset(limit?: number): Lru**\n\nReset the cache, deletes all cached elements, optionally change the cache limit\n```javascript\ncache.reset();\n```\n\n### Properties\n\n**size: number**\n\nGet the number of cached elements\n```javascript\ncache.set('key1', 'foo');\ncache.set('key2', 'bar');\n\nconsole.log(cache.size) // 2\n```\n\n**head: any**\n\nGet the head element (last used or inserted)\n```javascript\ncache.set('key1', 'foo');\ncache.set('key2', 'bar');\n\nconsole.log(cache.head); // bar (key2)\nconsole.log(cache.get('key1')); // foo\nconsole.log(cache.head); // foo (key1)\n```\n\n**tail: any**\n\nGet the tail element (oldest used or inserted)\n```javascript\ncache.set('key1', 'foo');\ncache.set('key2', 'bar');\n\nconsole.log(cache.tail); // foo (key1)\nconsole.log(cache.get('key1')); // foo\nconsole.log(cache.tail); // bar (key2)\n```\n","readmeFilename":"README.md","gitHead":"de1f593cd6669ae19ec874be239909d2c7b00f9c","description":"[![Greenkeeper badge](https://badges.greenkeeper.io/Davide-Gheri/lru.svg)](https://greenkeeper.io/) [![Build Status](https://travis-ci.com/Davide-Gheri/lru.svg?branch=master)](https://travis-ci.com/Davide-Gheri/lru) [![Coverage Status](https://coveralls.i","_id":"@davidegheri/lru@1.0.0-beta.0","_nodeVersion":"10.13.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-PBTDDjwXbJ5zQj5x+cLcRPIASMtSnLFUCQCP8aTtrloP1LBqI0eR7lo/SFuBxuQCBDcKFlAJJ4V6h3MjBjETdQ==","shasum":"a2e65ee73fb2229eeaa8d0e25490a090c45fc05f","tarball":"https://registry.npmjs.org/@davidegheri/lru/-/lru-1.0.0-beta.0.tgz","fileCount":12,"unpackedSize":13402,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdPsjmCRA9TVsSAnZWagAAbBEP/ifYsdkVRWjP0hK0qYmI\nw2f15Vs9S0Wp2KLqRRIg5nvUDd6JbrmwhRva1i3sRjgQ6Agrmy4T5f2HmZaC\n8T62T/mOHhMKaf36bMusGsmUmQLeNOz86iuW9LAUkeyKD1tkFrI3CNFIqpIp\ntjwfRoQiXpAisQMOlYFG3cKClFwBSt/HE7xZRlDOZAIyffRXTUqOz01tDyUJ\nS66jjvhmdHWyJRNQjdiuz6d1TVIMcOhwbgoJFt6VhMeNU+FX6uohRamsg7TA\n68XJBan+6O9R7ELC/3gPdMeZG+Hbx+hN9Ll5SLdZ7x4ssWIYrD5ejOHHDgJ6\noDAWweJokP7ynDTJr7kOcSKQJ7m9gKpaKemOP9IknEkzep141amL0t+kC8ME\n+0244GwXOX5hYhzGfKFOm8DoU++cK4TVQQ1BxjYz2kChE5z3EUy7tMMfp2er\nNx+CvStQN7JorS4oA98UvpF3AEnELV9oxaAv7QbrQ8fpNTltakoSahcdf7Tc\n/D/AFfOvxUWIOdaGetcvVMJogte9pmuJzIsy7tOHBdSkADIMujTEQdurQ1c8\nmevE/72sibsXmetzi0cvCVfM5jsOwpsRqaYrw0TBDGeM76vCRKF1ICaurcHt\ntO+IwYakna6UMjgbIfX9vebvv2z/rtjMashxWQRBvOryzeKuF8CZECniDCwh\ngHhr\r\n=MZeo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCImELtcqQFfj5FHaUhQ+mAj5j1431kCS+Jj4ZMkz0NJAIgCRLtu1Dmc8JAox7aHNY3J3PKv9JoHM5hZL4URZ2lYqY="}]},"maintainers":[{"name":"davide-gheri","email":"davide@davidegheri.com"}],"_npmUser":{"name":"davide-gheri","email":"davide@davidegheri.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lru_1.0.0-beta.0_1564395750002_0.508853499208342"},"_hasShrinkwrap":false},"1.0.0":{"name":"@davidegheri/lru","version":"1.0.0","main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","author":{"name":"Davide Gheri","email":"davide@davidegheri.com"},"bugs":{"url":"https://github.com/Davide-Gheri/lru/issues"},"homepage":"https://github.com/Davide-Gheri/gm-palette#readme","license":"MIT","scripts":{"build:cjs":"tsc -p tsconfig.json","build:esm":"tsc -p tsconfig.esm.json","build":"rimraf dist && yarn build:cjs && yarn build:esm && rollup -c rollup.config.js","test":"jest","test:coveralls":"jest --coverage --coverageReporters=text-lcov | coveralls","lint":"tslint -p tsconfig.json -c tslint.json","preversion":"yarn lint && yarn test","version":"yarn build","postversion":"git push --follow-tags"},"devDependencies":{"@types/jest":"^24.0.13","coveralls":"^3.0.3","husky":"^3.0.0","jest":"^24.8.0","rimraf":"^2.6.3","rollup":"^1.16.2","rollup-plugin-typescript":"^1.0.1","rollup-plugin-uglify":"^6.0.2","ts-jest":"^24.0.2","tslint":"^5.16.0","typescript":"^3.4.5"},"husky":{"hooks":{"pre-commit":"yarn lint"}},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage"},"gitHead":"b2d83812ce1fb8cbc5856db8d90124ac5c090ea3","description":"[![Greenkeeper badge](https://badges.greenkeeper.io/Davide-Gheri/lru.svg)](https://greenkeeper.io/) [![Build Status](https://travis-ci.com/Davide-Gheri/lru.svg?branch=master)](https://travis-ci.com/Davide-Gheri/lru) [![Coverage Status](https://coveralls.i","_id":"@davidegheri/lru@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"davide-gheri","email":"davide@davidegheri.com"},"dist":{"integrity":"sha512-3TBXzEKdbXCxc792UoKB3ZGtA/Xw85uNNVBdNbtHTI4Fyme9QFYixv5d8eC5pRzjhGlTGL3/5+EYS1hQAWrqwA==","shasum":"5fc755d01e82454a3cbbb6c0edff15c8d2519d8a","tarball":"https://registry.npmjs.org/@davidegheri/lru/-/lru-1.0.0.tgz","fileCount":12,"unpackedSize":13588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdPuxlCRA9TVsSAnZWagAAp2cP/0GdzlObmojSj5VEyCEy\n1fIl1Tgjvx75Z8ERczzyeSlGy+A12r+9Yw5DVNsjtOifYgMCyBXnmqcIS71t\n1BcqT0in6w6G3FWfFoFd/FXB65SeURqWMcheR0JuIwm9QzFg3DF/6zr1flsb\noz60qk1TQUp0t5EZNsC5dINbaou1ZQ1FzsVneuaUvJdjYQnzp5kEDbAmQppx\njzMx0uhrqo0A5gRwSZeGW+1xFZ0q1uPIimCI0jb8kLyNxLmKxrG0+dBL0yoo\nQn4vqDRBmHQI3mlhH2k3xRVZqefeZgV5C8fGt10x+vT5+4ovgRGWWEdVI0Dd\nMdBhFUpqb8Nzo2l3UkwMy+KGTpvJ9eaGOyKg75o91etjV7yreBsHhhAmBp95\nObH3kDcKExLv/bi+V3vCN8jCwv8zr05c/TBn4hn0iDZjUipM6rnnGvCXY0qe\nPhW3lWbTIXrxwSn/i6KomdOaVgkJg2Z7djtzBP3+YNAOvPcpardEJl/L+E7O\nvtRCgbUp1OOJJjRDMdxhJaKr+vJbfrJH2tU3TCTY5LB4u9Lge+J5LlToRH4J\nlFr7Zoi6/os1uFkcv6Com8j7KFV0mWv131VulAY7OgO7Ch0zm+TESr867xRx\neIqUyBykCg6PuLVtusDqFfhIXbpSFoW3Igjh+tMuttqm4Briz1FNiW4bL6Ol\nQYqj\r\n=s1Hz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKeyw3UZMV+9VdE3JSSiq8dR04GgyhZaSGBuB8PyYcSAIgA3Ojq3IjFy6aUB8z9kOBDDzTuw0d2X5WHcl+y2FcglU="}]},"maintainers":[{"name":"davide-gheri","email":"davide@davidegheri.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lru_1.0.0_1564404837285_0.12273020533257362"},"_hasShrinkwrap":false},"1.0.1":{"name":"@davidegheri/lru","version":"1.0.1","main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","jsnext:main":"dist/esm/index.js","author":{"name":"Davide Gheri","email":"davide@davidegheri.com"},"bugs":{"url":"https://github.com/Davide-Gheri/lru/issues"},"homepage":"https://github.com/Davide-Gheri/gm-palette#readme","license":"MIT","scripts":{"build:cjs":"tsc -p tsconfig.json","build:esm":"tsc -p tsconfig.esm.json","build":"rimraf dist && yarn build:cjs && yarn build:esm && rollup -c rollup.config.js","test":"jest","test:coveralls":"jest --coverage --coverageReporters=text-lcov | coveralls","lint":"tslint -p tsconfig.json -c tslint.json","preversion":"yarn lint && yarn test","version":"yarn build","postversion":"git push --follow-tags"},"devDependencies":{"@types/jest":"^24.0.13","coveralls":"^3.0.3","husky":"^3.0.0","jest":"^24.8.0","rimraf":"^2.6.3","rollup":"^1.16.2","rollup-plugin-typescript":"^1.0.1","rollup-plugin-uglify":"^6.0.2","ts-jest":"^24.0.2","tslint":"^5.16.0","typescript":"^3.4.5"},"husky":{"hooks":{"pre-commit":"yarn lint"}},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage"},"gitHead":"66a2d3921031daad6278a4306c119242354e3995","description":"[![Greenkeeper badge](https://badges.greenkeeper.io/Davide-Gheri/lru.svg)](https://greenkeeper.io/) [![Build Status](https://travis-ci.com/Davide-Gheri/lru.svg?branch=master)](https://travis-ci.com/Davide-Gheri/lru) [![Coverage Status](https://coveralls.i","_id":"@davidegheri/lru@1.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"davide-gheri","email":"davide@davidegheri.com"},"dist":{"integrity":"sha512-4d1Yw0B6Ek5N+dJG2kMSyF2kQpC3arD0lAQhzpu7QkUMsCo3ICRohOpb6y65LTDCJwx3gN3NtY6rV7H0I77PHg==","shasum":"5da999043f6af33e27f2941e437938bad58d15d7","tarball":"https://registry.npmjs.org/@davidegheri/lru/-/lru-1.0.1.tgz","fileCount":12,"unpackedSize":13626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdPvwrCRA9TVsSAnZWagAAnU0QAJjEP36Bj9qWlCcSUW1v\ndby6m3GO1VC1g9s8Njyb/zgwN09aMDyyFkV6dBnH6PmWNt9pm2Z42GM+UQG3\nqoby7Ed1LqBbP5T0zbWvyM2PsD/EaaZY4ocNi9O354Rpz5lp5y130c74JoZj\n0ZcywPkIglhZ4Q+rywNXiNkW2hFmfRksh+kmCc+1F/MNuEuoozIKEkHlfIlD\ndA1DU7bQw/Go8F1bgwO5nhdJQRhG51FSkKoWHXQ0HHN25NM4it4rGpQuMjs8\nsOra6H2rAHQRE/rRsgR3V81na1x59hbLjO7Ij32+0h664hHer20cXB8bFvzc\nHUD9nVjCAyGCAFvJC4BEK491lMlBWnyIf7q8WTEm39Dc088Zyicq+dzxz1Wi\nhg3aG+k9/G7KfeCrVEwEU53DVnR9F8akTPzsZXU3cmi0H4ICJZNe37EI+yAk\npwpijVwHxl4ymPLSmFN9fd3yMBmp2EOAm8cbkMZ/hV9t+O5eMRJt/3azXqST\n4jMrbgwB/doTDvOrm982BjvhaVjDmDLH6g3cNfKsKi6h24ITC+vii0nMgvrR\n43cAz7pmDB/fQ4U14hacutEhKyaovt2tYpSwvRXrlUd5+/QjzpltYWbe/QfY\nDpt7uYJzIKgqdXlRMihXTe95aJnFfDFeLLXaOim2s3CnPNfNNQxSc+Bwy0HL\ntG/S\r\n=pr4A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDw9Q9SRgwMs5/IHa6PuQI+SaeoPq/NgsjvZPhp+F4TJAiBb3Hddh5qk83Rbvho4lrhmtwUwGyljg5G0wcKIE5XDKA=="}]},"maintainers":[{"name":"davide-gheri","email":"davide@davidegheri.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lru_1.0.1_1564408874641_0.3797371489044339"},"_hasShrinkwrap":false},"1.1.0":{"name":"@davidegheri/lru","version":"1.1.0","main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","jsnext:main":"dist/esm/index.js","author":{"name":"Davide Gheri","email":"davide@davidegheri.com"},"bugs":{"url":"https://github.com/Davide-Gheri/lru/issues"},"homepage":"https://github.com/Davide-Gheri/gm-palette#readme","license":"MIT","scripts":{"build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build":"rimraf dist && yarn build:cjs && yarn build:esm && rollup -c rollup.config.js","test":"jest","test:coveralls":"jest --coverage --coverageReporters=text-lcov | coveralls","lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","preversion":"yarn lint && yarn test","version":"yarn build","postversion":"git push --follow-tags"},"devDependencies":{"@rollup/plugin-typescript":"^6.0.0","@types/jest":"^26.0.15","@typescript-eslint/eslint-plugin":"^4.5.0","@typescript-eslint/parser":"^4.5.0","coveralls":"^3.1.0","eslint":"^7.11.0","eslint-config-prettier":"^6.13.0","eslint-plugin-prettier":"^3.1.4","husky":"^4.3.0","jest":"^26.6.0","rimraf":"^3.0.2","rollup":"^2.32.1","rollup-plugin-typescript":"^1.0.1","rollup-plugin-uglify":"^6.0.4","ts-jest":"^26.4.1","typescript":"^4.0.3"},"husky":{"hooks":{"pre-commit":"yarn lint"}},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".spec.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"coverageDirectory":"../coverage"},"gitHead":"15e779108f210afbce2b9ef26301c1250a1b7cc7","description":"[![Greenkeeper badge](https://badges.greenkeeper.io/Davide-Gheri/lru.svg)](https://greenkeeper.io/) [![Build Status](https://travis-ci.com/Davide-Gheri/lru.svg?branch=master)](https://travis-ci.com/Davide-Gheri/lru) [![Coverage Status](https://coveralls.i","_id":"@davidegheri/lru@1.1.0","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-+03HqoQ6SBnPGUCbciO98kcSgNXLLJB6zk8Xv+gInBKuC0fTRZHvmhhY6jJCsQWiDP+CCX8V+dVwsaOy7pNWSQ==","shasum":"e9b61b59352e0109ab00e7a53cdae6b470a51897","tarball":"https://registry.npmjs.org/@davidegheri/lru/-/lru-1.1.0.tgz","fileCount":12,"unpackedSize":14364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkD1RCRA9TVsSAnZWagAA35cQAIJUI6pl/LzrhwLoPiss\n5PQ20Ib/akhnkuXOgTQI0uGdYe3Q6FWUlJBzFVw5Rw2sK0WiugK2MEorXh5Y\nB4LqmIlNxPl/SzKOrSx8h0ocOR4/KoSZdSE7q1FMWJDIO8anWhc79jublF0J\niIawgLusqxTZ3s/MmlmpKx5dWdnSBdLQx7ZrBNWItt37wTYjo5vxDZX/Om+m\nNfcLHLP290pOszG7w1FqxAHjKRn6NufNQ1064DxAtdiQKUTTYsIxjhTNZ+pI\nw1KtrAUO5n+0RSNZpGBrMc+AVnPG2f7wW6dsyR7baiFqdhi+SaK0O6w69IZq\nS2WQa/yaxBsmb+MkAXGGncQpD9CeBjdPe490CXHsOyF6IHXXimBSpUNE+kyQ\nzc694Hgfu5WkbaYbX/jYG3EhuMUGVN4hW0Ry/QfxyqM56pxIxQAgatYdvbHf\nywRZ5O7RAb5TdITfK8re+BPZFR/DuB+QLI225Jo8sdLR2+zeepvfYdX1pnS/\njWvNwYbQGYMJfvDScnU6J4k+rV5QiJk4jolVmexHsTcEmrh3Onq0WDhU1KPl\nf+Ae+F9aZC3Fvjlyb9MSSACCqoCyE14oi0SEbjbWOcv/SG4r3d96XnnCwed3\nFVMSTOYM7ddve+ziEbBdSRwc5xkLwtrWkvVkQNwFVwxRcYHTcVrJNBkaKbTC\ni573\r\n=RLol\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICIrgOfqi7l6ZMIm/y0bUQXTlhLXK4MumUot4Ul79IHoAiAclz/r0vlg1KPgbPy34WydKwt+hfGBsdKBHEJBTgqWmg=="}]},"maintainers":[{"name":"davide-gheri","email":"davide@davidegheri.com"}],"_npmUser":{"name":"davide-gheri","email":"davide@davidegheri.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lru_1.1.0_1603288401303_0.22031983669109012"},"_hasShrinkwrap":false}},"time":{"created":"2019-05-27T13:10:32.951Z","0.1.0":"2019-05-27T13:10:33.099Z","modified":"2022-04-05T03:05:46.943Z","1.0.0-beta.0":"2019-07-29T10:22:30.111Z","1.0.0":"2019-07-29T12:53:57.425Z","1.0.1":"2019-07-29T14:01:14.764Z","1.1.0":"2020-10-21T13:53:21.424Z"},"maintainers":[{"name":"davide-gheri","email":"davide@davidegheri.com"}],"description":"[![Greenkeeper badge](https://badges.greenkeeper.io/Davide-Gheri/lru.svg)](https://greenkeeper.io/) [![Build Status](https://travis-ci.com/Davide-Gheri/lru.svg?branch=master)](https://travis-ci.com/Davide-Gheri/lru) [![Coverage Status](https://coveralls.i","license":"MIT","readme":"# @davidegheri/lru\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/Davide-Gheri/lru.svg)](https://greenkeeper.io/)\n[![Build Status](https://travis-ci.com/Davide-Gheri/lru.svg?branch=master)](https://travis-ci.com/Davide-Gheri/lru)\n[![Coverage Status](https://coveralls.io/repos/github/Davide-Gheri/lru/badge.svg?branch=master)](https://coveralls.io/github/Davide-Gheri/lru?branch=master)\n\nTiny Javascript Least Recently Used cache, for both Browsers and NodeJs.\nNo dependencies needed.\n\n## Installation\n```bash\nnpm install --save @davidegheri/lru\n# Or\nyarn add @davidegheri/lru\n```\n## Usage\n\n### Require the module\n```javascript\nconst lru = require('@davidegheri/lru');\n```\n### Or with imports\n```javascript\nimport lru from '@davidegheri/lru';\n```\n\n### Create a new cache instance\n```javascript\nconst maxEntries = 5; // Defaults 10\nconst cache = lru(maxEntries);\n```\n### Methods\n\n**get(key): any**\n\nRetrieve a cached element by its key. Moves the element as head of the cache.\n```javascript\ncache.get('key');\n```\n\n**set(key, value): Lru**\n\nAdd a new element to the cache if not already present. Moves the element as head of the cache  \n```javascript\ncache.set('key', 'fooBar');\n```\n\n**has(key): boolean**\n\nCheck if the given key exists, this not move the element as head of the cache\n```javascript\ncache.has('key1');\n````\n\n**delete(key): Lru**\n\nRemove a cached element by its key. Moves every other elements consequently\n```javascript\ncache.delete('key');\n```\n\n**reset(limit?: number): Lru**\n\nReset the cache, deletes all cached elements, optionally change the cache limit\n```javascript\ncache.reset();\n```\n\n### Properties\n\n**size: number**\n\nGet the number of cached elements\n```javascript\ncache.set('key1', 'foo');\ncache.set('key2', 'bar');\n\nconsole.log(cache.size) // 2\n```\n\n**head: any**\n\nGet the head element (last used or inserted)\n```javascript\ncache.set('key1', 'foo');\ncache.set('key2', 'bar');\n\nconsole.log(cache.head); // bar (key2)\nconsole.log(cache.get('key1')); // foo\nconsole.log(cache.head); // foo (key1)\n```\n\n**tail: any**\n\nGet the tail element (oldest used or inserted)\n```javascript\ncache.set('key1', 'foo');\ncache.set('key2', 'bar');\n\nconsole.log(cache.tail); // foo (key1)\nconsole.log(cache.get('key1')); // foo\nconsole.log(cache.tail); // bar (key2)\n```\n","readmeFilename":"README.md","homepage":"https://github.com/Davide-Gheri/gm-palette#readme","author":{"name":"Davide Gheri","email":"davide@davidegheri.com"},"bugs":{"url":"https://github.com/Davide-Gheri/lru/issues"}}