{"_id":"circular-buffer","_rev":"27-5f66f13f32edc58cc6b6ec25565e3786","name":"circular-buffer","time":{"modified":"2022-06-13T06:03:09.107Z","created":"2014-06-17T05:50:44.313Z","0.1.0":"2014-06-17T05:50:44.313Z","1.0.0":"2014-06-18T02:49:21.444Z","1.2.2":"2015-02-03T20:50:45.182Z","0.0.1":"2015-04-20T16:11:08.563Z","0.0.2":"2015-04-20T20:11:15.465Z","0.0.3":"2015-04-21T06:09:25.077Z","0.0.4":"2015-04-21T11:43:40.116Z","0.0.5":"2015-04-22T05:46:19.768Z","0.0.6":"2015-04-22T05:48:54.932Z","1.0.1":"2016-08-10T19:20:57.718Z","1.0.2":"2016-10-12T17:40:04.933Z","1.0.3":"2020-10-30T14:18:15.105Z"},"maintainers":[{"name":"tomsmeding","email":"tom.smeding@gmail.com"}],"dist-tags":{"latest":"1.0.3"},"description":"A NodeJS simple circular buffer implementation supporting indexing","readme":"# NodeJS Circular Buffer\n<p>\n\t<a href=\"https://travis-ci.org/tomsmeding/circular-buffer\">\n\t\t<img src=\"https://api.travis-ci.org/tomsmeding/circular-buffer.png?branch=master\" alt=\"Travis CI Badge\"/>\n\t</a>\n</p>\n\nThis is a simple [circular buffer](http://en.wikipedia.org/wiki/Circular_buffer) implementation for NodeJS.\n\nThe implementation can function both as a forgetful queue (which it's most suited for), and as a (forgetful) stack. Queue functionality uses `enq()` and `deq()`; stack functionality uses `push()` and `pop()`. Values are enqueued at the front of the buffer and dequeued at the back of the buffer; pushing and popping is at the back of the buffer. Indexing is front-to-back: the last-enqueued item has lowest index, which is also the first-pushed item.\n\n## Usage\n\nBelow is a sample session with a circular buffer with this package. It should answer most questions.\n\n```node\nvar CircularBuffer = require(\"circular-buffer\");\n\nvar buf = new CircularBuffer(3);\nconsole.log(buf.capacity()); // -> 3\nbuf.enq(1);\nbuf.enq(2);\nconsole.log(buf.size()); // -> 2\nbuf.toarray(); // -> [2,1]\nbuf.push(3);\nbuf.toarray(); // -> [2,1,3]\nbuf.enq(4);\nconsole.log(buf.size()); // -> 3  (despite having added a fourth item!)\nbuf.toarray(); // -> [4,2,1]\nbuf.get(0); // -> 4  (last enqueued item is at start of buffer)\nbuf.get(0,2); // -> [4,2,1]  (2-parameter get takes start and end)\nbuf.toarray(); // -> [4,2,1]  (equivalent to buf.get(0,buf.size() - 1) )\nconsole.log(buf.deq()); // -> 1\nbuf.toarray(); // -> [4,2]\nbuf.pop(); // -> 2  (deq and pop are functionally the same)\nbuf.deq(); // -> 4\nbuf.toarray(); // -> []\nbuf.deq(); // -> throws RangeError(\"CircularBuffer dequeue on empty buffer\")\n```\n\n## Functions\n\n- `size()` -> `integer`\n  - Returns the current number of items in the buffer.\n- `capacity()` -> `integer`\n  - Returns the maximum number of items in the buffer (specified when creating it).\n- `enq(value)`\n  - Enqueue `value` at the front of the buffer\n- `deq()` -> `value`\n  - Dequeue an item from the back of the buffer; returns that item. Throws `RangeError` if the buffer is empty on invocation.\n- `push(value)`\n  - Push `value` at the back of the buffer\n- `pop()` -> `value`\n  - Equivalent to `deq()`.\n- `shift()` -> `value`\n  - Removes an item from the front of the buffer; returns that item. Throws `RangeError` if the buffer is empty on invocation.\n- `get(idx)` -> `value`\n  - Get the value at index `idx`. `0` is the front of the buffer (last-enqueued item, or first-pushed item), `buf.size()-1` is the back of the buffer.\n- `get(start,end)` -> `[value]`\n  - Gets the values from index `start` up to and including index `end`; returns an array, in front-to-back order. Equivalent to `[buf.get(start),buf.get(start+1),/*etc*/,buf.get(end)]`.\n- `toarray()` -> `[value]`\n  - Equivalent to `buf.get(0,buf.size() - 1)`: exports all items in the buffer in front-to-back order.\n\n## Testing\n\nTo test the package simply run `npm update && npm test` in the package's root folder.\n","versions":{"0.0.1":{"name":"circular-buffer","version":"0.0.1","description":"A NodeJS simple circular buffer implementation supporting indexing ","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/tomsmeding/circular-buffer.git"},"keywords":["circular-buffer","data-structure"],"author":{"name":"Tom Smeding","email":"hallo@tomsmeding.nl","url":"http://tomsmeding.com"},"license":"ISC","bugs":{"url":"https://github.com/tomsmeding/circular-buffer/issues"},"homepage":"https://github.com/tomsmeding/circular-buffer","gitHead":"496f9a34a1ef3994f2e6e2b32c51832ccbc685dd","_id":"circular-buffer@0.0.1","_shasum":"2932c2f1675f6f582c96dcbc523317c861f3be7f","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"tomsmeding","email":"hallo@tomsmeding.nl"},"dist":{"shasum":"2932c2f1675f6f582c96dcbc523317c861f3be7f","tarball":"https://registry.npmjs.org/circular-buffer/-/circular-buffer-0.0.1.tgz","integrity":"sha512-DpbNIZ5Ssf/vxXERy8ox4lQ9gCCcLxqoy8X+/ZKXRFkow6437nEE+yk4wGntGAY7vBbL/N9ygYi71uJygWoHUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3R8tjxpk/LaB4MEpGZpbbUnDAuHjsfAW2ZP8wnCPSyAIgatUbevQdn9MI1SodmlkcvvLljPR400k2gXJzvIPtQh4="}]},"maintainers":[{"name":"tomsmeding","email":"hallo@tomsmeding.nl"}],"directories":{}},"0.0.2":{"name":"circular-buffer","version":"0.0.2","description":"A NodeJS simple circular buffer implementation supporting indexing ","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/tomsmeding/circular-buffer.git"},"keywords":["circular-buffer","data-structure"],"author":{"name":"Tom Smeding","email":"hallo@tomsmeding.nl","url":"http://tomsmeding.com"},"license":"ISC","bugs":{"url":"https://github.com/tomsmeding/circular-buffer/issues"},"homepage":"https://github.com/tomsmeding/circular-buffer","gitHead":"c40decd596b5bb734993a773a0a60e44ce082fcd","_id":"circular-buffer@0.0.2","_shasum":"c405e9df3f7d8bc6e251cad89164f2df252397a5","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"tomsmeding","email":"hallo@tomsmeding.nl"},"dist":{"shasum":"c405e9df3f7d8bc6e251cad89164f2df252397a5","tarball":"https://registry.npmjs.org/circular-buffer/-/circular-buffer-0.0.2.tgz","integrity":"sha512-ahH2t+XvolsznVWxkDWAHEzbLYexqny6MyeRuUksbjrUMQlg5QV8PLoJeTej1a2cSZKI7qXsONL1XQGt4eb4PA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFcuh37w6ntGuMEtWja1hHNRezDMdno6jAqr9Rl7njlVAiEAtHAxsHWa/l19Ak33ax8qBvQF00IoOo4r6TM6VdASYtM="}]},"maintainers":[{"name":"tomsmeding","email":"hallo@tomsmeding.nl"}],"directories":{}},"0.0.3":{"name":"circular-buffer","version":"0.0.3","description":"A NodeJS simple circular buffer implementation supporting indexing ","main":"index.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.4","chai":"^2.2.0"},"repository":{"type":"git","url":"https://github.com/tomsmeding/circular-buffer.git"},"keywords":["circular-buffer","data-structure"],"author":{"name":"Tom Smeding","email":"hallo@tomsmeding.nl","url":"http://tomsmeding.com"},"license":"ISC","bugs":{"url":"https://github.com/tomsmeding/circular-buffer/issues"},"homepage":"https://github.com/tomsmeding/circular-buffer","gitHead":"518b9ff818ca56c67ba7c6d6559061c3d18fa6eb","_id":"circular-buffer@0.0.3","_shasum":"40602cb40d91fe7fd24e865d5483095c748f53bf","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"tomsmeding","email":"hallo@tomsmeding.nl"},"dist":{"shasum":"40602cb40d91fe7fd24e865d5483095c748f53bf","tarball":"https://registry.npmjs.org/circular-buffer/-/circular-buffer-0.0.3.tgz","integrity":"sha512-cPehxb/gPYDcn/ZAcBuQ0hfWcfbT+fNNv1xjxN4eeOLBoiclvxH0nLItWRlV8zH1bfP85xMfep1QisajeX3C/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCe/44U2dwWIHlFKXHYLF9n8GG1NdlT+TAOMXu3P55qdgIhAKi43UrHAXm4HKbWu18WGz1dqxecqMZiStB3jb+dfV2u"}]},"maintainers":[{"name":"tomsmeding","email":"hallo@tomsmeding.nl"}],"directories":{}},"0.0.4":{"name":"circular-buffer","version":"0.0.4","description":"A NodeJS simple circular buffer implementation supporting indexing ","main":"index.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.4","chai":"^2.2.0"},"repository":{"type":"git","url":"https://github.com/tomsmeding/circular-buffer.git"},"keywords":["circular-buffer","data-structure"],"author":{"name":"Tom Smeding","email":"hallo@tomsmeding.nl","url":"http://tomsmeding.com"},"license":"ISC","bugs":{"url":"https://github.com/tomsmeding/circular-buffer/issues"},"homepage":"https://github.com/tomsmeding/circular-buffer","gitHead":"2545529e3291407a75257f8c80dd35c43c025693","_id":"circular-buffer@0.0.4","_shasum":"a342a9ffcf8348b4550ea42f784d6b8d6b46dbed","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"tomsmeding","email":"hallo@tomsmeding.nl"},"dist":{"shasum":"a342a9ffcf8348b4550ea42f784d6b8d6b46dbed","tarball":"https://registry.npmjs.org/circular-buffer/-/circular-buffer-0.0.4.tgz","integrity":"sha512-rXRyCBjao3dap02mJHopFHhkke9oAuQhBwy2MCxXXRg70ltUMfpHRhFp/sBIUpfpW5gPWKjLOGpLwygNKssi0g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDf3M35NJE/G+8Ij4ukapNhRojROe6PW00cYLfxodEE5wIgWTefg7mDyNud3q3jL0PESuS9JP2kxr4nBH+IDDzC5qo="}]},"maintainers":[{"name":"tomsmeding","email":"hallo@tomsmeding.nl"}],"directories":{}},"0.0.5":{"name":"circular-buffer","version":"0.0.5","description":"A NodeJS simple circular buffer implementation supporting indexing ","main":"index.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.4","chai":"^2.2.0"},"repository":{"type":"git","url":"https://github.com/tomsmeding/circular-buffer.git"},"keywords":["circular-buffer","data-structure"],"author":{"name":"Tom Smeding","email":"hallo@tomsmeding.nl","url":"http://tomsmeding.com"},"license":"ISC","bugs":{"url":"https://github.com/tomsmeding/circular-buffer/issues"},"homepage":"https://github.com/tomsmeding/circular-buffer","gitHead":"d1c9bd6f51c273175a6b777d167f84d1c5178ce1","_id":"circular-buffer@0.0.5","_shasum":"5d7eddebdf4993c1388f45833b9d77406d81b2f1","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"tomsmeding","email":"hallo@tomsmeding.nl"},"dist":{"shasum":"5d7eddebdf4993c1388f45833b9d77406d81b2f1","tarball":"https://registry.npmjs.org/circular-buffer/-/circular-buffer-0.0.5.tgz","integrity":"sha512-1K/hRZrxwVfRsdJmE0D4C2d+JT/ERw0oaCy8TtkkXPcPJQys+m3aUzI6VckHRWfvzSs6Y7BY1/n4eWP+IiwXDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHQM6ZdhusA2Dsjdo18N34PY78F6K5J9c7QcAPqvU/MxAiAqkWZGFHeXrfO/cUn1aYRoX81xgMqRdQ89LLO6lKiQNA=="}]},"maintainers":[{"name":"tomsmeding","email":"hallo@tomsmeding.nl"}],"directories":{}},"0.0.6":{"name":"circular-buffer","version":"0.0.6","description":"A NodeJS simple circular buffer implementation supporting indexing ","main":"index.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.4","chai":"^2.2.0"},"repository":{"type":"git","url":"https://github.com/tomsmeding/circular-buffer.git"},"keywords":["circular-buffer","data-structure"],"author":{"name":"Tom Smeding","email":"hallo@tomsmeding.nl","url":"http://tomsmeding.com"},"license":"ISC","bugs":{"url":"https://github.com/tomsmeding/circular-buffer/issues"},"homepage":"https://github.com/tomsmeding/circular-buffer","gitHead":"25a70ccf279bcf4543867625580c17848d47d947","_id":"circular-buffer@0.0.6","_shasum":"e9cfa2ba319d370de2743b6008ca539cddebf536","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"tomsmeding","email":"hallo@tomsmeding.nl"},"dist":{"shasum":"e9cfa2ba319d370de2743b6008ca539cddebf536","tarball":"https://registry.npmjs.org/circular-buffer/-/circular-buffer-0.0.6.tgz","integrity":"sha512-ALclNN0U/AlMPI4ZuGAZKcUJKF8jciKkfl2QH3A9120vfglhtz6ILPGnW+rFLds7BqRD52McWDMVVHxBjPT3cg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnCRDt+tCGjYfLMhT8HkHANPUAwxbd2Hcpr+TQupnDqAIhAIM9U54T4Eu8/w2rCNX2kyuhiS6TjEsCFL+uxlp5/6jf"}]},"maintainers":[{"name":"tomsmeding","email":"hallo@tomsmeding.nl"}],"directories":{}},"1.0.1":{"name":"circular-buffer","version":"1.0.1","description":"A NodeJS simple circular buffer implementation supporting indexing ","main":"index.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.4","chai":"^2.2.0"},"repository":{"type":"git","url":"git+https://github.com/tomsmeding/circular-buffer.git"},"keywords":["circular-buffer","data-structure"],"author":{"name":"Tom Smeding","email":"hallo@tomsmeding.nl","url":"http://tomsmeding.com"},"license":"ISC","bugs":{"url":"https://github.com/tomsmeding/circular-buffer/issues"},"homepage":"https://github.com/tomsmeding/circular-buffer","gitHead":"e00be81a11730cd796b64636a3aa530c6dc416cf","_id":"circular-buffer@1.0.1","_shasum":"439a9029bd5909be73d6eaf04c7912540ea66000","_from":".","_npmVersion":"3.10.5","_nodeVersion":"6.3.0","_npmUser":{"name":"tomsmeding","email":"hallo@tomsmeding.nl"},"dist":{"shasum":"439a9029bd5909be73d6eaf04c7912540ea66000","tarball":"https://registry.npmjs.org/circular-buffer/-/circular-buffer-1.0.1.tgz","integrity":"sha512-bFJqz28MVMuPMuP/OFZ3wO9ar7q2QlD3zFrYkSHWSW+MjFBMz/4gohhs3pYz4avavv5bBSSHyxHMNwyuTyQdpg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgUmH+RH8t9nE+v9u2acWUifBezvsHYgDWIDvcALku5gIgVcvBb/jx+nSu7WqjAyWrau7vG6/PNO67PBcIjftwpSc="}]},"maintainers":[{"name":"tomsmeding","email":"hallo@tomsmeding.nl"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/circular-buffer-1.0.1.tgz_1470856855922_0.4812600805889815"},"directories":{}},"1.0.2":{"name":"circular-buffer","version":"1.0.2","description":"A NodeJS simple circular buffer implementation supporting indexing ","main":"index.js","scripts":{"test":"mocha"},"devDependencies":{"mocha":"^2.2.4","chai":"^2.2.0"},"repository":{"type":"git","url":"git+https://github.com/tomsmeding/circular-buffer.git"},"keywords":["circular-buffer","data-structure"],"author":{"name":"Tom Smeding","email":"hallo@tomsmeding.nl","url":"http://tomsmeding.com"},"license":"ISC","bugs":{"url":"https://github.com/tomsmeding/circular-buffer/issues"},"homepage":"https://github.com/tomsmeding/circular-buffer","gitHead":"22d6dabcc6c79e8a24f83a30c6619b8e38e3ff7a","_id":"circular-buffer@1.0.2","_shasum":"fa0e152ed629f76fe24ddf89e72ebd00786c5a6e","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.7.0","_npmUser":{"name":"tomsmeding","email":"hallo@tomsmeding.nl"},"dist":{"shasum":"fa0e152ed629f76fe24ddf89e72ebd00786c5a6e","tarball":"https://registry.npmjs.org/circular-buffer/-/circular-buffer-1.0.2.tgz","integrity":"sha512-NeyBE/jJ3o+lvyoul2L7YKP2s8jCt0BbWkmym1wrP5yBKkr7qIXzQyRorDFlN37sAqfretN/HPE0ZRbuR5Long==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWz+jI4ItaUo6HhmhV2Y+fDz3CPse7SmdA01fbmKlvMQIhAPt9KgX3a5Uqp8LIS9wv+rhLRswhbzQ3SHXuuTAfgRus"}]},"maintainers":[{"name":"tomsmeding","email":"hallo@tomsmeding.nl"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/circular-buffer-1.0.2.tgz_1476294002948_0.23413203051313758"},"directories":{}},"1.0.3":{"name":"circular-buffer","version":"1.0.3","description":"A NodeJS simple circular buffer implementation supporting indexing","main":"index.js","scripts":{"test":"mocha"},"devDependencies":{"chai":"^4.2.0","mocha":"^8.2.0"},"repository":{"type":"git","url":"git+https://github.com/tomsmeding/circular-buffer.git"},"keywords":["circular-buffer","data-structure"],"author":{"name":"Tom Smeding","email":"tom.smeding@gmail.com","url":"https://tomsmeding.com"},"license":"ISC","bugs":{"url":"https://github.com/tomsmeding/circular-buffer/issues"},"homepage":"https://github.com/tomsmeding/circular-buffer","gitHead":"b70f8b93afa32a0815f3ad554c483a2aa77543a9","_id":"circular-buffer@1.0.3","_nodeVersion":"14.13.1","_npmVersion":"6.14.7","dist":{"integrity":"sha512-FFyvWxYrOBwpBfPGNpOyH8K03O2SgzmmfUcvk6b7AcjZHExwEbz8soOhYCfGx+cFqtAU6TGsS8zFfuXIPKHE7w==","shasum":"e33b757b9b27f381b1bdc25bbc10bccc515698f1","tarball":"https://registry.npmjs.org/circular-buffer/-/circular-buffer-1.0.3.tgz","fileCount":5,"unpackedSize":10287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnCCnCRA9TVsSAnZWagAAChIP/2Afmmyn+BgieukYZvGY\nDy6r+AxR/izz5T13UbN8mP/QC3Yj2PML1g3NM3TRcUukGza1xo4or9JibJaH\nPQbQG8YoHO6mOsU3AQxzCG4m9T1l/8DRQp+W/zAWxpvtaMqZD+3+PJ/7bdCN\nTtzZzNyXpfiHBtwgEHRWZJZWd2O5RC0D0uE3+wwatKa5N35X2ioHBaec7PQf\nFV7dEqeykFRVApYc3aIMFk9mYT2+FKNybISrww8JGcbQeONzXz9N7G80tXuk\nnNUYCNxa/I5EkIFaVB8gbr7/lJi2ZqCTNtgMu6RGQ+tLPeZAep0PMj0wtA+a\nJWuMIMctD7ViHuqhCi8KMDAAH6ciGqzzFTJyMN7VC30U92bFt+vOm3ASpfja\nQRhoMv2TZyEvv5ivQbs46LigVT8+DyaPRqCAeL6LXNK2GgZTFiCWcj8gNPcY\no0UQk2MjGBMGHyTnN9cAzonKAyLYhc3UCSEdM+42XjyuNzhepAPlugh24rR+\nn+LREfdbtqTRncsI9X/dukUMl51z2h5J4357V+39TVgBH0E9UN5kttoFi3r1\nM8LPYmN3l3VKEx2LZOatqlfEzO6sYbTVpDot1VQWSO/GnSwRUBGHh8rS85xr\nlkgAn5FAwvNqXf9djQBNYfpjkOYl6DWd+EPIEEeLT1L8omhSgAgzuYzjY97+\ncbXG\r\n=0CJL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFtTJ8wq0r4fHRRghVS1j9e5lY+D1s/4zcpzs/tXvpmLAiEA367PhTAL1sVwFhDh9hcmwLTGFmvolmA6J7tzwfhCZJE="}]},"maintainers":[{"name":"tomsmeding","email":"tom.smeding@gmail.com"}],"_npmUser":{"name":"tomsmeding","email":"tom.smeding@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/circular-buffer_1.0.3_1604067494962_0.9650157079999202"},"_hasShrinkwrap":false}},"homepage":"https://github.com/tomsmeding/circular-buffer","keywords":["circular-buffer","data-structure"],"repository":{"type":"git","url":"git+https://github.com/tomsmeding/circular-buffer.git"},"author":{"name":"Tom Smeding","email":"tom.smeding@gmail.com","url":"https://tomsmeding.com"},"bugs":{"url":"https://github.com/tomsmeding/circular-buffer/issues"},"license":"ISC","readmeFilename":"README.md","users":{"tomsmeding":true,"duartemendes":true,"omclean":true,"adelriosantiago":true}}