{"_id":"fakerest","_rev":"48-4eb33fac4f2e7bd73add721c5631a7a7","name":"fakerest","dist-tags":{"beta":"4.0.0-beta.3","latest":"4.2.1"},"versions":{"1.0.0":{"name":"fakerest","version":"1.0.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.0.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"}],"homepage":"https://github.com/marmelab/FakeRest","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"23960249360166770b2da5e15f2e92522e112ec5","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.0.0.tgz","integrity":"sha512-ByEwoyjbRzcCLaWdYQm/pkdmzDutj8mEwKawWgFyt1yLWOFZVUMKvKwjeaYJJpvz6I1k1lMS2wk0HV1ebI9WoA==","signatures":[{"sig":"MEYCIQCTj8gNs3TZrKbdPjj4aI8lW8EN+zs55+j5o4cz5+SsIAIhAJ1dvf0XQvj6PlzfCvt1SKuckGVQhXta9+4YQ3LhdIsp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fakerest.min.js","_from":".","_shasum":"23960249360166770b2da5e15f2e92522e112ec5","gitHead":"4d068cb44e01c3e568c85000352ca1cfaf52e131","scripts":{"test":"make test"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"https://github.com/marmelab/FakeRest","type":"git"},"_npmVersion":"2.5.1","description":"Intercept XMLHttpRequest to fake a REST server based on JSON data. Use it on top of [Sinon.js](http://sinonjs.org/) to test JavaScript REST clients on the browser side (e.g. single page apps) without a server.","directories":{},"_nodeVersion":"0.12.0","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^4.7.16","babel-loader":"^4.0.0","karma-jasmine":"0.1.5","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","karma-traceur-preprocessor":"^0.4.0"}},"1.0.1":{"name":"fakerest","version":"1.0.1","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.0.1","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"}],"homepage":"https://github.com/marmelab/FakeRest","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"f8c57f00c3f410f9f8b3edbc601fdcdefe6f3c57","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.0.1.tgz","integrity":"sha512-FRKGnba8QHei9NWf/mglLrqi7+gHo0yMkPfSa7lRVstlXOpW2CIc4QDvmjqUmQ1HpZ1aQb9OiIC+qR74qQqslA==","signatures":[{"sig":"MEQCIAatVm4l8TxpwrRqZOw9kEMtEfAluL++vIWVpcRWxjcqAiA5M9n1Yt+MQyankjMJGWC/r7OPD+igvLe2ns+aTVwBLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"f8c57f00c3f410f9f8b3edbc601fdcdefe6f3c57","gitHead":"beeed85941729db46696742fb466220bf83e998b","scripts":{"test":"make test"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"https://github.com/marmelab/FakeRest","type":"git"},"_npmVersion":"2.7.3","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"0.12.0","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^4.7.16","babel-loader":"^4.0.0","karma-jasmine":"0.1.5","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","karma-traceur-preprocessor":"^0.4.0"}},"1.0.3":{"name":"fakerest","version":"1.0.3","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.0.3","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"9d85ffecff4e3f1a723377b6c32b0732ae532ef2","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.0.3.tgz","integrity":"sha512-spgBkZBHLRd1cJlRXNZOs8myxn1u0sNKB54voQw5xEBOwjH//FaFSy3idzltayVrj+rbaaGO2ZjPyq9q+Qx9Tw==","signatures":[{"sig":"MEYCIQCl2x/uHgTPU2Hs0vcQMhSkvJC7RgIhj+kr9QjAc9kLjwIhAJsC1FvdzVmZrMzl0Rz9rCMMnsnwtCcm/MTdRok9LZHt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"9d85ffecff4e3f1a723377b6c32b0732ae532ef2","gitHead":"dec3939bb78f381bdbd930dc7fc6bf9ca8ce95c2","scripts":{"test":"make test"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.12.1","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"0.12.7","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","karma-traceur-preprocessor":"^0.4.0"}},"1.0.4":{"name":"fakerest","version":"1.0.4","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.0.4","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"94107b5c3b664a40acaa961a37c571e1f1d28303","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.0.4.tgz","integrity":"sha512-fcktcmI/bt/IVCIqRQHgwwhDFSTcjyO0HNOxZlUfHwu1dZhucwRovNXFbS8wjOlDPdAA/BR689SYaE2SAyHDNw==","signatures":[{"sig":"MEYCIQCG5ERgeN87mA3vKZIi7ia+irrB5Lkptt87YoOe1U+uZwIhAIT9SrxOUR942FVORtB/WZFz0/XV7i0cA1fLi4txlW5G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"94107b5c3b664a40acaa961a37c571e1f1d28303","gitHead":"82bdc07b11394eda65204418ccb7fa6bdd175ee4","scripts":{"test":"make test"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.12.1","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"0.12.7","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","karma-traceur-preprocessor":"^0.4.0"}},"1.0.5":{"name":"fakerest","version":"1.0.5","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.0.5","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"409d88bbc218b3fdf98ff3a45eb7684920de6ca5","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.0.5.tgz","integrity":"sha512-2aOziWSltU6Tjt3mT1O6Jad/5o09lC5iwtI3jh4l0FEvrxkeBaFpCggGDLF2kxCCUwjRpkbvj3MyAD4qqh8GvA==","signatures":[{"sig":"MEUCIQC4Augi4X4a7i4frgRpRYRw8ny0wp2GMlJfn3652zUpoQIgCy7BEdVsR4HKn7ePNy79SSURPkdbtLekBZyO5UErKRA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"409d88bbc218b3fdf98ff3a45eb7684920de6ca5","gitHead":"efeae1d274929aba901f36db6bc886c4d8b20ff2","scripts":{"test":"make test"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.12.1","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"0.12.7","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","karma-traceur-preprocessor":"^0.4.0"}},"1.0.6":{"name":"fakerest","version":"1.0.6","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.0.6","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"da1aa93748aa2ff5f09f647cac19ab011e41a538","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.0.6.tgz","integrity":"sha512-DlIi5RzrCrVLBahAnGFfKGANZ4C//p4gOasjsyyDtEeB98mw0iYLtFfIq3/3ErRgf8r4sIeTL8tCa+zjbpBhog==","signatures":[{"sig":"MEUCIQDMoHpbvoJpgUzTJyPC6J+IgCEe1Np4+6nyrkcwc1LzwgIgdEt+lMG3C7q3X3kGAJxKFP86zVUBvzixMRuEpSRoD30=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"da1aa93748aa2ff5f09f647cac19ab011e41a538","gitHead":"3178098e51268f07e0ca5f19136bad4ef07280df","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.12.1","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"0.12.7","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","karma-traceur-preprocessor":"^0.4.0"}},"1.0.7":{"name":"fakerest","version":"1.0.7","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.0.7","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"f0f95b3b82a50ea831bb777793a52688cd3a260c","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.0.7.tgz","integrity":"sha512-d5ij9me50n1m12xH8l6kKVv+a+p2uhbUrXrEkjUg0UZB7UHv7wSCg0nFARf0lh1N27x8Y7T2nY4jNEStyoxVGA==","signatures":[{"sig":"MEYCIQCzEa3iEec20Z0HnZtUVHFU4cdUP7IhE0vXwd0Sj1hGiQIhAM3rbvAm2tgUID2cwjP3LrW7iOyrSXTnyFqSGtwm11U5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"f0f95b3b82a50ea831bb777793a52688cd3a260c","gitHead":"ac36cbf4cfd3bd4d105c4f7842f16790ddcb07e9","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.12.1","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"0.12.7","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","karma-traceur-preprocessor":"^0.4.0"}},"1.0.8":{"name":"fakerest","version":"1.0.8","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.0.8","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"aa29c02125b2104ec73ef2252a5fd60c9e03e5ef","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.0.8.tgz","integrity":"sha512-Oye2B4FL7w7735Sh7ZyH6IwHp7Jvf9TWvvJSDIGSDNnU5eazZWuAwqfiabODn81oz2KVltYwC5v1y5i+hSUMSQ==","signatures":[{"sig":"MEYCIQDcBtVA2v5cHxoEgk2HKqaub5USc2q8WgKkHR66Gf0s0wIhAIXEUWJUa3xxwLLRkQOZuBkxEzBCc0DNkxZeVUI3OAUA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"aa29c02125b2104ec73ef2252a5fd60c9e03e5ef","gitHead":"215861b09cc59b83a003b9108925a368fd103d86","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.12.1","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"0.12.7","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","karma-traceur-preprocessor":"^0.4.0"}},"1.0.9":{"name":"fakerest","version":"1.0.9","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.0.9","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"a12941cacf8925c41cede18a1906d4f2db44e338","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.0.9.tgz","integrity":"sha512-jhNlWle3PG48jY9GtRROjHQfH3sB7ckKsbiUUVS5i3Fyh+/AUilIdCDUtnNaSsRlCu02T0OzUjkEoU88KqCDhg==","signatures":[{"sig":"MEQCIDKKswysn7FLlKhR3lcYpmNW1HYrevWTGpuZksgwXnZHAiALlsEaQ5J4kVGNqyrkLgj24Lp4rnWDdyCSxl925ZgOWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"a12941cacf8925c41cede18a1906d4f2db44e338","gitHead":"eb068a0a6f3ac856777a037b03ef6143a71e669b","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.12.1","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"0.12.7","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","karma-traceur-preprocessor":"^0.4.0"}},"1.0.10":{"name":"fakerest","version":"1.0.10","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.0.10","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"78ac93cd6b1ff1ff0794b4df2b3dd24d5586189f","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.0.10.tgz","integrity":"sha512-3DGObBjwzm9QJ+OKrxrdri1sh/ZEawB9gKw9qkULnp/FroWdnuIsLTJ27Ux4r0i9SACRsWMxoMnugadF2SavQg==","signatures":[{"sig":"MEUCIQDD9SMGLtQpXp9l559FWuiUKVl4lp9JFn8Nn0tiRqzOQAIgMajlFxAY1PJryiMfuq/JIu0UzyprQ3mu+QJOBd6B78Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"78ac93cd6b1ff1ff0794b4df2b3dd24d5586189f","gitHead":"71c170565a7e4847df9622bd0f521cee6234203f","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.12.1","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"0.12.7","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","karma-traceur-preprocessor":"^0.4.0"}},"1.0.11":{"name":"fakerest","version":"1.0.11","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.0.11","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"d2bbb502467edb1cf514f29d1463c7f53953b2c2","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.0.11.tgz","integrity":"sha512-UagjdibhmwvoxJj07L0bsW6lfMKyw1BPiEzjd1FvCKYVeSfov7hRO3U9OdEWmI3NPuPcSa05Kw1EPqRXaC+VUQ==","signatures":[{"sig":"MEYCIQDr8T+dtXsUMBhcXi+IaY5bMyOGGqrA0H+adRRvT6bwEwIhAIGxkIEL9i7GHSn5Zu2GFZ9EMY+0W3a8l0x8h8ntbDJi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"d2bbb502467edb1cf514f29d1463c7f53953b2c2","gitHead":"f62adc2c0811512281a0494ba6967681c7a9bfd8","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.12.1","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"0.12.7","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","karma-traceur-preprocessor":"^0.4.0"}},"1.1.0":{"name":"fakerest","version":"1.1.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.1.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"e41dbcfcaafac861264c5860e974bb6d0ea29992","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.1.0.tgz","integrity":"sha512-ZF+rMRo3CXsfufR4R9ytordBpHO+hdS6RXrdzEq/YvfP+bnD5VDh3g6eNaR8NLSl/ASF5WepAEgvjMhfusFi1g==","signatures":[{"sig":"MEYCIQC9t1lwYrjBCAlU0ZXw2BmyZMTSqFIJkQo5UlozgRINUAIhAODaG5EypK41KVEj6X5kg/F5YYiBd8h873trRB3lsiF/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"e41dbcfcaafac861264c5860e974bb6d0ea29992","gitHead":"454b7761fce45cef8d34a8da5d9d4e536b2db9d1","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.14.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"4.1.0","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","object.assign":"^4.0.1","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","string.prototype.endswith":"^0.2.0"}},"1.1.1":{"name":"fakerest","version":"1.1.1","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.1.1","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"0425836709d9b833704565ba0186d6e76c6de740","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.1.1.tgz","integrity":"sha512-XScuWZfgd88jwLMHQTnIDPmpj26LeQ67HIIkqA/cKzzhhA/P7iJT3YWie+AN68XQeK1oyZFFS5/cvBVLQaI9fQ==","signatures":[{"sig":"MEQCIB+jyGrXvFCVY3paSEE5xW3fCLvpOv3ITYe4tNU5P0siAiBjmzyPx6k85oBKr8sYwCpmQB+SPSl7x8Jm3JR+vBvbqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"0425836709d9b833704565ba0186d6e76c6de740","gitHead":"f88ccea34b926023e032138483893bf25110e391","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.14.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"4.1.0","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","object.assign":"^4.0.1","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","string.prototype.endswith":"^0.2.0"}},"1.1.2":{"name":"fakerest","version":"1.1.2","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.1.2","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"72c517ba85391989d9fd4706d32924b645354133","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.1.2.tgz","integrity":"sha512-8eHU9r7RgAIYI15bE21VLIgalclmUOxOtiV/bQV+zQNeLthpzMUj74CsnkUaA3sMQYuPTE4Zuj81I2+gNj0FGw==","signatures":[{"sig":"MEUCIQCzdEwS0pCGS3kh+yldmZT6X3KpLbY2vJ8LwM36/VHjegIge+MaRZhMLsTH11JmC9itqsUuPKWjjrH+u4i6GyYduCY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"72c517ba85391989d9fd4706d32924b645354133","gitHead":"e88017b7778f0f46937ebc215dfb9bac04c92a77","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.14.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"4.1.0","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","object.assign":"^4.0.1","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","string.prototype.endswith":"^0.2.0"}},"1.1.3":{"name":"fakerest","version":"1.1.3","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.1.3","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"1baf1c5c29b25c86cbb2b46de73e8941b161c07d","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.1.3.tgz","integrity":"sha512-oHH+kAm4/Ymz1Al6SYZNJnWPRy7gj9znfYEasgePajq2y9O4owhwEA7ZaLX/oaHFw/CafBZscvawEwVtP6pJlQ==","signatures":[{"sig":"MEUCIQDyK/deylf7DxJoV3qy3iX6dW/b2hzAlzacjgVowX7VdQIgPtxZUcyjEoKKwrQ9IJYWnA4DP87JDx8GtZzKjQc+Wec=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"1baf1c5c29b25c86cbb2b46de73e8941b161c07d","gitHead":"2eb64f6e66300211c8075a6d01dc0a66ed472b93","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.14.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"4.1.0","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","object.assign":"^4.0.1","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","string.prototype.endswith":"^0.2.0"}},"1.1.4":{"name":"fakerest","version":"1.1.4","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.1.4","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"4ae6d64362a0fcd31a20d9b8245e926bb524e2ec","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.1.4.tgz","integrity":"sha512-1jDs26JRFoKmzhUH2sXaQxSNaT+j3DGa36AxphcuHNjSrWTGWHCfrMl2hnEVp/KSfEXDd3bhM4/jQbg+mPbM2w==","signatures":[{"sig":"MEQCIDLmhNCcRaaM6kvTs+2/Kwsmnd/4OW4p9IkFiv0GwRlxAiAbYqZFLAF+XOI3OkxofIy0oxG7bIMRuGNAG8+tRAI8VQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"4ae6d64362a0fcd31a20d9b8245e926bb524e2ec","gitHead":"93f25e93f77a4b5ee85b7af6f163a97156666515","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"2.14.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"4.1.0","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","object.assign":"^4.0.1","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","string.prototype.endswith":"^0.2.0"}},"1.2.0":{"name":"fakerest","version":"1.2.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.2.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"7edc044153735f022f7a048e8f07ce3b7e4e8f80","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.2.0.tgz","integrity":"sha512-nVVej8J/G0UjgnSTEjmb20/nd4fAEQQcI9HKSciYtG+W8SKSRbnoKC5nGaN8xL5ge/3lZK66yfuP1vWjzJNJYA==","signatures":[{"sig":"MEUCIQCHAtP/6wR92/UFhKlrimx/mpp2uxDB0nSYDGUi3ocqPgIgIGQMA1874z75059p6f5liBPRAOEsmNyzz5ynQUVM+Rs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"7edc044153735f022f7a048e8f07ce3b7e4e8f80","gitHead":"19f55f364e2c40f7a635c353f0dae672f7fe8376","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"3.7.3","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"5.9.0","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","fetch-mock":"^4.6.0","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","object.assign":"^4.0.1","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","string.prototype.endswith":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/fakerest-1.2.0.tgz_1471183654161_0.15307147079147398","host":"packages-16-east.internal.npmjs.com"}},"1.2.1":{"name":"fakerest","version":"1.2.1","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@1.2.1","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"3977ca469f6d0059c0c733184c25dab229895c63","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-1.2.1.tgz","integrity":"sha512-9ltf5HsioY9a4Ziz8O0e1MFMEEATLfAWl1LqDu1xLSPyCSCZcIj4ACqwJbBH7VLLwvM9zNzCVCehBnicVjcXcg==","signatures":[{"sig":"MEUCICKxSfb7tBJE9iveM/9Qh7XQE7lJP6NDSONuCaTbDta1AiEAtyK1ClKGCwboNAJBKxb4ql1WcPF07v9Xf7XoXMnM1Pg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"3977ca469f6d0059c0c733184c25dab229895c63","gitHead":"d4e25fd0f9e4b429012dcd00de8b90389649ce8c","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"3.7.3","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"5.9.0","devDependencies":{"karma":"0.12.14","sinon":"^1.14.1","webpack":"^1.7.1","babel-core":"^5.4.3","fetch-mock":"^4.6.0","babel-loader":"^5.1.2","babel-runtime":"^5.4.3","karma-jasmine":"0.1.5","object.assign":"^4.0.1","karma-spec-reporter":"0.0.16","karma-chrome-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.4","array.prototype.findindex":"^1.0.0","string.prototype.endswith":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/fakerest-1.2.1.tgz_1476259336032_0.7163050915114582","host":"packages-12-west.internal.npmjs.com"}},"2.0.0":{"name":"fakerest","version":"2.0.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@2.0.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"c9dbd48f1db564007b50f15d67ea52fb9f3adf83","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-2.0.0.tgz","integrity":"sha512-fG0H2/LQ3HiBcsSEvTyFp7Y16N8RAeeLbiEa7HhtzMxuXi/6TVuhUSH6/Y3913uKZkrHI2cXC3GfO1QnjF5X7Q==","signatures":[{"sig":"MEQCICHPGPVdPJNASw+Qk13mWd3nvabSDaRhzwtFUNR7r6f+AiAoksIRWqZjfiqffLoR/Gh04jyZjB4xRlt3v72mYi0tTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","_from":".","_shasum":"c9dbd48f1db564007b50f15d67ea52fb9f3adf83","gitHead":"0905b61427c5c6b6b67c0abee1d1cf159e559253","scripts":{"test":"make test"},"_npmUser":{"name":"marmelab","email":"info@marmelab.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"3.10.8","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"7.0.0","dependencies":{"babel-runtime":"^6.22.0"},"devDependencies":{"karma":"1.4.1","sinon":"~1.14.1","webpack":"~1.7.1","babel-core":"~6.22.1","fetch-mock":"~5.9.3","babel-loader":"~6.2.10","jasmine-core":"^2.5.2","babel-runtime":"~6.22.0","karma-jasmine":"1.1.0","object.assign":"~4.0.1","babel-preset-es2015":"^6.22.0","karma-spec-reporter":"0.0.26","babel-preset-stage-0":"^6.22.0","karma-chrome-launcher":"2.0.0","karma-phantomjs-launcher":"1.0.2","array.prototype.findindex":"~2.0.0","string.prototype.endswith":"~0.2.0","babel-plugin-transform-runtime":"^6.22.0","babel-plugin-add-module-exports":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest-2.0.0.tgz_1486460200086_0.36556663853116333","host":"packages-18-east.internal.npmjs.com"}},"2.1.0":{"name":"fakerest","version":"2.1.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@2.1.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"marmelab","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"f66d0b8fbae7455efa7c666e3f6cdeec70a83860","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-2.1.0.tgz","integrity":"sha512-c5x7iayu46Qa/h/W7k3PJiElNc56yxCkWY4mxs38be/D9YNfQSy8fn8xtlIPYGIUxDHAcpmVF9YXrA/SqJp1cA==","signatures":[{"sig":"MEYCIQCKiOpOcW+MgBidMaps53ccb+nAogLjcfXrkTccwRFMqwIhAOWfaE4vchw/S6ygCnaM/sak4g9Xhjj9VJEpWt2GLlE/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/FakeRest.min.js","gitHead":"8397d21b8c8e3a847f80a362dddb1da5cf5a0f5e","scripts":{"test":"make test"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"5.3.0","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"8.4.0","dependencies":{"babel-runtime":"^6.22.0"},"devDependencies":{"karma":"1.4.1","sinon":"~1.14.1","webpack":"~1.7.1","babel-core":"~6.22.1","fetch-mock":"~5.9.3","babel-loader":"~6.2.10","jasmine-core":"^2.5.2","babel-runtime":"~6.22.0","karma-jasmine":"1.1.0","object.assign":"~4.0.1","babel-polyfill":"^6.22.0","babel-preset-es2015":"^6.22.0","karma-spec-reporter":"0.0.26","babel-preset-stage-0":"^6.22.0","karma-chrome-launcher":"2.0.0","karma-phantomjs-launcher":"1.0.2","array.prototype.findindex":"~2.0.0","string.prototype.endswith":"~0.2.0","babel-plugin-transform-runtime":"^6.22.0","babel-plugin-add-module-exports":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest-2.1.0.tgz_1507023510769_0.9553706969600171","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"fakerest","version":"2.2.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@2.2.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"68fc7663baee9243d998dcdb20c9f555ae7b6065","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-2.2.0.tgz","fileCount":27,"integrity":"sha512-6ByPB2f7NfK7UJ7W4xt2oz6Cq/gefYCV5NJTCkDmZS+hh2scheLl7eLqOCmdx/yw67JinTvG8TgOufjhkM0UOg==","signatures":[{"sig":"MEUCIQCmIGdgF4l/PYWkvhX/KsRdtL2FCt6HogQhT+idG35ESgIgLEEdk/8xjBpZdsvyZZS5+CrsPVVL6BrfNJIwVnewfDY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":289417,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdK0vCRA9TVsSAnZWagAAXv0P/iawnJvBH4BMr0L9dVIi\nIKeKFkiahEIcgGjlOeW8cbrcoiKKeXROt+lboEsl2bO+fws7q6S3KlcYH+ES\nBYRCpfQOf6c0CP2H2gf0PBDEICC8qAk6ZeulDD/RjCPMPOtngHyfxHAs5IQS\nlXW+E450PokuGyZH7Z6wkVF1wYNscjOcDzisWtFW04xqyo2ALXV6m8vh0kVL\n6kcsAuYR2vdRPTGz+1dDRiRyXQkVhbl7hoZDtqG1PDH/PkbyE2f8zz+7EReK\nG47qVshCncDQfndQmqQLMxKDHFXqoccWb4WFwZYoXGU1lkbSPe5iuPzbdzEB\n40nryGlWw1vq6Bb7OgdHB9nwSclCfNmiaK95qR5N02GTegN4rIxzGPKc18lM\nScIn912ZUURXJRVF4YAQkV9RwY8GTKcWhiSjAa32s7Hhy3nTEZup0fwhjH3N\nrtXLsE8EJd39xBIYHahSra+yFsfBHP+TEi8vqrvrHUj3bmGjSqufa/HONdXa\nUpvcKte3FwsAIHNEkgkT49RsaS0wF2xwTCEeMuJxjMp3mHrdl4X9EwAY+bpz\nV1ZWm2RMBrDYbZdxXZ559BgzgGtX2mxBmuB4TI4I10zWD9ayJOgJ1d2mOO6p\n1ZzFieFU/XcSJDW9GoF+RZb2zy1ILoAE/3bUM/3uLAYVwgGD6Yh6T+sxE+nH\nmNz7\r\n=FiPQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/FakeRest.min.js","gitHead":"3db14bc3576fd7479f72b80c90bf21543cd0a41b","scripts":{"test":"make test"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"6.14.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"12.16.1","dependencies":{"babel-runtime":"^6.22.0"},"_hasShrinkwrap":false,"devDependencies":{"karma":"1.4.1","sinon":"~1.14.1","webpack":"~1.7.1","babel-core":"~6.22.1","fetch-mock":"~5.9.3","babel-loader":"~6.2.10","jasmine-core":"^2.5.2","babel-runtime":"~6.22.0","karma-jasmine":"1.1.0","object.assign":"~4.0.1","babel-polyfill":"^6.22.0","babel-preset-es2015":"^6.22.0","karma-spec-reporter":"0.0.26","babel-preset-stage-0":"^6.22.0","karma-chrome-launcher":"2.0.0","karma-phantomjs-launcher":"1.0.2","array.prototype.findindex":"~2.0.0","string.prototype.endswith":"~0.2.0","babel-plugin-transform-runtime":"^6.22.0","babel-plugin-add-module-exports":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_2.2.0_1601482030709_0.24630618361004908","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"fakerest","version":"3.0.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@3.0.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"f17d0228fede9a863849b1221aa0be8a9a87371a","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-3.0.0.tgz","fileCount":27,"integrity":"sha512-lwmsgHQm+EIz9XtKi/w9hfeiv8RkqgEgF4559rw5rbdUZQ4ASbjvK4VCp/Ii8Nwkd3XW9Qo+NesvZvGUEqTI0A==","signatures":[{"sig":"MEYCIQDqvfQ6a8sL5K0foiLdGphMZdZOVof5ySwxpFsRnU0BMgIhAIF/zEbx1P+cT8vBstNUfiPp1xtzYoP3CecI+767P16M","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":317053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgG+2cCRA9TVsSAnZWagAAEkgP/2oTFOq011FQuHJFPJNt\n+iKJi2YKst1ku3jiLBfPT1GMxTFilr2JBwdlbjPpRY0SaAW/pPfkId7bSFK2\nyf+Rg69fBkiJfl5hsiY5NDpKejBrxhlr7oF2sy/E1FR3sTVOJAoxkcUm2ymh\nUXbGxC3s9LHGBVuE1rCl67y1gMWl256TWj3JbBSOZIZG3SbSWPsHsyVg0nUi\nd7mRZcTsUNAgEo+bMFxsrVDRWmRkFMyFFxei3rEz0TTFev2F/KI9/mn6nuli\nW6tzqCnpeec2GddhNsxMdEh8AmgIRKWv0lQLBoAunGswaD9l5V3r7GvmKWVR\nkU2/0M0BDODkYy7joM/NIqZWfHOoLTLA3xJk+/E4Y8Vs6nPGKOwFRXaYNx+X\niog2YmunONJW0Mw6wfWHjIvse28HIa2wiMdSl4+C3ATbGlEx/6NBqumjAGwS\ni/KeXLv9LzXDyfEBEYr7jss7h1Rta9MgAsa88HnTbZlO4WB/NZ8t9AxZcBnc\n8gOZYccSV62qhLE8uvs5mAzwKqNzLfL2iQptVwGavndAFNqVbpiTaIOor2ep\ns4j0Q+qAALN3tE5uyHqJXyilEAIj/Jq21UjdY+MFuCUxvZCB5yieky2I4yJc\nXLk+FW0vPJENI/IenHtpZQwZSSF9RsSGNsECUCLQVfocqQcNPa5MQADG9W5g\ndxDj\r\n=ybvs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/FakeRest.min.js","gitHead":"1483b82903a8af936ed8d8280ac9f2236f65ddf1","scripts":{"test":"jest"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"6.14.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"12.16.1","browserslist":"> 0.25%, not dead","dependencies":{"babel-runtime":"^6.26.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","sinon":"~1.14.1","webpack":"^5.20.0","babel-core":"^6.26.3","fetch-mock":"^9.11.0","webpack-cli":"^4.5.0","babel-loader":"^8.2.2","babel-runtime":"^6.26.0","babel-polyfill":"^6.26.0","@babel/preset-env":"^7.12.13","terser-webpack-plugin":"^5.1.1","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-add-module-exports":"^1.0.4"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_3.0.0_1612443036192_0.3248782891954698","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"fakerest","version":"3.1.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@3.1.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"1fe2ce1149affd2823a29a657d11a9515a4e0a85","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-3.1.0.tgz","fileCount":27,"integrity":"sha512-R16qzYYGl8m3K0eWLAeh/DmsndITKEX8gFykDqCMgv6HSvZwhPXInfGimY8gcXkHU2EnXmsbA90SyDlHIM7oiQ==","signatures":[{"sig":"MEYCIQDi7ttuXjBMujmvkYsrsAUvygWieKOOi0GU2V2Dpj4ycQIhAOUMQuRPEu5D3MzD9Bmjkk3BfrSW9Nh7EvERym9YKH2I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":429440,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQP2LCRA9TVsSAnZWagAAHeUP/2IWwicBrkmXYfxnchR6\n2vXC+Q4f6ACiN4t7jgc4Hl4dqAl/Pqp8Pw+cRfr2EbN5CpnMN35jyu+OEIux\nLZqQISd/G9EP7ysbrrJQI3yYvu3bafXn9l+QT8P2YpKLJOOOqYo7kn4KKwSO\nH5n66h4JWw8c0lF3UCWBesxDq3uRxD+Xbpd6HpaMTVMOw5fnOMmnnE5PXXfF\nX3gWyi+KjC8n4GgScSqp0njnpMpPkMBQw06oOLCvsfwZMb23fYT6p7Ql7g1K\nXPKl/VCtB74dhLd20ohvCJrcUbuE68p/Dcqxi329o6JG42COF41rDsj+8gHN\nlpiL9bLVvZXQwbembUP0D7pIygUz23+Fq0UK3q6ij58//sAGwadJpF0X1X0u\nQC2Np0FylAkHv1aA9XlCnyfYzuMrGJvQguyMShGobJ2+s/ltp9v41xsfd3N6\nHSFUt98eamc7NIcoh5Tq5E4nXJoboekbef/dExgY3rDRFjIg/sHuCBkBlBtw\namNaMUqnzH6gMFSDXR6W5lcQSnZrL7DNnAuWZHKU31SZ0jhyPcloyLj1hZin\nEPqaxzSbjs7Kv8e3RaKfqHB3pN0JnwuaedXyw/hl3J5VBgySj2WhH+t8sl5v\nb40hJT9mhZXuGiPUDBICg7bkTuwj/DnEL+hJdgM21fM8vjkqxiSp2PgSCb2O\nUeA7\r\n=898N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/FakeRest.min.js","gitHead":"343188100f376a263592e3caafd8eeffd1660295","scripts":{"test":"jest"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"6.14.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"12.16.1","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21","babel-runtime":"^6.26.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","sinon":"~1.14.1","webpack":"^5.20.0","babel-core":"^6.26.3","fetch-mock":"^9.11.0","webpack-cli":"^4.5.0","babel-loader":"^8.2.2","babel-runtime":"^6.26.0","babel-polyfill":"^6.26.0","@babel/preset-env":"^7.12.13","terser-webpack-plugin":"^5.1.1","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-add-module-exports":"^1.0.4"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_3.1.0_1614871947097_0.6329898051846654","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"fakerest","version":"3.2.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@3.2.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"d6cd8ab39866b1f7618d385ff39cf2857e9bd04d","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-3.2.0.tgz","fileCount":28,"integrity":"sha512-yyxLvhUCCVNnQgrttZtoRYMjqpTXSdW2pwV6+2C9Y2IzrsxqM5kj547VX1RKBR6RGMw9KnOJ+w30wCulIOKxcQ==","signatures":[{"sig":"MEQCIEx5AcPuwsFAyJPY7zxlGicCMGyRKKU5bkGdsGf/skBPAiByjXIKNLE6itIUiF9ImnVPrHeSlafGLEIumyszeOo1cg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":815013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYXJKCRA9TVsSAnZWagAATYAQAIAl4PJRwRG8hD56zi7t\nLcgmZadHD30TBTmk9WbQnAIJg1mUcUbI4YIhRYjo8hIwlupxgs5zT0MzbxoT\nb0hhX0KJ6gW9v3x8zgJxZmNsl3U8d21n5WeMfHes4CM0apb3enwAAaBiGbvY\nrBGN+ZJRS9mSc26yfOMD+2NddbVkrzS8Y3YRWqCYLdUepdKkU/SPXkmI8i25\nA/FqBQXXnZr1MmmW2Sc1yCjuu+ZNrKrqlv2eMJognP14Hrn06W0Uk66tROsF\nRD+sMMzG7ZiJG6tjgkMsO45fAf1HKvVGaB5Tg8MDKQmju8wfqDwa7fJkIlRi\n6dMNFS3uE7TRU/I0VLbxHtJUNdwbNrvTpfD98aeQCCjeLdU6Qx/S8eJBMDhn\np2kq03x5iWv5OwOmO3k6XsLyTMk7xwbqDkZjlAmvpEXgWC1ESkiVIR0JeRgy\ngDbUjkIW8NEHMxeP/pw9UzZJtKe7HxX13J+bITH5rCqscxsrjlhR5KH26/nG\n6m1NRf0bgdDmAll6LqYVlAVoPs7D6/2Nox2oT/C5v0qXEyv8rcUav5B/gS1n\nWdnTJCafkbf5hj7DVyosBXAudq1gcztcN9JkveN0ynR1PK1lvJleJv9ltvkV\nByDJPaMAYAq1nxm7tG69D+7QoD9WhS2BamDcKWdj7uAdOItBR68MyiNHInaJ\nBpl/\r\n=uVN4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/FakeRest.min.js","gitHead":"91290e9b2788eddd2402d451721de192664d3151","scripts":{"test":"jest"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"6.14.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"12.16.1","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21","babel-runtime":"^6.26.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","sinon":"~1.14.1","webpack":"^5.20.0","babel-core":"^6.26.3","fetch-mock":"^9.11.0","webpack-cli":"^4.5.0","babel-loader":"^8.2.2","babel-runtime":"^6.26.0","babel-polyfill":"^6.26.0","@babel/preset-env":"^7.12.13","terser-webpack-plugin":"^5.1.1","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-add-module-exports":"^1.0.4"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_3.2.0_1616998985902_0.4050388823291917","host":"s3://npm-registry-packages"}},"3.3.0":{"name":"fakerest","version":"3.3.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@3.3.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"81f41d096fd7145825b058ee3d4b9d518f4ed92b","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-3.3.0.tgz","fileCount":28,"integrity":"sha512-D1y6a13dh34n738YMztecCX36JRKI5kxPaNVQukXUXvUyK7eANWyB5zczy0SMoMUDXC/ceKfjkgwbc1AYqYYOQ==","signatures":[{"sig":"MEUCIQCYmOImRLsK/Ce0rrInZI+ajXDF+/ITGi7YuBdEFyp9XQIgG6Jj/J1vkrYu1aU0sec2uqEMHgCskMypvnkhvEn7gTs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":816783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYi0ECRA9TVsSAnZWagAAkTEP/3ldbbDkAxhSEJq80EnT\nmntRXmBwKtEzrg6jaYKvLC0J6Wdk/i/ziKBPhc0nM4yRZ2Hfjm3qTzZUA6FK\nr+nmHbGkaTZRl4ckJ3DuLrg5xxoTInjlKB7IcAncLHgPZRlQXPR+0rUYs93Q\n1LePaPG8OAyqtFu0b5WjIpaJZheJvCPxsKKb6zEoI8mtVTt/ygFURSohIgF5\nsb3AQ5R9fvcmpdkJex6AZCSK7SNvRmg8Oc0tzhKU+eGZ8B1kexcMFKI9iNsk\nUztgQ0T88OAZR3hc4EQPOdhG3srM9nh+SjK7yloa6tZiHwvtE3K0YlPAPKAq\n5S9NKk5LoLVhPrNjzH31hLHf4MZt2aF2zXQw4KpbeVZPvsZRJrlFzp2ltGaP\nz1lXMLooBBAOv7UKfo7EBi3U3q75gStMPHlr1tAR53esEm+TmpURN/uSEB3w\nwKJnzWxd5KnA9RoZ8/o+FtfYS8BgL/mUbziq3NTdKFUlzIj3MOia4KEwkT5a\n8SvzXYzMckDLsKQZMWz8GWeRtTKwuWIngNIQI7i5BpyeaM2RxIsDuix/2p0w\nXlgtjIjmFlGdCeQzbKn84zywso57l/lp7z+9M4eRvLuxIT835BHshdAMCfqv\nbFRbyyRltgprTYMeBHoS7PrfDjXSm8qRzSF6ZFdvUkl296OQrgTi+HnhkyhL\nro5u\r\n=WMlg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/FakeRest.min.js","gitHead":"261c5524bec1f4d33e0303798d39ad9fb32a5aca","scripts":{"test":"jest"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"6.14.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"12.16.1","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21","babel-runtime":"^6.26.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","sinon":"~1.14.1","webpack":"^5.20.0","babel-core":"^6.26.3","fetch-mock":"^9.11.0","webpack-cli":"^4.5.0","babel-loader":"^8.2.2","babel-runtime":"^6.26.0","babel-polyfill":"^6.26.0","@babel/preset-env":"^7.12.13","terser-webpack-plugin":"^5.1.1","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-add-module-exports":"^1.0.4"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_3.3.0_1617046787889_0.1620341649462682","host":"s3://npm-registry-packages"}},"3.4.0":{"name":"fakerest","version":"3.4.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@3.4.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"01aad9f86f4af71b10f212fd3e4bf321a2d9456e","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-3.4.0.tgz","fileCount":28,"integrity":"sha512-L5RSPP5NZch4rBy8ovr1mMBZe8AjVLW4OwVwxQUn+NzYVkoalszMR3D8TCCQEevGPe+dUjj7UAJD5kK91sZCJQ==","signatures":[{"sig":"MEQCIFL+vAB12EyQPxMflxXNYbHrMnH3v5tRlAAgjkUJg+oGAiBAlRWckWPVP5Wsp2pPunVAmTdiQt+Q1diNjWBAaq1c3g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":824178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyXyIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtVw/+K/Dv4ZGk5T0ey6MwVi80AalrgenMgGH+yXTCs5wU4+oCNw06\r\nuQ248ztfNRe2TamYU1MUGEu58X1YEf7A4aZSMLNN76OiCTsHBzEKiVU83kyX\r\nLAzpUjgdlJNAdgpnHHPk5Jbg0M609EvCx6n4YVaKTx0J1MOw3E4oGA3VBwYL\r\nvfxW3NVZRTcrsnyjdNyqz1rr8BsEIwf9pgwN0sYiBFxeGwirzuFXjwXZRrNG\r\nD0wfOU8EnCQM3dmUOL/bjt/WD88+ppuPx5gaLWEY3PgGtz8uizxiUOXlw89q\r\nCe3MRsyerP3X+WIeXcrXG9ztqIlKUmD/08DPGf2rBKnqBJNh0q0WqrwQh4K8\r\nmZDJRaXf3AsYTkse7QzoSTl3t0Vv3ORSSTXbyDi8To+oo6wTrrBGIlv97gF4\r\n6zpFY5wLAe4OtmzAMnwVDWVMoukd87qsFMd3NSmtLgaB/dqyjp1lrtn5AMy+\r\ngYhxm0t/kKzF3ZsE15tIU5Tl2xAYU50NqdwgrE6ppBqnksDVF5zNQDj3udyL\r\nAq7dGmspFTbqVJw7QRVYDkdsciLZv6Qs73babHI+iQhqkhS2Teh784TpIdyn\r\nWImFqunAL6abZrH4Otti1caHyDkS0H88eqQdwP40Zq3ZQ8gJ0V96iCKPlv8t\r\n+uuxO6Fi1o5OpvPmWnIiCttwMKDt2uxp/x8=\r\n=sPW/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/FakeRest.min.js","gitHead":"ba9e64d94fcdcc3cd9059ec50985ba79d98d834d","scripts":{"test":"jest"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"6.14.16","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"14.19.1","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21","babel-runtime":"^6.26.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","sinon":"~1.14.1","webpack":"^5.20.0","babel-core":"^6.26.3","fetch-mock":"^9.11.0","webpack-cli":"^4.5.0","babel-loader":"^8.2.2","babel-runtime":"^6.26.0","babel-polyfill":"^6.26.0","@babel/preset-env":"^7.12.13","terser-webpack-plugin":"^5.1.1","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-add-module-exports":"^1.0.4"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_3.4.0_1674148999941_0.8155913858202561","host":"s3://npm-registry-packages"}},"3.5.0":{"name":"fakerest","version":"3.5.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@3.5.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"dist":{"shasum":"db0cc2285b01f36a70cdfd764c3c1f658c492bb9","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-3.5.0.tgz","fileCount":28,"integrity":"sha512-ltEVKsobk1ZkiTmQ5pbN3frhTMNneZN585g3XnR7jJaVItfx8sBGOvlYjpDIpAb+KhCVP35M629wxFH0XDOopg==","signatures":[{"sig":"MEUCIF99X8jAMCQqpLduZ98AhPT7faaFCFWfCIkbG0hP7H7XAiEAnN8nM20xY8A3NQ7CrRhc09ZRAOHc3cnv/MxQqQ5euzg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":838627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzsHIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpbRg//Y+qyJf/xaT/Vw0bB4JbbBHBgWxG7iBMyiAtPbaIzWTB0EnMe\r\nc5EkHcvOEhfFknKvsLLatig8blMNQHL8QbKnAiC6Kiz3ItU9w9EEc96zXiwK\r\nSLejQcMRpFgcoVfFaOKC2xfcijDu0ThHEFr1wKO2Grw7z/6SUXUghk+/bEBc\r\nVACdJEmfAsJLQ/DK0+BRoMEWinNNnPx8qVOeQ29TyI6VZX6aEA6ZIBPvG9J9\r\nis6Di8F0lhTOr3Gf4i4gCK7B3erPRLdVMV9DjzfkJEDR+VHwM9sHJV6DD22/\r\nNs/U0Ex2sYEKdUxw66OD+aDn6s8cgT0t/AL/8c2Bgsupf0sWTJmKDpoVt4go\r\nMCHCXJTAqGa1TOR0WysFybGHrNap62xs0ct2usb+b/uE2vBY0tkaCbyVQ9+N\r\nxMd3Jl+c8Xeiw6gJnpnyrlNk1tHwNUO7Oi4zWoCJj6KId6X2TBCDtdZlZOwR\r\nDYaBdW67fAdBhTR0cjp3FM5RzEATLb7J0DH4e2Dw40kKSYb/jDvDWdfUXmJV\r\n9w5oAtGnQ/zja+N04kqUea8k4i26UrUtbsuGsL4PIjKvfAVWLbH0w6Il/Yij\r\nA8jdC4eb8Rk6jZSetNytn01E01SDM7vMmL26MRNDwDAlwhsYcsqc4pg3ZYhX\r\ny8Z8WT/96bHObIz651zqTigNSyU3nf0mUuw=\r\n=tLyt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/FakeRest.min.js","gitHead":"69cb5b3a388f535824b8e1f4ce7865a95855d015","scripts":{"test":"jest"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"6.14.16","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"_nodeVersion":"14.19.1","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21","babel-runtime":"^6.26.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","sinon":"~1.14.1","webpack":"^5.20.0","babel-core":"^6.26.3","fetch-mock":"^9.11.0","webpack-cli":"^4.5.0","babel-loader":"^8.2.2","babel-runtime":"^6.26.0","babel-polyfill":"^6.26.0","@babel/preset-env":"^7.12.13","terser-webpack-plugin":"^5.1.1","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-add-module-exports":"^1.0.4"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_3.5.0_1674494407826_0.1304656419046355","host":"s3://npm-registry-packages"}},"4.0.0-beta.0":{"name":"fakerest","version":"4.0.0-beta.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@4.0.0-beta.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"msw":{"workerDirectory":["public"]},"dist":{"shasum":"c630cf9b6e3f032f855e045eff179c76d67d2148","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-4.0.0-beta.0.tgz","fileCount":64,"integrity":"sha512-8JVOqX+FYQJ4tWnmaGaT8dBtwWcH2Nl4Sw+XMnCtLuyKxiptVZNCkd008OCoVmUpSOFK3PAvA2yP3S/xVIIDcQ==","signatures":[{"sig":"MEUCIAlonxO41BHUyjWhQL4fhQ190TS3TGhMWbCN3dwBgO3CAiEApkJ2FPysaZm1lslxaE6yhmZ1exue1vwQtoZkeqYUyBw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2206118},"main":"dist/fakerest.min.umd.cjs","type":"module","types":"./dist/FakeRest.d.ts","module":"./dist/fakerest.min.js","exports":{".":{"import":"./dist/fakerest.min.js","require":"./dist/fakerest.umd.cjs"}},"gitHead":"848c1b20f34efb8b0cfe823f090d0a62b74977c6","scripts":{"dev":"vite","lint":"biome lint --apply src","test":"vitest","build":"vite build && vite build -c vite.config.min.ts","format":"biome format --write src","prepare":"husky"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"10.2.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":["biome lint --apply","biome format --write"]},"_nodeVersion":"18.19.1","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"msw":"^2.2.14","vite":"^5.2.9","husky":"^9.0.11","react":"^17.0.2","sinon":"~18.0.0","vitest":"^1.5.0","happy-dom":"^14.7.1","react-dom":"^17.0.2","fetch-mock":"^9.11.0","typescript":"^5.4.5","lint-staged":"^15.2.2","react-admin":"^4.16.15","@types/sinon":"^17.0.3","@types/lodash":"^4.17.0","@biomejs/biome":"1.7.0","vite-plugin-dts":"^3.8.3","ra-data-simple-rest":"^4.16.15","@vitejs/plugin-react":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_4.0.0-beta.0_1717769531471_0.5758177233347082","host":"s3://npm-registry-packages"}},"4.0.0-beta.1":{"name":"fakerest","version":"4.0.0-beta.1","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@4.0.0-beta.1","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"msw":{"workerDirectory":["public"]},"dist":{"shasum":"0b95257982b9b8c3ea685144ea63b13ff686a5d4","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-4.0.0-beta.1.tgz","fileCount":64,"integrity":"sha512-iAhtPj1QR0+ULB/qixhG1e2ecrsznG6MRPSozP54jqBsrLdvrYdWAEBTOhJkNNWn6210zNO+3G7QLroBems41w==","signatures":[{"sig":"MEUCIQCB9s5sW8r9cZFHqG8jB8kahTEG941sqWOCjYu+QZBVOQIgOHlmzufX91040a7el2mKsogLysyLZU7152Rxllwmaac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1437606},"main":"dist/fakerest.min.umd.cjs","type":"module","types":"./dist/FakeRest.d.ts","module":"./dist/fakerest.min.js","exports":{".":{"import":"./dist/fakerest.min.js","require":"./dist/fakerest.umd.cjs"}},"gitHead":"b228c8370f7cece13122c355d2072d8b2887b00d","scripts":{"dev":"vite","lint":"biome lint --apply src","test":"vitest","build":"vite build && vite build -c vite.config.min.ts","format":"biome format --write src","prepare":"husky"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"10.2.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":["biome lint --apply","biome format --write"]},"_nodeVersion":"18.19.1","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"msw":"^2.2.14","vite":"^5.2.9","husky":"^9.0.11","react":"^17.0.2","sinon":"~18.0.0","vitest":"^1.5.0","happy-dom":"^14.7.1","react-dom":"^17.0.2","fetch-mock":"^9.11.0","typescript":"^5.4.5","lint-staged":"^15.2.2","react-admin":"^4.16.15","@types/sinon":"^17.0.3","@types/lodash":"^4.17.0","@biomejs/biome":"1.7.0","vite-plugin-dts":"^3.8.3","ra-data-simple-rest":"^4.16.15","@vitejs/plugin-react":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_4.0.0-beta.1_1718005357879_0.05460309680132358","host":"s3://npm-registry-packages"}},"4.0.0-beta.2":{"name":"fakerest","version":"4.0.0-beta.2","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@4.0.0-beta.2","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"msw":{"workerDirectory":["public"]},"dist":{"shasum":"7f0fe03f79d0d75af0fecab893baaf8de391025d","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-4.0.0-beta.2.tgz","fileCount":64,"integrity":"sha512-sKOfkEfZU1mkLe/2sq4ko2xZc6+0+OMKE3zR9zLOFFWfz+Vaf4GSxSZmvr9vy7FO80RzIHYH+S2zqLGQc4+0Fg==","signatures":[{"sig":"MEUCIAzGIsRlFRVSuU3817rdK3k1sv4K0eo0fKuHiFzqi6AkAiEAmKJN41/8NYGGwykTdNT01bEt8lh5O613yA0BzX++rNQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1437603},"main":"dist/fakerest.min.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/fakerest.min.js","exports":{".":{"import":"./dist/fakerest.min.js","require":"./dist/fakerest.umd.cjs"}},"gitHead":"e442455e8a24bf4131843d350910598986733af6","scripts":{"dev":"vite","lint":"biome lint --apply src","test":"vitest","build":"vite build && vite build -c vite.config.min.ts","format":"biome format --write src","prepare":"husky"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"10.2.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":["biome lint --apply","biome format --write"]},"_nodeVersion":"18.19.1","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"msw":"^2.2.14","vite":"^5.2.9","husky":"^9.0.11","react":"^17.0.2","sinon":"~18.0.0","vitest":"^1.5.0","happy-dom":"^14.7.1","react-dom":"^17.0.2","fetch-mock":"^9.11.0","typescript":"^5.4.5","lint-staged":"^15.2.2","react-admin":"^4.16.15","@types/sinon":"^17.0.3","@types/lodash":"^4.17.0","@biomejs/biome":"1.7.0","vite-plugin-dts":"^3.8.3","ra-data-simple-rest":"^4.16.15","@vitejs/plugin-react":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_4.0.0-beta.2_1718009139705_0.7088121729925521","host":"s3://npm-registry-packages"}},"4.0.0-beta.3":{"name":"fakerest","version":"4.0.0-beta.3","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@4.0.0-beta.3","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"msw":{"workerDirectory":["public"]},"dist":{"shasum":"a6616d501b12ff2feabb8e0e308b915e614fdc07","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-4.0.0-beta.3.tgz","fileCount":64,"integrity":"sha512-sRaAk6X7wrEEzQmtvUYo8ofaUpVO+oBjk4kNtcOfFWRDOJwdPtchxUNspA5SiYWFws/9cwxOpbREKLcs/C7O8A==","signatures":[{"sig":"MEQCIF5CrY1np6rtKE1h2pO2QrbKM4WdS7cxsQAwLZ2HmEOJAiAUGWzW1fhBY/F+bkz7jGu1KVmknGdqg0cCqlZKm5AfXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1438868},"main":"dist/fakerest.min.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/fakerest.min.js","exports":{".":{"import":"./dist/fakerest.min.js","require":"./dist/fakerest.umd.cjs"}},"gitHead":"2cf4c345c59c4a7080d5e865651d662f69a23f14","scripts":{"dev":"vite","lint":"biome lint --apply src","test":"vitest","build":"vite build && vite build -c vite.config.min.ts","format":"biome format --write src","prepare":"husky"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"10.2.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":["biome lint --apply","biome format --write"]},"_nodeVersion":"18.19.1","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"msw":"^2.2.14","vite":"^5.2.9","husky":"^9.0.11","react":"^17.0.2","sinon":"~18.0.0","vitest":"^1.5.0","happy-dom":"^14.7.1","react-dom":"^17.0.2","fetch-mock":"^9.11.0","typescript":"^5.4.5","lint-staged":"^15.2.2","react-admin":"^4.16.15","@types/sinon":"^17.0.3","@types/lodash":"^4.17.0","@biomejs/biome":"1.7.0","vite-plugin-dts":"^3.8.3","ra-data-simple-rest":"^4.16.15","@vitejs/plugin-react":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_4.0.0-beta.3_1718011826613_0.7421209252708105","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"fakerest","version":"4.0.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@4.0.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"msw":{"workerDirectory":["public"]},"dist":{"shasum":"065b49f9b87cf5e9e0e14ef1e249b203e94ba8ab","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-4.0.0.tgz","fileCount":64,"integrity":"sha512-m15f0W8j0VLeOluxU5p85hzAvZMLeyfMca54cTZMB1BQ8VH59+6boL/oZ5bmz+9CviVLR6LkhDxd+dBkjjWkQg==","signatures":[{"sig":"MEUCIQCnBRNavwQ5muCTrybeoUyZCxW/Iu7xVc5Y/PzYdGemuwIgWOTXz6d1aPRUL3JsGzV73JQ5rEA8FWEmqP3Bi/07UsE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1439083},"main":"dist/fakerest.min.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/fakerest.min.js","exports":{".":{"import":"./dist/fakerest.min.js","require":"./dist/fakerest.umd.cjs"}},"gitHead":"b83cb684aa53cce513aa3e2388ccb8cc47b32227","scripts":{"dev":"vite","lint":"biome lint --apply src","test":"vitest","build":"vite build && vite build -c vite.config.min.ts","format":"biome format --write src","prepare":"husky"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"10.2.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":["biome lint --apply","biome format --write"]},"_nodeVersion":"18.19.1","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.2.14","vite":"^5.2.9","husky":"^9.0.11","react":"^17.0.2","sinon":"~18.0.0","vitest":"^1.5.0","happy-dom":"^14.7.1","react-dom":"^17.0.2","fetch-mock":"^9.11.0","typescript":"^5.4.5","lint-staged":"^15.2.2","react-admin":"^4.16.15","@types/sinon":"^17.0.3","@types/lodash":"^4.17.0","@biomejs/biome":"1.7.0","vite-plugin-dts":"^3.8.3","ra-data-simple-rest":"^4.16.15","@vitejs/plugin-react":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_4.0.0_1718012648757_0.7195663758875877","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"fakerest","version":"4.0.1","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@4.0.1","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"msw":{"workerDirectory":["public"]},"dist":{"shasum":"ab14767621dad8ecf7e139fcc1d01fb8e7a00502","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-4.0.1.tgz","fileCount":66,"integrity":"sha512-W7fmJaLEbLfi9YKPVRaBWlTBWunUR7MylUNDDOHUn2VCXymKbE36hmhDca4OHLoFmOYOuJN14T+zxT/ZeWBVOQ==","signatures":[{"sig":"MEYCIQDcc/bUk09fpAjVJRPCihZz0mQZGoicx2QBkVArXdzz+wIhAId3CeQDxyeCgZIcOBPIMwROGp0umtHo7jEcGSktiMJb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1447847},"main":"dist/fakerest.min.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/fakerest.min.js","exports":{".":{"import":"./dist/fakerest.min.js","require":"./dist/fakerest.umd.cjs"}},"gitHead":"cdbe4438e1bf24a15412edaed62d5a29184bc30f","scripts":{"dev":"vite","lint":"biome lint --apply src","test":"vitest","build":"vite build && vite build -c vite.config.min.ts","format":"biome format --write src","prepare":"husky"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"10.2.4","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":["biome lint --apply","biome format --write"]},"_nodeVersion":"18.19.1","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.2.14","vite":"^5.2.9","husky":"^9.0.11","react":"^17.0.2","sinon":"~18.0.0","vitest":"^1.5.0","happy-dom":"^14.7.1","react-dom":"^17.0.2","fetch-mock":"^9.11.0","typescript":"^5.4.5","lint-staged":"^15.2.2","react-admin":"^4.16.15","@types/sinon":"^17.0.3","@types/lodash":"^4.17.0","@biomejs/biome":"1.7.0","vite-plugin-dts":"^3.8.3","ra-data-simple-rest":"^4.16.15","@vitejs/plugin-react":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_4.0.1_1718611740804_0.7866630705535496","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"fakerest","version":"4.1.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@4.1.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"msw":{"workerDirectory":["public"]},"dist":{"shasum":"20e15d3c58e2e6a77cdf0e85a824a1b6c15db583","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-4.1.0.tgz","fileCount":66,"integrity":"sha512-AMIHR3fCqRMjM6aRxxA5OlAlZvB2wgXN2iZY25hYzHDOE1kflNfhzVgXxZy9vPO2qTHoGtYCrdJr24LtskIIUg==","signatures":[{"sig":"MEUCIQC3oZ4IOKVgeqThQzx7GPSIliqBI0lEUh/OHDuFa7JvJAIgbTGmXcrR7hRt9AzRD6wWAarJbpwLJPq/1C3UROD7iRo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1453548},"main":"dist/fakerest.min.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/fakerest.min.js","exports":{".":{"import":"./dist/fakerest.min.js","require":"./dist/fakerest.umd.cjs"}},"gitHead":"91e3f1f2f8e5143aaa550bccf0be4c36c54663fb","scripts":{"dev":"vite","lint":"biome lint --apply src","test":"vitest","build":"vite build && vite build -c vite.config.min.ts","format":"biome format --write src","prepare":"husky"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"10.7.0","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":["biome lint --apply","biome format --write"]},"_nodeVersion":"18.20.4","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.2.14","vite":"^5.2.9","husky":"^9.0.11","react":"^17.0.2","sinon":"~18.0.0","vitest":"^1.5.0","happy-dom":"^14.7.1","react-dom":"^17.0.2","fetch-mock":"^9.11.0","typescript":"^5.4.5","lint-staged":"^15.2.2","react-admin":"^4.16.15","@types/sinon":"^17.0.3","@types/lodash":"^4.17.0","@biomejs/biome":"1.7.0","vite-plugin-dts":"^3.8.3","ra-data-simple-rest":"^4.16.15","@vitejs/plugin-react":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_4.1.0_1721734759934_0.23868832926470884","host":"s3://npm-registry-packages"}},"4.1.1":{"name":"fakerest","version":"4.1.1","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@4.1.1","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"msw":{"workerDirectory":["public"]},"dist":{"shasum":"76565d429854df1d00dc234b080f0877086220f7","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-4.1.1.tgz","fileCount":66,"integrity":"sha512-GPF+MQQI4GqlSK0yYUjX/LmXyzAxmMMIPqoRz0rF8UVauJLs1gZEvGzhWCJD9RkLiQQK86wVm0A/Kig3xgChIQ==","signatures":[{"sig":"MEYCIQDiQ9SEzkDrb8tgxnXv3bHNinRH/Zg3m+imwOcugCTvJAIhAL3B1glyDHDjESTv/quSnno6XTVjdJDhQ0inKOntcwrq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1453584},"main":"dist/fakerest.min.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/fakerest.min.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/fakerest.min.js","require":"./dist/fakerest.umd.cjs"}},"gitHead":"606742421466ad98a43cca54ba15a1a140123c83","scripts":{"dev":"vite","lint":"biome lint --apply src","test":"vitest","build":"vite build && vite build -c vite.config.min.ts","format":"biome format --write src","prepare":"husky"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"10.7.0","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":["biome lint --apply","biome format --write"]},"_nodeVersion":"18.20.4","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.2.14","vite":"^5.2.9","husky":"^9.0.11","react":"^17.0.2","sinon":"~18.0.0","vitest":"^1.5.0","happy-dom":"^14.7.1","react-dom":"^17.0.2","fetch-mock":"^9.11.0","typescript":"^5.4.5","lint-staged":"^15.2.2","react-admin":"^4.16.15","@types/sinon":"^17.0.3","@types/lodash":"^4.17.0","@biomejs/biome":"1.7.0","vite-plugin-dts":"^3.8.3","ra-data-simple-rest":"^4.16.15","@vitejs/plugin-react":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_4.1.1_1722503028070_0.8470971472081905","host":"s3://npm-registry-packages"}},"4.1.2":{"name":"fakerest","version":"4.1.2","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@4.1.2","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"djhi","email":"gildas@garcia.cloud"},{"name":"zaninottof","email":"info@marmelab.com"},{"name":"slax57","email":"jbaptiste.kaiser@gmail.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"msw":{"workerDirectory":["public"]},"dist":{"shasum":"30d85b301dfab217485dd57f9b4881df131cd990","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-4.1.2.tgz","fileCount":66,"integrity":"sha512-Dct66xRpUGgUJYJl2YTNRD+2bLhpTSCiIfm2i/Vm5S3HOOOtTjW89z7NMeY+dByCdQTGPvMxbWMKjUIJWsHZoA==","signatures":[{"sig":"MEYCIQC3lKAse4aCgwovf0acbkin/TVlNxVK5LlUxOcEh5gpIAIhAOwOUqgqQR/k47xeP2yRpcXJTSUr9is6KrZZwYVFk9ak","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1459566},"main":"dist/fakerest.min.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/fakerest.min.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/fakerest.min.js","require":"./dist/fakerest.umd.cjs"}},"gitHead":"9cf8347d85cfc86eff09fe5ee4ee3eb6e77bc4a7","scripts":{"dev":"vite","lint":"biome lint --apply src","test":"vitest","build":"vite build && vite build -c vite.config.min.ts","format":"biome format --write src","prepare":"husky"},"_npmUser":{"name":"djhi","email":"gildas@garcia.cloud"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"10.9.2","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":["biome lint --apply","biome format --write"]},"_nodeVersion":"22.13.0","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.2.14","vite":"^5.2.9","husky":"^9.0.11","react":"^17.0.2","sinon":"~18.0.0","vitest":"^1.5.0","happy-dom":"^15.10.2","react-dom":"^17.0.2","fetch-mock":"^9.11.0","typescript":"^5.4.5","lint-staged":"^15.2.2","react-admin":"^4.16.15","@types/sinon":"^17.0.3","@types/lodash":"^4.17.0","@biomejs/biome":"1.7.0","vite-plugin-dts":"^3.8.3","ra-data-simple-rest":"^4.16.15","@vitejs/plugin-react":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_4.1.2_1738312705312_0.462000743142007","host":"s3://npm-registry-packages-npm-production"}},"4.1.3":{"name":"fakerest","version":"4.1.3","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@4.1.3","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"djhi","email":"gildas@garcia.cloud"},{"name":"zaninottof","email":"info@marmelab.com"},{"name":"slax57","email":"jbaptiste.kaiser@gmail.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"msw":{"workerDirectory":["public"]},"dist":{"shasum":"e3b662087b4c1fccb74fe1f8e4d39f0e65701f69","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-4.1.3.tgz","fileCount":66,"integrity":"sha512-drJ/7m8fDHMXTfKmmTEDegrL/SamUrKAYLWj9K7tfkpglvuMrdk6V6iGAy/dJr4tCUgoexr2+lfXHIYppF004Q==","signatures":[{"sig":"MEUCIQD0Q+fiEvozlWPTbN2ZSnr24jNnGsKiMSDho+xct+tf5QIgD5Bb5vLtYvCyl9z+xUzvhf07DTTjVyRJ7Xrblzqj/Do=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1461494},"main":"dist/fakerest.min.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/fakerest.min.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/fakerest.min.js","require":"./dist/fakerest.umd.cjs"}},"gitHead":"4e5fa7249d78cf60cd2744d66f02c6701fb29314","scripts":{"dev":"vite","lint":"biome lint --apply src","test":"vitest","build":"vite build && vite build -c vite.config.min.ts","format":"biome format --write src","prepare":"husky"},"_npmUser":{"name":"djhi","actor":{"name":"djhi","type":"user","email":"gildas@garcia.cloud"},"email":"gildas@garcia.cloud"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"11.1.0","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":["biome lint --apply","biome format --write"]},"_nodeVersion":"22.16.0","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.2.14","vite":"^5.2.9","husky":"^9.0.11","react":"^17.0.2","sinon":"~18.0.0","vitest":"^1.5.0","happy-dom":"^15.10.2","react-dom":"^17.0.2","fetch-mock":"^9.11.0","typescript":"^5.4.5","lint-staged":"^15.2.2","react-admin":"^4.16.15","@types/sinon":"^17.0.3","@types/lodash":"^4.17.0","@biomejs/biome":"1.7.0","vite-plugin-dts":"^3.8.3","ra-data-simple-rest":"^4.16.15","@vitejs/plugin-react":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_4.1.3_1751272307893_0.9171724267266208","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"fakerest","version":"4.2.0","author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","_id":"fakerest@4.2.0","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"djhi","email":"gildas@garcia.cloud"},{"name":"zaninottof","email":"info@marmelab.com"},{"name":"slax57","email":"jbaptiste.kaiser@gmail.com"}],"homepage":"https://github.com/marmelab/FakeRest#readme","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"msw":{"workerDirectory":["public"]},"dist":{"shasum":"94c3393d6e42a4d7d5c6897e35e4fab0a2610e91","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-4.2.0.tgz","fileCount":66,"integrity":"sha512-qJtQO0r2iirV20XTqGrYDnueb4xEreOZISRWL5u8iFDCHELVl6AElaqn6z4z+/88bI0Hia357K6YTzTVwHFLjQ==","signatures":[{"sig":"MEYCIQDLdRoIL5SPZ4uLOy6gq5l/0T5qDcs5ysakh+YofLxN8gIhAPpErCYOkzlNPVMVbU5ko6znTJje6J7eIsVog7s5dHlB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1474790},"main":"dist/fakerest.min.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/fakerest.min.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/fakerest.min.js","require":"./dist/fakerest.umd.cjs"}},"gitHead":"cd1b83c337dbd952c81bba64742d033fb5bbc944","scripts":{"dev":"vite","lint":"biome lint --apply src","test":"vitest","build":"vite build && vite build -c vite.config.min.ts","format":"biome format --write src","prepare":"husky"},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"repository":{"url":"git+https://github.com/marmelab/FakeRest.git","type":"git"},"_npmVersion":"10.8.2","description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":["biome lint --apply","biome format --write"]},"_nodeVersion":"20.19.4","browserslist":"> 0.25%, not dead","dependencies":{"lodash":"^4.17.21"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.2.14","vite":"^5.2.9","husky":"^9.0.11","react":"^17.0.2","sinon":"~18.0.0","vitest":"^1.5.0","happy-dom":"^15.10.2","react-dom":"^17.0.2","fetch-mock":"^9.11.0","typescript":"^5.4.5","lint-staged":"^15.2.2","react-admin":"^4.16.15","@types/sinon":"^17.0.3","@types/lodash":"^4.17.0","@biomejs/biome":"1.7.0","vite-plugin-dts":"^3.8.3","ra-data-simple-rest":"^4.16.15","@vitejs/plugin-react":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/fakerest_4.2.0_1755618507613_0.8856066124603923","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"fakerest","version":"4.2.1","repository":{"type":"git","url":"git+https://github.com/marmelab/FakeRest.git"},"description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","scripts":{"dev":"vite","build":"vite build && vite build -c vite.config.min.ts","format":"biome format --write src","lint":"biome lint --apply src","test":"vitest","prepare":"husky"},"type":"module","main":"dist/fakerest.min.umd.cjs","module":"./dist/fakerest.min.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/fakerest.min.js","require":"./dist/fakerest.umd.cjs"}},"author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","devDependencies":{"@biomejs/biome":"1.7.0","@types/lodash":"^4.17.0","@types/sinon":"^17.0.3","@vitejs/plugin-react":"^5.1.2","fetch-mock":"^9.11.0","happy-dom":"^20.0.0","husky":"^9.0.11","lint-staged":"^15.2.2","msw":"^2.2.14","ra-data-simple-rest":"^5.14.7","react":"^18.0.0","react-admin":"^5.14.7","react-dom":"^18.0.0","sinon":"~18.0.0","typescript":"^5.4.5","vite":"^7.3.0","vite-plugin-dts":"^4.5.4","vitest":"^4.0.15"},"dependencies":{"lodash":"^4.17.21"},"browserslist":"> 0.25%, not dead","lint-staged":{"*.{js,jsx,ts,tsx}":["biome lint --apply","biome format --write"]},"msw":{"workerDirectory":["public"]},"_id":"fakerest@4.2.1","gitHead":"4ad4438ce99e789dc48cbf13b3d19a71aa7464e4","bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"homepage":"https://github.com/marmelab/FakeRest#readme","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-DA3zhwnDXULXXYNh2U+fk5uPCDC6IlbI28I3OJzLzEZlZVMs5n0mJN829zElKdxbVYj+icPfbzDEvMNT7CbzDA==","shasum":"9225a1ab0bd60918af582e5ddf1c8d21595e102b","tarball":"https://registry.npmjs.org/fakerest/-/fakerest-4.2.1.tgz","fileCount":68,"unpackedSize":1558540,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCsb9sozOVKjvdhoUXAwX9AVOOgLyJkiFeXiiHjasZoRAIgK/4Gy+Nrs13pbQAyNW2jftbbqwDuJeiEID2TMdHRY3c="}]},"_npmUser":{"name":"fzaninotto","email":"fzaninotto@gmail.com"},"directories":{},"maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"},{"name":"slax57","email":"jbaptiste.kaiser@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fakerest_4.2.1_1780385987207_0.41790714037876864"},"_hasShrinkwrap":false}},"time":{"created":"2015-03-25T08:23:11.221Z","modified":"2026-06-02T07:39:47.475Z","1.0.0":"2015-03-25T08:23:11.221Z","1.0.1":"2015-03-25T10:28:28.873Z","1.0.3":"2015-08-27T19:56:41.632Z","1.0.4":"2015-08-27T20:09:08.592Z","1.0.5":"2015-08-27T20:32:31.452Z","1.0.6":"2015-09-01T10:26:30.229Z","1.0.7":"2015-09-04T06:47:45.299Z","1.0.8":"2015-09-04T07:42:49.959Z","1.0.9":"2015-09-09T11:24:45.114Z","1.0.10":"2015-09-17T16:33:10.981Z","1.0.11":"2015-09-17T21:16:38.138Z","1.1.0":"2015-09-28T21:26:14.055Z","1.1.1":"2015-10-01T19:53:40.372Z","1.1.2":"2015-10-01T21:05:28.190Z","1.1.3":"2015-10-01T21:22:11.374Z","1.1.4":"2015-10-02T09:15:58.101Z","1.2.0":"2016-08-14T14:07:35.847Z","1.2.1":"2016-10-12T08:02:17.954Z","2.0.0":"2017-02-07T09:36:40.733Z","2.1.0":"2017-10-03T09:38:32.151Z","2.2.0":"2020-09-30T16:07:10.939Z","3.0.0":"2021-02-04T12:50:36.338Z","3.1.0":"2021-03-04T15:32:27.265Z","3.2.0":"2021-03-29T06:23:06.075Z","3.3.0":"2021-03-29T19:39:48.058Z","3.4.0":"2023-01-19T17:23:20.122Z","3.5.0":"2023-01-23T17:20:08.143Z","4.0.0-beta.0":"2024-06-07T14:12:11.688Z","4.0.0-beta.1":"2024-06-10T07:42:38.102Z","4.0.0-beta.2":"2024-06-10T08:45:39.959Z","4.0.0-beta.3":"2024-06-10T09:30:26.819Z","4.0.0":"2024-06-10T09:44:08.932Z","4.0.1":"2024-06-17T08:09:01.029Z","4.1.0":"2024-07-23T11:39:20.143Z","4.1.1":"2024-08-01T09:03:48.843Z","4.1.2":"2025-01-31T08:38:25.584Z","4.1.3":"2025-06-30T08:31:48.143Z","4.2.0":"2025-08-19T15:48:27.919Z","4.2.1":"2026-06-02T07:39:47.355Z"},"bugs":{"url":"https://github.com/marmelab/FakeRest/issues"},"author":{"name":"François Zaninotto","email":"fzaninotto@gmail.com"},"license":"MIT","homepage":"https://github.com/marmelab/FakeRest#readme","repository":{"type":"git","url":"git+https://github.com/marmelab/FakeRest.git"},"description":"Patch XMLHttpRequest to fake a REST server based on JSON data. ","maintainers":[{"name":"fzaninotto","email":"fzaninotto@gmail.com"},{"name":"zaninottof","email":"info@marmelab.com"},{"name":"slax57","email":"jbaptiste.kaiser@gmail.com"}],"readme":"# FakeRest\n\nA browser library that intercepts AJAX calls to mock a REST server based on JSON data.\n\nUse it in conjunction with [MSW](https://mswjs.io/), [fetch-mock](https://www.wheresrhys.co.uk/fetch-mock/), or [Sinon.js](https://sinonjs.org/releases/v18/fake-xhr-and-server/) to test JavaScript REST clients on the client side (e.g. single page apps) without a server.\n\nSee it in action in the [react-admin](https://marmelab.com/react-admin/) [demo](https://marmelab.com/react-admin-demo) ([source code](https://github.com/marmelab/react-admin/tree/master/examples/demo)).\n\n## Installation\n\n```sh\nnpm install fakerest --save-dev\n```\n\n## Usage\n\nFakeRest lets you create a handler function that you can pass to an API mocking library. FakeRest supports [MSW](https://mswjs.io/), [fetch-mock](https://www.wheresrhys.co.uk/fetch-mock/), and [Sinon](https://sinonjs.org/releases/v18/fake-xhr-and-server/). If you have the choice, we recommend using MSW, as it will allow you to inspect requests as you usually do in the dev tools network tab.\n\n### MSW\n\nInstall [MSW](https://mswjs.io/) and initialize it:\n\n```sh\nnpm install msw@latest --save-dev\nnpx msw init <PUBLIC_DIR> # eg: public\n```\n\nThen configure an MSW worker:\n\n```js\n// in ./src/fakeServer.js\nimport { http } from 'msw';\nimport { setupWorker } from \"msw/browser\";\nimport { getMswHandler } from \"fakerest\";\n\nconst handler = getMswHandler({\n    baseUrl: 'http://localhost:3000',\n    data: {\n        'authors': [\n            { id: 0, first_name: 'Leo', last_name: 'Tolstoi' },\n            { id: 1, first_name: 'Jane', last_name: 'Austen' }\n        ],\n        'books': [\n            { id: 0, author_id: 0, title: 'Anna Karenina' },\n            { id: 1, author_id: 0, title: 'War and Peace' },\n            { id: 2, author_id: 1, title: 'Pride and Prejudice' },\n            { id: 3, author_id: 1, title: 'Sense and Sensibility' }\n        ],\n        'settings': {\n            language: 'english',\n            preferred_format: 'hardback',\n        }\n    }\n});\nexport const worker = setupWorker(\n    // Make sure you use a RegExp to target all calls to the API\n    http.all(/http:\\/\\/localhost:3000/, handler)\n);\n```\n\nFinally, call the `worker.start()` method before rendering your application. For instance, in a Vite React application:\n\n```js\nimport React from \"react\";\nimport ReactDom from \"react-dom\";\nimport { App } from \"./App\";\nimport { worker } from \"./fakeServer\";\n\nworker.start({\n    quiet: true, // Instruct MSW to not log requests in the console\n    onUnhandledRequest: 'bypass', // Instruct MSW to ignore requests we don't handle\n}).then(() => {\n  ReactDom.render(<App />, document.getElementById(\"root\"));\n});\n```\n\nFakeRest will now intercept every `fetch` request to the REST server.\n\n### fetch-mock\n\nInstall [fetch-mock](https://www.wheresrhys.co.uk/fetch-mock/):\n\n```sh\nnpm install fetch-mock --save-dev\n```\n\nYou can then create a handler and pass it to fetch-mock:\n\n```js\nimport fetchMock from 'fetch-mock';\nimport { getFetchMockHandler } from \"fakerest\";\n\nconst handler = getFetchMockHandler({\n    baseUrl: 'http://localhost:3000',\n    data: {\n        'authors': [\n            { id: 0, first_name: 'Leo', last_name: 'Tolstoi' },\n            { id: 1, first_name: 'Jane', last_name: 'Austen' }\n        ],\n        'books': [\n            { id: 0, author_id: 0, title: 'Anna Karenina' },\n            { id: 1, author_id: 0, title: 'War and Peace' },\n            { id: 2, author_id: 1, title: 'Pride and Prejudice' },\n            { id: 3, author_id: 1, title: 'Sense and Sensibility' }\n        ],\n        'settings': {\n            language: 'english',\n            preferred_format: 'hardback',\n        }\n    }\n});\n\nfetchMock.mock('begin:http://localhost:3000', handler);\n```\n\nFakeRest will now intercept every `fetch` request to the REST server.\n\n### Sinon\n\nInstall [Sinon](https://sinonjs.org/releases/v18/fake-xhr-and-server/):\n\n```sh\nnpm install sinon --save-dev\n```\n\nThen, configure a Sinon server:\n\n```js\nimport sinon from 'sinon';\nimport { getSinonHandler } from \"fakerest\";\n\nconst handler = getSinonHandler({\n    baseUrl: 'http://localhost:3000',\n    data: {\n        'authors': [\n            { id: 0, first_name: 'Leo', last_name: 'Tolstoi' },\n            { id: 1, first_name: 'Jane', last_name: 'Austen' }\n        ],\n        'books': [\n            { id: 0, author_id: 0, title: 'Anna Karenina' },\n            { id: 1, author_id: 0, title: 'War and Peace' },\n            { id: 2, author_id: 1, title: 'Pride and Prejudice' },\n            { id: 3, author_id: 1, title: 'Sense and Sensibility' }\n        ],\n        'settings': {\n            language: 'english',\n            preferred_format: 'hardback',\n        }\n    },\n});\n\n// use sinon.js to monkey-patch XmlHttpRequest\nconst sinonServer = sinon.fakeServer.create();\n// this is required when doing asynchronous XmlHttpRequest\nsinonServer.autoRespond = true;\nsinonServer.respondWith(handler);\n```\n\nFakeRest will now intercept every `XMLHttpRequest` request to the REST server.\n\n## REST Syntax\n\nFakeRest uses a simple REST syntax described below.\n\n### Get A Collection of records\n\n`GET /[name]` returns an array of records in the `name` collection. It accepts 4 query parameters: `filter`, `sort`, `range`, and `embed`. It responds with a status 200 if there is no pagination, or 206 if the list of items is paginated. The response mentions the total count in the `Content-Range` header.\n\n    GET /books?filter={\"author_id\":1}&embed=[\"author\"]&sort=[\"title\",\"desc\"]&range=[0-9]\n\n    HTTP 1.1 200 OK\n    Content-Range: items 0-1/2\n    Content-Type: application/json\n    [\n        { \"id\": 3, \"author_id\": 1, \"title\": \"Sense and Sensibility\", \"author\": { \"id\": 1, \"first_name\": \"Jane\", \"last_name\": \"Austen\" } },\n        { \"id\": 2, \"author_id\": 1, \"title\": \"Pride and Prejudice\", \"author\": { \"id\": 1, \"first_name\": \"Jane\", \"last_name\": \"Austen\" } }\n    ]\n\nThe `filter` param must be a serialized object literal describing the criteria to apply to the search query. See the [supported filters](#supported-filters) for more details.\n\n    GET /books?filter={\"author_id\":1} // return books where author_id is equal to 1\n    HTTP 1.1 200 OK\n    Content-Range: items 0-1/2\n    Content-Type: application/json\n    [\n        { \"id\": 2, \"author_id\": 1, \"title\": \"Pride and Prejudice\" },\n        { \"id\": 3, \"author_id\": 1, \"title\": \"Sense and Sensibility\" }\n    ]\n\n    // array values are possible\n    GET /books?filter={\"id\":[2,3]} // return books where id is in [2,3]\n    HTTP 1.1 200 OK\n    Content-Range: items 0-1/2\n    Content-Type: application/json\n    [\n        { \"id\": 2, \"author_id\": 1, \"title\": \"Pride and Prejudice\" },\n        { \"id\": 3, \"author_id\": 1, \"title\": \"Sense and Sensibility\" }\n    ]\n\n    // use the special \"q\" filter to make a full-text search on all text fields\n    GET /books?filter={\"q\":\"and\"} // return books where any of the book properties contains the string 'and'\n\n    HTTP 1.1 200 OK\n    Content-Range: items 0-2/3\n    Content-Type: application/json\n    [\n        { \"id\": 1, \"author_id\": 0, \"title\": \"War and Peace\" },\n        { \"id\": 2, \"author_id\": 1, \"title\": \"Pride and Prejudice\" },\n        { \"id\": 3, \"author_id\": 1, \"title\": \"Sense and Sensibility\" }\n    ]\n\n    // use _gt, _gte, _lte, _lt, or _neq suffix on filter names to make range queries\n    GET /books?filter={\"price_lte\":20} // return books where the price is less than or equal to 20\n    GET /books?filter={\"price_gt\":20} // return books where the price is greater than 20\n\n    // when the filter object contains more than one property, the criteria combine with an AND logic\n    GET /books?filter={\"published_at_gte\":\"2015-06-12\",\"published_at_lte\":\"2015-06-15\"} // return books published between two dates\n\nYou can also filter by relationship fields when using embed:\n\n    GET /books?embed=[\"author\"]&filter={\"author.name\":\"Leo Tolstoi\"} // return books by Leo Tolstoi\n    GET /books?embed=[\"author\"]&filter={\"author.age_gte\":50} // return books by authors aged 50 or more\n\nThe `sort` param must be a serialized array literal defining first the property used for sorting, then the sorting direction.\n\n    GET /author?sort=[\"date_of_birth\",\"asc\"]  // return authors, the oldest first\n    GET /author?sort=[\"date_of_birth\",\"desc\"]  // return authors, the youngest first\n\nYou can also sort by relationship fields when using embed:\n\n    GET /books?embed=[\"author\"]&sort=[\"author.name\",\"asc\"]  // return books sorted by author name\n    GET /books?embed=[\"author\"]&sort=[\"author.name\",\"desc\"] // return books sorted by author name in reverse order\n\nThe `range` param defines the number of results by specifying the rank of the first and last results. The first result is #0.\n\n    GET /books?range=[0-9] // return the first 10 books\n    GET /books?range=[10-19] // return the 10 next books\n\nThe `embed` param sets the related objects or collections to be embedded in the response.\n\n    // embed author in books\n    GET /books?embed=[\"author\"]\n    HTTP 1.1 200 OK\n    Content-Range: items 0-3/4\n    Content-Type: application/json\n    [\n        { \"id\": 0, \"author_id\": 0, \"title\": \"Anna Karenina\", \"author\": { \"id\": 0, \"first_name\": \"Leo\", \"last_name\": \"Tolstoi\" } },\n        { \"id\": 1, \"author_id\": 0, \"title\": \"War and Peace\", \"author\": { \"id\": 0, \"first_name\": \"Leo\", \"last_name\": \"Tolstoi\" } },\n        { \"id\": 2, \"author_id\": 1, \"title\": \"Pride and Prejudice\", \"author\": { \"id\": 1, \"first_name\": \"Jane\", \"last_name\": \"Austen\" } },\n        { \"id\": 3, \"author_id\": 1, \"title\": \"Sense and Sensibility\", \"author\": { \"id\": 1, \"first_name\": \"Jane\", \"last_name\": \"Austen\" } }\n    ]\n\n    // embed books in author\n    GET /authors?embed=[\"books\"]\n    HTTP 1.1 200 OK\n    Content-Range: items 0-1/2\n    Content-Type: application/json\n    [\n        { id: 0, first_name: 'Leo', last_name: 'Tolstoi', books: [{ id: 0, author_id: 0, title: 'Anna Karenina' }, { id: 1, author_id: 0, title: 'War and Peace' }] },\n        { id: 1, first_name: 'Jane', last_name: 'Austen', books: [{ id: 2, author_id: 1, title: 'Pride and Prejudice' }, { id: 3, author_id: 1, title: 'Sense and Sensibility' }] }\n    ]\n\n    // you can embed several objects\n    GET /authors?embed=[\"books\",\"country\"]\n\n### Get A Single Record\n\n`GET /[name]/:id` returns a JSON object, and a status 200, unless the resource doesn't exist.\n\n    GET /books/2\n\n    HTTP 1.1 200 OK\n    Content-Type: application/json\n    { \"id\": 2, \"author_id\": 1, \"title\": \"Pride and Prejudice\" }\n\nThe `embed` param sets the related objects or collections to be embedded in the response.\n\n    GET /books/2?embed=['author']\n\n    HTTP 1.1 200 OK\n    Content-Type: application/json\n    { \"id\": 2, \"author_id\": 1, \"title\": \"Pride and Prejudice\", \"author\": { \"id\": 1, \"first_name\": \"Jane\", \"last_name\": \"Austen\" } }\n\n### Create A Record\n\n`POST /[name]` returns a status 201 with a `Location` header for the newly created resource, and the new resource in the body.\n\n    POST /books\n    { \"author_id\": 1, \"title\": \"Emma\" }\n\n    HTTP 1.1 201 Created\n    Location: /books/4\n    Content-Type: application/json\n    { \"author_id\": 1, \"title\": \"Emma\", \"id\": 4 }\n\n### Update A Record\n\n`PUT /[name]/:id` returns the modified JSON object, and a status 200, unless the resource doesn't exist.\n\n    PUT /books/2\n    { \"author_id\": 1, \"title\": \"Pride and Prejudice\" }\n\n    HTTP 1.1 200 OK\n    Content-Type: application/json\n    { \"id\": 2, \"author_id\": 1, \"title\": \"Pride and Prejudice\" }\n\n### Delete A Single Record\n\n`DELETE /[name]/:id` returns the deleted JSON object, and a status 200, unless the resource doesn't exist.\n\n    DELETE /books/2\n\n    HTTP 1.1 200 OK\n    Content-Type: application/json\n    { \"id\": 2, \"author_id\": 1, \"title\": \"Pride and Prejudice\" }\n\n### Supported Filters\n\nOperators are specified as suffixes on each filtered field. For instance, applying the `_lte` operator on the `price` field for the `books` resource is done like this:\n\n        GET /books?filter={\"price_lte\":20} // return books where the price is less than or equal to 20\n\n- `_eq`: check for equality on simple values:\n\n        GET /books?filter={\"price_eq\":20} // return books where the price is equal to 20\n\n- `_neq`: check for inequality on simple values\n\n        GET /books?filter={\"price_neq\":20} // return books where the price is not equal to 20\n\n- `_eq_any`: check for equality on any passed values\n\n        GET /books?filter={\"price_eq_any\":[20, 30]} // return books where the price is equal to 20 or 30\n\n- `_neq_any`: check for inequality on any passed values\n\n        GET /books?filter={\"price_neq_any\":[20, 30]} // return books where the price is not equal to 20 nor 30\n\n- `_inc_any`: check for items that include any of the passed values\n\n        GET /books?filter={\"authors_inc_any\":['William Gibson', 'Pat Cadigan']} // return books where authors include either 'William Gibson' or 'Pat Cadigan' or both\n\n- `_q`: check for items that contain the provided text\n\n        GET /books?filter={\"author_q\":['Gibson']} // return books where the author includes 'Gibson' not considering the other fields\n\n- `_lt`: check for items that have a value lower than the provided value\n\n        GET /books?filter={\"price_lte\":100} // return books that have a price lower that 100\n\n- `_lte`: check for items that have a value lower than or equal to the provided value\n\n        GET /books?filter={\"price_lte\":100} // return books that have a price lower or equal to 100\n\n- `_gt`: check for items that have a value greater than the provided value\n\n        GET /books?filter={\"price_gte\":100} // return books that have a price greater that 100\n\n- `_gte`: check for items that have a value greater than or equal to the provided value\n\n        GET /books?filter={\"price_gte\":100} // return books that have a price greater or equal to 100\n\n### Single Elements\n\nFakeRest allows you to define a single element, such as a user profile or global settings, that can be fetched, updated, or deleted.\n\n    GET /settings\n\n    HTTP 1.1 200 OK\n    Content-Type: application/json\n    { \"language\": \"english\", \"preferred_format\": \"hardback\" }\n\n    PUT /settings\n    { \"language\": \"french\", \"preferred_format\": \"paperback\" }\n\n    HTTP 1.1 200 OK\n    Content-Type: application/json\n    { \"language\": \"french\", \"preferred_format\": \"paperback\" }\n\n    DELETE /settings\n\n    HTTP 1.1 200 OK\n    Content-Type: application/json\n    { \"language\": \"french\", \"preferred_format\": \"paperback\" }\n\n## Middlewares\n\nMiddlewares let you intercept requests and simulate server features such as:\n - authentication checks\n - server-side validation\n - server dynamically generated values\n - simulate response delays\n\nYou can define middlewares on all handlers, by passing a `middlewares` option:\n\n```js\nimport { getMswHandler } from 'fakerest';\nimport { data } from './data';\n\nconst handler = getMswHandler({\n    baseUrl: 'http://my.custom.domain',\n    data,\n    middlewares: [\n        async (context, next) => {\n            if (context.headers.Authorization === undefined) {\n                return {\n                    status: 401,\n                    headers: {},\n                };\n            }\n\n            return next(context);\n        },\n        withDelay(300),\n    ],\n});\n```\n\nA middleware is a function that receives 2 parameters:\n - The FakeRest `context`, an object containing the data extracted from the request that FakeRest uses to build the response. It has the following properties:\n - `method`: The request method as a string (`GET`, `POST`, `PATCH` or `PUT`)\n - `url`: The request URL as a string\n - `headers`: The request headers as an object where keys are header names\n - `requestBody`: The parsed request data if any\n - `params`: The request parameters from the URL search (e.g. the identifier of the requested record)\n - `collection`: The name of the targeted [collection](#collection) (e.g. `posts`)\n - `single`: The name of the targeted [single](#single) (e.g. `settings`)\n - A `next` function to call the next middleware in the chain, to which you must pass the `context`\n\nA middleware must return a FakeRest response either by returning the result of the `next` function or by returning its own response. A FakeRest response is an object with the following properties:\n - `status`: The response status as a number (e.g. `200`)\n - `headers`: The response HTTP headers as an object where keys are header names\n - `body`: The response body which will be stringified\n\n### Authentication Checks\n\nHere's how to implement an authentication check:\n\n```js\nconst handler = getMswHandler({\n    baseUrl: 'http://my.custom.domain',\n    data,\n    middlewares: [\n        async (context, next) => {\n            if (context.headers.Authorization === undefined) {\n                return { status: 401, headers: {} };\n            }\n            return next(context);\n        }\n    ]\n});\n```\n\n### Server-Side Validation\n\nHere's how to implement server-side validation:\n\n```js\nconst handler = getMswHandler({\n    baseUrl: 'http://my.custom.domain',\n    data,\n    middlewares: [\n        async (context, next) => {\n            if (\n                context.collection === \"books\" &&\n                request.method === \"POST\" &&\n !context.requestBody?.title\n            ) {\n                return {\n                    status: 400,\n                    headers: {},\n                    body: {\n                        errors: {\n                            title: 'An article with this title already exists. The title must be unique.',\n                        },\n                    },\n                };\n            }\n\n            return next(context);\n        }\n    ]\n});\n```\n\n### Dynamically Generated Values\n\nHere's how to implement dynamically generated values on creation:\n\n```js\nconst handler = getMswHandler({\n    baseUrl: 'http://my.custom.domain',\n    data,\n    middlewares: [\n        async (context, next) => {\n            if (\n                context.collection === 'books' &&\n                context.method === 'POST'\n            ) {\n                const response = await next(context);\n                response.body.updatedAt = new Date().toISOString();\n                return response;\n            }\n\n            return next(context);\n        }\n    ]\n});\n```\n\n### Simulate Response Delays\n\nHere's how to simulate response delays:\n\n```js\nconst handler = getMswHandler({\n    baseUrl: 'http://my.custom.domain',\n    data,\n    middlewares: [\n        async (context, next) => {\n            return new Promise((resolve) => {\n                setTimeout(() => {\n                    resolve(next(context));\n                }, 500);\n            });\n        }\n    ]\n});\n```\n\nThis is so common FakeRest provides the `withDelay` function for that:\n\n```js\nimport { getMswHandler, withDelay } from 'fakerest';\n\nconst handler = getMswHandler({\n    baseUrl: 'http://my.custom.domain',\n    data,\n    middlewares: [\n        withDelay(500), // delay in ms\n    ]\n});\n```\n\n## Configuration\n\nAll handlers can be customized to accommodate your API structure.\n\n### Identifiers\n\nBy default, FakeRest assumes all records have a unique `id` field.\nSome databases such as [MongoDB](https://www.mongodb.com) use `_id` instead of `id` for collection identifiers.\nYou can customize FakeRest to do the same by setting the `identifierName` option:\n\n```js\nconst handler = getMswHandler({\n    baseUrl: 'http://my.custom.domain',\n    data,\n    identifierName: '_id'\n});\n```\n\nYou can also specify that on a per-collection basis:\n\n```js\nimport { MswAdapter, Collection } from 'fakerest';\n\nconst adapter = new MswAdapter({ baseUrl: 'http://my.custom.domain', data });\nconst authorsCollection = new Collection({ items: [], identifierName: '_id' });\nadapter.server.addCollection('authors', authorsCollection);\nconst handler = adapter.getHandler();\n```\n\n### Primary Keys\n\nBy default, FakeRest uses an auto-incremented sequence for the item identifiers.\nIf you'd rather use UUIDs for instance but would like to avoid providing them when you insert new items, you can provide your own function:\n\n```js\nimport { getMswHandler } from 'fakerest';\nimport uuid from 'uuid';\n\nconst handler = new getMswHandler({\n    baseUrl: 'http://my.custom.domain',\n    data,\n    getNewId: () => uuid.v5()\n});\n```\n\nYou can also specify that on a per-collection basis:\n\n```js\nimport { MswAdapter, Collection } from 'fakerest';\nimport uuid from 'uuid';\n\nconst adapter = new MswAdapter({ baseUrl: 'http://my.custom.domain', data });\nconst authorsCollection = new Collection({ items: [], getNewId: () => uuid.v5() });\nadapter.server.addCollection('authors', authorsCollection);\nconst handler = adapter.getHandler();\n```\n\n### Default Queries\n\nSome APIs might enforce some parameters on queries. For instance, an API might always include an [embed](#embed) or enforce a query filter.\nYou can simulate this using the `defaultQuery` parameter:\n\n```js\nimport { getMswHandler } from 'fakerest';\nimport uuid from 'uuid';\n\nconst handler = getMswHandler({\n    baseUrl: 'http://my.custom.domain',\n    data,\n    defaultQuery: (collection) => {\n        if (resourceName == 'authors') return { embed: ['books'] }\n        if (resourceName == 'books') return { filter: { published: true } }\n        return {};\n    }\n});\n```\n\n## Architecture\n\nBehind a simple API (`getXXXHandler`), FakeRest uses a modular architecture that lets you combine different components to build a fake REST server that fits your needs.\n\n### Mocking Adapter\n\n`getXXXHandler` is a shortcut to an object-oriented API of adapter classes:\n\n```js\nexport const getMswHandler = (options: MswAdapterOptions) => {\n    const server = new MswAdapter(options);\n    return server.getHandler();\n};\n```\n\nFakeRest provides 3 adapter classes:\n\n- `MswAdapter`: Based on [MSW](https://mswjs.io/)\n- `FetchMockAdapter`: Based on [`fetch-mock`](https://www.wheresrhys.co.uk/fetch-mock/)\n- `SinonAdapter`: Based on [Sinon](https://sinonjs.org/releases/v18/fake-xhr-and-server/)\n\nYou can use the adapter class directly, e.g. if you want to make the adapter instance available in the global scope for debugging purposes:\n\n```js\nimport { MsWAdapter } from 'fakerest';\n\nconst adapter = new MswAdapter({\n    baseUrl: 'http://my.custom.domain',\n    data: {\n        'authors': [\n            { id: 0, first_name: 'Leo', last_name: 'Tolstoi' },\n            { id: 1, first_name: 'Jane', last_name: 'Austen' }\n        ],\n        'books': [\n            { id: 0, author_id: 0, title: 'Anna Karenina' },\n            { id: 1, author_id: 0, title: 'War and Peace' },\n            { id: 2, author_id: 1, title: 'Pride and Prejudice' },\n            { id: 3, author_id: 1, title: 'Sense and Sensibility' }\n        ],\n        'settings': {\n            language: 'english',\n            preferred_format: 'hardback',\n        }\n    }\n});\nwindow.fakerest = adapter;\nconst handler = adapter.getHandler();\n```\n\n### REST Server\n\nAdapters transform requests to a normalized format, pass them to a server object, and transform the normalized server response into the format expected by the mocking library.\n\nThe server object implements the REST syntax. It takes a normalized request and exposes a `handle` method that returns a normalized response. FakeRest currently provides only one server implementation: `SimpleRestServer`.\n\nYou can specify the server to use in an adapter by passing the `server` option:\n\n```js\nconst server = new SimpleRestServer({\n    baseUrl: 'http://my.custom.domain',\n    data: {\n        'authors': [\n            { id: 0, first_name: 'Leo', last_name: 'Tolstoi' },\n            { id: 1, first_name: 'Jane', last_name: 'Austen' }\n        ],\n        'books': [\n            { id: 0, author_id: 0, title: 'Anna Karenina' },\n            { id: 1, author_id: 0, title: 'War and Peace' },\n            { id: 2, author_id: 1, title: 'Pride and Prejudice' },\n            { id: 3, author_id: 1, title: 'Sense and Sensibility' }\n        ],\n        'settings': {\n            language: 'english',\n            preferred_format: 'hardback',\n        }\n    }\n});\nconst adapter = new MswAdapter({ server });\nconst handler = adapter.getHandler();\n```\n\nYou can provide an alternative server implementation. This class must implement the `APIServer` type:\n\n```ts\nexport type APIServer = {\n    baseUrl?: string;\n    handle: (context: FakeRestContext) => Promise<BaseResponse>;\n};\n\nexport type BaseResponse = {\n    status: number;\n    body?: Record<string, any> | Record<string, any>[];\n    headers: { [key: string]: string };\n};\n\nexport type FakeRestContext = {\n    url?: string;\n    headers?: Headers;\n    method?: string;\n    collection?: string;\n    single?: string;\n    requestBody: Record<string, any> | undefined;\n    params: { [key: string]: any };\n};\n```\n\nThe `FakerRestContext` type describes the normalized request. It's usually the adapter's job to transform the request from the mocking library to this format.\n\n### Database\n\nThe querying logic is implemented in a class called `Database`, which is independent of the server. It contains [collections](#collections) and [single](#single).\n\nYou can specify the database used by a server by setting its `database` property:\n\n```js\nconst database = new Database({\n    data: {\n        'authors': [\n            { id: 0, first_name: 'Leo', last_name: 'Tolstoi' },\n            { id: 1, first_name: 'Jane', last_name: 'Austen' }\n        ],\n        'books': [\n            { id: 0, author_id: 0, title: 'Anna Karenina' },\n            { id: 1, author_id: 0, title: 'War and Peace' },\n            { id: 2, author_id: 1, title: 'Pride and Prejudice' },\n            { id: 3, author_id: 1, title: 'Sense and Sensibility' }\n        ],\n        'settings': {\n            language: 'english',\n            preferred_format: 'hardback',\n        }\n    }\n});\nconst server = new SimpleRestServer({ baseUrl: 'http://my.custom.domain', database });\n```\n\nYou can even use the database object if you want to manipulate the data:\n\n```js\ndatabase.updateOne('authors', 0, { first_name: 'Lev' });\n```\n\n### Collections & Singles\n\nThe Database may contain collections and singles. In the following example, `authors` and `books` are collections, and `settings` is a single.\n\n```js\nconst handler = getMswHandler({\n    baseUrl: 'http://localhost:3000',\n    data: {\n        'authors': [\n            { id: 0, first_name: 'Leo', last_name: 'Tolstoi' },\n            { id: 1, first_name: 'Jane', last_name: 'Austen' }\n            ],\n        'books': [\n            { id: 0, author_id: 0, title: 'Anna Karenina' },\n            { id: 1, author_id: 0, title: 'War and Peace' },\n            { id: 2, author_id: 1, title: 'Pride and Prejudice' },\n            { id: 3, author_id: 1, title: 'Sense and Sensibility' }\n        ],\n        'settings': {\n            language: 'english',\n            preferred_format: 'hardback',\n        }\n    }\n});\n```\n\nA collection is the equivalent of a classic database table. It supports filtering and direct access to records by their identifier.\n\nA single represents an API endpoint that returns a single entity. It's useful for things such as user profile routes (`/me`) or global settings (`/settings`).\n\n### Embeds\n\nFakeRest supports embedding other resources in a main resource query result. For instance, embedding the author of a book.\n\n    GET /books/2?embed=['author']\n\n    HTTP 1.1 200 OK\n    Content-Type: application/json\n    { \"id\": 2, \"author_id\": 1, \"title\": \"Pride and Prejudice\", \"author\": { \"id\": 1, \"first_name\": \"Jane\", \"last_name\": \"Austen\" } }\n\nEmbeds are defined by the query, they require no setup in the database.\n\n## Development\n\n```sh\n# Install dependencies\nmake install\n\n# Run the demo with MSW\nmake run-msw\n\n# Run the demo with fetch-mock\nmake run-fetch-mock\n\n# Run the demo with sinon\nmake run-sinon\n\n# Run tests\nmake test\n\n# Build minified version\nmake build\n```\n\nYou can sign-in to the demo with `janedoe` and `password`\n\n## License\n\nFakeRest is licensed under the [MIT License](LICENSE), sponsored by [marmelab](http://marmelab.com).\n","readmeFilename":"README.md","users":{"toinbis":true}}