{"_id":"memoized-node-fetch","_rev":"9-6c336ca97cbb17b064f13ec3817d4585","name":"memoized-node-fetch","dist-tags":{"latest":"1.1.5"},"versions":{"1.0.0":{"name":"memoized-node-fetch","version":"1.0.0","main":"build/index.js","types":"build/index.d.ts","description":"A wrapper around node-fetch that caches the request's promise before resolving.","author":{"name":"Christos Panagiotakopoulos","email":"chrispanag@gmail.com"},"repository":{"type":"git","url":"git://github.com/chrispanag/memoized-node-fetch.git"},"publishConfig":{"access":"public"},"license":"MIT","keywords":["node-fetch","fetch","cache","promise","nodejs","memoized","memoized-fetch"],"scripts":{"build":"npx tsc","test":"ts-mocha  tests/**/*.spec.ts","gen:docs":"npx typedoc --out docs --exclude src/tests* --includeVersion src/index.ts","prepublish":"yarn run build","prettier:base":"npx prettier --config ../../.prettierrc","prettier:check":"yarn run prettier:base -- --list-different \"src/**/*.{ts}\"","prettier:write":"yarn run prettier:base -- --write \"src/**/*.{ts}\""},"devDependencies":{"@types/chai":"^4.2.12","@types/mocha":"^8.0.3","chai":"^4.2.0","mocha":"^8.1.3","prettier":"^2.1.2","ts-mocha":"^7.0.0","tslint":"^6.1.3","typedoc":"^0.17.0-3","typescript":"^4.0.2"},"dependencies":{"@types/node-fetch":"^2.5.7","node-fetch":"^2.6.1"},"engines":{"node":">=8.9.0"},"licenseText":"(The MIT License)\n\nCopyright (c) 2020 Christos Panagiotakopoulos\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","_id":"memoized-node-fetch@1.0.0","dist":{"shasum":"f440ad165ee1e9528026192ee65b1c60d1c6d290","integrity":"sha512-QnDFNGViSI7+C8X1zXYPgcu3Pxaf/yJy3K29UJSLw266P/vx7LXlHrtjVdtLtR0wCj/pgj8bNKpIl7wT+57K2A==","tarball":"https://registry.npmjs.org/memoized-node-fetch/-/memoized-node-fetch-1.0.0.tgz","fileCount":9,"unpackedSize":7895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfb1o3CRA9TVsSAnZWagAATcAQAIxrLIInp6T0sYGKBKgu\nUKd0UthkSyQbLMZ6B0bSb2LGT+xfFYowgjHIF+qxcszDT9+aaJTDTUMzNw9Q\nzkaVKBZrjcztc3p8ne3se+teE4dVZm7n+UhJRvm/jN41zQxx9IWBqO5RzexC\naxmdfLX5VpplyOtvuUYhFjayQGgBtc3qqK9EX9bKmykYIA7xLjiZFQXnajhn\nW5dAyJA3yEHs4Xa/Ejd7lO3bosHY2qgCLvCVhTbEmb4oy66pr15P7YDf5SQM\nzwq8/rl23WM17aniFyaRAVIny7HjkcO5KVNQMA84pNRQoGUeHkBjSY/1yguZ\nxI1A7TEc5i0UgbrUbF5IFyfoM9yuDjUIjk9QtkbS2LIIF2U0aOK4Cp/RnS3I\nKZbWNH3RTgC6NxzH5cdUAJhJn366WBJso1rkILIfmXIFuvlxG0WqYdqlGzx3\n/g7h8A9fC9FkqGYegA8wbyL62yajOVQImrDbcfMisa1QwZUxIEqOMJCdlSDA\nexXMp2fspU4C1q4cajsc8RohJ548ya4/HDN/sCmiGFhP8WNbMypkcRhTsGwp\n/ko2+5Oogr3H6YWEMYK31cOtGOzH5ANnrolND7JQvj9r7vrv0rNfLnTvGx2G\nKm3FCq46boxlrLH9ILwJhuJ3gh2k/TZvJqiY2nL3Ydk5WCEtM2HBAJjdzZ6b\nawPl\r\n=zkiX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBixF5nzsqiS/hXNHDECRRlFzoWU/GWrdGwUgOpdHmv8AiEA+f+6I+cdOBKZU5E8ADN6U/cGbR1r6zoy1ecGz8xHGg4="}]},"maintainers":[{"name":"chrispanag","email":"chrispanag@gmail.com"}],"_npmUser":{"name":"chrispanag","email":"chrispanag@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/memoized-node-fetch_1.0.0_1601133110784_0.06416386227097126"},"_hasShrinkwrap":false},"1.0.1":{"name":"memoized-node-fetch","version":"1.0.1","main":"build/index.js","types":"build/index.d.ts","description":"A wrapper around node-fetch that caches the request's promise before resolving.","author":{"name":"Christos Panagiotakopoulos","email":"chrispanag@gmail.com"},"website":"https://chrispanag.github.io/memoized-node-fetch/","repository":{"type":"git","url":"git://github.com/chrispanag/memoized-node-fetch.git"},"publishConfig":{"access":"public"},"license":"MIT","keywords":["node-fetch","fetch","cache","promise","nodejs","memoized","memoized-fetch"],"scripts":{"build":"npx tsc","test":"ts-mocha  tests/**/*.spec.ts","gen:docs":"npx typedoc --module library --out docs --exclude src/tests* --includeVersion src/index.ts","prepublish":"yarn run build","prettier:base":"npx prettier","prettier:check":"yarn run prettier:base --list-different '{src,tests}/**/*.{ts,spec.ts}'","prettier:write":"yarn run prettier:base --write '{src,tests}/**/*.{ts,spec.ts}'"},"devDependencies":{"@types/chai":"^4.2.12","@types/mocha":"^8.0.3","chai":"^4.2.0","mocha":"^8.1.3","prettier":"^2.1.2","ts-mocha":"^7.0.0","tslint":"^6.1.3","typedoc":"^0.17.0-3","typescript":"^4.0.2"},"dependencies":{"@types/node-fetch":"^2.5.7","node-fetch":"^2.6.1"},"engines":{"node":">=8.9.0"},"licenseText":"(The MIT License)\n\nCopyright (c) 2020 Christos Panagiotakopoulos\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","_id":"memoized-node-fetch@1.0.1","dist":{"shasum":"fcad4fc1b22959277c40e40faab2ae2bf0836e66","integrity":"sha512-zIYyh0/uc7r3hZNAJxHgdP1ckkfBiq83Uzrs2LgpXHTOcFDLqGMpQS+fl3J5PVOOs+KWT9ySM0yBmvMir+IaFQ==","tarball":"https://registry.npmjs.org/memoized-node-fetch/-/memoized-node-fetch-1.0.1.tgz","fileCount":13,"unpackedSize":9618,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcdMxCRA9TVsSAnZWagAAv3kP/ieNzdU+XD2bs7OQfTiU\nzzrc637cRfpIBky3q3VbOfT+oQJvVM7uOO19U1Agv713Egntnhl8Zas0vpB+\noM3ZEEx5XxeL/1rDdRIrrZPwOGtZZQlxhQz4CTIkDkZpPusa8KntdeHDsg7O\nq4lwqpi+hevHlPe2SN8RsvtV7AB8BEY0dhGP1TtmLA3GdSVMKKhJmIeW5qnh\nGo6ILkXwQHVt+w32U3EWfLJDEMiHAjX63/kMws76GMfeqhmkCMZ/fBUbv2PX\nm17/kTx036lqY8+calSvnOIqBmXSYm4wr+y90S8iB0Ld5XHcbIS8E7d8p81K\no7JY2Nl8mJ/Cwwn6X1QZXhu7nl+S8D27UGlctkQC8Vyan/ertm4p6TM1vEgA\nebi2N3ljDP7qnYpDtt1vLC37nZOHNkFzZqNTOsW8NN0Zu62byEMAY6k2n4f0\nCzxp2ghix9s3nJZyx71Nxa0zW4f0/fiD9KREQjUVth0PUCslYP2ZdZ+C8Ym/\nIu8uzDopneDSFaDpfgsY2ey+iRr3lI0ceKmUla7WPMxOjluH/paszPWQ5Vsw\nDdho7r3jJIYkPVmuy8oHsff8M1anPsi+zCC7frHPEKjoLc93JjXGRkQitqnl\nr8NxZ1Waxwc31af/dmNDX41k2b+Ynyi4s//ETyfVYTMu2IS+vWVoUvzMP2/b\nYO8n\r\n=chwX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBbAW7sS8OZAkZk5mjQ40KeY9TOJMhCfh+oiD2kyhas+AiBLV3uTJpHh0tt5UXtEGhX47jHKdz3EYAzTCm78qFH4SA=="}]},"maintainers":[{"name":"chrispanag","email":"chrispanag@gmail.com"}],"_npmUser":{"name":"chrispanag","email":"chrispanag@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/memoized-node-fetch_1.0.1_1601295153322_0.08742036988500246"},"_hasShrinkwrap":false},"1.0.2":{"name":"memoized-node-fetch","version":"1.0.2","main":"build/index.js","types":"build/index.d.ts","description":"A wrapper around node-fetch that caches the request's promise before resolving.","author":{"name":"Christos Panagiotakopoulos","email":"chrispanag@gmail.com"},"website":"https://chrispanag.github.io/memoized-node-fetch/","repository":{"type":"git","url":"git://github.com/chrispanag/memoized-node-fetch.git"},"publishConfig":{"access":"public"},"license":"MIT","keywords":["node-fetch","fetch","cache","promise","nodejs","memoized","memoized-fetch"],"scripts":{"build":"npx tsc","test":"ts-mocha  tests/**/*.spec.ts","gen:docs":"npx typedoc --mode library --out docs --includeVersion --excludeNotExported true --inputFiles src/index.ts","prepublish":"yarn run build","prettier:base":"npx prettier","prettier:check":"yarn run prettier:base --list-different '{src,tests}/**/*.{ts,spec.ts}'","prettier:write":"yarn run prettier:base --write '{src,tests}/**/*.{ts,spec.ts}'"},"devDependencies":{"@types/chai":"^4.2.12","@types/mocha":"^8.0.3","chai":"^4.2.0","mocha":"^8.1.3","prettier":"^2.1.2","ts-mocha":"^7.0.0","tslint":"^6.1.3","typedoc":"^0.17.0-3","typescript":"^4.0.2"},"dependencies":{"@types/node-fetch":"^2.5.7","node-fetch":"^2.6.1"},"engines":{"node":">=8.9.0"},"licenseText":"(The MIT License)\n\nCopyright (c) 2020 Christos Panagiotakopoulos\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","_id":"memoized-node-fetch@1.0.2","dist":{"shasum":"2afa8f90d71803afb09cebf14c8c4406fb3014cd","integrity":"sha512-0fuBj8VvZXmsugIcvxBDEttjbk/NiDx/qip9htMWa+vlPRaODTPQY0cdtQi9lQrvZJaVT6exg4lQBOFm+J/F8Q==","tarball":"https://registry.npmjs.org/memoized-node-fetch/-/memoized-node-fetch-1.0.2.tgz","fileCount":13,"unpackedSize":11339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfd3wOCRA9TVsSAnZWagAA234P+gLdiNREffHLFIa8nYT6\nyJ5ldOefUEKEfRtq6SXJx0tXWi9kgUTmfbkQSBqNi+opOEzMuKfAfzo5TLjZ\nHgZgQNRJIMVUxW86ErRsK+a4Phyh75XLHrdKRyCSNUtszIazmMMh3E7zn+FG\nNA41cbMgErl1Nq2fiMoEMwWMAdchNNXbRm4as7M42Z7ef83nppJDVKnwfRAF\n2HUOUf40XUbbIYShQ5OeRNNGdnTNJcX8Gp9aeqLMR8vQklrW5YyrcicA99gl\n9Fi81IOspLyhB+RFq97wy+o+JH0cVcl1z3fuOfrGNQF9JKeFIknxAYUXNY1M\njPG+1dCc6aozVtiMg5g6sgIEaVKk5dNfm0lkTJRTeN4nOPlc1nycKN6DMg2Z\nnkt8xEwKJpVLztQ/9qGvJmChIe8a5auPgCE/FB2Gtp1QJbkO6WKOT5ZWioIp\ne13N5vvqShQVqqrhEnWGproVacxCDWAVH6pvtzyeT9X/XEMDVWvBhmuYgEYu\nn/02Dih+26GQy7I7io6jU1ykZ8Nmp5LM38HfQbdUNpcGPfVnAdPhYXNrSc0x\n7vMvM+yLNAzxA2T4BiK9ZNlokvOCSItIPanSptVk4MDLlZMPprCgUcG3N9NP\nUE8dCKCn4MdENZjkUCfB2uyAyopAivsEFsTxWTsUo7HM+/76n6V1MOM0GvU3\nfbJq\r\n=a3kC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB16noQgNK6rX/Nam7+ucLIOHPzzeOSfjjKSnU7tZNDKAiAaCkJMnL0hCzdUr+IckVdkbbFTdrSiYAeRi4YJKkiZdw=="}]},"maintainers":[{"name":"chrispanag","email":"chrispanag@gmail.com"}],"_npmUser":{"name":"chrispanag","email":"chrispanag@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/memoized-node-fetch_1.0.2_1601666062038_0.9833126796764831"},"_hasShrinkwrap":false},"1.1.0":{"name":"memoized-node-fetch","version":"1.1.0","main":"build/index.js","types":"build/index.d.ts","description":"A wrapper around node-fetch that caches the request's promise before resolving.","author":{"name":"Christos Panagiotakopoulos","email":"chrispanag@gmail.com"},"website":"https://chrispanag.github.io/memoized-node-fetch/","repository":{"type":"git","url":"git://github.com/chrispanag/memoized-node-fetch.git"},"publishConfig":{"access":"public"},"license":"MIT","keywords":["node-fetch","fetch","cache","promise","nodejs","memoized","memoized-fetch"],"scripts":{"build":"npx tsc","test":"ts-mocha  tests/**/*.spec.ts","gen:docs":"npx typedoc --mode library --out docs --includeVersion --excludeNotExported true --inputFiles src/index.ts","prepublish":"yarn run build","prettier:base":"npx prettier","prettier:check":"yarn run prettier:base --list-different '{src,tests}/**/*.{ts,spec.ts}'","prettier:write":"yarn run prettier:base --write '{src,tests}/**/*.{ts,spec.ts}'"},"devDependencies":{"@types/chai":"^4.2.12","@types/mocha":"^8.0.3","chai":"^4.2.0","mocha":"^8.1.3","prettier":"^2.1.2","ts-mocha":"^8.0.0","tslint":"^6.1.3","typedoc":"^0.17.0-3","typescript":"^4.0.2"},"dependencies":{"@types/node-fetch":"^2.5.7","node-fetch":"^2.6.1"},"engines":{"node":">=8.9.0"},"licenseText":"(The MIT License)\n\nCopyright (c) 2020 Christos Panagiotakopoulos\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","_id":"memoized-node-fetch@1.1.0","dist":{"shasum":"df433644d86efd6c7899a08760a486f80646525f","integrity":"sha512-TPVohOIphDma3F32cATzq9Ih6+r4moMuGnZ9cNCpOkf/37OBSMlbH6rT28WSkVe8CReOqXRXIl+JfSvjYr+tOQ==","tarball":"https://registry.npmjs.org/memoized-node-fetch/-/memoized-node-fetch-1.1.0.tgz","fileCount":13,"unpackedSize":12012,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfviL3CRA9TVsSAnZWagAAamoP/2pOwqTcLbZDZ9A13VP9\nEbz8a5QLesJJsWJt5xN+FTJHNOWXBcduhLe2TFBX+yNSrzX60H1LyWLNyGD1\nG2osDwwYXua4IuSsDHvDopMDfaOFqHswW+LXB7bgvrB0YF0TKn6zuqO8LJfX\n1JGuxmMvoe6cK4CApdCNcaJ5pyWpzAui1eniQI3/N1DJI/GukE1lKX0Wx8DN\nLqyLwzl9aUmGW3D8ylqGRVT3ZbDn/6g6l2arvLPPxB5vjBetvh22Wc3ftbas\nRu9HzMakCn1lXw16mYtDjwpzSxgx4JuyEV54m03cur8AgrpzBqFhCVp2sbg+\ngBwpC0bnxK8i3RVsJ+2BVVn+xoTeICSJXlkqwxdfbAYSMx52x1UYwzdTrtu8\nRUKoOccL9wgapv3avzYV0BdhyZXygzFBAbfyhYwdiKiC1CHTdfxeG09XvgH4\nOvJ0+82GQ+2Q41t+QHHbFj8HOcdxZnzDDDEp29BhQnjU3u98EJpqnJZ/G8Ko\nVWPDv1YF48msVpMdmK7jWXaORg9EI8I21nADXFtvuHulaQF6GZgHYeMQaIxx\n+sYpx7vfTXwefi9sVfB49509SZJs5si5jWp/KxN756OuL4JqGIINEJCHnJBA\nlqB1dOOZgZAFaj8d0Buk1cc6YReIR68dofWColhlJYnoEi5zlspo2LPHjqqL\nCqW7\r\n=e8v1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBwp1mQ18MqzHdhN91vj7GPIBudtqm3v5ZtWYprd/cEXAiEA6Y5oKIDHQxCsdGwO4oumtDuzoFQJyyIhEIqj3F/GqzY="}]},"_npmUser":{"name":"chrispanag","email":"chrispanag@gmail.com"},"directories":{},"maintainers":[{"name":"chrispanag","email":"chrispanag@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/memoized-node-fetch_1.1.0_1606296311122_0.29897216286337236"},"_hasShrinkwrap":false},"1.1.1":{"name":"memoized-node-fetch","version":"1.1.1","main":"build/index.js","types":"build/index.d.ts","description":"A wrapper around node-fetch that caches the request's promise before resolving.","author":{"name":"Christos Panagiotakopoulos","email":"chrispanag@gmail.com"},"website":"https://chrispanag.github.io/memoized-node-fetch/","repository":{"type":"git","url":"git://github.com/chrispanag/memoized-node-fetch.git"},"publishConfig":{"access":"public"},"license":"MIT","keywords":["node-fetch","fetch","cache","promise","nodejs","memoized","memoized-fetch"],"scripts":{"build":"npx tsc","test":"ts-mocha  tests/**/*.spec.ts","gen:docs":"npx typedoc --out docs --includeVersion src/index.ts","prepublish":"yarn run build","prettier:base":"npx prettier","prettier:check":"yarn run prettier:base --list-different '{src,tests}/**/*.{ts,spec.ts}'","prettier:write":"yarn run prettier:base --write '{src,tests}/**/*.{ts,spec.ts}'"},"devDependencies":{"@types/chai":"^4.2.14","@types/mocha":"^8.2.0","all-contributors-cli":"^6.19.0","chai":"^4.2.0","mocha":"^8.2.1","prettier":"^2.2.1","ts-mocha":"^8.0.0","tslint":"^6.1.3","typedoc":"^0.20.16","typescript":"^4.1.3"},"dependencies":{"@types/node-fetch":"^2.5.8","node-fetch":"^2.6.1"},"engines":{"node":">=8.9.0"},"licenseText":"(The MIT License)\n\nCopyright (c) 2020 Christos Panagiotakopoulos\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","_id":"memoized-node-fetch@1.1.1","dist":{"shasum":"0a336839ac9324f8db7866bcc42cfcbc1073fbba","integrity":"sha512-koTAzTlBzW6+2d8fxY1O2+FqnJOo1xifPx6b5CpoUHaHVnaF4gXWPKmfKRL5+0p9oM8T7ZzK0abQNW8c4uPFnw==","tarball":"https://registry.npmjs.org/memoized-node-fetch/-/memoized-node-fetch-1.1.1.tgz","fileCount":13,"unpackedSize":13745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBUpuCRA9TVsSAnZWagAA7RMP/imJj0LBldyJgs2X8tPa\nP3lVGPXkkaBLKbeTKk5N310znWRTrtYd56BZk+3UscreepVFdYaULv0kbSOi\nGDCweVdq1zAgyALJf+6fheEfRT58qEr71L8kNbL/hdUpIZDKoZ4KLHP9B65Q\ng7mNf6fjmg39RdqfoFwMUUcPcefbUF1oHERydU0zv4aooqkHSRCoYDEBxesK\nHNV/cLBHTKDbFQaJaYzmChSj0pjiF4+cjb8hiuEoYLFCWIMglCqeYXQHl9BR\nT1VRiemdexcKID56EO36+qrosdpIUBN5xCsGFxruqdzito0XCHRnE4e9w951\nC2vV3tlKMKhqbjPHah1Q474cJb1AFMO1+6k6751cledSuQmfG7UUiUR2y8jN\nq1reaIlFYJoav1FA+IjjHrJx+KC1tTh97zgqY1j0S23zuy0mdPwUorvaM+y9\nq9KVDrI39RNbOpj42erjVCcij+8ctufWojTVTVO/Soplfa8VNEZFVLL66JlW\nj5vQbj8XrFHHNXzm/te2hGeCe5YNhWA2ulnyDTJbLKPBYZJRC8e4Jo22apX2\nnl83CBL/gp8cYfwOp42D8KO2wGfoDt+ZlBdvCkpi/59SSPQzJ/NngPej8UrS\nmYWInzw0f0DB32aojCERdVW6ew5YnR37KP0kCF+uLTlcEeB/CEveTvtN0TUT\nDMy0\r\n=RoA1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdnMWp5Pg/HBjZuqqejS77PTMBSfuHySnUoL8I98N3YAIhAJopZurEk9SOKkAIg8YtLsGER39sHnMwKxaodsLFKxwI"}]},"_npmUser":{"name":"chrispanag","email":"chrispanag@gmail.com"},"directories":{},"maintainers":[{"name":"chrispanag","email":"chrispanag@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/memoized-node-fetch_1.1.1_1610959469570_0.5970800616654657"},"_hasShrinkwrap":false},"1.1.2":{"name":"memoized-node-fetch","version":"1.1.2","main":"build/index.js","types":"build/index.d.ts","description":"A wrapper around node-fetch that caches the request's promise before resolving.","author":{"name":"Christos Panagiotakopoulos","email":"chrispanag@gmail.com"},"website":"https://chrispanag.github.io/memoized-node-fetch/","repository":{"type":"git","url":"git://github.com/chrispanag/memoized-node-fetch.git"},"publishConfig":{"access":"public"},"license":"MIT","keywords":["node-fetch","fetch","cache","promise","nodejs","memoized","memoized-fetch"],"scripts":{"build":"npx tsc","test":"ts-mocha  tests/**/*.spec.ts","gen:docs":"npx typedoc --out docs --includeVersion src/index.ts","prepublish":"yarn run build","prettier:base":"npx prettier","prettier:check":"yarn run prettier:base --list-different '{src,tests}/**/*.{ts,spec.ts}'","prettier:write":"yarn run prettier:base --write '{src,tests}/**/*.{ts,spec.ts}'"},"devDependencies":{"@types/chai":"^4.2.15","@types/mocha":"^8.2.2","all-contributors-cli":"^6.20.0","chai":"^4.3.4","mocha":"^8.3.2","prettier":"^2.2.1","ts-mocha":"^8.0.0","tslint":"^6.1.3","typedoc":"^0.20.34","typescript":"^4.2.3"},"dependencies":{"@types/node-fetch":"^2.5.8","node-fetch":"^2.6.1"},"engines":{"node":">=8.9.0"},"licenseText":"(The MIT License)\n\nCopyright (c) 2020 Christos Panagiotakopoulos\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","_id":"memoized-node-fetch@1.1.2","dist":{"shasum":"b40343d2128798af4113bcb8b123ed9114d55f01","integrity":"sha512-Jid2Gcaj7gTN3ex3Snqlmt15KEfQujD/gnreTmUzwgQnJ3lNdL6drbIyG1RZuLdAOuFeEn7F8KL04jk/h5lYjw==","tarball":"https://registry.npmjs.org/memoized-node-fetch/-/memoized-node-fetch-1.1.2.tgz","fileCount":13,"unpackedSize":13745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZlBMCRA9TVsSAnZWagAAzNUP/1pmCDFIFY424+FCM5jo\nj4a/I/k4pIK6p6to+E6GYo6cGFNDOBpa9U3KFC4OUWwUWEp9TnJZ1kNvrYJh\nhA9CtQjgS/THRN3wKNKknmnCJ6XgUao8PAsIWQ5hp3sC7TDc4NIkCphfP0By\ns6MTY4LTxAAwx4Nn3lZp21Ko5CyENldvdw/88qUJ4ZAH9vC3WwRLTDl9rJFv\ndI4TPN+Davl45xQ+ruoGIAoEWTnqR9P/W5PCWkRehyurV4YdoBmS2qgDGkbl\nMo2qEj6D9GJfsNs5PB4DGQyb2HWQgi6gFeV5QTgc8W6emaDIwkpS6FPSWHfW\nWGEOKi7qRqgixr/EASDQ8VUswsUehOyRyW2lDFrr1QJrO2q6bZ6WVt/ODESc\niS1VMTXWLKog5kLYohfRNbC9k5dEBpbuwXzm5w7c4JYyNfHXmxCPe808OXU2\nzA6cZdNXAlZoM1yu5lf7NQsexKsMv0y/2cceTZBNGylg0hYskFhyfghJj95X\nonakx+0yBaXoPALZw+5VgyI3Cmm4J2lcQiuRxjRrXsc/fc16movVvBXA5E0J\nr6Gjlcy9ey+ziB5moDWCd90EhGRzYoKxJT6LLMU8kIKuLk2Rgamuino2byY+\nj+bQMoScJDpKCQYfU5rpbLZcFO+uZ3IniEQvf6qG/xTKvmAi1zxzqPAGm+vh\nCLAg\r\n=gHU7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEGUzwa8907zgTNUa85pHDhvBJKZiWCyqx86F9q+T3Q7AiEAv7+3oDsIzKOAk3N/svqbY3+qId6fZORlYXgy2Hk63wg="}]},"_npmUser":{"name":"chrispanag","email":"chrispanag@gmail.com"},"directories":{},"maintainers":[{"name":"chrispanag","email":"chrispanag@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/memoized-node-fetch_1.1.2_1617317963673_0.48227418973397707"},"_hasShrinkwrap":false},"1.1.3":{"name":"memoized-node-fetch","version":"1.1.3","main":"build/index.js","types":"build/index.d.ts","description":"A wrapper around node-fetch that caches the request's promise before resolving.","author":{"name":"Christos Panagiotakopoulos","email":"chrispanag@gmail.com"},"website":"https://chrispanag.github.io/memoized-node-fetch/","repository":{"type":"git","url":"git://github.com/chrispanag/memoized-node-fetch.git"},"publishConfig":{"access":"public"},"license":"MIT","keywords":["node-fetch","fetch","cache","promise","nodejs","memoized","memoized-fetch"],"scripts":{"build":"npx tsc","test":"ts-mocha  tests/**/*.spec.ts","gen:docs":"npx typedoc --out docs --includeVersion src/index.ts","prepublish":"yarn run build","prettier:base":"npx prettier","prettier:check":"yarn run prettier:base --list-different '{src,tests}/**/*.{ts,spec.ts}'","prettier:write":"yarn run prettier:base --write '{src,tests}/**/*.{ts,spec.ts}'"},"devDependencies":{"@types/chai":"^4.2.18","@types/mocha":"^8.2.2","all-contributors-cli":"^6.20.0","chai":"^4.3.4","mocha":"^9.0.0","prettier":"^2.3.1","ts-mocha":"^8.0.0","tslint":"^6.1.3","typedoc":"^0.20.36","typescript":"^4.3.2"},"dependencies":{"@types/node-fetch":"^2.5.10","node-fetch":"^2.6.1"},"engines":{"node":">=8.9.0"},"licenseText":"(The MIT License)\n\nCopyright (c) 2020 Christos Panagiotakopoulos\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","_id":"memoized-node-fetch@1.1.3","dist":{"shasum":"57b4583b00d95d412b45428c3b48a63d7692be97","integrity":"sha512-C/gXT/zWtV1G4sDYa7dyjHSloGRt75i5o224UGdagxOKGbByRonffTwk35dtAfxpnXiJRcVFLjTkBLZudIMzng==","tarball":"https://registry.npmjs.org/memoized-node-fetch/-/memoized-node-fetch-1.1.3.tgz","fileCount":13,"unpackedSize":13746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxJhHCRA9TVsSAnZWagAA4+MQAJnIK4Rveu/ErQwcV5CA\neHSj0Qz6+TFkI50yC3tbSdVPQlI/AYPSzVBvAUv38hToThKT7ZICJbT4nRS7\nB8rB9V0EnVuZrIbKqi+HMbxEybzEYuWHuFc4yViNZV9679VxrUurD9rqIKwy\nt/IdPhRFPQpAP4tYF2AVJWGsaY6e6L34RthWbzdsKMNpb5vuz8EggcPRtO8+\nVuAp1rkP24ZSqt7G4JMs0KOmObZ+b50I8U/GL0VfUXaelf6RKZTo17akTlbD\n28V3bs9HQMef0281zIs0CyOdE4eke9jI43tsItJ+qVCrRCUxZyi/KKrCQUc7\nEh7ptpZNiIYgnlhwsPsO9hagsupLwceMRT1q9a6I5e/GUZ49I8pziN9sFkHF\nYA3A8RACCoZztSDC2YS7MfstDkFYz5FB6/suO8NhEzVU+OgBnV9L9vB51FxG\nPzeFnD0fLhJeUhz+lbBzuLgBCPYa/mKc7yEyAkMhNFFMRL0K9yOm7je8WWof\nNIOCUwclKBPi1DjOmY6zqb8AClqs45G0eUumuMVuq6/7tXXp3gq8HY8U9gqI\n5JW6y3k/nmNY5f76kzKnbR3WSL6VBefBbm+2/+lUYOJMGkSfKSgWmlffMp1D\nm/VEK9KHgyCRuN2wpk3Jp483ZYDTtuekshPfERZzg/L/uxiuUk6Fpg+7nW1Q\n9Oy/\r\n=Eep5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDUwmkxzSE1Nu9zljcb9DSvGGENbsb6+XLqeBNgpFEpggIgEpMUqvpuGDI2BoGjxLYZiGY4LV7JgqWjO0/ckB0P/kU="}]},"_npmUser":{"name":"chrispanag","email":"chrispanag@gmail.com"},"directories":{},"maintainers":[{"name":"chrispanag","email":"chrispanag@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/memoized-node-fetch_1.1.3_1623496775034_0.378884518420201"},"_hasShrinkwrap":false},"1.1.4":{"name":"memoized-node-fetch","version":"1.1.4","main":"build/index.js","types":"build/index.d.ts","description":"A wrapper around node-fetch that caches the request's promise before resolving.","author":{"name":"Christos Panagiotakopoulos","email":"chrispanag@gmail.com"},"website":"https://chrispanag.github.io/memoized-node-fetch/","repository":{"type":"git","url":"git://github.com/chrispanag/memoized-node-fetch.git"},"publishConfig":{"access":"public"},"license":"MIT","keywords":["node-fetch","fetch","cache","promise","nodejs","memoized","memoized-fetch"],"scripts":{"build":"npx tsc","test":"ts-mocha  tests/**/*.spec.ts","gen:docs":"npx typedoc --out docs --includeVersion src/index.ts","prepublish":"yarn run build","prettier:base":"npx prettier","prettier:check":"yarn run prettier:base --list-different '{src,tests}/**/*.{ts,spec.ts}'","prettier:write":"yarn run prettier:base --write '{src,tests}/**/*.{ts,spec.ts}'"},"devDependencies":{"@types/chai":"^4.2.18","@types/mocha":"^8.2.2","all-contributors-cli":"^6.20.0","chai":"^4.3.4","mocha":"^9.0.0","prettier":"^2.3.1","ts-mocha":"^8.0.0","tslint":"^6.1.3","typedoc":"^0.20.36","typescript":"^4.3.2"},"dependencies":{"@types/node-fetch":"^2.5.10","node-fetch":"^2.6.1"},"engines":{"node":">=8.9.0"},"licenseText":"(The MIT License)\n\nCopyright (c) 2020 Christos Panagiotakopoulos\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","_id":"memoized-node-fetch@1.1.4","dist":{"shasum":"65bf3a689a3a1e4f876b8fb7c19bcb039da1c10e","integrity":"sha512-J0ASGU4rg1UriKFw+qQ74NVC5p10Qa5EkRnxYbq1wELtLSpHtMFEGc8fCJ3BHtCLxbMMUXWVcIGSHdk5a4pZ0Q==","tarball":"https://registry.npmjs.org/memoized-node-fetch/-/memoized-node-fetch-1.1.4.tgz","fileCount":13,"unpackedSize":13746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxJqGCRA9TVsSAnZWagAAPHQP/04QCZ7H5TSpT9bGyVvm\nO9SrkAYMiMJkpk0ujSQu37m8UkgJAzGXzK9Ck0xFgkw0y4v9x8jTIFZoUp6k\neW0VvwzMI9Ys7iG6W50Ol2QRkZilupCZ91ihC1w124KvcOS2XZNB1W9gj6Fm\nFRDQuP3K/aBpbZPhuS6DpdoUUAc/HyzuskH89cElnAHrmKaM8qHOm+UzEoGJ\ng4OggM/NQQ6QzH/CaGtpJ5bBaMfPjCq9Mri8+CTepVI6/3478Lfp+6h39d3j\nlOQ+yQp6Q/8Qya8l5iCAgOf7Ywk3J/wY9HQRxE14c8bjBK8WA+TdOQtYKvbt\nC9ij/5ruq65GZc55MLaVRbzZREveiZMON/CWIf53OrMEGK6p3uOskJTffwke\nQm80LqzBwtXK61pC0mShyUlvRFLoKCB9E5imrM2qtM2zguX/cXxaxuWDWW3+\nIiQ3TM31UAFs6YlfniC2w1FVJ5WifTUssQ7NlT4YlhURM9Mks/lZzGJNUuMA\nQ3JMWSUzRcyRx/dxcFehLiQIE0W8UVqPad1Kup0xCl0fQq5gardf0palOj/F\nV25Q7LB/NnYlD68HIyehF3s30ZcO3AFAYeRmx3r/IPCKB65fXBLQ6hLN0iWC\n8MxLR7cn4IAPXup4zFBxE8ikOX9O/QKEQywl/s+CAd/J6OOXpnZn2OvYhPD4\n1tyW\r\n=P7Lb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICcOeqhGc8qXClA4MTFtr9plM/2aemhkDumN9U2FDQwoAiEArnPL0/mIA7fxIWnmkHgoV+RxdOm8vUPn32sHm9BmPAM="}]},"_npmUser":{"name":"chrispanag","email":"chrispanag@gmail.com"},"directories":{},"maintainers":[{"name":"chrispanag","email":"chrispanag@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/memoized-node-fetch_1.1.4_1623497350489_0.0824725587577162"},"_hasShrinkwrap":false},"1.1.5":{"name":"memoized-node-fetch","version":"1.1.5","main":"build/index.js","types":"build/index.d.ts","description":"A wrapper around node-fetch that caches the request's promise before resolving.","author":{"name":"Christos Panagiotakopoulos","email":"chrispanag@gmail.com"},"website":"https://chrispanag.github.io/memoized-node-fetch/","repository":{"type":"git","url":"git://github.com/chrispanag/memoized-node-fetch.git"},"publishConfig":{"access":"public"},"license":"MIT","keywords":["node-fetch","fetch","cache","promise","nodejs","memoized","memoized-fetch"],"scripts":{"build":"npx tsc","test":"ts-mocha  tests/**/*.spec.ts","gen:docs":"npx typedoc --out docs --includeVersion src/index.ts","prepublish":"yarn run build","prettier:base":"npx prettier","prettier:check":"yarn run prettier:base --list-different '{src,tests}/**/*.{ts,spec.ts}'","prettier:write":"yarn run prettier:base --write '{src,tests}/**/*.{ts,spec.ts}'"},"devDependencies":{"@types/chai":"^4.2.21","@types/mocha":"^9.0.0","all-contributors-cli":"^6.20.0","chai":"^4.3.4","mocha":"^9.1.1","prettier":"^2.3.2","ts-mocha":"^8.0.0","tslint":"^6.1.3","typedoc":"^0.21.9","typescript":"^4.4.2"},"dependencies":{"@types/node-fetch":"^2.5.12","node-fetch":"^2.6.1"},"engines":{"node":">=8.9.0"},"licenseText":"(The MIT License)\n\nCopyright (c) 2020 Christos Panagiotakopoulos\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","_id":"memoized-node-fetch@1.1.5","dist":{"shasum":"14dc22ff33920e5e56bbd78a0c331db6a8d6a932","integrity":"sha512-NUwmBL0K/31BdhmacI6QrFB2JXPcuJFULYglMhrTZivR3Q09/JivktDgwdIeXFF8voW7gCXO4vmnKMhARpgEcw==","tarball":"https://registry.npmjs.org/memoized-node-fetch/-/memoized-node-fetch-1.1.5.tgz","fileCount":13,"unpackedSize":13745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLoMmCRA9TVsSAnZWagAA/zMP/i9CwH0DLYpW5gVqG76E\nUv5ahJVZebRZ23cia3e7/CeZPvrZjmfNdcXcSYlcNIbvllOGOTDrmjA4G5XH\nDZQYM60K39XvMGJ6KT2TutyLMPj1OAOa1dab66P7TwLuc7TlS60WFFsf6m22\n9l9EYp6oA51jeLyX+ofPaO7m93ZWeFGL01aMLoJtdS7/cQoFLK7ROyLuKcfu\nxwXzzWpf7InopNVhnhxSpkQxY+i4lFbFH+dA5kYX6CtzmkNmVhA87CsHj6pM\nVmneVzSKNuvcIUGkZ7SQHEeFgjc8bWhsRy0iCBhO/gAJx/2c6hknudlr3L47\nFsRsaxKQ1raGUKmk247LQZf4KuOMljl3hSxTVQmdG+DAFQHVoyxMk5uMY0Uy\nNR4kO06K8oqLjRtd6RNM+dox31JHcDn2CSrYte1hHgvB9AZ/DAtcmpD+qWCe\npzPVEvLHY7phn3aiFoCH690Qa4KwfIhTNJ0o7IE+vtFCvjQcwHTsmvQQdDP1\nGJEjDichX721iCnKfLHL6vXzVAnM7vwPpWETACjWveyHOz/Sr5WUp67VThH7\nLaET9YA3VW4mbKp5Q4/hN+TLxZQHwRKLpXnuxRF3xjkV1xWybGzJDa0/cIJs\nvqygSnN+RJaVNksgv79D7cqKOlzfah28clCJGF+s8UWMtj1iKe7AXAB1b2Rn\nAkiG\r\n=L72p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDLNq0N+JRsB1n3eX1zWN/FNm/e5D/buaUwX35pnys1KAiAN0+kn3SSwfMPcb4Wkb1gvGJjuutlnCiKvA2WOF/4Wtw=="}]},"_npmUser":{"name":"chrispanag","email":"chrispanag@gmail.com"},"directories":{},"maintainers":[{"name":"chrispanag","email":"chrispanag@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/memoized-node-fetch_1.1.5_1630438181931_0.8523267860344623"},"_hasShrinkwrap":false}},"time":{"created":"2020-09-26T15:11:50.731Z","1.0.0":"2020-09-26T15:11:50.928Z","modified":"2022-05-09T03:31:56.698Z","1.0.1":"2020-09-28T12:12:33.430Z","1.0.2":"2020-10-02T19:14:22.161Z","1.1.0":"2020-11-25T09:25:11.258Z","1.1.1":"2021-01-18T08:44:29.759Z","1.1.2":"2021-04-01T22:59:23.828Z","1.1.3":"2021-06-12T11:19:35.197Z","1.1.4":"2021-06-12T11:29:10.650Z","1.1.5":"2021-08-31T19:29:42.050Z"},"maintainers":[{"name":"chrispanag","email":"chrispanag@gmail.com"}],"description":"A wrapper around node-fetch that caches the request's promise before resolving.","keywords":["node-fetch","fetch","cache","promise","nodejs","memoized","memoized-fetch"],"repository":{"type":"git","url":"git://github.com/chrispanag/memoized-node-fetch.git"},"author":{"name":"Christos Panagiotakopoulos","email":"chrispanag@gmail.com"},"license":"MIT","readme":"# Memoized Node Fetch\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https://img.shields.io/badge/all_contributors-3-orange.svg?style=flat-square)](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\n[![npm](https://img.shields.io/npm/v/memoized-node-fetch)](https://www.npmjs.com/package/memoized-node-fetch) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/chrispanag/memoized-node-fetch/Node%20CI) ![npm](https://img.shields.io/npm/dw/memoized-node-fetch)\n\nA wrapper around [node-fetch](https://www.npmjs.com/package/node-fetch) (or any other fetch-like function) that returns a single promise until it resolves.\n\n## Why?\n\nSometimes, you have to interface with an API that doesn't respond fast enough. Moreover, you might perform the same request multiple times. So:\n\n* You overload the API with the same exact requests.\n* You wait for additional time during the API response.\n\n### The solution\n\nReturn the same promise for the same exact requests **until they resolve**. This is more useful when you interface with stateless APIs, where you just consume data. \n\n#### Scenario\n\nUser (1) makes a request to the backend. The backend then performs a request to a third-party API and then before it resolves, user (2) makes another request to the backend. The backend then needs to perform the same request, as before, to the third-party API. With this package, instead of performing a new request, you can access and use the same promise for user's (1) request and have user (2) wait for the same request's resolution. This should shorten the wait time for user (2).\n\n## Usage\n\nThis API is a wrapper around node-fetch.\n\nInstall the module: `$ npm i memoized-node-fetch`\n\n```typescript\nimport memoizedNodeFetch from 'memoized-node-fetch';\n\nconst fetch = memoizedNodeFetch();\n\n(async () => {\n    const fetch1 = fetch('https://jsonplaceholder.typicode.com/todos/1');\n    const fetch2 = fetch('https://jsonplaceholder.typicode.com/todos/1');\n\n    // This should return true because both requests return the same promise.\n    console.log(fetch1 === fetch2);\n\n    const res1 = await fetch1;\n    const res2 = await fetch2;\n\n    console.log(await res1.json());\n    console.log(await res2.json());\n})();\n```\n\n### FAQ\n\n#### Is this a data cache?\n\nNo. This package only caches the promise until it resolves. After the promise resolves, it is removed from the cache, along with the data returned.\n\n#### How do you know that two requests are the same?\n\nThe parameters of the two fetch functions are compared (the url and the RequestOptions), the specific key used for comparing the requests is: \n\n`const key = stringToHash(url.toString() + JSON.stringify(options));`\n\nThe parameters of the request are hashed and stored on a map.\n\n#### Can I use another fetch-like function?\n\nOf course, you can use your own `fetch` like this:\n\n```typescript\nfunction myOwnFetch(url: RequestInfo, options?: RequestInit | undefined): Promise<Response> {\n    /* bla bla bla */\n}\n\nconst fetch = memoizedNodeFetch(myOwnFetch);\n\n/* Use the fetch... */\n```\n\n#### Can I have multiple promise-cache instances?\n\nYes! Each time you run the factory function, a new promise-cache is created.\n\n#### Is this a react-query/swr equivalent? \n\nNo. For most cases, you shouldn't use this library instead of react-query or swr. Rather you could use it in tandem with those libraries by substituting the fetcher function with this. Those libraries, although they implement caching, they don't implement it while the fetch is loading (so if you perform the request two times, you'll get two different promises).\n\n#### Why you didn't use a debounce function?\n\n1. I don't want to do request deduplication per-se but rather I want to return the same promise for each instance of the request. That won't work easily with the debounce function.\n2. The debounce implementation of lodash/underscore, waits for a specific preset time before running the request. If my promise takes longer to resolve, then I wouldn't reap the benefits of it. In my case, I wait for the promise to resolve before making a duplicate request.\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tr>\n    <td align=\"center\"><a href=\"https://github.com/Nikpolik\"><img src=\"https://avatars0.githubusercontent.com/u/9081019?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Nikos Polykandriotis</b></sub></a><br /><a href=\"https://github.com/chrispanag/memoized-node-fetch/commits?author=Nikpolik\" title=\"Code\">💻</a></td>\n    <td align=\"center\"><a href=\"http://stackexchange.com/users/1677570/ferrybig\"><img src=\"https://avatars2.githubusercontent.com/u/1576684?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Fernando van Loenhout</b></sub></a><br /><a href=\"https://github.com/chrispanag/memoized-node-fetch/commits?author=ferrybig\" title=\"Code\">💻</a></td>\n    <td align=\"center\"><a href=\"https://github.com/Bonjur\"><img src=\"https://avatars3.githubusercontent.com/u/12468730?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Bonjour Comosava</b></sub></a><br /><a href=\"https://github.com/chrispanag/memoized-node-fetch/commits?author=Bonjur\" title=\"Documentation\">📖</a></td>\n  </tr>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!","readmeFilename":"README.md"}