{"_id":"cachewrap","_rev":"1-af809362a6bb2a7c67fd3c99e37f9e4c","name":"cachewrap","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"cachewrap","version":"0.0.1","description":"cache the return of a function","main":"index.js","scripts":{"test":"node test/test.js"},"keywords":["cache"],"repository":{"type":"git","url":"git+ssh://git@github.com/jakobrosenberg/cachewrap.git"},"author":{"name":"jakobrosenberg@gmail.com"},"license":"MIT","prettier":{"singleQuote":true,"quoteProps":"as-needed","trailingComma":"all","bracketSpacing":true,"arrowParens":"avoid","semi":false,"useTabs":false,"tabWidth":4,"printWidth":90,"svelteSortOrder":"options-scripts-markup-styles","svelteAllowShorthand":true,"svelteBracketNewLine":false,"svelteIndentScriptAndStyle":true},"gitHead":"504a677ef494c9d4812cb9b3bf8a189b12568a62","bugs":{"url":"https://github.com/jakobrosenberg/cachewrap/issues"},"homepage":"https://github.com/jakobrosenberg/cachewrap#readme","_id":"cachewrap@0.0.1","_nodeVersion":"14.17.0","_npmVersion":"7.14.0","dist":{"integrity":"sha512-MumTMQ26KmLvWKnECZvoX+7tVGNOplDL4ls1z+xLkpZKCjuvv4t6QvrpqcsCAPfHoqerz0FEfWa6KXVHYylbJA==","shasum":"7a751a2df70934d5e9199642c28ce82882af07ec","tarball":"https://registry.npmjs.org/cachewrap/-/cachewrap-0.0.1.tgz","fileCount":5,"unpackedSize":74282,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzxVdCRA9TVsSAnZWagAAeaUP/jH2JTv/fdiUeYK8XLCb\nky9YAzklnhDxqUSkvTjTsPYIxGpvhp3A7gijzxvJagcfyf22A3/osYW9LZnB\nbt6gcqYcXZrq9bc8ffxpPAy4fdC14yQNONkZMTjWbBS/4sWHaHDt5hLO7ihu\n3Z7Ok9ydpSPgtks469vwIrysaLcbunk+Pf/rXmJbNlakR6uzvfXDU5+hRvlL\nOnm3KxPMbEp6pbP/YmVi6dGI0SVbqIkBbh2r9UWoEhkz9IPXYG6Jfpe9cayn\nF9+kq9s0JM6LdGZ7Ukdh0lGcJaAmWmCTBjPau4UDn09bqwnE1smnQdL9QF5Q\nKr89v5sDoEvQuy6saJMfcmcpepbOZdg/tr9aRuBsSvb88xtYUjmpoiV/M22v\nejL44FXBUYpGjMuJE/PCHZL0WEggteDufm8AROa31UmvHfyytdHIBZf5j0A5\nCX5GMY9BwaTkPahY/TXCTq/dOckqvHPvvqXvtD2lcpyG21MIfs5heXw4Cmeq\n90w73YwHwGFHFQ8lBKFCuAvWUdGqmjm+ex7bzcHuMvQ3IDSYa+j+smQUn9Et\n06EBRFckkS5iAIpnElKhIKxgUwIND0aBtBQ8jgvFzwTcEkkxP1U6Au+beALN\nDIa6apM50i0CGyvVfbXeUP+TYGIbtOGyEC6/+LUVt8erNtkOkSgL48iWhymI\nRBwR\r\n=P2Ei\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBo6B/CiUjsdZln5d7o48yZcYGsIDuzSx9j+jdsznDqgIgdjzEbR+eToFJdafuAtES5dQ9pnYIwzOsfmq60HoKKk0="}]},"_npmUser":{"name":"jakobrosenberg","email":"jakobrosenberg@gmail.com"},"directories":{},"maintainers":[{"name":"jakobrosenberg","email":"jakobrosenberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cachewrap_0.0.1_1624184156502_0.2140103831603284"},"_hasShrinkwrap":false}},"time":{"created":"2021-06-20T10:15:56.502Z","0.0.1":"2021-06-20T10:15:56.688Z","modified":"2022-04-12T05:00:26.357Z"},"maintainers":[{"name":"jakobrosenberg","email":"jakobrosenberg@gmail.com"}],"description":"cache the return of a function","homepage":"https://github.com/jakobrosenberg/cachewrap#readme","keywords":["cache"],"repository":{"type":"git","url":"git+ssh://git@github.com/jakobrosenberg/cachewrap.git"},"author":{"name":"jakobrosenberg@gmail.com"},"bugs":{"url":"https://github.com/jakobrosenberg/cachewrap/issues"},"license":"MIT","readme":"<div ALIGN=\"center\">\n  <img src=\"./logo.svg\" WIDTH=200>\n\n  # cachewrap\n</div>\n\n### cache the return of a function\n\n\n#### Install\n```\nnpm install cachewrap\n```\n\n#### Usage\n```javascript\nconst createCacheWrap = require('cachewrap')\n\nconst cacheWrap = createcacheWrap()\n\nfunction random(min, max) {\n  return Math.random() * (max - min) + min;\n}\n\nconst wrappedRandom = cacheWrap(random)\n\nwrappedRandom(10, 100) === wrappedRandom(10, 100) // true\n\n```\n\n##### Refreshing\nCached data can be refreshed by using the refresh prop\n```javascript\nwrappedRandom.refresh(10, 100) === wrappedRandom(10, 100) // true\nwrappedRandom(10, 100) === wrappedRandom.refresh(10, 100) // false\n```\n\n#### Cache hash\nBy default all function calls are hashed with `params.map(p => p.toString).join()`.\nContinuing the above example, the hash function can be overwritten as:\n```javascript\nconst cacheWrap = createCache(myCustomDefaultHasher)\n\nconst wrappedRandom = cacheWrap(random) // uses myCustomDefaultHasher\n\nconst wrappedRandom2 = cacheWrap(random, myCustomHasher) // uses myCustomHasher\n```\n\n\n<a href='https://www.freepik.com/free-photos-vectors/baby'>Baby vector created by catalyststuff - www.freepik.com</a>","readmeFilename":"README.md"}