{"_id":"@anchordiv/rabbitmq-broker","_rev":"9-cba78179c01ceb949806375e806d6d58","name":"@anchordiv/rabbitmq-broker","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.0":{"name":"@anchordiv/rabbitmq-broker","version":"1.0.0","keywords":["rabbitmq","broker","messaging"],"author":{"name":"Gabriel Odame"},"license":"MIT","_id":"@anchordiv/rabbitmq-broker@1.0.0","maintainers":[{"name":"gabeodame","email":"gabeodame@gmail.com"}],"dist":{"shasum":"7f81d221f046e2d584b57babfe22d679bed8c0cc","tarball":"https://registry.npmjs.org/@anchordiv/rabbitmq-broker/-/rabbitmq-broker-1.0.0.tgz","fileCount":11,"integrity":"sha512-9KOQzwktd3+QJEKG71fCBrJVXHs7hUBdlze4ZY9VwaECmR3xznkV5Dtrm0G/pgo9jAiWCMQYPqWmutRssUPKaQ==","signatures":[{"sig":"MEQCIBhrq9SZ6OoKtOfY/0IZYGPSUYKMfVYcGdDwVB6PG6gkAiArae3exRMwfpe0Czh6P+AJCEWagOvpaZzfo/G72Ovzeg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22009},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4d9481cbaeeaa141f1b2ba1cb45810a4918e3552","scripts":{"build":"tsc","clean":"rm -rf dist","prepare":"npm run clean && npm run build"},"_npmUser":{"name":"gabeodame","email":"gabeodame@gmail.com"},"_npmVersion":"10.2.3","description":"A reusable RabbitMQ broker library","directories":{},"_nodeVersion":"20.10.0","dependencies":{"amqplib":"^0.10.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/amqplib":"^0.10.6"},"_npmOperationalInternal":{"tmp":"tmp/rabbitmq-broker_1.0.0_1735334325241_0.045041797640611","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@anchordiv/rabbitmq-broker","version":"1.0.1","keywords":["rabbitmq","broker","messaging"],"author":{"name":"Gabriel Odame"},"license":"MIT","_id":"@anchordiv/rabbitmq-broker@1.0.1","maintainers":[{"name":"gabeodame","email":"gabeodame@gmail.com"}],"homepage":"https://github.com/gabeodame/rabbitmq-broker#readme","bugs":{"url":"https://github.com/gabeodame/rabbitmq-broker/issues"},"dist":{"shasum":"c06753a7aca2c73a6ce4dada1c9ae0a1befc0ea6","tarball":"https://registry.npmjs.org/@anchordiv/rabbitmq-broker/-/rabbitmq-broker-1.0.1.tgz","fileCount":12,"integrity":"sha512-TJvfrjwDQ7qU3UFoBNji/nV1zLVEBHGXIaQASBORJsbQOyk8nAV3Nn2Ts2qlqi3MJAUV1WrTglAgqXcE84GmRw==","signatures":[{"sig":"MEUCIQDzQBg36pH5AHvg0cimRNZwjl7Lvr3NqgkXeYg/sdc0XQIgMCOZIYmNnSPjKq+8yIk9la15ENabu6nNIyNOR8FQcwY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29819},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4af10ac6465857c8c937d8a039faec4446dec4cb","scripts":{"build":"tsc","clean":"rm -rf dist","prepare":"npm run clean && npm run build"},"_npmUser":{"name":"gabeodame","email":"gabeodame@gmail.com"},"repository":{"url":"git+https://github.com/gabeodame/rabbitmq-broker.git","type":"git"},"_npmVersion":"10.2.3","description":"A reusable RabbitMQ broker library","directories":{},"_nodeVersion":"20.10.0","dependencies":{"amqplib":"^0.10.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/amqplib":"^0.10.6"},"_npmOperationalInternal":{"tmp":"tmp/rabbitmq-broker_1.0.1_1735353029178_0.8765340274253488","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@anchordiv/rabbitmq-broker","version":"1.0.2","keywords":["rabbitmq","broker","messaging"],"author":{"name":"Gabriel Odame"},"license":"MIT","_id":"@anchordiv/rabbitmq-broker@1.0.2","maintainers":[{"name":"gabeodame","email":"gabeodame@gmail.com"}],"homepage":"https://github.com/gabeodame/rabbitmq-broker#readme","bugs":{"url":"https://github.com/gabeodame/rabbitmq-broker/issues"},"dist":{"shasum":"ed19881c33391793df269253ebb38ffb9b142299","tarball":"https://registry.npmjs.org/@anchordiv/rabbitmq-broker/-/rabbitmq-broker-1.0.2.tgz","fileCount":12,"integrity":"sha512-iZGAK6dzPtvfWhpMBW/uVq4MThCPz7u+O9lU/LDXQGXGl3TrRV4Y8S7sjAYDaxGzDXGEztQMVuF63JHD4bOkcw==","signatures":[{"sig":"MEQCIBWmQCIv/s0bbbCpBsOHx8p8O2WRS7rkF7g1MybxtwQiAiAzrdGaVZ/UepOlPC2BBBH0+/BomosBdeeZkzx8ShvdBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31119},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4af10ac6465857c8c937d8a039faec4446dec4cb","scripts":{"build":"tsc","clean":"rm -rf dist","prepare":"npm run clean && npm run build"},"_npmUser":{"name":"gabeodame","email":"gabeodame@gmail.com"},"repository":{"url":"git+https://github.com/gabeodame/rabbitmq-broker.git","type":"git"},"_npmVersion":"10.2.3","description":"A reusable RabbitMQ broker library","directories":{},"_nodeVersion":"20.10.0","dependencies":{"amqplib":"^0.10.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/amqplib":"^0.10.6"},"_npmOperationalInternal":{"tmp":"tmp/rabbitmq-broker_1.0.2_1735398351686_0.24748043720842805","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@anchordiv/rabbitmq-broker","version":"1.0.3","keywords":["rabbitmq","broker","messaging"],"author":{"name":"Gabriel Odame"},"license":"MIT","_id":"@anchordiv/rabbitmq-broker@1.0.3","maintainers":[{"name":"gabeodame","email":"gabeodame@gmail.com"}],"homepage":"https://github.com/gabeodame/rabbitmq-broker#readme","bugs":{"url":"https://github.com/gabeodame/rabbitmq-broker/issues"},"dist":{"shasum":"05f25a93bc6b6a11e78d739d9ceb418cb7f8a93f","tarball":"https://registry.npmjs.org/@anchordiv/rabbitmq-broker/-/rabbitmq-broker-1.0.3.tgz","fileCount":12,"integrity":"sha512-CQi9kgv187i0D5n2Mu4ijK3LOMJTYXgetBWBX3lopYQHWMuszHBnEETiQrsDQbD/GsWR6Ll7xQSpGGy7Qq4usA==","signatures":[{"sig":"MEYCIQDt5Mw14myTxLaxnPmJho8GvpXoRAvgRo9Jx6rGYRT4qwIhAPGPomKeUbEJ+CG3ZceOJVyuWF3V/2JsLyHqCvQkKkMF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29605},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"19f2fbd84e506511c918dc1f9e572b6a4fa88427","scripts":{"build":"tsc","clean":"rm -rf dist","prepare":"npm run clean && npm run build"},"_npmUser":{"name":"gabeodame","email":"gabeodame@gmail.com"},"repository":{"url":"git+https://github.com/gabeodame/rabbitmq-broker.git","type":"git"},"_npmVersion":"10.2.3","description":"A reusable RabbitMQ broker library","directories":{},"_nodeVersion":"20.10.0","dependencies":{"amqplib":"^0.10.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/amqplib":"^0.10.6"},"_npmOperationalInternal":{"tmp":"tmp/rabbitmq-broker_1.0.3_1736659043275_0.40127104740639563","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@anchordiv/rabbitmq-broker","version":"1.0.4","keywords":["rabbitmq","broker","messaging","amqp","nodejs"],"author":{"name":"Gabriel Odame"},"license":"MIT","_id":"@anchordiv/rabbitmq-broker@1.0.4","maintainers":[{"name":"gabeodame","email":"gabeodame@gmail.com"}],"homepage":"https://github.com/anchordiv/rabbitmq-broker#readme","bugs":{"url":"https://github.com/anchordiv/rabbitmq-broker/issues"},"dist":{"shasum":"34ce285b68a7c24b14b4331663c81890df3fa526","tarball":"https://registry.npmjs.org/@anchordiv/rabbitmq-broker/-/rabbitmq-broker-1.0.4.tgz","fileCount":12,"integrity":"sha512-/JGU7ogWERh3xbpzKjAsSIiy/dGa4f+pVRLFBvLj7G3e6nYmCze3Mc2QFY6XWU6fTmshP8vJZNrk+PmAEFSdrQ==","signatures":[{"sig":"MEUCICwOTH88uYXyP0H6cpH19p2Whi1Yk/87UZTWQz43ablAAiEAzEC7Hael9R1DwjwaesP5ivF96ooAZWI8pnXeoPV6l38=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28051},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5c33b882ba5255ed18f4b1f09c9ce86ac25b0dce","scripts":{"test":"echo \"Error: no test specified\" && exit 0","build":"tsc","clean":"rm -rf dist","prepare":"npm run clean && npm run build","version":"npm run build && git add .","prepublishOnly":"npm test && npm audit"},"_npmUser":{"name":"gabeodame","email":"gabeodame@gmail.com"},"repository":{"url":"git+https://github.com/anchordiv/rabbitmq-broker.git","type":"git"},"_npmVersion":"10.2.3","description":"A reusable RabbitMQ broker library for Node.js applications","directories":{},"_nodeVersion":"20.10.0","dependencies":{"amqplib":"^0.10.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/amqplib":"^0.10.6"},"_npmOperationalInternal":{"tmp":"tmp/rabbitmq-broker_1.0.4_1736661510894_0.03467159547612386","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@anchordiv/rabbitmq-broker","version":"1.0.5","keywords":["rabbitmq","broker","messaging","amqp","nodejs"],"author":{"name":"Gabriel Odame"},"license":"MIT","_id":"@anchordiv/rabbitmq-broker@1.0.5","maintainers":[{"name":"gabeodame","email":"gabeodame@gmail.com"}],"homepage":"https://github.com/anchordiv/rabbitmq-broker#readme","bugs":{"url":"https://github.com/anchordiv/rabbitmq-broker/issues"},"dist":{"shasum":"8c8763825e115d6c82b9bb90138d9cc56a61cd4b","tarball":"https://registry.npmjs.org/@anchordiv/rabbitmq-broker/-/rabbitmq-broker-1.0.5.tgz","fileCount":12,"integrity":"sha512-l3LogR16H7dTEzZHb5Mn3TmYhupWsYSDHJljLHLsErHORUtizK6LKLACRBLTd4fDSEZk7mxsIDNBgmJBdCotAg==","signatures":[{"sig":"MEQCIEVXIDl3ogxnV4VMJiu/N26kr8+a1QTuKKIvRBvXGMK4AiBZKDUfDIaEZQwlF80wK0RtJD4f1u5xu6DUA7bx7y0OpA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30855},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5c33b882ba5255ed18f4b1f09c9ce86ac25b0dce","scripts":{"test":"echo \"Error: no test specified\" && exit 0","build":"tsc","clean":"rm -rf dist","prepare":"npm run clean && npm run build","version":"npm run build && git add .","prepublishOnly":"npm test && npm audit"},"_npmUser":{"name":"gabeodame","email":"gabeodame@gmail.com"},"repository":{"url":"git+https://github.com/anchordiv/rabbitmq-broker.git","type":"git"},"_npmVersion":"10.2.3","description":"A reusable RabbitMQ broker library for Node.js applications","directories":{},"_nodeVersion":"20.10.0","dependencies":{"amqplib":"^0.10.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/amqplib":"^0.10.6"},"_npmOperationalInternal":{"tmp":"tmp/rabbitmq-broker_1.0.5_1736697149380_0.6696872540629553","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@anchordiv/rabbitmq-broker","version":"1.0.6","keywords":["rabbitmq","broker","messaging","amqp","nodejs"],"author":{"name":"Gabriel Odame"},"license":"MIT","_id":"@anchordiv/rabbitmq-broker@1.0.6","maintainers":[{"name":"gabeodame","email":"gabeodame@gmail.com"}],"homepage":"https://github.com/anchordiv/rabbitmq-broker#readme","bugs":{"url":"https://github.com/anchordiv/rabbitmq-broker/issues"},"dist":{"shasum":"dcbad2a7a5bd7ce7adb0a7cbef153d86f57cf807","tarball":"https://registry.npmjs.org/@anchordiv/rabbitmq-broker/-/rabbitmq-broker-1.0.6.tgz","fileCount":13,"integrity":"sha512-MvxtKCC+K0JkxxFYntHRtH/wnKRHLd8bwvgJpY7TMCUd8ohY30G6H7VUVq+W8QAGx8Tiyiu5VSjdHPFl+pXx7g==","signatures":[{"sig":"MEYCIQDhPdjp0mFCsTXJyxDaZoygbr5otTq/7DidUf35vlDpbQIhAI+xG+66tTju8qlAt2DRnAeFJWoMy4xF17db5gMna2/i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32349},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"85e7904708c69ac7a497f024ab5ad4437a152aaf","scripts":{"test":"echo \"Error: no test specified\" && exit 0","build":"tsc","clean":"rm -rf dist","prepare":"npm run clean && npm run build","version":"npm run build && git add .","prepublishOnly":"npm test && npm audit"},"_npmUser":{"name":"gabeodame","email":"gabeodame@gmail.com"},"repository":{"url":"git+https://github.com/anchordiv/rabbitmq-broker.git","type":"git"},"_npmVersion":"10.2.3","description":"A reusable RabbitMQ broker library for Node.js applications","directories":{},"_nodeVersion":"20.10.0","dependencies":{"amqplib":"^0.10.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/amqplib":"^0.10.6"},"_npmOperationalInternal":{"tmp":"tmp/rabbitmq-broker_1.0.6_1737151571425_0.7244297532019257","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@anchordiv/rabbitmq-broker","version":"1.0.7","keywords":["rabbitmq","broker","messaging","amqp","nodejs"],"author":{"name":"Gabriel Odame"},"license":"MIT","_id":"@anchordiv/rabbitmq-broker@1.0.7","maintainers":[{"name":"gabeodame","email":"gabeodame@gmail.com"}],"homepage":"https://github.com/anchordiv/rabbitmq-broker#readme","bugs":{"url":"https://github.com/anchordiv/rabbitmq-broker/issues"},"dist":{"shasum":"1f1bbeb74dec899b72096b2c7494620c4e7129af","tarball":"https://registry.npmjs.org/@anchordiv/rabbitmq-broker/-/rabbitmq-broker-1.0.7.tgz","fileCount":13,"integrity":"sha512-6scCnamQvIqcdt2n8lCYM9Ho/3B8jVQ8yi8HuZpD2v5Y6IzPSkRG8+BG3/cCbdysAn0XPZ24OEqihgPoSPntJQ==","signatures":[{"sig":"MEUCIGQHzw49qnqL+KJTp9a1vFA3znaRoVUI8//iGncncl7iAiEAxnwTIzV2FhpUI05tOaaLX/llamqyKpIIiCi/HYQLJtk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34991},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7207cbe02b15aa896fc4d224b885a774bc5cb562","scripts":{"test":"echo \"Error: no test specified\" && exit 0","build":"tsc","clean":"rm -rf dist","prepare":"npm run clean && npm run build","version":"npm run build && git add .","prepublishOnly":"npm test && npm audit"},"_npmUser":{"name":"gabeodame","email":"gabeodame@gmail.com"},"repository":{"url":"git+https://github.com/anchordiv/rabbitmq-broker.git","type":"git"},"_npmVersion":"10.2.3","description":"A reusable RabbitMQ broker library for Node.js applications","directories":{},"_nodeVersion":"20.10.0","dependencies":{"amqplib":"^0.10.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/amqplib":"^0.10.6"},"_npmOperationalInternal":{"tmp":"tmp/rabbitmq-broker_1.0.7_1737218636055_0.748110863679081","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@anchordiv/rabbitmq-broker","version":"1.0.8","keywords":["rabbitmq","broker","messaging","amqp","nodejs"],"author":{"name":"Gabriel Odame"},"license":"MIT","_id":"@anchordiv/rabbitmq-broker@1.0.8","maintainers":[{"name":"gabeodame","email":"gabeodame@gmail.com"}],"homepage":"https://github.com/anchordiv/rabbitmq-broker#readme","bugs":{"url":"https://github.com/anchordiv/rabbitmq-broker/issues"},"dist":{"shasum":"bd3e0242194ee153058503638ba3b487509d4455","tarball":"https://registry.npmjs.org/@anchordiv/rabbitmq-broker/-/rabbitmq-broker-1.0.8.tgz","fileCount":13,"integrity":"sha512-vq/3B0l23+OD50jLTNCUs4USetXcjBL6U96DW+ArpofzX2YovWlBHwZ91r/HzZpS0QenqvKkSXqfiwAOArNu/Q==","signatures":[{"sig":"MEUCIFHfolwN59P4l5ArTgm+Me0KYMinkGDVTWMPpbhEu4kTAiEAi2KVUGtF3nNLnxO4+TqB9Gi1pM7HRkxQF9M6Zsekeh0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35418},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"540c489e10b6f1720ce8fd72f6ccbf3bbd5ed6c8","scripts":{"test":"echo \"Error: no test specified\" && exit 0","build":"tsc","clean":"rm -rf dist","prepare":"npm run clean && npm run build","version":"npm run build && git add .","prepublishOnly":"npm test && npm audit"},"_npmUser":{"name":"gabeodame","email":"gabeodame@gmail.com"},"repository":{"url":"git+https://github.com/anchordiv/rabbitmq-broker.git","type":"git"},"_npmVersion":"10.2.3","description":"A reusable RabbitMQ broker library for Node.js applications","directories":{},"_nodeVersion":"20.10.0","dependencies":{"amqplib":"^0.10.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/amqplib":"^0.10.6"},"_npmOperationalInternal":{"tmp":"tmp/rabbitmq-broker_1.0.8_1737220876782_0.4118780329660958","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@anchordiv/rabbitmq-broker","version":"1.0.9","description":"A reusable RabbitMQ broker library for Node.js applications","main":"dist/index.js","types":"dist/index.d.ts","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/anchordiv/rabbitmq-broker.git"},"scripts":{"build":"tsc","clean":"rm -rf dist","prepare":"npm run clean && npm run build","version":"npm run build && git add .","prepublishOnly":"npm test && npm audit","test":"echo \"Error: no test specified\" && exit 0"},"keywords":["rabbitmq","broker","messaging","amqp","nodejs"],"author":{"name":"Gabriel Odame"},"license":"MIT","dependencies":{"amqplib":"^0.10.3"},"devDependencies":{"@types/amqplib":"^0.10.6","typescript":"^5.0.0"},"_id":"@anchordiv/rabbitmq-broker@1.0.9","gitHead":"540c489e10b6f1720ce8fd72f6ccbf3bbd5ed6c8","bugs":{"url":"https://github.com/anchordiv/rabbitmq-broker/issues"},"homepage":"https://github.com/anchordiv/rabbitmq-broker#readme","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-QoA3NHaXbKQcu/mphedWJVWUSXnK+ifZ2gTvwaQevYXsxb/TGzfObWeTlmT9OCZ64rSu2uywn3Skr4ppvkBLtQ==","shasum":"447bccb00fa1875afed19870359c354887b5b37c","tarball":"https://registry.npmjs.org/@anchordiv/rabbitmq-broker/-/rabbitmq-broker-1.0.9.tgz","fileCount":13,"unpackedSize":32509,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5f26XeCzkX92acCpaII7G36AIuUlmN4aWdzTgBNRTcgIhAIx4DGDRQiOitco6H5b0w2cCJ0S00DUbi/DdnoW/v5Be"}]},"_npmUser":{"name":"gabeodame","email":"gabeodame@gmail.com"},"directories":{},"maintainers":[{"name":"gabeodame","email":"gabeodame@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rabbitmq-broker_1.0.9_1737222174232_0.8791925356929122"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-27T21:18:45.145Z","modified":"2025-01-18T17:42:54.665Z","1.0.0":"2024-12-27T21:18:45.424Z","1.0.1":"2024-12-28T02:30:29.371Z","1.0.2":"2024-12-28T15:05:51.861Z","1.0.3":"2025-01-12T05:17:23.493Z","1.0.4":"2025-01-12T05:58:31.080Z","1.0.5":"2025-01-12T15:52:29.609Z","1.0.6":"2025-01-17T22:06:11.662Z","1.0.7":"2025-01-18T16:43:56.281Z","1.0.8":"2025-01-18T17:21:16.974Z","1.0.9":"2025-01-18T17:42:54.433Z"},"bugs":{"url":"https://github.com/anchordiv/rabbitmq-broker/issues"},"author":{"name":"Gabriel Odame"},"license":"MIT","homepage":"https://github.com/anchordiv/rabbitmq-broker#readme","keywords":["rabbitmq","broker","messaging","amqp","nodejs"],"repository":{"type":"git","url":"git+https://github.com/anchordiv/rabbitmq-broker.git"},"description":"A reusable RabbitMQ broker library for Node.js applications","maintainers":[{"name":"gabeodame","email":"gabeodame@gmail.com"}],"readme":"\n# @anchordiv/rabbitmq-broker\n\nA robust and flexible RabbitMQ singleton wrapper for Node.js applications. This package simplifies RabbitMQ integration by providing an easy-to-use API for connecting, publishing, and consuming messages. It supports durable queues, dead-letter queues (DLQs), and exchange-based routing with multiple exchange types.\n\nThis package is **framework-agnostic** and integrates seamlessly with any Node.js framework, including **Express**, **NestJS**, or custom setups.\n\n---\n\n## Features\n\n- **Singleton Pattern**: Ensures a single RabbitMQ connection per application.\n- **Publish/Consume**: Simplified methods for publishing to queues or exchanges and consuming messages.\n- **Dead-Letter Support**: Automatic setup of DLQs with flexible binding.\n- **Exchange Types**: Supports `\"direct\"`, `\"topic\"`, `\"fanout\"`, and `\"headers\"`.\n- **Customizable**: Fully configurable routing keys, queue options, and more.\n- **Framework Agnostic**: Works with any Node.js framework.\n\n---\n\n## Installation\n\n```bash\nnpm install @anchordiv/rabbitmq-broker\n```\n\n---\n\n## Setup\n\n1. **Install RabbitMQ**: Ensure RabbitMQ is running and accessible.\n2. **Set Connection URL**: Add your RabbitMQ connection URL to your environment variables:\n\n   ```bash\n   export RABBITMQ_URL=amqp://username:password@host:port\n   ```\n\n   Alternatively, use a `.env` file for configuration:\n\n   ```plaintext\n   RABBITMQ_URL=amqp://username:password@host:port\n   ```\n\n---\n\n## Usage\n\n### 1. Initialize the Broker\n\n```typescript\nimport RabbitMQBroker from \"@anchordiv/rabbitmq-broker\";\n\nconst broker = RabbitMQBroker.getInstance();\nawait broker.init(process.env.RABBITMQ_URL!);\n```\n\n---\n\n### 2. Publish Messages\n\n#### Publish to a Queue\n\n```typescript\nawait broker.publish(\"my_queue\", JSON.stringify({ example: \"data\" }));\n```\n\n#### Publish to an Exchange\n\n```typescript\nawait broker.publishToExchange(\n  \"my_exchange\",\n  \"my.routing.key\",\n  JSON.stringify({ example: \"data\" }),\n  \"topic\"\n);\n```\n\n---\n\n### 3. Consume Messages\n\n#### Consume from a Queue\n\n```typescript\nawait broker.consume(\"my_queue\", async (msg) => {\n  const data = JSON.parse(msg.content.toString());\n  console.log(\"Message received:\", data);\n});\n```\n\n#### Consume with Dead-Letter Support\n\nSet up a queue and its associated DLQ:\n\n```typescript\nawait broker.setupDeadLetterQueue(\n  \"primary_queue\",\n  \"my_dead_letter_exchange\",\n  \"my_dead_letter_queue\",\n  \"topic\",\n  \"optional.routing.key\" // Optional custom routing key for DLQ binding\n);\n\nawait broker.consume(\"primary_queue\", async (msg) => {\n  const data = JSON.parse(msg.content.toString());\n  console.log(\"Message received:\", data);\n});\n\nawait broker.consume(\"my_dead_letter_queue\", async (msg) => {\n  const data = JSON.parse(msg.content.toString());\n  console.error(\"Dead-lettered message:\", data);\n});\n```\n\n---\n\n### 4. Set Up a Queue with Dead-Letter Support\n\n```typescript\nawait broker.setupQueue(\"primary_queue\", {\n  durable: true,\n  arguments: {\n    \"x-dead-letter-exchange\": \"my_dead_letter_exchange\",\n  },\n});\n```\n\nBind the queue to an exchange with a routing key:\n\n```typescript\nawait broker.bindQueue(\"primary_queue\", \"my_exchange\", \"my.routing.key\");\n```\n\n---\n\n## API Reference\n\n### Core Methods\n\n- **`RabbitMQBroker.getInstance(): RabbitMQBroker`**  \n  Returns the singleton instance of the `RabbitMQBroker`.\n\n- **`init(url: string): Promise<void>`**  \n  Initializes the RabbitMQ connection and channel.  \n  - `url` *(string)*: RabbitMQ connection URL.\n\n---\n\n### Publishing Methods\n\n- **`publish(queue: string, message: Buffer | string, options?: Options.Publish): Promise<void>`**  \n  Publishes a message to a queue.  \n  - `queue` *(string)*: Queue name.\n  - `message` *(Buffer | string)*: Message content.\n  - `options` *(Options.Publish, optional)*: Publish options.\n\n- **`publishToExchange(exchange: string, routingKey: string, message: Buffer | string, type?: string, options?: Options.Publish): Promise<void>`**  \n  Publishes a message to an exchange.  \n  - `exchange` *(string)*: Exchange name.\n  - `routingKey` *(string)*: Routing key.\n  - `message` *(Buffer | string)*: Message content.\n  - `type` *(string, optional)*: Exchange type. Default is `\"topic\"`.\n  - `options` *(Options.Publish, optional)*: Publish options.\n\n---\n\n### Queue and Consumer Methods\n\n- **`setupQueue(queue: string, options?: Options.AssertQueue): Promise<void>`**  \n  Sets up a queue.  \n  - `queue` *(string)*: Queue name.\n  - `options` *(Options.AssertQueue, optional)*: Queue options.\n\n- **`bindQueue(queue: string, exchange: string, routingKey: string): Promise<void>`**  \n  Binds a queue to an exchange.  \n  - `queue` *(string)*: Queue name.\n  - `exchange` *(string)*: Exchange name.\n  - `routingKey` *(string)*: Routing key.\n\n- **`consume(queue: string, onMessage: (msg: Message) => Promise<void>): Promise<void>`**  \n  Consumes messages from a queue.  \n  - `queue` *(string)*: Queue name.\n  - `onMessage` *(function)*: Message handler.\n\n---\n\n### Dead-Letter Methods\n\n- **`setupDeadLetterQueue(queue: string, dlx: string, dlq: string, dlxType?: string, routingKey?: string): Promise<void>`**  \n  Sets up a DLQ.  \n  - `queue` *(string)*: Main queue.\n  - `dlx` *(string)*: Dead-letter exchange.\n  - `dlq` *(string)*: Dead-letter queue.\n  - `dlxType` *(string, optional)*: DLX type. Default is `\"topic\"`.\n  - `routingKey` *(string, optional)*: Routing key for DLQ. Default is `\"#\"` (all).\n\n---\n\n### Utility Method\n\n- **`closeConnection(): Promise<void>`**  \n  Closes the RabbitMQ connection and channel.\n\n---\n\n## Contributing\n\nContributions are welcome! Please follow these steps:\n\n1. Fork the repository.\n2. Create a feature branch.\n3. Submit a pull request with a clear description.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the `LICENSE` file for details.\n\n---\n\n## Contact\n\nFor questions or support, open an issue on the [GitHub repository](https://github.com/gabeodame/rabbitmq-broker) or email `support@anchordiv.com`.\n","readmeFilename":"README.md"}