{"_id":"loopback4-ratelimiter","_rev":"40-9cad48e3d972b62c491bcd3fb143e457","name":"loopback4-ratelimiter","dist-tags":{"latest":"9.0.0"},"versions":{"0.0.1":{"name":"loopback4-ratelimiter","version":"0.0.1","keywords":["loopback-extension","loopback"],"author":"","license":"","_id":"loopback4-ratelimiter@0.0.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"dist":{"shasum":"2a3a835bda0da0d25a5c7957de122a0e3f378293","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-0.0.1.tgz","fileCount":46,"integrity":"sha512-tiUWCKZUC9XLF27kCteutRq7z20BfN0HgKdymCuv/JMNSmxdhBteyrWi886bu/e+DWnY6pOBjqhZSVBqCsmuUA==","signatures":[{"sig":"MEUCIQCUOSQX4aUMuXqGAKSDKd5Zu7o4uTcBQX8ZrT/bLJH8JwIgE8aKtIxpZD6vAi2ryINdXVYZ5yPxCPhzjmzsbg0tcLQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42383,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJerubwCRA9TVsSAnZWagAAaPAP/j1ctbPSmMkeiPvvUw3Q\nxkbg9pqvD2aRyCzDYByF3YFNQRHmU/cin00gSwTz5tTo+s7pJ+/LKOoaMsyk\nE/+ByS1b7JXOkehEil5EPePT2VsWEcB7MFfbIybJtEeGtjHA/psFSB4q2BSk\n/bgE/dZcc+oHOVfN2+M5eogzA6ad/+dbbmtTJskCNXST2P4RqpP4DTwGRXZk\nqeMLr7V01iA6Aoh6ScrOm7B8bXCBhLLJcvm1DLGMY1EgTCFd5rnzK76fXW2a\nrBNCdvIFtjsuDYmDihP1UgUip2chLR9jWvJMDkn4Fl8qFwVYLCrrFmNeeHhL\nZalhvx0uMMe1KCpAGWLo1UtakbdM2LQPPgCtXzBiyArf/QME2sZTVN/uKdBf\nKZ3kEwqqtymqbjeR7KkOaLQZTzDYEiEoJ945Efok2bChtO14XEu8irUDJ7dt\ntvU61eyADcvv/Xl5s5e6ysW8LCZhtpviDamKAC0XOITq17B9I9ovvq3tLM4u\nU/e/8EaJ5ObFBPre3km/41ply3mnYVLF9aMoiEhGrjvWW+J2IJMrvLrBzzrY\n7waO4hnGth8o0c2sMBjROR02htIIgSag6IfsFOaIPnlRmGuxAqfc/KNUIfiS\nWBEVuDIPHbAqJmkQmdqHYmsDJd6P/z69r5sF0T9Wexx6LrUgOBkQ/L6MO5h5\nWcFU\r\n=pQ47\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"010187fff031c77c7fa4b56bd746948f75fba785","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"echo \"No test specified\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run clean && npm run build","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"type":"git"},"_npmVersion":"6.9.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"10.16.0","dependencies":{"@loopback/boot":"^1.7.4","@loopback/core":"^1.12.4","@loopback/rest":"^3.3.2","rate-limit-redis":"^1.7.0","@loopback/context":"^2.1.1","express-rate-limit":"^5.1.3","@loopback/repository":"^2.3.0","loopback-connector-kv-redis":"^3.0.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.8.0","typescript":"~3.7.5","@types/node":"^10.17.14","@loopback/build":"^3.1.1","@loopback/testlab":"^1.10.3","source-map-support":"^0.5.16","eslint-plugin-mocha":"^6.2.2","eslint-config-prettier":"^6.10.0","@loopback/eslint-config":"^5.0.3","@types/rate-limit-redis":"^1.7.1","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^2.19.0","eslint-plugin-eslint-plugin":"^2.2.1","@typescript-eslint/eslint-plugin":"^2.19.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_0.0.1_1588520687409_0.6830789369786319","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"loopback4-ratelimiter","version":"1.0.0","keywords":["loopback-extension","loopback"],"author":"","license":"","_id":"loopback4-ratelimiter@1.0.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"dist":{"shasum":"71540079c1951ab6080c346a249ffaca9edace6a","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-1.0.0.tgz","fileCount":46,"integrity":"sha512-CaRuwRc1FwcZ4duqbM6YRWW5WqLTf47xcR7Fn1KsrA/k3ZM+LkN1cuTgOJaEpB+huAEoMgwOhmFA1hFGvzhK+g==","signatures":[{"sig":"MEUCIBFOBfSeegmF6lc2+DUeHFuO+b6guxdKf4k4rblpkYIYAiEA2M8CDYJ2ur4o/mWn0hpDChvPcI08iTT/kiYXBG5mj/c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42455,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeruhSCRA9TVsSAnZWagAAmwgP/0BcPJCxIJ+XZGVKu/O7\nCKNBLVv3Ivp52Zvo3isgtg8JO+S3oE/gscJ0aGDKIx8bvZyFVMDcZlYmQVHd\ndFonUKBpFizpT+C4mUVsWryVga3HIOVsBaizaPFY/Q4OpUQNoR0JE6m2RHbV\nItCkqPDFj3k19zRXCezwvBb6sv7d/5ipOiUGVrcp5/SJR3Q+tgwELXyCpTKB\nQRZkX4WFs0hjFDDPnyxa0jgSmgvSL2B6YqjTygEBTemi84CNZPUEk/x7xrHl\nAxGuyjsacpSRRAiI2pa1/57AZaLO6AZGev/8ytkJAvSWmTSC2XPjPGS1U0K0\nJog3ZsoBDudpGRO/LG3R8428zeOkcwaxlw4FZMirKDbYLdIX8z+lqr3lm62Z\ns43sk4ZUasnnqks0yPuwujB0dbQW5anYdYF4NfiElgtHSKNIp6Eyx3JNXPa+\nOeYH4SHMUNEhIGjCWKCyk3CWKSPd4v+7dNHy5B7txd7TrUb5xK9UxJKGG2AT\ngAPj6IGv7uF7g7+WHgSgDmm2EJIhFL61dLvODvpzxvPAkPaTu+/7yjVnSW1d\nza5DwnMMwURXEvK/cDLWnzq2JnPQxjCAyMhvFr0eDkUTLy9fJ68a1U5xQit4\nAVv//XicVkOkMV/zXEQZyB1ZX2F2YcK6lGWCKXt7CTtUF/y/esKWYDYhVKX0\nVvcv\r\n=DoQn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"8a6bb8967e61ff66da2834525b3829a669ab32ac","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"echo \"No test specified\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run clean && npm run build","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"type":"git"},"_npmVersion":"6.9.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"10.16.0","dependencies":{"@loopback/boot":"^1.7.4","@loopback/core":"^1.12.4","@loopback/rest":"^3.3.2","rate-limit-redis":"^1.7.0","@loopback/context":"^2.1.1","express-rate-limit":"^5.1.3","@loopback/repository":"^2.3.0","loopback-connector-kv-redis":"^3.0.3"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.8.0","typescript":"~3.7.5","@types/node":"^10.17.14","@loopback/build":"^3.1.1","@loopback/testlab":"^1.10.3","source-map-support":"^0.5.16","eslint-plugin-mocha":"^6.2.2","eslint-config-prettier":"^6.10.0","@loopback/eslint-config":"^5.0.3","@types/rate-limit-redis":"^1.7.1","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^2.19.0","eslint-plugin-eslint-plugin":"^2.2.1","@typescript-eslint/eslint-plugin":"^2.19.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_1.0.0_1588521041938_0.15719637049698187","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"loopback4-ratelimiter","version":"2.0.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@2.0.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"94525ec125ce62514b5f8cd8821a365072c0c44e","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-2.0.0.tgz","fileCount":46,"integrity":"sha512-ecoJVscyyZqn51hh2uXdeql1h9hHQXkSIP8Kw9/1Z5N5hZXYQ3FIIK/rgy4E+hasl+igSdgr5G/ICe9qJtkXTA==","signatures":[{"sig":"MEQCIAkLWn545cbYw4Hym8oeunkhm4p1gT1Wkp78kKhcgnJ4AiBTnYJCC3THqzxoEpjYi/Cbd69OUxS4g5C2Ztg6HPIdeg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40857,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2E1JCRA9TVsSAnZWagAAwBcP/1hn15Oe24txCo8f5jhR\nsz+u4st7T73O3KGbKvMtxe3defNzLzc25eGCEMH3IMi4HmoLB1/F5BIqRjcJ\nIidY4GaAEhdusMeOUODIR76bqE0lUK5nOFkOdTqF106DpNxR7rEb3CbWI+fG\niwBneVBL/IQxn8sqf9JO+5S4GXgT5aGMnmGqWbYZiNMYIjwQgvTEX92Fc3QT\n2pyzdTPQ8AyTomLAIieqG/ihap5OTEjXmi6ndQ9pROjwQLQ87VSoDUmZ1/V2\nHgHNUji6mggvas6lzEnw3y1i9fj8mRl2M7YhQ/WITT7fkxus9vOS8D8GRzy2\nkeYLc3xa3rwOWijU82Ba9xSOS4oYWAXljDwU7dR/DdrMKG1T4w4AuxSM2s2c\nwhtPD2OdxMjGkHBY1bjqPgFEuHqjNi5MdMU5Vouorib2clI9XPQAeuI5smu6\nccEnncPAeuDgydaiItH+kxEfk+B+85JEzJAuFypex7vrmcSO56EEswc+Ygd/\nE2iJG22UwUeZT6vKhP4NGRE8QA7Lb5oRnlKjGIG9fJA8u3jxSQzXY5W7Iw+s\nbSccauuu7EBiAuV8RXVrk4XAWOXodgLlceJDSp7blP7G5oMq1UtkbHhUxv1d\n+s2wEAePcAKSiUqwlxzak947WywcEVjWWdHZiVRbWxgrNSzJxB5qMZaSXyml\ntEB3\r\n=1U+d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"a206fac866fe755df1f3eec097e5aef86a3530f0","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"echo \"No test specified\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run clean && npm run build","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"6.9.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"10.16.0","dependencies":{"@loopback/boot":"^3.1.0","@loopback/core":"^2.12.0","@loopback/rest":"^9.0.0","rate-limit-redis":"^1.7.0","@loopback/context":"^3.13.0","express-rate-limit":"^5.1.3","@loopback/repository":"^3.2.0","loopback-connector-kv-redis":"^3.0.3"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^7.12.1","typescript":"~4.0.5","@types/node":"^10.17.44","@loopback/build":"^6.2.6","@loopback/testlab":"^3.2.8","source-map-support":"^0.5.19","eslint-plugin-mocha":"^8.0.0","eslint-config-prettier":"^6.15.0","@loopback/eslint-config":"^10.0.2","@types/rate-limit-redis":"^1.7.1","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^4.6.1","eslint-plugin-eslint-plugin":"^2.3.0","@typescript-eslint/eslint-plugin":"^4.6.1"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_2.0.0_1608011081214_0.6603353754048282","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"loopback4-ratelimiter","version":"2.1.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@2.1.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"56e77b03e48e5b62ffb956e52e963496cd9f18a2","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-2.1.0.tgz","fileCount":46,"integrity":"sha512-gu94HGBtSI4beRfnqI5zmLYuOMBhA0aWQqPg47r/6oYKddkW5uptgviFXTLCZSXC8JpYU8E8YRijj+2XAETgjA==","signatures":[{"sig":"MEUCIQDIOXgly3xL8OG17c3jZjnXEa+7d8+8UzUgTI6KbM55kAIgC8Adv+ITtf8JyrMKhLfufS2tzHeEzjUUENDZy73ucuU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7CWZCRA9TVsSAnZWagAAu2YP/jUc1CBfQRSvqSmYitIr\nogKN4awOhujqrcd/CAxH3zqwra/sCh3+n5MG1zHNfV7Ieq6H0RB4mNfhb4We\nKA43HxhbyKnOAJw9i/tiqrBc0Xkcv32gqgfjSupukx0uHkPIewDF/sv2Q8Q6\n+hcCRoX3sJlVSzcJESyiA1HcnjhL60SD/ds6hO5foF+cqqqr0yWSbcUE4TW4\n1ZuLp8plQ/Opp4TAsnIm4mf2sgyOrpDizYiGnWw3tJ14XW9lJxb8t/7qMQcF\nYp9D2jtxVoCW5GFivf1F3vCnJjmmwHd9Iob6PqzmbbRpn4g2quCV4h1PEVs4\nnHfoBW9FewPLuxZQeaQq+5OfvnLTz0TiNBhn1PDsxfqbbLAzipvcbbE5ywSY\nwiLnFIZdBY8YIc+yOQ+WaaiBDal+JkUElR0jnjvP2ncS+JHMwFvpAXiYb/kO\nt8bz5lISGBbAb93h7cbu7lZon97Xx74FxY5nv989o1LuV//eUbPt2bC6enl5\ntncGNvXVBAifdeF9UXf2GXehJG1q8xfqbzV1BVxKCrL6v99ka1E2lGR5UpkR\n5fmMiUbhPtqsPLzga9vVwt3f5K0NrLLWhDvmimoxHsYVoE+TMESaz/EUeImq\nAUYqE0xzwX5GkYEmrMbcbovwWNg11Ebi9LzEZZCY3u07lDPJgTfP5E8Du4U0\n+FKc\r\n=4E0I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"a40e73bed2806562cb94ffbb04e4de7d74fd33a9","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"echo \"No test specified\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run clean && npm run build","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"6.9.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"10.16.0","dependencies":{"@loopback/boot":"^3.1.0","@loopback/core":"^2.12.0","@loopback/rest":"^9.0.0","rate-limit-redis":"^1.7.0","@loopback/context":"^3.13.0","express-rate-limit":"^5.1.3","@loopback/repository":"^3.2.0","loopback-connector-kv-redis":"^4.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^7.12.1","typescript":"~4.0.5","@types/node":"^10.17.44","@loopback/build":"^6.2.6","@loopback/testlab":"^3.2.8","source-map-support":"^0.5.19","eslint-plugin-mocha":"^8.0.0","eslint-config-prettier":"^6.15.0","@loopback/eslint-config":"^10.0.2","@types/rate-limit-redis":"^1.7.1","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^4.6.1","eslint-plugin-eslint-plugin":"^2.3.0","@typescript-eslint/eslint-plugin":"^4.6.1"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_2.1.0_1609311640647_0.20133642653891526","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"loopback4-ratelimiter","version":"2.2.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@2.2.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"3e003bcd81fc4c75b84c3ad5e4b5008df4dfd036","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-2.2.0.tgz","fileCount":46,"integrity":"sha512-AtUbGHaEeH8lwYewY3thLz/xVu3ijbjU7jIZO7tkwx8sM1Te33s7Cof0w/aiBWEFJcfOFk6Vm2Xg70fTVf8rKA==","signatures":[{"sig":"MEYCIQDW5D4semYK8MGKJWj9JNT8LWbfrAE9dndUndxl04mVXQIhAPfJvHim9zrZStEG5SRgif4TEL1yOp1VDRBN3clioOHg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglbGOCRA9TVsSAnZWagAAm5AP/iVJ/emIVvCnAlm5oaqV\nSVYaBJiQVb2FyPUShyEIuDWdlnsYrg47/V6MnQDyk2qekSSohuwBKrqNvLbI\nU5xa7m59I/qxwKVBXfnOOq799MgbjlGkAvlj4Zux/74qvruRu1CShZIeL1RC\ndjNbUNe4/xT40KtPQxK1N6BkyFoV/rjEkKvEveSmWSGbCxkkdrr3cR95ceLW\njM/ssG4TXHctV93LDDiPSOXIWy4ANKoF8i/Z1ES3wxXScOwR9lFyBC2dNqZv\nxsgOD4JXhcyF7LX3wmiEN6W9ahYvZ6Pe+/WEmHwzzyomkhI9AGgwCFku/d+P\n8kJXIhXG/Eqfh67T59cSjCKKQRVJ6IOpNMjwdgS04Fw+D50Op1knEqL8Y44u\nn8h6d2P7EsY+ckIBe7MFDl/mx9H9G6VMFSVGKwlKxtPOMv8x+DG2d7Aak+Q1\nnvkNW1OO9XZRs+p9Cn/zshXoRqbd79uQIR+g9vUCDONvEhWCPLZQqrSIypEX\n3f5VYzAcdlMU5w1kD8gCSFyxkYhBIq3ugkjnUfS6pJzkqRnkTsloOYU/ZseU\nwS0Is6WBXxgdseaMETHzM8OospOdjnvHtVndDeyfKNCrAoAnqSNXsbxFb7oC\n4bSJb8TpVCHOWbkO3Dc42wKwunCRHDOdD/kJaOuGqxVmC3+lZl9Aal3GBPW/\nlBsT\r\n=Pzk7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=8.9"},"gitHead":"d11a9adef220e104222cd5c30ee0c780327ce5df","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"echo \"No test specified\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","pretest":"npm run clean && npm run build","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"6.9.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"10.16.0","dependencies":{"@loopback/boot":"^3.4.0","@loopback/core":"^2.16.0","@loopback/rest":"^9.3.0","rate-limit-redis":"^2.1.0","@loopback/context":"^3.16.0","express-rate-limit":"^5.1.3","@loopback/repository":"^3.6.0","loopback-connector-kv-redis":"^4.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^7.25.0","typescript":"~4.2.4","@types/node":"^10.17.59","@loopback/build":"^6.4.0","@loopback/testlab":"^3.4.0","source-map-support":"^0.5.19","eslint-plugin-mocha":"^8.1.0","eslint-config-prettier":"^8.3.0","@loopback/eslint-config":"^10.2.0","@types/rate-limit-redis":"^1.7.1","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^4.22.0","eslint-plugin-eslint-plugin":"^3.0.2","@typescript-eslint/eslint-plugin":"^4.22.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_2.2.0_1620423054037_0.011685430592351942","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"loopback4-ratelimiter","version":"2.3.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@2.3.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"42d5809aa42f6f5c6610fd56fde28c5debc8d1ab","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-2.3.0.tgz","fileCount":51,"integrity":"sha512-r73o1jAYHY2gKSYRklppi2PHVTUHeI1lTn2th3Yr02x/faYDN5HjJXAgZ5k4GmQphkG3mKlnO65ZaFvI15gduA==","signatures":[{"sig":"MEQCIH2zxxWgUtUowRi8hiV2+DCHePvFTPSxYMAmurQUC/5bAiA0nErZbbC9cSvSlG0z5SurEsPy3fxpdIwb68TI3BCejw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50454},"main":"index.js","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"be3db6b120d8546d7b20c3f6d8c9012d655a5207","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"echo \"No test specified\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"6.9.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"10.16.0","dependencies":{"memcached":"^2.2.2","@loopback/boot":"^3.4.0","@loopback/core":"^2.16.0","@loopback/rest":"^9.3.0","rate-limit-mongo":"^2.3.1","rate-limit-redis":"^2.1.0","@loopback/context":"^3.16.0","express-rate-limit":"^5.1.3","@loopback/repository":"^3.6.0","rate-limit-memcached":"^0.6.0","loopback-connector-kv-redis":"^4.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.1","eslint":"^7.25.0","typescript":"~4.2.4","@types/node":"^10.17.60","@commitlint/cli":"^12.1.4","@loopback/build":"^6.4.0","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","@loopback/testlab":"^3.4.0","source-map-support":"^0.5.19","eslint-plugin-mocha":"^8.1.0","eslint-config-prettier":"^8.3.0","@loopback/eslint-config":"^10.2.0","@types/rate-limit-redis":"^1.7.1","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^4.22.0","cz-conventional-changelog":"^3.3.0","eslint-plugin-eslint-plugin":"^3.0.2","@commitlint/config-conventional":"^12.1.4","@typescript-eslint/eslint-plugin":"^4.22.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_2.3.0_1636374169281_0.1879005001111702","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"loopback4-ratelimiter","version":"3.0.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@3.0.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"873cc790b1944d37fcef4069536d048c090583b5","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-3.0.0.tgz","fileCount":51,"integrity":"sha512-8whJWPvyNZD0taoBWa9Ij3AWctUkVW77ePTS8Nk+o4t7Kto+N6EOeRNNsbeol20n7ot2/nQ36nE2R/B2iW6iGw==","signatures":[{"sig":"MEQCIFf37PD3rQnCDYMJ8SrebyLdEj0xqCFG+Hc5o6eBsy8CAiBiq0fCa5XfAf3A36EpBbh73/BZUBGMSenmQzb6V9Q61Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50745},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"89e942f432616c177efccdeb877a6109410dc1fc","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"echo \"No test specified\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"8.1.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"16.13.0","dependencies":{"@loopback/boot":"^3.4.4","@loopback/core":"^2.18.0","@loopback/rest":"^10.1.0","rate-limit-mongo":"^2.3.1","rate-limit-redis":"^2.1.0","@loopback/context":"^3.18.0","express-rate-limit":"^5.1.3","@loopback/repository":"^3.7.3","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.1","eslint":"^7.32.0","fs-extra":"^10.0.0","memcached":"^2.2.2","typescript":"~4.4.4","@types/node":"^10.17.60","@commitlint/cli":"^12.1.4","@loopback/build":"^7.0.2","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","@loopback/testlab":"^3.4.4","source-map-support":"^0.5.20","eslint-plugin-mocha":"^9.0.0","eslint-config-prettier":"^8.3.0","@loopback/eslint-config":"^11.0.2","@types/rate-limit-redis":"^1.7.1","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^4.33.0","cz-conventional-changelog":"^3.3.0","eslint-plugin-eslint-plugin":"^3.6.1","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^12.1.4","@typescript-eslint/eslint-plugin":"^4.33.0"},"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_3.0.0_1636983625485_0.8515378679453536","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"loopback4-ratelimiter","version":"4.0.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.0.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"75aa9e3cca22c4919bb8c6c551675a4bf864d2c1","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.0.0.tgz","fileCount":51,"integrity":"sha512-gjriabfpS2vLTNJP/1wod3JAPczk2p5Ulex86AG4fqZfOcSSkjzTPd+/xtJJm4WxAPQdKVB2GkI6+2wtvSww0g==","signatures":[{"sig":"MEYCIQDp6iuTs0MrpEkYcc2Hnc+HkQZp8U1LYIQBTXobQ6L4FAIhAOa9GCs39GL7lZeEdP3BNwZxxE+CnRJdh9EjGv3cJN4U","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxZDKCRA9TVsSAnZWagAAAaQP+QE2vORB1gOtWve6V6+r\nmACNrTsTn4+AC8e9rjoNXcCUZPHu/KN95SPD73wmbJ5iRVj6xrU+FIwy8CtW\n1NeGyeJmhSZVfKduUQsafOLDObAqFhwwJoPSRzd+NcyT6bik0dGgCelDEjqv\nwiA+RCE9jaM4c3dVTPb3K34red4MeEMmuDCfsWnqSj1N5wikdOoKAlATNwjW\nfwkbnLw731gRpwthxxmx++va94yjz8yoOI5QDak5RxuTPXHVIwQHuwBx5xbq\nadARVmVZjMPHD+PCyeUo7Ivm3/xEbPd+Mngp+JUwJqF6F1FMwcRyWD08j+7X\nylKClK92HdzX/LdSQ97noxfPH969f9MG1Y4X4HH0dxSZU5N8qx6M+/Zmmezo\n9KFmqN5hvtjE2oTMMuKTCe7cPM4f/KsT59tewT1nX7/fUhHrui0OKT7D1KSK\nBIzV72NNGzglcB7WyTGB12W8r6T9zHEwcunUJbG/VkrTKlnWcuWWVdoLsxJF\nym+0G+3kQ6bDEVy5c3Crqi7wp6QYxNZ/kKb11qfEtfkryzKSUlRblIvzr2yz\nyzaJd+rJjNlrGT+CpbJNpG5UF7y0bzBhmxu6QbVS6PUtEsATo7WzAgkrCv5i\ntsjiZ1X2sMRFfVBv13jIblcJ+OaWRmvpZdTZqtAvQnvdbq7VLQNOafQkeWxN\n9CJZ\r\n=OqJe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"0fd4ae541f2cf24ba2ce5d3357fe4d27686cdc33","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"echo \"No test specified\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"8.1.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"16.13.0","dependencies":{"@loopback/boot":"^4.0.0","@loopback/core":"^3.0.0","@loopback/rest":"^11.0.0","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^2.1.0","@loopback/context":"^4.0.0","express-rate-limit":"^5.5.1","@loopback/repository":"^4.0.0","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.1","eslint":"^7.32.0","fs-extra":"^10.0.0","memcached":"^2.2.2","typescript":"~4.5.2","@types/node":"^10.17.60","@commitlint/cli":"^12.1.4","@loopback/build":"^8.0.0","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","@loopback/testlab":"^4.0.0","source-map-support":"^0.5.20","eslint-plugin-mocha":"^9.0.0","eslint-config-prettier":"^8.3.0","@loopback/eslint-config":"^12.0.0","@types/rate-limit-redis":"^1.7.1","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^4.33.0","cz-conventional-changelog":"^3.3.0","eslint-plugin-eslint-plugin":"^4.0.2","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^12.1.4","@typescript-eslint/eslint-plugin":"^4.33.0"},"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.0.0_1640337610802_0.40069396054948636","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"loopback4-ratelimiter","version":"4.0.1","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.0.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"42e3672d40aaf22bd93bee2b0fd7d844e2059505","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.0.1.tgz","fileCount":51,"integrity":"sha512-FShbH7UMJQRnOD7RV4F99kAq06dBtjpWd0VXDhnOT3XFIppNq7MPKRqw2Z4ilLRiWaUvFU2HBbS6PqIhqfwjZw==","signatures":[{"sig":"MEUCIQCkFnKCZNusDvynIGXkvHYd6XTSGSh2EWvO4QFtHm338AIgHaOaYBNVfy1tIW5VKVmhUkBHWpqUiuiJoYv/dt/Rm18=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52498,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHoECACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8ixAAkhS7HZqWWZJvo7WRCLIvdRmQd2mgLWv7IzyDlO9tZ57AWU3A\r\nvH3RcLEnf/EIaXCCfIIM93/hN3K4tn/tTPNhQFzsYCRIocbx/cEZD2HA2sWr\r\nlQ7baUXdRFVSvDC4COWdQBKIbunwY1XjtWQotOkD4bgY3qp6FOR+IpqORCUC\r\nmA6q9BuqQx83NLyOx6C29goPEUAiBvpGLfkwhcJTclyCuSHtcbIfHWE7iTXL\r\nNMjiaVhg5o3Y7MtSIv1YWPtrhcWNTQSdf5tlUvvDVldweMR5yk3H6zieliNm\r\nl+GOc9mz9g1pnlQBcozFnyEG4hoPnfp4waQbGtGlxUYaIpWZCbLMbMR33Ovi\r\n+6m5y1elcIQwvNH2KHnqvbJ4x2piAHhXWUQ8EQVDu24OvCY7vYcTzINI7oC0\r\nVsAuPdjSIw/To8ebDHcFLH1gP8iIiqymPxkhlatpa7s6qmNa/diCme111T6A\r\nvkAZVxDOF/dxciue0O/7naRgIoYipPTidcu7bmfiROxAFravci/1L2ih3db8\r\n9hq5Ifp5VQgZmbILIp6RoP4QlvBexBjbBBlEbPBhcmuUmqjTrG46CvHYJUf6\r\nhCpC8LvEEam3mIHOG3JxIXh5ORcLD2nxqd18nzSol8PFNH+1AOAAR/XF5QXk\r\n4O+i9GHyq3kn2i+NI2Y5XXsluoCS2O0AAJI=\r\n=YZR5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"8d243c9230b52034ccb2b1421dd348f97cbb6247","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"echo \"No test specified\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"8.1.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"17.0.1","dependencies":{"@loopback/boot":"^4.1.1","@loopback/core":"^3.1.1","@loopback/rest":"^11.1.1","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^2.1.0","@loopback/context":"^4.1.1","express-rate-limit":"^5.5.1","@loopback/repository":"^4.1.1","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.1","eslint":"^8.10.0","fs-extra":"^10.0.1","memcached":"^2.2.2","typescript":"~4.5.5","@types/node":"^12.20.46","@commitlint/cli":"^12.1.4","@loopback/build":"^8.1.1","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","@loopback/testlab":"^4.1.1","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.0.3","eslint-config-prettier":"^8.4.0","@loopback/eslint-config":"^12.0.3","@types/rate-limit-redis":"^1.7.1","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.12.1","cz-conventional-changelog":"^3.3.0","eslint-plugin-eslint-plugin":"^4.1.0","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^12.1.4","@typescript-eslint/eslint-plugin":"^5.12.1"},"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.0.1_1646166274167_0.7415873766749739","host":"s3://npm-registry-packages"}},"4.0.2":{"name":"loopback4-ratelimiter","version":"4.0.2","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.0.2","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"8515a37ce94296ea746fa6267c3f80df7adee263","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.0.2.tgz","fileCount":51,"integrity":"sha512-HMdLkaY4LB6VJEyKY07+7o+2kniRZux+Ept9VUCRQKJpy0mIYy86o8tCMxLNgb8P9PeUiyYTCEUpK63PLSfiyQ==","signatures":[{"sig":"MEYCIQDS2OriYfPVAr/iE2U6ZWafj27cMBObLnXirG7VQ4AyHwIhAPGWp0QAXkHjFyISIkv0xa/KvElRHixxUu+IOCU77W6s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXimKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4hw/9Hu0hK6dPvRwSTtcwCiJI5Q0Hjg0JZcJB8knnX0nFiziDKf6A\r\ngVJlKxsIKqZNEwNHJXIWdazCOWE7yNPSH/nWsa7JnltLYiz8t4K8GePwIzVQ\r\nXFdIyxoVEnD9jsJlG3VLku/UPNztKhxE8VL9oszXYXQCdQ8zB7JMw9JDVkLX\r\nwkyESiV2H2/kWT8pzJ2YcKif8rbga8lEOgoqGKPI+vp4ks+meo1y89KaSMPh\r\n1dNPVPWt2b/DLiKUksPL4bSQ4Wjgk+6gBEhdi6hi0dzGjQiN3GbTPVZFA0b1\r\nOQ+uXHPk80EsDbdl9PIqXsBo9SiFmGGMjsMCb+q8lb+2YJ4tCHv+tgte/Yg2\r\nEa8Q34xOB6qIxG9JWZ3oCKWNP0ByMikoTuY+lkda7vt+EsZmiZJHpsMXa83u\r\nUstFsu9UA1WwEpDtX91kwPJmI9qKiC0bGt97NK+JUaWH1vTN1AcMHxa2t5gv\r\nyT/AoQh1fFLP5HRo6h6qCU0VSVeFYChz+EbxNG4s2bZd8vbpQFNiXsbRbYjZ\r\nD0h0yV85mmQkB9azR3ynz+ciTRGZUXUqX/YSkH+dC/5Mnbae+rmnfNVgUgEI\r\nXJGtx9HhabOzmowKc00P7ry8cE6JUQ1KHHiopY3xFGFJnvYhOCV+0vYKFTL2\r\njBYMGqqHhgzNJdukM5NzUbY0Em1L1REhHLs=\r\n=VMav\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"7593f105851b9fc02518a3579d0e779b33b92756","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","postinstall":"patch-package","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"jake":{"async":"^3.2.3"},"commitizen":{"minimist":"^1.2.6","cz-conventional-changelog":"^3.3.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"8.5.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"16.14.2","dependencies":{"@loopback/boot":"^4.1.2","@loopback/core":"^3.1.2","@loopback/rest":"^11.1.2","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^4.1.2","express-rate-limit":"^6.3.0","@loopback/repository":"^4.1.2","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","eslint":"^8.12.0","fs-extra":"^10.0.1","memcached":"^2.2.2","proxyquire":"^2.1.3","typescript":"~4.6.3","@types/node":"^12.20.47","patch-package":"^6.4.7","@commitlint/cli":"^16.2.3","@loopback/build":"^8.1.2","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","@loopback/testlab":"^4.1.2","@types/proxyquire":"^1.3.28","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.0.3","eslint-config-prettier":"^8.5.0","@loopback/eslint-config":"^12.0.4","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.18.0","cz-conventional-changelog":"^3.3.0","eslint-plugin-eslint-plugin":"^4.1.0","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.18.0"},"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.0.2_1650338186522_0.9309953266804014","host":"s3://npm-registry-packages"}},"4.0.3":{"name":"loopback4-ratelimiter","version":"4.0.3","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.0.3","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"4346ab54bb97a0fdc266e672ad10bb36b38dff2c","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.0.3.tgz","fileCount":51,"integrity":"sha512-cHgPlp79FLEz8LYhBEOqxx6Dg/TVFNnQnIusUsDOgruYQS6QeFS7L0vU8f1V8m7qdCxU8asB6zN9pnLX+HPyhg==","signatures":[{"sig":"MEUCIQCHhg1Tjlcy/fzWiWNoOYh1B6CFGBOX3L/Leqf/M6hwiQIgD9ZgMNXGtK5lgUch64eXpSqS/1Ta/XKY5s/Hh0rma/s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXjDQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrvwQ/8Dpoejj/5nc8luVEDFAuOukCrd3fVY4duWykzsAAuvLCvrwcH\r\nEvveMyTiDhUmLgnGi1By/z9a23AaANc34SM0f1orZSeCjl3UHOTJyZtImGos\r\nPe4Qtys1rBSdcq9wtsRgC6GNPrKmy6W9cFx7Y9EN69nplGIEhIVFYpIlaZAI\r\n3xTykG3PPp/fN0cpxGT1j2bVkSNlxIQxz5ItP7SWxPGC2RqydPY9ibsg+PGd\r\nwObxrnPLmDIUFRWWczwYOpMjhuOVJMxHLKiO4vFRvs78uZt5MM5Cd8rai4mx\r\n1ZJKYEikq6pXrtZG6EXc1ufbdhJdPfPZe/audVcWHxMi6i3CEXLytXD+Ared\r\no8pZ4SDLH3TH4G5zHNN/DrFsdTkv7VNSzn5mMwisTbQrGfV46Yl67o3L4ViS\r\nFQhxRmxGTNCefi5vFoLO0QJ6qdVY8n+gH90rV5W0nkpduXd0F5g+kEEmdxOR\r\nykdclW6O6AJglLL67zhBN6D4E9WXk9XWlC68Ne767CK10AU+3gWg0s8xxoV/\r\n4HvmNwgNCckIE0v/zz9W0go2Gh9idHK3wkD3oYmFcnEgz+5FZ8TcMFAItnln\r\nsB9WcS6o/ZK3B7xDP8exP0PMhSxb5kyfdvsRLxEBWNuGJWGmjpTxuQwee0Uu\r\nAnjNICCILarQoAVl6bxTJfBoctxbLTa/JoY=\r\n=zsR9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"8448bd4c30a2fdd9aa61746fcc377dbcb93a0f86","scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","postinstall":"patch-package","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"jake":{"async":"^3.2.3"},"commitizen":{"minimist":"^1.2.6","cz-conventional-changelog":"^3.3.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"8.1.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"17.0.1","dependencies":{"@loopback/boot":"^4.1.2","@loopback/core":"^3.1.2","@loopback/rest":"^11.1.2","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^4.1.2","express-rate-limit":"^6.3.0","@loopback/repository":"^4.1.2","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","eslint":"^8.12.0","fs-extra":"^10.0.1","memcached":"^2.2.2","proxyquire":"^2.1.3","typescript":"~4.6.3","@types/node":"^12.20.47","patch-package":"^6.4.7","@commitlint/cli":"^16.2.3","@loopback/build":"^8.1.2","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","@loopback/testlab":"^4.1.2","@types/proxyquire":"^1.3.28","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.0.3","eslint-config-prettier":"^8.5.0","@loopback/eslint-config":"^12.0.4","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.18.0","cz-conventional-changelog":"^3.3.0","eslint-plugin-eslint-plugin":"^4.1.0","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.18.0"},"peerDependencies":{"memcached":"^2.2.2","patch-package":"^6.4.7","loopback-connector-kv-redis":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.0.3_1650340048614_0.28404529641510456","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"loopback4-ratelimiter","version":"4.1.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.1.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"70ded109be953cf09a85c23602494150cdea33f1","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.1.0.tgz","fileCount":51,"integrity":"sha512-Ur7J5mj5Qg6TUO1s1/W4j5SC7/C8Haptgf9Dlx4oCNUfr4A0zlcBWVckh8v5Rn0LALJnlfJK4CZUoM79xOoOtg==","signatures":[{"sig":"MEYCIQDE8/oyQOujWIDfOJEOwU+9fCu2Djk2YVKSMDf4yZH2EgIhAP+DXvmvNl50gWPqViSRxmhVBdxKyWCN2RGtmuFfBdAg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijissACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr0aQ/9H0OEo6e9tnGSLBZXiu3vzYiKwNCFyaQaXCGMOtOw3+D6CRvo\r\nWlx6s7bg1zU+AlKqLqkvzCQFJLB2OUFOYrt3x20yJQsIj7fOz7T3olTubh/w\r\nbhVrS580h416VQ2WwMA+3m3hjwZrPttO5iDwJfmSGuEpMIRDESBZlt1aXiYt\r\nQ/yegXoVqnXNqrKGA8x3FCZeK0uUJwoG1uNczk2MvWmiMgKkggLTErFSegkE\r\nZQwV9ipujAa7oV3sgL5bslVBW2bEsW0MsF41SOJ3ktocVQwx4zW1vqfU0yBo\r\nR+Br8wv/qe+h17npnNTm+tuNWubyGfGTbxd+mXNekl+WN49iasrgczEBm3R5\r\nDUVyDsXhc97oGrlPwY6EdfZ9NXG0OrvXnav/WjZmgFkBCcv2m0dy5tOOt0rt\r\nfFKJwY8skrz4tCJKQqDcq9nmcHR8Q3xqsez8MkK4U3vBBx+gK+gGSZFjGBal\r\nQ4+pz2hIJDUUPWUiUL10L+u1VYRYTaKf8C+hAEyQKic+Fjll/xDCArpuQjKp\r\nsAPpSf23V28FzWxoDASO9+iCZdK3PhYm17qQszPLbFAobiAeO0/dA1+CPaOr\r\nWKhDV7ifG59T4PBonYUCqDih7CRE8InUgc9JQEUnQYpbAQF0gBVMIli3Kefm\r\nzvTXKg9/9Gpw2Hk2CeE/tXHte3dGVPi7BXs=\r\n=DpBv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"26f9dff31159255badfb527dc62f32645d38f832","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"commitizen":{"minimist":"^1.2.6","cz-conventional-changelog":"^3.3.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"8.10.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"16.13.0","dependencies":{"@loopback/boot":"^5.0.0","@loopback/core":"^4.0.0","@loopback/rest":"^12.0.0","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^5.0.0","express-rate-limit":"^6.4.0","@loopback/repository":"^5.0.0","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","eslint":"^8.14.0","fs-extra":"^10.1.0","memcached":"^2.2.2","proxyquire":"^2.1.3","typescript":"~4.6.4","@types/node":"^12.20.50","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.0","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.1","@loopback/testlab":"^5.0.0","@types/proxyquire":"^1.3.28","source-map-support":"^0.5.21","eslint-plugin-mocha":"10.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^8.5.0","@loopback/eslint-config":"^13.0.0","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.22.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^4.1.0","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.22.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.1.0_1653484332129_0.09885991396122606","host":"s3://npm-registry-packages"}},"4.1.1":{"name":"loopback4-ratelimiter","version":"4.1.1","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.1.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"6585d84e79df9e9d833b8fb252ab119d030a8897","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.1.1.tgz","fileCount":51,"integrity":"sha512-nZKItaXjAa+GYjBOJo+t5NgAClLMjvyrvtXUxcun+2grhOZEkLkTrtjKN/R3rW3mklp+JVbHlgyzf0D6qqdqCQ==","signatures":[{"sig":"MEUCIBPV4n6QTFX54n89jsMvIZ6KmCk8dmw6IQpIqtCG7ekZAiEAr4jQx/B03UACZ/DGxPHnElGd/4xMNBTrWa1LdzNcobI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57701,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirF/nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUtA/+IHDq9NowCiViUoaCy7nbN/xSZqtatTS7kALemEixMCe8e6PL\r\nyxcMv41LPLogryB7JU1tn+IFp9b3M5qGVbwaE/dBs5dJEA98412Us6jj8fYU\r\n6Eaa4ozP0k4PoBNZe0n+1KmshW+80M684wuoHPg2qDaUbVtieTJF3O3j8mXX\r\nF9iNGbEtyXxjs7UmKOavFX3XTixFGzFfoQfHnP4wyO85olZUkOQjAzVnHZnR\r\nK/PFl9IV7BCFeq46zYWrDW+8CVZuG+YrOEklsSYpxGSNYvRQvTLUv5xG2P1B\r\nhknOdBDmIK8CVd8xOiOHQVZuUCO5f2DuQVQgILbBN1POhqKdfd6C5YWq6kJ/\r\nr+6dR7gvJvjvdgzMyIeR3JXYuVhaNQSwdUK8NO8khtyL4+W6PK8XST7L24he\r\nOf77z+C1JvIkLwGfreNpxM45wCg/BPDlqmr6jH1IFo6/liu3javj1HXBmrPj\r\nFStyCQhfcctDEIVIcFP47JvkyNdY+4kbx8kBrRczmg9izlRJmFZI6xqqLI9U\r\n8v37Ruk8ffzv74kz587GSGttWqVuzNhb1lUv+zleBcutpgdC2mG9qxeEQbA6\r\ndUgy+ZzUh/jvldExwuMDHNa/3FazX5GRzzSmiWRRNaWfcE73WS6AyX+EqsqU\r\nvyibr1YYKBvOwVd+/MOLyPc++3bPkmHc48E=\r\n=i7yJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"81f00cb35f50a8df91c84fc0820e4559de32dd37","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"commitizen":{"minimist":"^1.2.6","cz-conventional-changelog":"^3.3.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"8.12.1","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"16.13.0","dependencies":{"@loopback/boot":"^5.0.1","@loopback/core":"^4.0.1","@loopback/rest":"^12.0.1","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^5.0.1","express-rate-limit":"^6.4.0","@loopback/repository":"^5.0.1","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","eslint":"^8.17.0","fs-extra":"^10.1.0","memcached":"^2.2.2","proxyquire":"^2.1.3","typescript":"~4.7.3","@types/node":"^14.18.21","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.1","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.1","@types/proxyquire":"^1.3.28","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.0.5","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^8.5.0","@loopback/eslint-config":"^13.0.1","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.27.1","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^4.2.0","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.27.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.1.1_1655463911391_0.6823007695997423","host":"s3://npm-registry-packages"}},"4.1.2":{"name":"loopback4-ratelimiter","version":"4.1.2","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.1.2","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"ef576f2daae3c563361e11284cffd04378d7db7c","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.1.2.tgz","fileCount":51,"integrity":"sha512-9vvKvSmKIG5ospMBF9r/VKyRFAxgLL0ilEWcaJwr7mf0nvZGVcJi21XMSKFROm9i10AsSQpbvamnFjbeavX/Sw==","signatures":[{"sig":"MEUCIBX9tj31BjQE8MKPnxHNk1iHbiMKA6itM943K02lfTyrAiEA0k3qo0ASoojf3uGR95ZFGVmCoIQlzHwIa89jRjvJsAQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57610,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGtF7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpcCw/7BOFre1o4UCs11EMHI6UqZcBF4TU6y1QTlqk6XVoq2pWQOZ6g\r\nbEKHsnPXUtBUQ6OXwtM0vHX/Z7Dh39kSQpLNBl1054aF2eIgAxsYjmCQjjfQ\r\nNGXf6AuI9q31SCHwDDAoy9tjY3b+SCyaCwXE0r4A1Te7VEWE4nNj8OjwxDK4\r\nC0BvZIiYYwk2nLD9rfzLEhwi1uuiwxULioX4uPij/fSGIHx66LQ/zR3WLM8t\r\nUTR6vijHY1yP665NIHOYn9kn/8AVt4fbn6Vr27tiaMHs2I1JnVWPvD1yf+x4\r\nMkCjVdmmg0SBikuW1Emuqsab2MbIVJbDcS+QN+7zuBhFiL6XMpxvWSxCMvFE\r\nUv0P2agTEv2RGNX3y/0IcVzESfE2RDAuPTMU/SRx2iW5lyH8s0aOX7JURdvs\r\nZviBA/0HLKHZVCIFJA1a0ptS1gHEryi6p+hczHzmqdw7X8HlPjE534RrFIN/\r\nqDNrNKxp01PnrMbwkwdAUHjNlJbSX8+Q7Dq/oW/6S38+wPNh6XdzC2/ZbbPb\r\nG8ctJzlg7ZUoTlJNlFM9gPRQf2ilyih/4xsP4LGDa+YE0y1An1K38Ik1hpl/\r\nHKh2g/dOqGIVbdJYb5IsE5HNLVOhlvVUgjFUvrTkQ+RjSatwm01zqhBcAmDP\r\n+rNRPOLy/FK9xAmOrGKoQZHkPTt3xVvD6ZQ=\r\n=A50h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"5ac404592ac297d33c41a5fac5e4bede9e44f340","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"8.19.1","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"16.13.0","dependencies":{"@loopback/boot":"^5.0.3","@loopback/core":"^4.0.3","@loopback/rest":"^12.0.3","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^5.0.3","express-rate-limit":"^6.4.0","@loopback/repository":"^5.0.3","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","eslint":"^8.22.0","fs-extra":"^10.1.0","memcached":"^2.2.2","proxyquire":"^2.1.3","typescript":"~4.7.4","@types/node":"^14.18.26","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.3","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.3","@types/proxyquire":"^1.3.28","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.1.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^8.5.0","@loopback/eslint-config":"^13.0.3","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.35.1","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.0.6","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.35.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.1.2_1662701947177_0.7260527276211588","host":"s3://npm-registry-packages"}},"4.1.3":{"name":"loopback4-ratelimiter","version":"4.1.3","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.1.3","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"97698620f032e1dc41a94b18d9ed3ed566750344","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.1.3.tgz","fileCount":51,"integrity":"sha512-QO5X5fnR33n0GcLRG+89bWN/Jr80kKcomkhdmdzZP1yN2j+L1YdgRBScPsXmj04kM8sHCAEW+R5Ko06v6Q9DkQ==","signatures":[{"sig":"MEQCIAfaaXi7V/29Hfrco8nv1X//80OkYt6WOi+p3ERvIYUMAiBHNzWk4xwNDURaCgfh/5dKFclzCj/8VFTRn2TAQ+D8MQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57610,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjX6X7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXLA/+KLJIucGIrBLfa1D/dprff2zYT36QsGLZYT+1PXguRPtzf0V2\r\nPrtBz87TAaMyc7PoKyoZJtp7gztE1D47nnVkVbwqbHoSVQJQGYkCS2e7Hy0O\r\nlCm76AKTWgG1O4t0slMLVjvKC09WUg9CtIdoMQTdpk6ASpiWutZJNjmPU4z2\r\nXZMMmj6GGdyWQ1oe8KL5UEfxeq4zk+moc3gqW121Mh0edbYOhcVUP3Dg/FMB\r\n1JXDUwvrf25Yxa7sH+vFwaijiTeGbSBgie5U1aHm/Iul0PUSw4m7Bjglyl+M\r\nqihqZGuM1sQbdIuflmpTrHtf+gJEeMRl7tCNSX95WrH1fjr+QPMmk2EXWrmr\r\nHtNw+AMGs1ga7Ea1PH/NKX/QZm1uS4kPnmIoKZndy6JJX9edpJuXhZ6U8UA9\r\ngmNyUQsNsy82uAlEZmeg4Dw9sfODBbg0WrjoV0q1VRFPMB7APLpwklmiVEpw\r\nb8/HcTrK6s87wa+z+uk5MeUHYG7mgM5CVk0aOfJXn2I60oPT1Mx89WIAP4p7\r\nb1tjbc9GB0solrzIkPJF7vx16ZJkAN3N1kWwFbmPRh/TNSvmLNc6Ed9/WBgj\r\nw5kjNFtyBJTxPp7mFXaAv2K0yygyzQ++1mggkFkyDY7ol3Lv372NTrDs0KdH\r\nx/AQJENq+EP6yJXaTfoT2p+wv4K5+WhIZp0=\r\n=rkbu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"c5f2de86e680b43d578ea957dbbe070ee1ef0ff8","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"8.19.2","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"16.13.0","dependencies":{"@loopback/boot":"^5.0.4","@loopback/core":"^4.0.4","@loopback/rest":"^12.0.4","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^5.0.4","express-rate-limit":"^6.4.0","@loopback/repository":"^5.0.4","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","eslint":"^8.25.0","fs-extra":"^10.1.0","memcached":"^2.2.2","proxyquire":"^2.1.3","typescript":"~4.8.4","@types/node":"^14.18.32","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.4","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.4","@types/proxyquire":"^1.3.28","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.1.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^8.5.0","@loopback/eslint-config":"^13.0.4","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.40.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.0.6","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.40.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.1.3_1667212795356_0.8102337259693315","host":"s3://npm-registry-packages"}},"4.1.4":{"name":"loopback4-ratelimiter","version":"4.1.4","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.1.4","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"d4de8c903f0818b1e7c5b98aad773abeeeba63ea","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.1.4.tgz","fileCount":51,"integrity":"sha512-S+Bvev7VZ/twsEDPBd0v/s7qqO2sKF6tcTPogHcvven6Cq8ln6MtL5QXD2m7Xvoshumktyo+ilTIjhzbZuL5BA==","signatures":[{"sig":"MEYCIQCkTTyWpmlHko9k08KJjqbGeOvKYhvSF+JJ8BEb4XkwJQIhALWLbwE5QCReKJce8ax1z2NCAH7w6xvPlq7SohzYw2Qa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57610,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiZQJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrU8w/9E4YKtX7K++NxXtjqB9BRcewQGeI6Ombhw0mPNPt8JBrB3/Lm\r\nFC+kMIiZiUX6fTIK8rIOA1zgcYEKTvWBVXskUowTd4JWuxBK+oFZ8nZwJ+76\r\n1eRbOyZ09TOExpCq6RVJFcitFOEH9TwACcrj+ubFhz+18IDmdAJEmxouojc5\r\n3/vwRamGFo8kRcqQ92Oj0+cN0tiD8YNW4d1eRFesOI/zFcU8AdIIY7s/xZK9\r\nka1p+GWxEoNSTJoIGuUJOyMBKFPO3SMl32HU1R0vhj3gLq4wJu4MxKsMiPpH\r\nT6Af60RSxW/NVZrX47sCuH+xVfSLfcz5dI6gDSO0qMuXlt/mYnIuAli4CHrY\r\nUT+Pe0tLfdfTr2lzPJELwgxgN3+uZJdzqjV8KiFJPyGCJqwtohs8sjnqKSDV\r\nxhXSdG7cesjBkMBXyt53pskNbd73aY1uih3fiGb6bKoYPvOBNwSOQf2vegvH\r\ns0esCoPWb9nXYBU9MheDObg/ct0iGQyBZ5pIgrKJULU95ZJ7XvJTt870YxpP\r\nSFQ0jHNUmpzRm3olOoeaN/Z0NS3MzHsYo9RB+GcIiYgQRBh3jTVRxhYQN0YG\r\nZfdWviPtbfb4x09whrnwJZ5iABADQjJhY83ZhIPx+8HKLA+PQeYVyPSotX1h\r\nRBeksj6VRf6ZFI4dpmjpqWq+rLBwrX1wl9Q=\r\n=END6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"a606bb7206d9835caa1831888c67f6da6afd9cb4","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"8.19.3","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"16.13.0","dependencies":{"@loopback/boot":"^5.0.5","@loopback/core":"^4.0.5","@loopback/rest":"^12.0.5","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^5.0.5","express-rate-limit":"^6.4.0","@loopback/repository":"^5.1.0","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","eslint":"^8.28.0","fs-extra":"^10.1.0","memcached":"^2.2.2","proxyquire":"^2.1.3","typescript":"~4.8.4","@types/node":"^14.18.33","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.5","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.5","@types/proxyquire":"^1.3.28","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.1.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^8.5.0","@loopback/eslint-config":"^13.0.5","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.44.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.0.6","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.44.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.1.4_1669960713369_0.1523267538825328","host":"s3://npm-registry-packages"}},"4.2.0":{"name":"loopback4-ratelimiter","version":"4.2.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.2.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"525cd55924f95d1d74eebfa18fe12b131bce80f7","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.2.0.tgz","fileCount":54,"integrity":"sha512-ffBtJsDMpxzwK/YuD7VNeHZeTb8PqG0ghCu7Lfb6kGTjJJBrFWNKlTwk6pOQhCn3qiyCIZXfN3O6A37J634yxQ==","signatures":[{"sig":"MEYCIQCw/0/jdaMau1kbMxjfbiDQUERJJuIT1inASSnVfwjQnwIhAO3e7Y6Pvhm3GUsdOAubRRB+d0VrCO86qBNk03hqJ1nL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvnA6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtjBAAg8rEo/zdbFKFXSoxSbbaVnRCxaSC4ZEwdb8Z9QLN2RApCYib\r\nPDiZO1RHTuLTvs8DEwG6isdvDSk0wy2ee1TfHU8ajGWvEmXSR+1Xc9mt4qGq\r\nOAJKfikeP2lo7V2NgZfwOwrX22q5MCoiojR9ruzzJwwOiGbwMJPAtsBrWJWq\r\nGFbwWxjaJ5Hg6ah3VGQj2FVQCHwujUBbu4ZhKaNao5LKIlYystZYH5j3iUBj\r\nl5x081jA6Waa5NqVXS/Kp6Sl5s9IWJ3ktIl7l6pK0oNJO5cx0vG3ENyaK4VP\r\nBcbKtWggRWWku+nyXPwh3WVPJwZQZU2N3NkxsVXIz4YWbsG01iUd5PqozdGS\r\nsAOIJy+Gi1X+n8hJc0gJS7OpDbRmsKQx2yNQccDW6qZpptFz4j7OiqM4NgGw\r\nonihac1QCpTzBRHmPaxMtaiTnKb2H0h//JAhEJdpuGWMlzlRoywCKm/6s+ic\r\n/sJxa/O83i6gMvs2dhU309+gRq98cg5PK75T29I9pRJx+Lm+N8+/42yHE6zT\r\nEToUs/1tCeozKj1GCCXYhjMOec3e3je46VTIbrQcwTPb7GsbdirSsr14CCC0\r\nWVn5sWBd+wjnURruh1dPLThIk6YqJNeveWgLHvHsxQE67mHZvQ+KkDFeq2rn\r\nUOjkZwWPOFp9popbZib97uLCyPh7qpPA224=\r\n=LpsN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"d32e0182d7655dac75b932797e7e39963646ba97","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"8.19.3","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"16.13.0","dependencies":{"@loopback/boot":"^5.0.7","@loopback/core":"^4.0.7","@loopback/rest":"^12.0.7","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^5.0.7","express-rate-limit":"^6.4.0","@loopback/repository":"^5.1.2","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.30.0","fs-extra":"^10.1.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~4.9.4","@types/node":"^14.18.36","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.7","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.7","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.1.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^8.5.0","@loopback/eslint-config":"^13.0.7","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.44.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.0.7","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.44.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.2.0_1673424953733_0.6315276437645034","host":"s3://npm-registry-packages"}},"4.2.1":{"name":"loopback4-ratelimiter","version":"4.2.1","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.2.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"6b837ee5226cc0869067f2d47d1a11344c9f4934","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.2.1.tgz","fileCount":54,"integrity":"sha512-oOlosYHd63iMB5xigpIklurQ9RCIAIWC0waB62d3wUQS9IVG8XYErXMThPO+mHHjS/sH+AaQvieFGZGh7n0zkA==","signatures":[{"sig":"MEYCIQDgyjzIL/UcZTxQPMCj2kUE7vNGsZGrRWX74tFw0Io52gIhAP+nBwAPDmJGBOStxg0Ad5xbBVwfgcVVXZNvVYsco0Ay","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62447,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj71pEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr0RhAAhIiJmwSMLsIGxAtWcKCQAAFWOMqt+1XfWuJvX/3VtuFLg6f0\r\nsk5+FPkd0e5TQwVJsC5pA2rC95mC4/uWbKIJb2LIAPZsh3snUEGYPsSJd+Uq\r\nNIqfovdw4WrxXFn3CSPjtwWxcVjE0N3w4Iqbu8c4zNE5UtNrcNKBM5WdUWgF\r\n44qSAsYi7y/htHy7zIIvWH/AKwQyWcsAFHeH/7AiZotP0+BjnOw1aihGnGz0\r\nfQTjY90UgEKTEda4ERvant0dr7bqs04djrNy733V/2RTZBv7cJfHzitsyGGb\r\ndAPm6ydF3tSC3sY7QKGbmShD3WEUOHgg5r5Xtf6LelsAu1eW1Ef+xO7T9JRY\r\nAjpnuzBDTkiqSyGGOkYJwKyLtAMlGPYU2YcqZef0gejjZV5C+3gzXNbPdgbC\r\nEBw33psD/Ua54j8eNlV/IzEx1NZpobbAuXrnpzxGsodHrZ9Z8m056a45UCLk\r\nsH9lU+foNw/jwwV6Y7vtJD5ZgcMvzQVWLdF1taWEp9MrGioi7wgczP4IhOLK\r\nK6Xjp44hIsjYTaM+aInuZ+Pk+D7eqrzbZs1CnE7gh63DVZhRivOi7SwoGsfF\r\nl8HWNALKG9Kd12MfIGRMCN+7ou440/dj7svMsZP6Er3StJtbw13KM9FWpzsu\r\nfxbCwrf9lr2PlNSnEeygOZTReHBdmGi3zgw=\r\n=av0c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"83038043dfa38dc72839f7d9303235e8d96bd728","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.5.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@loopback/boot":"^5.0.8","@loopback/core":"^4.0.8","@loopback/rest":"^12.0.8","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^5.0.8","express-rate-limit":"^6.4.0","@loopback/repository":"^5.1.3","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.33.0","fs-extra":"^10.1.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~4.9.4","@types/node":"^14.18.36","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.8","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.8","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.1.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^8.6.0","@loopback/eslint-config":"^13.0.8","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.51.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.0.8","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.51.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.2.1_1676630596534_0.16831645231326142","host":"s3://npm-registry-packages"}},"4.3.0":{"name":"loopback4-ratelimiter","version":"4.3.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.3.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"4ad4453d67d99e0598188a913a0f5484ca4b5535","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.3.0.tgz","fileCount":66,"integrity":"sha512-5v6WC2mAlRlowZUQjcK6nmjiBqhISX2VPeWUNTD/jMBXP7As3ej++4tl7OTUDN316feSz+qAlcHGQXbHfdzvHw==","signatures":[{"sig":"MEUCIDyRcpyCiPiteu8i5VY87645bV4cqBMMTtNxodfaCnwxAiEAvO/EPNCoRWl8Ml3RPXKuroxWym/HyxewUmo6LjZTZug=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEHZ+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoyew//chsuN7ZQDHeqtmg73e9KoPfOrEk/gL0NRlvv3VdNyIkIqHpd\r\nydhONVn6JGDaQem49fSIEPECUpW8BYXQdoRop5YS1WwsJY3cI0vOtUSL68qE\r\nmwM/g6ZSuNlN05ZSmYxUrtRHEcceR9LubkoWVYD5To5DmK/TpT7LrwnEqMFs\r\nGzH7M+cYKAceShGfGdJXLZLQk4D4nHPqmUAip70FrLIBVBtDPfWBEjHvo3HZ\r\nwA6L1m62hwPSPJ8jmGh/5GEIO2BHYZ5LREYRADmCxSHJuFSYs5B5JMxYsrLW\r\nq4Ipj5F67xtN9F7EsAkLH4A0/ToYVoNfMArSMx9wTLOY95x+GendULRVVi2u\r\nTQPFIgcBcUg3Dcdd47AqjGtyluWdxogjwOLxFlvg0mWNvujImjewmF4mncYI\r\njrX2dW5OkG54E1AeUwgjQY0IbzndjrZ58Yf5GibvgYkySYsfp4D00yZIgcPW\r\nbL5g3snLflnEAaqZXfheWcxYT92/8mGQIIKtc0SbpjvUgH9ydrcvC1183P6v\r\nq1em/EpRmQxVKp30IJQ5micqmRYZeUz3i0L7qBCoCNqfVx007YwFo4YciMkF\r\n04hCC0PhMaNhy2LHA5jmfclmw8LVGkU3tDVRPsNZljeni4sBYCl21fGDts2U\r\nha7xKvtSaTpK3vRLRHpCLqFinbYkYXfEvyM=\r\n=U1UW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"7044978833ecc0b75e3bfd8c5ce3906fdae81af9","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.6.1","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@loopback/boot":"^5.0.9","@loopback/core":"^4.0.9","@loopback/rest":"^12.0.9","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^5.0.9","express-rate-limit":"^6.4.0","@loopback/repository":"^5.1.4","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.35.0","fs-extra":"^10.1.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~4.9.4","@types/node":"^14.18.36","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.9","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.9","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.1.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^8.7.0","@loopback/eslint-config":"^13.0.9","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.54.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.0.8","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.54.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.3.0_1678800510699_0.15380439508781074","host":"s3://npm-registry-packages"}},"4.3.1":{"name":"loopback4-ratelimiter","version":"4.3.1","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@4.3.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"c9ef74ee2ed3efc75a970c4e223682d87bbaa663","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-4.3.1.tgz","fileCount":66,"integrity":"sha512-xL7Llb3Zy889GO6I4/kHRbipLWnf5hemaQI0TaNopkrO+b3j4/1gVMsqIhRJlg1LsyWLhrR22ph4G8VQMZP5Fg==","signatures":[{"sig":"MEUCICV67s5z3fs8ti4BcDEh1aS5gBlSs1hB4alNaH3T+wXoAiEAtaHmO6w5SU8f6dvDipjYsbWf52yRhX84zAlk582ZZBY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRpXGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMuw/+LOdESZwWtL/b+Arei/JyM/sLhH9FR/fTxwIGzuknsE9GUBTe\r\n1HpUp7PUlWfZj2QZ/+mG4v2pbdgjibub+lwm7U8eOQqcDT5NtTR8cWesFzHB\r\nbYwsuaVT8d4xTkNebZqV4PmT7qoNyXRdPMUeyVuClAJ9cjjRcLmbdmhOiEwj\r\nYJIawqIQ7HiNXvf5x5DKi8sCmn5YA7uoVzu75xtErpPt0rqR1/cC8bWTnMFa\r\no8VLEYWCvvWbFbO4Zq90NmlotwTZ37PK88CiwDq3Bb+lMkhgzaHn5IDa/ejs\r\nYYtghtKc7l4ZrvIAwcX9mNcyDnNZc9EqVToXZx2/8lJBNtmkbH7uDwgRZ8QG\r\nRQWQhsiQD9iclMIjREUDJlmomGKiUJoDatBwveefMMu8194xeEaX9JE+BXdG\r\njGn4A/W9pVzSgjawJTELbnBb4PRwRkEPYj5yhvaiOEgL1F4XSz/VGY60blYc\r\nnh9mF7hXwzSNMFzmBnbUT4guwYRnwHfNbWYYIZOkmXGN8FbNbZTa/TQDlD0z\r\nSiKESwIGUg5A606j1fJEwqpvglWQDvKx280jakmm+9Gk1Xvb+ggdCERtvmWi\r\nJ5oD0KGzOt/uLAU07QtZbKrx4FZjRhvfuvra0DIUKU6S3eub70Xx9NS+zDpS\r\nzstvybkHi4zwPXaHMslPm3s7Bf99BZUY528=\r\n=TC6w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=8.9"},"gitHead":"3fc8774a2724320d7e232e8e048b48a3b7f3ad27","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.6.5","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"16.13.1","dependencies":{"@loopback/boot":"^5.0.10","@loopback/core":"^4.0.10","@loopback/rest":"^12.0.10","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^5.0.10","express-rate-limit":"^6.4.0","@loopback/repository":"^5.1.5","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.38.0","fs-extra":"^10.1.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~4.9.5","@types/node":"^14.18.42","@commitlint/cli":"^16.2.3","@loopback/build":"^9.0.10","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^5.0.10","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.1.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^8.8.0","@loopback/eslint-config":"^13.0.10","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.58.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.0.8","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.58.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_4.3.1_1682347462200_0.5751978498868668","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"loopback4-ratelimiter","version":"5.0.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@5.0.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"74879aa48c464528ccbab744530eb0abc454e6a2","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-5.0.0.tgz","fileCount":66,"integrity":"sha512-T+JUzXwhQRX6cdbty/d+cVIHznHnW9GwneUEk9+FAc3MGgz/xzlcA0TxgKNkpCf41sUPzDlwLJewO4uKrG7e3w==","signatures":[{"sig":"MEQCID/amZ3ZXgEJE9STuumcmktckpYUP7Z9WZr4+tYRM/dpAiAs3N8thJQ4wJ3qYa9FZAUsxqrprU8RMtlbfp2BeLMgvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78112},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=16"},"gitHead":"5f12cbf451dab3bfe29b4073e025c202b60ba684","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.6.7","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"@loopback/boot":"^6.0.0","@loopback/core":"^5.0.0","@loopback/rest":"^13.0.0","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^6.0.0","express-rate-limit":"^6.4.0","@loopback/repository":"^6.0.0","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.40.0","fs-extra":"^10.1.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~4.9.5","@types/node":"^14.18.47","@commitlint/cli":"^16.2.3","@loopback/build":"^10.0.0","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^6.0.0","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.1.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^8.8.0","@loopback/eslint-config":"^14.0.0","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.59.6","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.0.8","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.59.6","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_5.0.0_1686124870949_0.8097203942257165","host":"s3://npm-registry-packages"}},"5.0.1":{"name":"loopback4-ratelimiter","version":"5.0.1","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@5.0.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"3343c31b5501b1c4de350ab1d8294b7eb11f542a","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-5.0.1.tgz","fileCount":66,"integrity":"sha512-BBybqDLTiLRKlRRnob/lym4nLwVOCcAUCf4YyCL77bU1sttILu3gBG+jhlSKI2nxVuEFl3YxtEZz0lmpqEXiug==","signatures":[{"sig":"MEUCIAoVdqTn0KwCzYXBndn+h51QfCHXd4ggmgOAdArz8WjcAiEAgpdEaY1Q/hB5ePcn3f2PxZOeX6LyFlFRbyDJgyn29V4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78772},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=16"},"gitHead":"ed017d83cdb7d553a8d291f652a50c6746fadd05","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.6.7","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"@loopback/boot":"^6.0.0","@loopback/core":"^5.0.0","@loopback/rest":"^13.0.0","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^6.0.0","express-rate-limit":"^6.4.0","@loopback/repository":"^6.0.0","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.40.0","fs-extra":"^10.1.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~4.9.5","@types/node":"^14.18.47","@commitlint/cli":"^16.2.3","@loopback/build":"^10.0.0","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^6.0.0","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.1.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^8.8.0","@loopback/eslint-config":"^14.0.0","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.59.6","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.0.8","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.59.6","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_5.0.1_1688907448480_0.104311240433407","host":"s3://npm-registry-packages"}},"5.0.2":{"name":"loopback4-ratelimiter","version":"5.0.2","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@5.0.2","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"119dad3d9490fe738a17c36c78a78cfe071790c2","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-5.0.2.tgz","fileCount":66,"integrity":"sha512-er+tsFZyh9d5ggv0qYOz7is4tKGnZzt8Y3H/9kmBOJxPTg4gEy0Njji/lOmqiCoiupccMGKcYZfAACCb7kWHaw==","signatures":[{"sig":"MEUCIE0ecp1dcOFaHMkEo7YvMeuok7li1GyIDef/0X0+Wl/RAiEAhW53+fSZ7J/ZKPyq7i3VS9Z4l9tJlHBolNwfTOL6uhQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80575},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=16"},"gitHead":"c393247d7e208b747e6458e5f96ea6509ae96a50","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.8.0","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"18.16.0","dependencies":{"@loopback/boot":"^6.1.0","@loopback/core":"^5.1.0","@loopback/rest":"^13.1.0","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^6.1.0","express-rate-limit":"^6.4.0","@loopback/repository":"^6.1.0","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.44.0","fs-extra":"^10.1.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~4.9.5","@types/node":"^14.18.47","@commitlint/cli":"^16.2.3","@loopback/build":"^10.1.0","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^6.1.0","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.1.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^8.8.0","@loopback/eslint-config":"^14.0.1","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^5.61.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.0.8","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^16.2.1","@typescript-eslint/eslint-plugin":"^5.61.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_5.0.2_1689343340711_0.4484580406976695","host":"s3://npm-registry-packages"}},"6.0.0":{"name":"loopback4-ratelimiter","version":"6.0.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@6.0.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"3afd1cd0d74e4ac83044771481192b79d5205c9c","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-6.0.0.tgz","fileCount":66,"integrity":"sha512-N2xDSoyLr034eaTr8pIO0XAtkxX9g4+7YNPNazcQdyzdbfFAzBj+FGquTUGkhEd3MsXS9JY7y2TvKwjxhJS/Qw==","signatures":[{"sig":"MEUCIQDswtox1cQLJ9vti/cLY/QeauLTBYJe58tPb2EjtcqBzAIgXBFrmwaoUyCez5mTsyTaOZ02VjblbKcDlrFYPgk8cDk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80713},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"gitHead":"30b03be2074ae3a30bccf3140a2c4138a48b7bbf","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.8.1","description":"A rate limiting extension for loopback-next APIs.","directories":{},"_nodeVersion":"18.18.0","dependencies":{"@loopback/boot":"^6.1.3","@loopback/core":"^5.1.3","@loopback/rest":"^13.1.3","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^6.1.3","express-rate-limit":"^6.4.0","@loopback/repository":"^6.1.3","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.48.0","fs-extra":"^11.1.1","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^16.18.50","@commitlint/cli":"^17.7.1","@loopback/build":"^10.1.3","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^6.1.3","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.1.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^9.0.0","@loopback/eslint-config":"^14.0.4","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^6.4.1","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.1.1","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^17.7.0","@typescript-eslint/eslint-plugin":"^6.4.1","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_6.0.0_1696414488286_0.008777593004602569","host":"s3://npm-registry-packages"}},"6.0.1":{"name":"loopback4-ratelimiter","version":"6.0.1","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@6.0.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"20213faece2c10fb4619a992679ee703f4b3bedb","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-6.0.1.tgz","fileCount":65,"integrity":"sha512-35KsTmZgkX0F0O8u62UWlbU3GZNACwX3UCUUy0jxAAovonuIwHoVIc9H1OvkrPxCL03UVdVI4lHjyRCsvHkWHA==","signatures":[{"sig":"MEQCIB/wQhNil5l4LZg5QwoEiwSF/rYl0/jCNI5XG7jBfLAGAiAZ0DLa6fdq3Yr1xu6d5zrdzdniDy70uaHp2dZrbjzlqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71650},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"gitHead":"dde627b2118474a2d9a184ae4b87369323195c9e","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.9.2","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"18.19.0","dependencies":{"@loopback/boot":"^6.1.5","@loopback/core":"^5.1.5","@loopback/rest":"^13.1.5","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^6.1.5","express-rate-limit":"^6.4.0","@loopback/repository":"^6.1.5","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.51.0","fs-extra":"^11.1.1","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@commitlint/cli":"^17.7.1","@loopback/build":"^10.1.5","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^6.1.5","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.2.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^9.0.0","@loopback/eslint-config":"^14.0.5","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^6.8.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.1.1","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^17.7.0","@typescript-eslint/eslint-plugin":"^6.8.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_6.0.1_1705592008620_0.9613493295363982","host":"s3://npm-registry-packages"}},"7.0.0":{"name":"loopback4-ratelimiter","version":"7.0.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@7.0.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"e0a0b9212e9d34da871aa9afd3882f6a738cb33a","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-7.0.0.tgz","fileCount":65,"integrity":"sha512-tDztO77V8OADIH6/Nlo7i8UbgNtpvAEbqzVMANmMyQADGncVoBBgBRVw7GijZVRUavNmKpCmybX0ikz9zG8mBw==","signatures":[{"sig":"MEYCIQCsIJ4t2bEqefQKsRvHAOsZpyM1nxHJH/jutBTchjA2tAIhAMqXVcYS5obmGpyUvYKVFo3/8ZLl5rc2QwfXuBPVjD6A","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71179},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"gitHead":"87b65e1bf5d2e0b532d6f4e20723ce243446b345","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.9.3","description":"A rate limiting extension for loopback-next APIs","directories":{},"_nodeVersion":"18.19.1","dependencies":{"@loopback/boot":"^7.0.0","@loopback/core":"^6.0.0","@loopback/rest":"^14.0.0","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^7.0.0","express-rate-limit":"^6.4.0","@loopback/repository":"^7.0.0","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","fs-extra":"^11.2.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.0","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.0","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.3.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^9.1.0","@loopback/eslint-config":"^15.0.0","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^7.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.4.0","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^17.7.0","@typescript-eslint/eslint-plugin":"^7.1.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_7.0.0_1710315622552_0.05519089809917799","host":"s3://npm-registry-packages"}},"7.0.1":{"name":"loopback4-ratelimiter","version":"7.0.1","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@7.0.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"55b7149e69ee9a28fc7481b32cc51045f22f5a28","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-7.0.1.tgz","fileCount":66,"integrity":"sha512-8Msh53j599eYfifq2UmZt0IgXAPwMq+1jWnkLKgX8R4JLHoRsyvxzJ5Q9YwqWA0XdGXjgl/lRqipfsLo/uaF2Q==","signatures":[{"sig":"MEQCIFCGVFw/Bd9j0WBUZyxdmYRcxyXYNOk3V9QG3DqqezP2AiB0hMYbre1aMVtwNZMaOI8uE+dP91TmKfd/R44M0cxxkA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81195},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"gitHead":"9ebd81a2d41c92265eb0f99df1a71b47d273eea8","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.9.3","description":"A rate limiting extension for loopback-next APIs by ARC","directories":{},"_nodeVersion":"18.20.2","dependencies":{"@loopback/boot":"^7.0.0","@loopback/core":"^6.0.0","@loopback/rest":"^14.0.0","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^7.0.0","express-rate-limit":"^6.4.0","@loopback/repository":"^7.0.0","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","fs-extra":"^11.2.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.0","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.0","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.3.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^9.1.0","@loopback/eslint-config":"^15.0.0","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^7.1.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.4.0","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^17.7.0","@typescript-eslint/eslint-plugin":"^7.1.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_7.0.1_1715767358632_0.9587263149154073","host":"s3://npm-registry-packages"}},"7.0.2":{"name":"loopback4-ratelimiter","version":"7.0.2","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@7.0.2","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"c3b8e7ef722f612fd42a1eb8ae04abc9568e1510","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-7.0.2.tgz","fileCount":66,"integrity":"sha512-TgwYSHjQNKPbPp7DUjB2JdpPBMAjI+Ku3jSSWNz/9Bvf1hg2RvDCh0NRDZfTfKpcdMKm79BSWItLUOmLnW5KqA==","signatures":[{"sig":"MEQCIElUJ6/1zcnh00t6RPvRTCEYXS6p8MzlRfo+8PlgqMWDAiAzHCSRvIHR9oJdWFA0D/XXJN/oQmMUAPjVZxvu7YedHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81537},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"gitHead":"e94062be62bfcb2521c3e30e4bf51ab6dcdce492","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.9.3","description":"A rate limiting extension for loopback-next APIs by ARC","directories":{},"_nodeVersion":"18.20.3","dependencies":{"@loopback/boot":"^7.0.2","@loopback/core":"^6.0.2","@loopback/rest":"^14.0.2","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^7.0.2","express-rate-limit":"^6.4.0","@loopback/repository":"^7.0.2","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","fs-extra":"^11.2.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.2","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.2","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.4.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^9.1.0","@loopback/eslint-config":"^15.0.2","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^7.8.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.5.1","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^17.7.0","@typescript-eslint/eslint-plugin":"^7.8.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_7.0.2_1717571781967_0.3464217926466946","host":"s3://npm-registry-packages"}},"7.0.3":{"name":"loopback4-ratelimiter","version":"7.0.3","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@7.0.3","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"9337a8a16df25bab67e31b22047224a8bb237311","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-7.0.3.tgz","fileCount":66,"integrity":"sha512-8bYXdGzw6KJB8qb3zctuxFLwHZw+TcdtNmnr/u0sGwYjYsf4PQwI5TGKNtUnEUU6otGkGdCURnVWfXDhQqkprA==","signatures":[{"sig":"MEQCIGxedivI3kxdFpUEs7urbIEfgNBeUp6H4wtzC0lgU+zAAiAELxQ9RGVU+xvRAa8+sopU2ZtA3g/HZl+bj5kyFIyRgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81627},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"gitHead":"14ceaf7c4ce29e8555d25f6f4e1e97359f6a51bf","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.9.3","description":"A rate limiting extension for loopback-next APIs by ARC","directories":{},"_nodeVersion":"18.20.4","dependencies":{"@loopback/boot":"^7.0.2","@loopback/core":"^6.0.2","@loopback/rest":"^14.0.2","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^7.0.2","express-rate-limit":"^6.4.0","@loopback/repository":"^7.0.2","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","fs-extra":"^11.2.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.2","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.2","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.4.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^9.1.0","@loopback/eslint-config":"^15.0.2","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^7.8.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.5.1","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^17.7.0","@typescript-eslint/eslint-plugin":"^7.8.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_7.0.3_1731585960349_0.963343523071698","host":"s3://npm-registry-packages"}},"7.0.4":{"name":"loopback4-ratelimiter","version":"7.0.4","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@7.0.4","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"e5169c7e096e8ed77a39fd49de4a7cd71dc41633","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-7.0.4.tgz","fileCount":66,"integrity":"sha512-c6Xum3d+CeAVb5YZ24akLbsSwC43eBxPPxqp7f7QvOKL6luTfEJZ07UAWJ1Z0vx6tRDXkff9llOGVQ45pYroPQ==","signatures":[{"sig":"MEYCIQDH908EQ3HfCztCQVwnDeHLv0b2efOvOnDe8q/722YmsQIhALv4L0orcxN33yB5KL9wvacqcP7tq5QAwdl0o3SiJ0iK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81717},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"gitHead":"4963520af18573648229786c73f9afe750a7a386","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.9.3","description":"A rate limiting extension for loopback-next APIs by ARC","directories":{},"_nodeVersion":"18.20.4","dependencies":{"@loopback/boot":"^7.0.2","@loopback/core":"^6.0.2","@loopback/rest":"^14.0.2","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^7.0.2","express-rate-limit":"^6.4.0","@loopback/repository":"^7.0.2","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","fs-extra":"^11.2.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.2","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.2","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.4.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^9.1.0","@loopback/eslint-config":"^15.0.2","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^7.8.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.5.1","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^17.7.0","@typescript-eslint/eslint-plugin":"^7.8.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_7.0.4_1731589902956_0.2503788260512121","host":"s3://npm-registry-packages"}},"7.0.5":{"name":"loopback4-ratelimiter","version":"7.0.5","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@7.0.5","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"aebc9ae458c8cecc3122eb5b1641414dc39b0519","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-7.0.5.tgz","fileCount":66,"integrity":"sha512-MIXgVikB01bAQ+wuDAIvbNlNFFSNZh2P1uN0a2u1JJchbW2o8Cy3CSqtoTjVuWVvmelO8j0IiAc3VBUoUZLv2w==","signatures":[{"sig":"MEUCIGpUKiZd02wIW9a5L9zLqeALir9FA9qnk6FMBoDojTsJAiEAg8YIyGm21p2MnVlKdxCdmIuM/kvTrPb7lA1pjzG0Wok=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81721},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"gitHead":"093f81799430cae75c3452f26607d83d37b3189f","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.9.4","description":"A rate limiting extension for loopback-next APIs by ARC","directories":{},"_nodeVersion":"18.20.5","dependencies":{"@loopback/boot":"^7.0.9","@loopback/core":"^6.1.6","@loopback/rest":"^14.0.9","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^7.0.9","express-rate-limit":"^6.4.0","@loopback/repository":"^7.0.9","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","fs-extra":"^11.2.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^16.18.119","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.8","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.8","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.4.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^9.1.0","@loopback/eslint-config":"^15.0.4","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^7.16.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.5.1","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^17.7.0","@typescript-eslint/eslint-plugin":"^7.16.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_7.0.5_1734100087606_0.7030221588526904","host":"s3://npm-registry-packages-npm-production"}},"7.0.6":{"name":"loopback4-ratelimiter","version":"7.0.6","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@7.0.6","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"d80beb850e33a4245ef7f93ec2099bb753030fa0","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-7.0.6.tgz","fileCount":66,"integrity":"sha512-/ZR17tgGnMqNd6sCRd39p+B+CPicdZGuPYMQJb+yEEglaI0QBH0ojSx7khhvOcNgVXYeAscTDZA8PrgkRQd+bA==","signatures":[{"sig":"MEUCIQDn0EjbGVMVnAAqS9cIV+qj9xNPujlhLsRse0Vy+/rSNwIge+/XFkVfy4FcxavsPP35bampaPdzhBpdMKjudfCWPz0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81719},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=18"},"gitHead":"bc5aafef67b5f5f2add9b94ef8067aecf4fe892c","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.9.4","description":"A rate limiting extension for loopback-next APIs by ARC","directories":{},"_nodeVersion":"18.20.5","dependencies":{"@loopback/boot":"^7.0.9","@loopback/core":"^6.1.6","@loopback/rest":"^14.0.9","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^7.0.9","express-rate-limit":"^6.4.0","@loopback/repository":"^7.0.9","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","fs-extra":"^11.2.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@commitlint/cli":"^17.7.1","@loopback/build":"^11.0.8","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^7.0.8","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.4.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^9.1.0","@loopback/eslint-config":"^15.0.4","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^7.16.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.5.1","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^17.7.0","@typescript-eslint/eslint-plugin":"^7.16.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_7.0.6_1734443284745_0.6565610902715351","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"loopback4-ratelimiter","version":"8.0.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@8.0.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},{"name":"abir.ganguly","email":"abir.ganguly@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"c8fa0c9f02a5caa7ea8d76b14c4171cb2a9df7e1","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-8.0.0.tgz","fileCount":66,"integrity":"sha512-n8NmtDsMVa413MmpRKx2P/j/z9FajdcnrjR/8nEELa/4trZoqLBzDYBy1dukNnk5W7/wcSBaNq1+EACWflKrnA==","signatures":[{"sig":"MEQCH2sA9Mhv8qdrKaiIthY3/Vindd83AwSWbVafcS72acYCIQCWHYRg+2paEWm6gFNjdZ33BS9/TfU9YOumy5BQt7PrsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81719},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=20"},"gitHead":"f9cfb60c17341b4769e55911b15484291c5a335b","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"git@github.com:sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"@semantic-release/npm":{"npm":"^9.4.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"9.9.4","description":"A rate limiting extension for loopback-next APIs by ARC","directories":{},"_nodeVersion":"20.19.4","dependencies":{"@loopback/boot":"^8.0.4","@loopback/core":"^7.0.3","@loopback/rest":"^15.0.4","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^8.0.3","express-rate-limit":"^6.4.0","@loopback/repository":"^8.0.3","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","fs-extra":"^11.2.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@commitlint/cli":"^17.7.1","@loopback/build":"^12.0.3","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^19.0.3","@loopback/testlab":"^8.0.3","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.4.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.1","eslint-config-prettier":"^9.1.0","@loopback/eslint-config":"^16.0.1","@types/rate-limit-redis":"^1.7.4","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^7.16.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.5.1","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^17.7.0","@typescript-eslint/eslint-plugin":"^7.16.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_8.0.0_1757312652680_0.2809790200476896","host":"s3://npm-registry-packages-npm-production"}},"8.1.0":{"name":"loopback4-ratelimiter","version":"8.1.0","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@8.1.0","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},{"name":"abir.ganguly","email":"abir.ganguly@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"c052a7100cf68a1967afccd87d3e9e1e5d37e509","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-8.1.0.tgz","fileCount":66,"integrity":"sha512-oDVr4YRSfDvIerHDU1qNHkz7PpMcr+mHhRGGpuF+WQP2/cnEqeo4c+I9XlvgxcrHaMGJip4oZSsEOf9oKdCkEQ==","signatures":[{"sig":"MEYCIQDRks/E862yjsfD04cZfA5l6av7KRjMqqGDpGlXVAZxdgIhAI2PFGtC0qs3pdwaHDgThAR9B+hiMhI87etpLQnW8Tu7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopback4-ratelimiter@8.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81402},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=20"},"gitHead":"94d1f644640f64681f76f2c1495dce1a9e1cf032","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator",["@semantic-release/npm",{"pkgRoot":".","npmPublish":true,"tarballDir":"dist"}],["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"https://github.com/sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e008e3ad-33da-4d64-8dc7-1e3420f77b4d"}},"overrides":{"peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"rate-limit-mongo":{"underscore":"^1.13.8"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"11.11.0","description":"A rate limiting extension for loopback-next APIs by ARC","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@loopback/boot":"^8.0.4","@loopback/core":"^7.0.3","@loopback/rest":"^15.0.4","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^3.0.1","@loopback/context":"^8.0.3","express-rate-limit":"^6.4.0","@loopback/repository":"^8.0.3","rate-limit-memcached":"^0.6.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.0.0","eslint":"^8.57.0","fs-extra":"^11.2.0","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.15.1","typescript":"~5.2.2","@types/node":"^18.11.9","@commitlint/cli":"^17.7.1","@loopback/build":"^12.0.3","cz-customizable":"^6.3.0","@types/memcached":"^2.2.6","semantic-release":"^25.0.1","@loopback/testlab":"^8.0.3","@types/proxyquire":"^1.3.28","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.4.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.1","eslint-config-prettier":"^9.1.0","@loopback/eslint-config":"^16.0.1","@types/rate-limit-redis":"^1.7.4","@semantic-release/github":"^12.0.0","@types/express-rate-limit":"^5.0.0","@typescript-eslint/parser":"^7.16.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.1","eslint-plugin-eslint-plugin":"^5.5.1","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^17.7.0","@typescript-eslint/eslint-plugin":"^7.16.0","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_8.1.0_1772703159132_0.9377913321328557","host":"s3://npm-registry-packages-npm-production"}},"8.1.1":{"name":"loopback4-ratelimiter","version":"8.1.1","keywords":["loopback-extension","loopback"],"author":"","license":"MIT","_id":"loopback4-ratelimiter@8.1.1","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},{"name":"abir.ganguly","email":"abir.ganguly@sourcefuse.com"}],"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"dist":{"shasum":"050b67d4f2928b64b8790d3c0fcf614f7c72088b","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-8.1.1.tgz","fileCount":66,"integrity":"sha512-HU9HiAgQUtXmsbukmwDbOMZmRo9pph0lLzBwKE3LCsIQUIvt4HOjJVe95re27zkDfxPCvecVQsfxT/AaY44tzw==","signatures":[{"sig":"MEUCIQDpTQuDn5L2Y2FgqTiDzHlLtuPmtW9748YUlFhBNLmmrQIgN/ZrKSfKPAhjYxFZdrueYe3ox3h6UaA2T4rWT7mWUaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopback4-ratelimiter@8.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89325},"main":"index.js","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"engines":{"node":">=20"},"gitHead":"871769050dee359b5b909a2d4d92e001f4b77b3c","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator",["@semantic-release/npm",{"pkgRoot":".","npmPublish":true,"tarballDir":"dist"}],["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"branches":["master"],"repositoryUrl":"https://github.com/sourcefuse/loopback4-ratelimiter.git"},"scripts":{"lint":"npm run prettier:check && npm run eslint","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","build":"npm run clean && lb-tsc","clean":"lb-clean dist *.tsbuildinfo","eslint":"lb-eslint --report-unused-disable-directives .","prepare":"husky install","pretest":"npm run clean && npm run build","coverage":"npx lb-nyc npm run test","lint:fix":"npm run eslint:fix && npm run prettier:fix","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","eslint:fix":"npm run eslint -- --fix","build:watch":"lb-tsc --watch","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:fix":"npm run prettier:cli -- --write","prepublishOnly":"npm run test && npm run lint","prettier:check":"npm run prettier:cli -- -l"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e008e3ad-33da-4d64-8dc7-1e3420f77b4d"}},"overrides":{"lodash":"^4.18.0","undici":"^6.24.0","handlebars":"^4.7.9","peerDependencies":{"memcached":"^2.2.2","loopback-connector-kv-redis":"^4.0.0"},"rate-limit-mongo":{"underscore":"^1.13.8"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"}},"repository":{"url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git","type":"git"},"_npmVersion":"11.12.1","description":"A rate limiting extension for loopback-next APIs by ARC","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@loopback/boot":"^8.0.11","@loopback/core":"^7.0.10","@loopback/rest":"^15.0.11","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^4.3.1","@loopback/context":"^8.0.10","express-rate-limit":"^8.3.1","@loopback/repository":"^8.0.10","rate-limit-memcached":"^1.0.1"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^7.0.4","jsdom":"^21.1.2","eslint":"^8.57.1","fs-extra":"^11.3.4","memcached":"^2.2.2","proxyquire":"^2.1.3","simple-git":"^3.33.0","typescript":"~5.5.4","@types/node":"^25.5.0","@types/ioredis":"^4.28.10","@commitlint/cli":"^20.5.0","@loopback/build":"^12.0.10","cz-customizable":"^7.5.1","@types/memcached":"^2.2.10","semantic-release":"^25.0.3","@loopback/testlab":"^8.0.10","@types/proxyquire":"^1.3.31","git-release-notes":"^5.0.0","source-map-support":"^0.5.21","eslint-plugin-mocha":"^10.5.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","@loopback/eslint-config":"^16.0.1","@types/rate-limit-redis":"^3.0.0","@semantic-release/github":"^12.0.6","@types/express-rate-limit":"^6.0.2","@typescript-eslint/parser":"^7.18.0","cz-conventional-changelog":"^3.3.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-eslint-plugin":"^5.5.1","loopback-connector-kv-redis":"^4.0.0","@commitlint/config-conventional":"^20.5.0","@typescript-eslint/eslint-plugin":"^7.18.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"_npmOperationalInternal":{"tmp":"tmp/loopback4-ratelimiter_8.1.1_1776677296814_0.8259093330892389","host":"s3://npm-registry-packages-npm-production"}},"9.0.0":{"name":"loopback4-ratelimiter","version":"9.0.0","description":"A rate limiting extension for loopback-next APIs by ARC","keywords":["loopback-extension","loopback"],"main":"index.js","engines":{"node":"22 || 24"},"scripts":{"build":"npm run clean && lb-tsc","build:watch":"lb-tsc --watch","clean":"lb-clean dist *.tsbuildinfo","lint":"npm run prettier:check && npm run eslint","lint:fix":"npm run eslint:fix && npm run prettier:fix","prettier:cli":"lb-prettier \"**/*.ts\" \"**/*.js\"","prettier:check":"npm run prettier:cli -- -l","prettier:fix":"npm run prettier:cli -- --write","eslint":"lb-eslint --report-unused-disable-directives .","eslint:fix":"npm run eslint -- --fix","pretest":"npm run clean && npm run build","test":"lb-mocha --allow-console-logs \"dist/__tests__\"","posttest":"npm run lint","test:dev":"lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest","prepublishOnly":"npm run test && npm run lint","prepare":"husky install","coverage":"npx lb-nyc npm run test"},"repository":{"type":"git","url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git"},"author":"","license":"MIT","dependencies":{"@loopback/boot":"^8.0.11","@loopback/context":"^8.0.10","@loopback/core":"^7.0.10","@loopback/repository":"^8.0.10","@loopback/rest":"^15.0.11","express-rate-limit":"^8.3.1","rate-limit-memcached":"^1.0.1","rate-limit-mongo":"^2.3.2","rate-limit-redis":"^4.3.1"},"devDependencies":{"@commitlint/cli":"^20.5.0","@commitlint/config-conventional":"^20.5.0","@loopback/build":"^12.0.10","@loopback/eslint-config":"^16.0.1","@loopback/testlab":"^8.0.10","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/npm":"^13.1.5","@semantic-release/release-notes-generator":"^14.1.0","@types/express-rate-limit":"^6.0.2","@types/ioredis":"^4.28.10","@types/memcached":"^2.2.10","@types/node":"^25.5.0","@types/proxyquire":"^1.3.31","@types/rate-limit-redis":"^3.0.0","@typescript-eslint/eslint-plugin":"^7.18.0","@typescript-eslint/parser":"^7.18.0","cz-conventional-changelog":"^3.3.0","cz-customizable":"^7.5.1","eslint":"^8.57.1","eslint-config-prettier":"^10.1.8","eslint-plugin-eslint-plugin":"^5.5.1","eslint-plugin-mocha":"^10.5.0","fs-extra":"^11.3.4","git-release-notes":"^5.0.0","husky":"^7.0.4","jsdom":"^21.1.2","loopback-connector-kv-redis":"^4.0.0","memcached":"^2.2.2","proxyquire":"^2.1.3","semantic-release":"^25.0.3","simple-git":"^3.33.0","source-map-support":"^0.5.21","typescript":"~5.5.4"},"overrides":{"peerDependencies":{"loopback-connector-kv-redis":"^4.0.0","memcached":"^2.2.2"},"rate-limit-mongo":{"underscore":"^1.13.8"},"git-release-notes":{"ejs":"^3.1.8","yargs":"^17.6.2"},"undici":"^6.24.0","handlebars":"^4.7.9","lodash":"^4.18.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"config":{"commitizen":{"path":"./node_modules/cz-customizable"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"angular","releaseRules":[{"type":"chore","scope":"deps","release":"patch"}]}],"@semantic-release/release-notes-generator",["@semantic-release/npm",{"npmPublish":true,"pkgRoot":".","tarballDir":"dist"}],["@semantic-release/git",{"assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} semantic"}],"@semantic-release/github"],"repositoryUrl":"https://github.com/sourcefuse/loopback4-ratelimiter.git"},"gitHead":"1d0f0f9f7dc21d1e1a38e6f1b7d8fa5c383e1eac","types":"./index.d.ts","_id":"loopback4-ratelimiter@9.0.0","bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","_nodeVersion":"22.22.3","_npmVersion":"11.17.0","dist":{"integrity":"sha512-gHpBEYgQvjFHqD7IHY277FTyimipRGovc6y/d+yQKlt7goE+Kcqs3/pJ08/vXlBIalnW+G9yhM+fK1FU8o5aOA==","shasum":"dfb8ff9e4e5ef2ab8d99ce473dd72256df3b7266","tarball":"https://registry.npmjs.org/loopback4-ratelimiter/-/loopback4-ratelimiter-9.0.0.tgz","fileCount":66,"unpackedSize":89329,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/loopback4-ratelimiter@9.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC7aXg3A4YOqaAb04rP4uAhdtKQ2l6aVXgr7124/a9LkwIhAK2JRGoqheHF9boB4U4OPcg+BqdEMZ1p5bTv5cCKJCLw"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e008e3ad-33da-4d64-8dc7-1e3420f77b4d"}},"directories":{},"maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},{"name":"abir.ganguly","email":"abir.ganguly@sourcefuse.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/loopback4-ratelimiter_9.0.0_1781605835687_0.915472332738166"},"_hasShrinkwrap":false}},"time":{"created":"2020-05-03T15:44:47.408Z","modified":"2026-06-16T10:30:36.107Z","0.0.1":"2020-05-03T15:44:47.579Z","1.0.0":"2020-05-03T15:50:42.031Z","2.0.0":"2020-12-15T05:44:41.387Z","2.1.0":"2020-12-30T07:00:40.761Z","2.2.0":"2021-05-07T21:30:54.162Z","2.3.0":"2021-11-08T12:22:49.455Z","3.0.0":"2021-11-15T13:40:25.620Z","4.0.0":"2021-12-24T09:20:10.966Z","4.0.1":"2022-03-01T20:24:34.563Z","4.0.2":"2022-04-19T03:16:26.660Z","4.0.3":"2022-04-19T03:47:28.819Z","4.1.0":"2022-05-25T13:12:12.296Z","4.1.1":"2022-06-17T11:05:11.546Z","4.1.2":"2022-09-09T05:39:07.360Z","4.1.3":"2022-10-31T10:39:55.553Z","4.1.4":"2022-12-02T05:58:33.610Z","4.2.0":"2023-01-11T08:15:53.980Z","4.2.1":"2023-02-17T10:43:16.694Z","4.3.0":"2023-03-14T13:28:30.886Z","4.3.1":"2023-04-24T14:44:22.409Z","5.0.0":"2023-06-07T08:01:11.124Z","5.0.1":"2023-07-09T12:57:28.721Z","5.0.2":"2023-07-14T14:02:20.939Z","6.0.0":"2023-10-04T10:14:48.474Z","6.0.1":"2024-01-18T15:33:28.774Z","7.0.0":"2024-03-13T07:40:22.711Z","7.0.1":"2024-05-15T10:02:38.759Z","7.0.2":"2024-06-05T07:16:22.100Z","7.0.3":"2024-11-14T12:06:00.521Z","7.0.4":"2024-11-14T13:11:43.122Z","7.0.5":"2024-12-13T14:28:07.811Z","7.0.6":"2024-12-17T13:48:04.994Z","8.0.0":"2025-09-08T06:24:12.863Z","8.1.0":"2026-03-05T09:32:39.289Z","8.1.1":"2026-04-20T09:28:16.942Z","9.0.0":"2026-06-16T10:30:35.816Z"},"bugs":{"url":"https://github.com/sourcefuse/loopback4-ratelimiter/issues"},"license":"MIT","homepage":"https://github.com/sourcefuse/loopback4-ratelimiter#readme","keywords":["loopback-extension","loopback"],"repository":{"type":"git","url":"git+https://github.com/sourcefuse/loopback4-ratelimiter.git"},"description":"A rate limiting extension for loopback-next APIs by ARC","maintainers":[{"name":"samarpan_sf","email":"samarpan.bhattacharya@sourcefuse.com"},{"name":"yeshasf","email":"yesha.mavani@sourcefuse.com"},{"name":"shubhamp-sf","email":"shubham.prajapat@sourcefuse.com"},{"name":"abir.ganguly","email":"abir.ganguly@sourcefuse.com"}],"readme":"<a href=\"https://sourcefuse.github.io/arc-docs/arc-api-docs\" target=\"_blank\"><img src=\"https://github.com/sourcefuse/loopback4-microservice-catalog/blob/master/docs/assets/logo-dark-bg.png?raw=true\" alt=\"ARC By SourceFuse logo\" title=\"ARC By SourceFuse\" align=\"right\" width=\"150\" /></a>\n\n# [loopback4-ratelimiter](https://github.com/sourcefuse/loopback4-ratelimiter)\n\n<p align=\"left\">\n<a href=\"https://www.npmjs.com/package/loopback4-ratelimiter\">\n<img src=\"https://img.shields.io/npm/v/loopback4-ratelimiter.svg\" alt=\"npm version\" />\n</a>\n<a href=\"https://sonarcloud.io/summary/new_code?id=sourcefuse_loopback4-ratelimiter\" target=\"_blank\">\n<img alt=\"Sonar Quality Gate\" src=\"https://img.shields.io/sonar/quality_gate/sourcefuse_loopback4-ratelimiter?server=https%3A%2F%2Fsonarcloud.io\">\n</a>\n<a href=\"https://github.com/sourcefuse/loopback4-ratelimiter/graphs/contributors\" target=\"_blank\">\n<img alt=\"GitHub contributors\" src=\"https://img.shields.io/github/contributors/sourcefuse/loopback4-ratelimiter\">\n</a>\n<a href=\"https://www.npmjs.com/package/loopback4-ratelimiter\" target=\"_blank\">\n<img alt=\"downloads\" src=\"https://img.shields.io/npm/dw/loopback4-ratelimiter.svg\">\n</a>\n<a href=\"https://github.com/sourcefuse/loopback4-ratelimiter/blob/master/LICENSE\">\n<img src=\"https://img.shields.io/github/license/sourcefuse/loopback4-ratelimiter\" alt=\"License\" />\n</a>\n<a href=\"https://loopback.io/\" target=\"_blank\">\n<img alt=\"Powered By LoopBack 4\" src=\"https://img.shields.io/badge/Powered%20by-LoopBack 4-brightgreen\" />\n</a>\n</p>\n\n## Overview\n\nA simple loopback-next extension for rate limiting in loopback applications. This extension uses [express-rate-limit](https://github.com/nfriedly/express-rate-limit) under the hood with redis, memcache and mongodDB used as store for rate limiting key storage using [rate-limit-redis](https://github.com/wyattjoh/rate-limit-redis), [rate-limit-memcached](https://github.com/linyows/rate-limit-memcached) and [rate-limit-mongo](https://github.com/2do2go/rate-limit-mongo)\n\n## Install\n\n```sh\nnpm install loopback4-ratelimiter\n```\n\n## Usage\n\nIn order to use this component into your LoopBack application, please follow below steps.\n\n- Add component to application.\n\n```ts\nthis.component(RateLimiterComponent);\n```\n\n- Minimum configuration required for this component is given below.\n\nFor redis datasource, you have to pass the name of a loopback4 datasource\n\n```ts\nthis.bind(RateLimitSecurityBindings.CONFIG).to({\n  name: 'redis',\n  type: 'RedisStore',\n});\n```\n\nFor memcache datasource\n\n```ts\nthis.bind(RateLimitSecurityBindings.CONFIG).to({\n  client: memoryClient,\n  type: 'MemcachedStore',\n});\n```\n\nFor mongoDB datasource\n\n```ts\nthis.bind(RateLimitSecurityBindings.CONFIG).to({\n  name: 'mongo',\n  type:'MongoStore';\n  uri: 'mongodb://127.0.0.1:27017/test_db',\n  collectionName: 'expressRateRecords'\n});\n```\n\n- By default, ratelimiter will be initialized with default options as mentioned [here](https://github.com/nfriedly/express-rate-limit#configuration-options). However, you can override any of the options using the Config Binding. Below is an example of how to do it with the redis datasource, you can also do it with other two datasources similarly.\n\n```ts\nconst rateLimitKeyGen = (req: Request) => {\n  const token =\n    (req.headers &&\n      req.headers.authorization &&\n      req.headers.authorization.replace(/bearer /i, '')) ||\n    '';\n  return token;\n};\n\n......\n\n\nthis.bind(RateLimitSecurityBindings.CONFIG).to({\n  name: 'redis',\n  type: 'RedisStore',\n  max: 60,\n  keyGenerator: rateLimitKeyGen,\n});\n```\n\n## EnabledbyDefault\n\nenabledByDefault option in Config Binding will provide a configurable mode.\nWhen its enabled (default value is true),it will provide a way to\nratelimit all API's except a few that are disabled using a decorator.\n\nTo disable ratelimiting for all APIs except those that are enabled using the decorator,\nyou can set its value to false in config binding option.\n\n```\nthis.bind(RateLimitSecurityBindings.CONFIG).to({\n  name: 'redis',\n  type: 'RedisStore',\n  max: 60,\n  keyGenerator: rateLimitKeyGen,\n  enabledByDefault:false\n});\n```\n\n- The component exposes a sequence action which can be added to your server sequence class. Adding this will trigger ratelimiter middleware for all the requests passing through.\n\n```ts\nexport class MySequence implements SequenceHandler {\n  constructor(\n    @inject(SequenceActions.FIND_ROUTE) protected findRoute: FindRoute,\n    @inject(SequenceActions.PARSE_PARAMS) protected parseParams: ParseParams,\n    @inject(SequenceActions.INVOKE_METHOD) protected invoke: InvokeMethod,\n    @inject(SequenceActions.SEND) public send: Send,\n    @inject(SequenceActions.REJECT) public reject: Reject,\n    @inject(RateLimitSecurityBindings.RATELIMIT_SECURITY_ACTION)\n    protected rateLimitAction: RateLimitAction,\n  ) {}\n\n  async handle(context: RequestContext) {\n    const requestTime = Date.now();\n    try {\n      const {request, response} = context;\n      const route = this.findRoute(request);\n      const args = await this.parseParams(request, route);\n\n      // rate limit Action here\n      await this.rateLimitAction(request, response);\n\n      const result = await this.invoke(route, args);\n      this.send(response, result);\n    } catch (err) {\n      ...\n    } finally {\n      ...\n    }\n  }\n}\n```\n\n- This component also exposes a method decorator for cases where you want tp specify different rate limiting options at API method level. For example, you want to keep hard rate limit for unauthorized API requests and want to keep it softer for other API requests. In this case, the global config will be overwritten by the method decoration. Refer below.\n\n```ts\nconst rateLimitKeyGen = (req: Request) => {\n  const token =\n    (req.headers &&\n      req.headers.authorization &&\n      req.headers.authorization.replace(/bearer /i, '')) ||\n    '';\n  return token;\n};\n\n.....\n\n@ratelimit(true, {\n  max: 60,\n  keyGenerator: rateLimitKeyGen,\n})\n@patch(`/auth/change-password`, {\n  responses: {\n    [STATUS_CODE.OK]: {\n      description: 'If User password successfully changed.',\n    },\n    ...ErrorCodes,\n  },\n  security: [\n    {\n      [STRATEGY.BEARER]: [],\n    },\n  ],\n})\nasync resetPassword(\n  @requestBody({\n    content: {\n      [CONTENT_TYPE.JSON]: {\n        schema: getModelSchemaRef(ResetPassword, {partial: true}),\n      },\n    },\n  })\n  req: ResetPassword,\n  @param.header.string('Authorization') auth: string,\n): Promise<User> {\n  return this.authService.changepassword(req, auth);\n}\n```\n\n- You can also disable rate limiting for specific API methods using the decorator like below or use the [skip handler](#skip-handler)\n\n```ts\n@ratelimit(false)\n@authenticate(STRATEGY.BEARER)\n@authorize(['*'])\n@get('/auth/me', {\n  description: ' To get the user details',\n  security: [\n    {\n      [STRATEGY.BEARER]: [],\n    },\n  ],\n  responses: {\n    [STATUS_CODE.OK]: {\n      description: 'User Object',\n      content: {\n        [CONTENT_TYPE.JSON]: AuthUser,\n      },\n    },\n    ...ErrorCodes,\n  },\n})\nasync userDetails(\n  @inject(RestBindings.Http.REQUEST) req: Request,\n): Promise<AuthUser> {\n  return this.authService.getme(req.headers.authorization);\n}\n```\n\n## Middleware Sequence Support\n\nAs action based sequence will be deprecated soon, we have provided support for middleware based sequences. If you are using middleware sequence you can add ratelimit to your application by enabling ratelimit action middleware. This can be done by binding the RateLimitSecurityBindings.CONFIG in application.ts :\n\n```ts\nthis.bind(RateLimitSecurityBindings.RATELIMITCONFIG).to({\n  RatelimitActionMiddleware: true,\n});\n\nthis.component(RateLimiterComponent);\n```\n\nThis binding needs to be done before adding the RateLimiter component to your application.\nApart from this all other steps will remain the same.\n\n## Skip Handler\n\nBy default all the paths are rate limited based on the configuration provided, but can be skipped using the skip handler.\n\nFollowing is the example of an handler that returns true if the path starts with `/obf/` such as `/obf/css/style.css`, `/obf/fonts`, `/obf/stats` etc.\n\n```diff\nconst obfPath = process.env.OBF_PATH ?? '/obf';\n\nthis.bind(RateLimitSecurityBindings.CONFIG).to({\n  name: RedisDataSource.dataSourceName,\n  type: 'RedisStore',\n+  skip: (request, response) => {\n+    const isOBFSubpath = Boolean(\n+      request.path.match(new RegExp(`^/$+{obfPath.replace(/^\\//, '')}/.+`)),\n+    );\n+    return !!isOBFSubpath;\n  },\n});\n```\n\n## Feedback\n\nIf you've noticed a bug or have a question or have a feature request, [search the issue tracker](https://github.com/sourcefuse/loopback4-ratelimiter/issues) to see if someone else in the community has already created a ticket.\nIf not, go ahead and [make one](https://github.com/sourcefuse/loopback4-ratelimiter/issues/new/choose)!\nAll feature requests are welcome. Implementation time may vary. Feel free to contribute the same, if you can.\nIf you think this extension is useful, please [star](https://help.github.com/en/articles/about-stars) it. Appreciation really helps in keeping this project alive.\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](https://github.com/sourcefuse/loopback4-ratelimiter/blob/master/.github/CONTRIBUTING.md) for details on the process for submitting pull requests to us.\n\n## Code of conduct\n\nCode of conduct guidelines [here](https://github.com/sourcefuse/loopback4-ratelimiter/blob/master/.github/CODE_OF_CONDUCT.md).\n\n## License\n\n[MIT](https://github.com/sourcefuse/loopback4-ratelimiter/blob/master/LICENSE)\n","readmeFilename":"README.md"}