{"_id":"qified","_rev":"16-7978ebfe65771ca0fe566b244abcd74a","name":"qified","dist-tags":{"latest":"0.7.0"},"versions":{"0.1.0":{"name":"qified","version":"0.1.0","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.1.0","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"cd0a324ea24894a66900a4621813894b6e8cd1f0","tarball":"https://registry.npmjs.org/qified/-/qified-0.1.0.tgz","fileCount":7,"integrity":"sha512-GhtdmXpc3yoInUj+X9ScWipQLBL7F1Osg9dtEVIYwe9CGofPDOBwZ+ZSGgmIvRo0LA3DIXaK2V7q+CG8oHcllA==","signatures":[{"sig":"MEYCIQDhaU2SVx1NQy//q+bgP0fBv9G001Xt7g4Mf8Lq2s+J3gIhAILmA4Jx7Z6wlHYMEkRrmkOHwbllLR3SyZC5RXDMdT2j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4199},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"1149432b744c784c51ff9e0a6bf4912759ac943e","scripts":{"test":"xo --fix && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","prepare":"npm run build","test:ci":"xo && vitest run --coverage","website:build":"docula build","website:serve":"docula serve"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"10.8.3","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.59.3","tsup":"^8.3.0","docula":"^0.9.0","rimraf":"^6.0.1","vitest":"^2.0.5","typescript":"^5.5.4","@vitest/coverage-v8":"^2.0.5"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.1.0_1726590385210_0.9063899345136956","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"qified","version":"0.1.1","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.1.1","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"5cc8e0d9251e31cd3eab088e3f86dcd7e5d3491a","tarball":"https://registry.npmjs.org/qified/-/qified-0.1.1.tgz","fileCount":7,"integrity":"sha512-9Gw7Oe1cGkj6lZ+LxhNxycTwEcNxmWgzbB7//GfxRDZiHhFjDhUvkJ70KfSo4GULjrV1YqC++Sro/Uk1WQUcrQ==","signatures":[{"sig":"MEUCIQCSTIGWO3CRpajC3XlyqtvoVN4F7010Z0hgusG4+i6mfAIgTLn/jhlDH/EpJizRhzOOXqOEat+xvb8WcfO6swD2AQc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6396},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"784cfefe3f1e96f6da15de6924937f234c3a3cf8","scripts":{"test":"xo --fix && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","prepare":"npm run build","test:ci":"xo && vitest run --coverage","website:build":"docula build","website:serve":"docula serve"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"10.8.2","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"20.18.1","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.59.3","tsup":"^8.3.5","docula":"^0.9.4","rimraf":"^6.0.1","vitest":"^2.1.6","typescript":"^5.6.3","@vitest/coverage-v8":"^2.1.6"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.1.1_1732989318630_0.5349594661477732","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"qified","version":"0.1.2","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.1.2","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"5e0cda4522aa6ade69414a786878a7f572e2206c","tarball":"https://registry.npmjs.org/qified/-/qified-0.1.2.tgz","fileCount":7,"integrity":"sha512-deyowIHvcdQT5qfP1QrBVk1ZDTNQVFaZzlYOhG1pVQ+c98CobD8DBwV/wUNO6UTq4gJNyEsuWr9Gk8/Ok6nGYw==","signatures":[{"sig":"MEYCIQDzQv1AC1fisuy8hWqc/nUhGSJ16qyJiK7SXWe7bLUwgwIhAPR5R4fG3O597fUVv5nXe8OW3gPZMERIVUh5YH+8EDBW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10713},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"xo --fix && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"xo && vitest run --coverage"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/private/var/folders/h1/n3vxgc0n1sn5_9pxftc4p6l80000gn/T/03509fa5e34a47dd5dc238282ffe406e/qified-0.1.2.tgz","_integrity":"sha512-deyowIHvcdQT5qfP1QrBVk1ZDTNQVFaZzlYOhG1pVQ+c98CobD8DBwV/wUNO6UTq4gJNyEsuWr9Gk8/Ok6nGYw==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"10.9.0","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.60.0","tsup":"^8.3.6","rimraf":"^6.0.1","vitest":"^3.0.5","typescript":"^5.7.3","@vitest/coverage-v8":"^3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.1.2_1738950287763_0.35665776374241953","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"qified","version":"0.1.3","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.1.3","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"bcbb37dcb8b6fa1bbb645d93c7a539b484f48ee3","tarball":"https://registry.npmjs.org/qified/-/qified-0.1.3.tgz","fileCount":7,"integrity":"sha512-KAGAt3E6sZnN5WuYShDUL6vdUNOCaW0aT0AL8Dz4aF1xQZHYbIuXac1RqOFT/JCOv1sFCKRa2zZfJvU+xLR+cw==","signatures":[{"sig":"MEUCIQCQrVchZoxJ5SI7mCrfV4JwAd/hauIXRe0j8+uQ5+sf3QIgSoWrap+SFn5k+CTMiB0om0e5X2QzO3uuIA5cipVyzfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10719},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"xo --fix && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"xo && vitest run --coverage"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/private/var/folders/q4/x95kq1ln6cd7rrnct9cby32r0000gn/T/c2cf63d79c8c00f41c733c5313c424cd/qified-0.1.3.tgz","_integrity":"sha512-KAGAt3E6sZnN5WuYShDUL6vdUNOCaW0aT0AL8Dz4aF1xQZHYbIuXac1RqOFT/JCOv1sFCKRa2zZfJvU+xLR+cw==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"11.1.0","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.60.0","tsup":"^8.4.0","rimraf":"^6.0.1","vitest":"^3.0.7","typescript":"^5.8.2","@vitest/coverage-v8":"^3.0.7"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.1.3_1740940797376_0.5612565350471006","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"qified","version":"0.2.0","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.2.0","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"af0fe91809ddae4e38fa3cc937e4346bf55fb9a1","tarball":"https://registry.npmjs.org/qified/-/qified-0.2.0.tgz","fileCount":7,"integrity":"sha512-izZJWNyhft20uEYvIEK2Sx70hsyiWdWdvxHxQngqzVRs/EDzWlQp0XSRlGLmHVJKA3nUursnfK9QyFdRw13QLQ==","signatures":[{"sig":"MEUCIQDiffsJiKMJwp5NuLPAcng1gCRS9QdSnHzu6C1bwyY7aQIgcMSXeOwQwcX2vsFxZchfXMN/3TXTq7xdu4I92VuWliw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16181},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"xo --fix && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"xo && vitest run --coverage"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/private/var/folders/q4/x95kq1ln6cd7rrnct9cby32r0000gn/T/efa3f254fa8fa70ddfcd3fb163a88bb0/qified-0.2.0.tgz","_integrity":"sha512-izZJWNyhft20uEYvIEK2Sx70hsyiWdWdvxHxQngqzVRs/EDzWlQp0XSRlGLmHVJKA3nUursnfK9QyFdRw13QLQ==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"11.3.0","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^0.60.0","tsup":"^8.4.0","rimraf":"^6.0.1","vitest":"^3.1.1","typescript":"^5.8.3","@vitest/coverage-v8":"^3.1.1"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.2.0_1746894786059_0.20458003960563031","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"qified","version":"0.2.1","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.2.1","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"3f9aa88360295608edf72c4459b99e76d49e51f2","tarball":"https://registry.npmjs.org/qified/-/qified-0.2.1.tgz","fileCount":7,"integrity":"sha512-STri49G3Og1leiGH0+KgNoydr4uRt/GJdFMUQkoOo/kgj44bAzsBfVRqnsBv7Z9FTAzJzzknKlKAEkKfF+9xow==","signatures":[{"sig":"MEYCIQDTEB4zVtcvqZSziEqE9dNhwLjeUucUeJCO3vIsZSf8UQIhAIJ4qUH1cTkipfiJi8STQ6RsfGt5b80s4FMvZ9gv8VgF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16180},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"xo --fix && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"xo && vitest run --coverage"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/private/var/folders/q4/x95kq1ln6cd7rrnct9cby32r0000gn/T/e2d9755240345967f8fdbd0208b38cd2/qified-0.2.1.tgz","_integrity":"sha512-STri49G3Og1leiGH0+KgNoydr4uRt/GJdFMUQkoOo/kgj44bAzsBfVRqnsBv7Z9FTAzJzzknKlKAEkKfF+9xow==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"11.3.0","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^1.0.5","tsup":"^8.5.0","rimraf":"^6.0.1","vitest":"^3.1.4","typescript":"^5.8.3","@vitest/coverage-v8":"^3.1.4"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.2.1_1748863042292_0.8516355272676857","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"qified","version":"0.3.0","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.3.0","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"701833c487ff8748e7ad0a4ba9045623e71909a7","tarball":"https://registry.npmjs.org/qified/-/qified-0.3.0.tgz","fileCount":7,"integrity":"sha512-dhjD92a5DgGwGKhc92s5F82JFm6wp+2Gs+gl7gP3nmHhJvac1p95i3I1+wyKqQijkjID5JOjgkIzijOTbP4xpw==","signatures":[{"sig":"MEYCIQDYVMl9u9j4K7lBkV0J0Cq+SfWF6wIQnxHdtScjrSF34QIhAOx/bSWr+6+0U6o6bGjYjq9PX3SW7NltGNRQRhe2ykWD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26051},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"xo --fix && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"xo && vitest run --coverage","build:publish":"pnpm build && pnpm publish --access public"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/tmp/3e57509e90ed872870bbc52acac29334/qified-0.3.0.tgz","_integrity":"sha512-dhjD92a5DgGwGKhc92s5F82JFm6wp+2Gs+gl7gP3nmHhJvac1p95i3I1+wyKqQijkjID5JOjgkIzijOTbP4xpw==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"10.9.2","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"xo":"^1.2.1","tsup":"^8.5.0","rimraf":"^6.0.1","vitest":"^3.2.4","typescript":"^5.8.3","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.3.0_1752940322850_0.5735899307563312","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"qified","version":"0.4.0","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.4.0","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"139e6ed173b6c248e328afad8b46c1d3ac323780","tarball":"https://registry.npmjs.org/qified/-/qified-0.4.0.tgz","fileCount":7,"integrity":"sha512-sN/KkhaV6jEGdq1MMyj3P1Me6pWFd+mVIvRI8CerIMiPMCmbim67IQmu5h3CmnyvHya7LDhTGDF53Ksf9UHWVw==","signatures":[{"sig":"MEQCIEM7IReNhtyRKqr0NaPsuH4jqIIO6UG6aHGReTZdh1IyAiAQ1y4mXrOJU+J5A0SUyA4nXJs7JUCDGtdXUj7bVySxdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26239},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"biome check --write && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"biome check && vitest run --coverage","build:publish":"pnpm build && pnpm publish --access public"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/tmp/280b2af322c665b0e2654a9624f4998d/qified-0.4.0.tgz","_integrity":"sha512-sN/KkhaV6jEGdq1MMyj3P1Me6pWFd+mVIvRI8CerIMiPMCmbim67IQmu5h3CmnyvHya7LDhTGDF53Ksf9UHWVw==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"10.9.2","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"22.17.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","rimraf":"^6.0.1","vitest":"^3.2.4","typescript":"^5.8.3","@biomejs/biome":"^2.1.4","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.4.0_1754585241564_0.5664803319685192","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"qified","version":"0.4.2","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.4.2","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"d275ca9d70e79cd4cb17dcb28760dc73dc6cd867","tarball":"https://registry.npmjs.org/qified/-/qified-0.4.2.tgz","fileCount":7,"integrity":"sha512-gcd86X124ljP08NDTA/vtRKKxa2QMXMOqf4TVLaYns0vmuN8X0BDjcwDjWg5hNcKduJkpuP4ilr+t+EsjRxZCA==","signatures":[{"sig":"MEUCIQCaprMnHgWI6s7Jb1uMPxy6iQiSbO/5ofj0tSENB4pRzgIgEmgWvWh//728nOoXoF7rYqIYKZ0mKhcQFfs/Kzunw54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26320},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.4.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"biome check --write --error-on-warnings","test":"pnpm lint && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"biome check --error-on-warnings && vitest run --coverage","build:publish":"pnpm build && pnpm publish --access public --no-git-checks"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/tmp/34565acb6a22953a0a3aa8d03095cfea/qified-0.4.2.tgz","_integrity":"sha512-gcd86X124ljP08NDTA/vtRKKxa2QMXMOqf4TVLaYns0vmuN8X0BDjcwDjWg5hNcKduJkpuP4ilr+t+EsjRxZCA==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"10.9.3","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","rimraf":"^6.0.1","vitest":"^3.2.4","typescript":"^5.9.2","@biomejs/biome":"^2.2.2","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.4.2_1756921578743_0.3959753563151043","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"qified","version":"0.4.3","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.4.3","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"d35d9357c4b6dd5ae8ae2900fd9ef61f2fb7c053","tarball":"https://registry.npmjs.org/qified/-/qified-0.4.3.tgz","fileCount":7,"integrity":"sha512-OwEPHvl89++drCTc1ttP4e/gw754MEKR+dhgIkU1IWcCdDgD5DBSa8l3CEthAw5pnre1My7nuVJP/ISwLeaHiQ==","signatures":[{"sig":"MEYCIQD2syJ17XUwalY2Q8FbvUfC85z/VtI1ezQDt1LnQ5XytwIhALm2CE727DzzuN4cMxMTAcaeoWd8jwZwLnrDSU/QqG4O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26320},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.4.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"biome check --write --error-on-warnings","test":"pnpm lint && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"biome check --error-on-warnings && vitest run --coverage","build:publish":"pnpm build && pnpm publish --access public --no-git-checks"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/tmp/c8821061640cfe36731ac2952f9daa44/qified-0.4.3.tgz","_integrity":"sha512-OwEPHvl89++drCTc1ttP4e/gw754MEKR+dhgIkU1IWcCdDgD5DBSa8l3CEthAw5pnre1My7nuVJP/ISwLeaHiQ==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"10.9.3","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","rimraf":"^6.0.1","vitest":"^3.2.4","typescript":"^5.9.2","@biomejs/biome":"^2.2.4","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.4.3_1758910122906_0.04652420990506356","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"qified","version":"0.5.0","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.5.0","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"2e0a1f8bdf2321764b976402da9fbfc1a205785f","tarball":"https://registry.npmjs.org/qified/-/qified-0.5.0.tgz","fileCount":7,"integrity":"sha512-Zj6Q/Vc/SQ+Fzc87N90jJUzBzxD7MVQ2ZvGyMmYtnl2u1a07CejAhvtk4ZwASos+SiHKCAIylyGHJKIek75QBw==","signatures":[{"sig":"MEQCIBB5839wkHYB9OVfnr1e3dwSV8PI68ikOI59mHA0RTlPAiApDBX2Pkkrf+kwCkM0FxrMt874JIXlC37IEliN5JmXcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35941},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"biome check --write --error-on-warnings","test":"pnpm lint && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean --minify","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"biome check --error-on-warnings && vitest run --coverage","build:publish":"pnpm build && pnpm publish --access public --no-git-checks"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/tmp/12d0c841a7c89fc7c08d557681fed9cb/qified-0.5.0.tgz","_integrity":"sha512-Zj6Q/Vc/SQ+Fzc87N90jJUzBzxD7MVQ2ZvGyMmYtnl2u1a07CejAhvtk4ZwASos+SiHKCAIylyGHJKIek75QBw==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"10.9.3","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"22.20.0","dependencies":{"hookified":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","rimraf":"^6.0.1","vitest":"^3.2.4","typescript":"^5.9.3","@biomejs/biome":"^2.2.5","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.5.0_1759620086113_0.7271148258910576","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"qified","version":"0.5.1","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.5.1","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"496088b33bf6b29382343b1312c4e5bc4cf22f50","tarball":"https://registry.npmjs.org/qified/-/qified-0.5.1.tgz","fileCount":7,"integrity":"sha512-+BtFN3dCP+IaFA6IYNOu/f/uK1B8xD2QWyOeCse0rjtAebBmkzgd2d1OAXi3ikAzJMIBSdzZDNZ3wZKEUDQs5w==","signatures":[{"sig":"MEQCIEQqrCrI9e5oYGACLflU6I8pAgI+OPIpGBrykr8J82cKAiAUU1ypsyshAk4X92GauAGQTsIVqLCli80rU6scYpI04A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54914},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.5.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"biome check --write --error-on-warnings","test":"pnpm lint && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"biome check --error-on-warnings && vitest run --coverage","build:publish":"pnpm build && pnpm publish --access public --no-git-checks"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/tmp/6b86c76d59009beb910f1c5bcf4ad887/qified-0.5.1.tgz","_integrity":"sha512-+BtFN3dCP+IaFA6IYNOu/f/uK1B8xD2QWyOeCse0rjtAebBmkzgd2d1OAXi3ikAzJMIBSdzZDNZ3wZKEUDQs5w==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"10.9.3","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"22.20.0","dependencies":{"hookified":"^1.12.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","rimraf":"^6.0.1","vitest":"^3.2.4","typescript":"^5.9.3","@biomejs/biome":"^2.2.6","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.5.1_1760944066593_0.7082030785167917","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"qified","version":"0.5.2","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.5.2","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"fa6af2e48eb40d06d56a203a8aa1ab37bc00d2b5","tarball":"https://registry.npmjs.org/qified/-/qified-0.5.2.tgz","fileCount":7,"integrity":"sha512-7gJ6mxcQb9vUBOtbKm5mDevbe2uRcOEVp1g4gb/Q+oLntB3HY8eBhOYRxFI2mlDFlY1e4DOSCptzxarXRvzxCA==","signatures":[{"sig":"MEUCIAseSKR4rBMfR7DX1aJJXxFFACYFg4NGE60DwPnMXM3ZAiEAoshtKuGcb+OF6hlKhFXPgWAfRMPDfzoaTHId20N8URs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54982},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.5.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"biome check --write --error-on-warnings","test":"pnpm lint && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"biome check --error-on-warnings && vitest run --coverage","build:publish":"pnpm build && pnpm publish --access public --no-git-checks"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/tmp/ed911e37ee42478baffd0181fb426b8b/qified-0.5.2.tgz","_integrity":"sha512-7gJ6mxcQb9vUBOtbKm5mDevbe2uRcOEVp1g4gb/Q+oLntB3HY8eBhOYRxFI2mlDFlY1e4DOSCptzxarXRvzxCA==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"10.9.4","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"22.21.1","dependencies":{"hookified":"^1.13.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","rimraf":"^6.1.0","vitest":"^4.0.8","typescript":"^5.9.3","@biomejs/biome":"^2.3.5","@vitest/coverage-v8":"^4.0.8"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.5.2_1762941911240_0.6875273038743908","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"qified","version":"0.5.3","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.5.3","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"2d01866eb99c8de3a18965a4a809d9349e26210a","tarball":"https://registry.npmjs.org/qified/-/qified-0.5.3.tgz","fileCount":7,"integrity":"sha512-kXuQdQTB6oN3KhI6V4acnBSZx8D2I4xzZvn9+wFLLFCoBNQY/sFnCW6c43OL7pOQ2HvGV4lnWIXNmgfp7cTWhQ==","signatures":[{"sig":"MEUCIFGUchoe5nG16hJH/HN9PO0HfCCmcm0qDc8fXdypjTiOAiEA+m3oNdKZBYQeVuHl10AJCWQelNNgXEPKOorb83qGh7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54982},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.5.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"biome check --write --error-on-warnings","test":"pnpm lint && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"biome check --error-on-warnings && vitest run --coverage","build:publish":"pnpm build && pnpm publish --access public --no-git-checks"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/tmp/9d499dcca3e9825b907a7d91c84cf676/qified-0.5.3.tgz","_integrity":"sha512-kXuQdQTB6oN3KhI6V4acnBSZx8D2I4xzZvn9+wFLLFCoBNQY/sFnCW6c43OL7pOQ2HvGV4lnWIXNmgfp7cTWhQ==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"10.9.4","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"22.21.1","dependencies":{"hookified":"^1.13.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.0","vitest":"^4.0.8","typescript":"^5.9.3","@biomejs/biome":"^2.3.5","@vitest/coverage-v8":"^4.0.8"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.5.3_1764956069666_0.4853184920100104","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"qified","version":"0.6.0","keywords":["queue","task","message","provider","qified"],"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","_id":"qified@0.6.0","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"homepage":"https://github.com/jaredwray/qified#readme","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"dist":{"shasum":"a9c33f51fa37d03003065638bb7dff45d7a81297","tarball":"https://registry.npmjs.org/qified/-/qified-0.6.0.tgz","fileCount":7,"integrity":"sha512-tsSGN1x3h569ZSU1u6diwhltLyfUWDp3YbFHedapTmpBl0B3P6U3+Qptg7xu+v+1io1EwhdPyyRHYbEw0KN2FA==","signatures":[{"sig":"MEUCIQDbPKNtYGlQjhXpzWtafTPSqUntxqQ/KR3ag063Mf0bnwIgeVAZZDhnw/LGO2EZS6doW3dCU3lo6eli8a8mfCOCpi4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98063},"main":"./dist/index.cjs","type":"module","_from":"file:qified-0.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"biome check --write --error-on-warnings","test":"pnpm lint && vitest run --coverage","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","clean":"rimraf ./dist ./coverage ./site/dist","test:ci":"biome check --error-on-warnings && vitest run --coverage","build:publish":"pnpm build && pnpm publish --access public --no-git-checks"},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"_resolved":"/tmp/251b9f747672d43ea788518c0d8edb82/qified-0.6.0.tgz","_integrity":"sha512-tsSGN1x3h569ZSU1u6diwhltLyfUWDp3YbFHedapTmpBl0B3P6U3+Qptg7xu+v+1io1EwhdPyyRHYbEw0KN2FA==","repository":{"url":"git+https://github.com/jaredwray/qified.git","type":"git"},"_npmVersion":"10.9.4","description":"Task and Message Queues with Multiple Providers","directories":{},"_nodeVersion":"22.21.1","dependencies":{"hookified":"^1.14.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.0","vitest":"^4.0.16","typescript":"^5.9.3","@biomejs/biome":"^2.3.10","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/qified_0.6.0_1766947506106_0.3442561955119279","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"qified","version":"0.7.0","description":"Task and Message Queues with Multiple Providers","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"require":"./dist/index.cjs","import":"./dist/index.js"}},"engines":{"node":">=20"},"keywords":["queue","task","message","provider","qified"],"repository":{"type":"git","url":"git+https://github.com/jaredwray/qified.git"},"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","bugs":{"url":"https://github.com/jaredwray/qified/issues"},"homepage":"https://github.com/jaredwray/qified#readme","devDependencies":{"@biomejs/biome":"^2.3.10","@vitest/coverage-v8":"^4.0.16","rimraf":"^6.1.2","tsup":"^8.5.1","typescript":"^5.9.3","vitest":"^4.0.16"},"dependencies":{"hookified":"^1.14.0"},"scripts":{"lint":"biome check --write --error-on-warnings","test":"pnpm lint && vitest run --coverage","test:ci":"biome check --error-on-warnings && vitest run --coverage","clean":"rimraf ./dist ./coverage ./site/dist","build":"rimraf ./dist && tsup src/index.ts --format cjs,esm --dts --clean","build:publish":"pnpm build && pnpm publish --access public --no-git-checks"},"_id":"qified@0.7.0","_integrity":"sha512-tIsdHhIJJHkWQ5pc1Ln7PtZkmKzXm7ku1waYjdi8ZeLV1CWFqhLo6n9dmSB1ckbnYla0lBAjFFja4hjuaKOSbg==","_resolved":"/tmp/459074c7e40e641b04cbb0f4ccdea394/qified-0.7.0.tgz","_from":"file:qified-0.7.0.tgz","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-tIsdHhIJJHkWQ5pc1Ln7PtZkmKzXm7ku1waYjdi8ZeLV1CWFqhLo6n9dmSB1ckbnYla0lBAjFFja4hjuaKOSbg==","shasum":"0df907a573e03ebd55e442711d49824ed1962fca","tarball":"https://registry.npmjs.org/qified/-/qified-0.7.0.tgz","fileCount":7,"unpackedSize":98245,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCzfywwCcQfh+K78TgvapFjBh3Q9DqpirYqTxOxb1qtsAIhALv1Kf0Umj+uUXOsFq7l0Ellf62NxHa6x7SZxYva4Iiw"}]},"_npmUser":{"name":"jaredwray","email":"me@jaredwray.com"},"directories":{},"maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/qified_0.7.0_1768961860087_0.6282694929875758"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-17T16:26:25.209Z","modified":"2026-01-21T02:17:40.337Z","0.1.0":"2024-09-17T16:26:25.408Z","0.1.1":"2024-11-30T17:55:18.813Z","0.1.2":"2025-02-07T17:44:48.124Z","0.1.3":"2025-03-02T18:39:57.545Z","0.2.0":"2025-05-10T16:33:06.241Z","0.2.1":"2025-06-02T11:17:22.500Z","0.3.0":"2025-07-19T15:52:03.024Z","0.4.0":"2025-08-07T16:47:21.748Z","0.4.2":"2025-09-03T17:46:18.952Z","0.4.3":"2025-09-26T18:08:43.076Z","0.5.0":"2025-10-04T23:21:26.290Z","0.5.1":"2025-10-20T07:07:46.769Z","0.5.2":"2025-11-12T10:05:11.411Z","0.5.3":"2025-12-05T17:34:29.815Z","0.6.0":"2025-12-28T18:45:06.255Z","0.7.0":"2026-01-21T02:17:40.237Z"},"bugs":{"url":"https://github.com/jaredwray/qified/issues"},"author":{"name":"Jared Wray","email":"me@jaredwray.com"},"license":"MIT","homepage":"https://github.com/jaredwray/qified#readme","keywords":["queue","task","message","provider","qified"],"repository":{"type":"git","url":"git+https://github.com/jaredwray/qified.git"},"description":"Task and Message Queues with Multiple Providers","maintainers":[{"name":"jaredwray","email":"me@jaredwray.com"}],"readme":"[![logo.svg](https://qified.org/logo.svg)](https://qified.org)\n\n[![tests](https://github.com/jaredwray/qified/actions/workflows/tests.yaml/badge.svg)](https://github.com/jaredwray/qified/actions/workflows/tests.yaml)\n[![GitHub license](https://img.shields.io/github/license/jaredwray/qified)](https://github.com/jaredwray/qified/blob/master/LICENSE)\n[![codecov](https://codecov.io/gh/jaredwray/qified/graph/badge.svg?token=jcRdy8SkOG)](https://codecov.io/gh/jaredwray/qified)\n[![npm](https://img.shields.io/npm/dm/qified)](https://npmjs.com/package/qified)\n[![npm](https://img.shields.io/npm/v/qified)](https://npmjs.com/package/qified)\n\n# qified\nTask and Message Queues with Multiple Providers\n\n## NOTE: This is a work in progress and not ready for production use. Please wait till v1.0.0 is released.\n\n# Features\n\n* Simple Message Queue for Processing Messages\n* Simple Message Format `Message`\n* Easily Send a Message `publish()`\n* Easily Subscribe to a message Queue `subscribe()`\n* Simple Task Format `Task` (Coming in v1.0.0)\n* Easily Send a Task `enqueue()` (Coming in v1.0.0)\n* Easily Subscribe to a Task Queue `dequeue()` (Coming in v1.0.0)\n* Simple Acknowledge `Acknowledge()` in handler (Coming in v1.0.0)\n* Async/Await Built In By Default\n* Written in Typescript, Nodejs Last Two Versions, ESM and CJS\n* Events and Hooks for all major actions via [Hookified](https://hookified.org)\n* Customizable Serialize / Deserialize Handlers (Coming in v1.0.0)\n* Customizable Compress / Decompress Handlers (Coming in v1.0.0)\n* Provider Fail Over Support\n\n\n# Installation\n\n```bash\npnpm add qified\n```\n\n# Quick Start\n\n```js\nimport { Qified, MemoryMessageProvider } from 'qified';\n\n// Create a new Qified instance with a memory provider\nconst qified = new Qified({\n messageProviders: new MemoryMessageProvider()\n});\n\n// Subscribe to a topic\nawait qified.subscribe('notifications', {\n id: 'notificationHandler',\n handler: async (message) => {\n console.log('Received:', message.data);\n }\n});\n\n// Publish a message\nawait qified.publish('notifications', {\n id: 'msg-1',\n data: { text: 'Hello, World!' }\n});\n\n// Clean up\nawait qified.disconnect();\n```\n\n# Constructor\n\n```js\nnew Qified(options?: QifiedOptions)\n```\n\n**Options:**\n- `messageProviders?: MessageProvider | MessageProvider[]` - a provider or Array of message providers to use\n- `taskProviders?: TaskProvider[]` - Array of task providers to use\n\n**Example:**\n```js\nimport { Qified, MemoryMessageProvider } from 'qified';\n\nconst qified = new Qified({\n messageProviders: new MemoryMessageProvider()\n});\n```\n\n# Properties\n\n### `messageProviders: MessageProvider[]`\n\nGet or set the array of message providers. This property allows you to dynamically manage which message providers are active in your Qified instance.\n\n**Type:** `MessageProvider[]`\n\n**Access:** Read/Write\n\n**Description:**\n- **Getter**: Returns the current array of message providers being used\n- **Setter**: Replaces all current message providers with a new array\n\n**Use Cases:**\n- Inspect which providers are currently configured\n- Add or remove providers dynamically at runtime\n- Replace all providers with a new set\n- Migrate from one provider to another\n\n**Example:**\n```typescript\nimport { Qified, MemoryMessageProvider } from 'qified';\nimport { NatsMessageProvider } from '@qified/nats';\nimport { RedisMessageProvider } from '@qified/redis';\n\nconst qified = new Qified({\n messageProviders: new MemoryMessageProvider()\n});\n\n// Get current providers\nconst providers = qified.messageProviders;\nconsole.log(`Currently using ${providers.length} provider(s)`);\n\n// Add another provider\nqified.messageProviders = [\n new MemoryMessageProvider(),\n new NatsMessageProvider()\n];\n\n// Replace all providers\nqified.messageProviders = [\n new RedisMessageProvider({ uri: 'redis://localhost:6379' })\n];\n\n// Access provider properties\nqified.messageProviders.forEach(provider => {\n console.log('Provider ID:', provider.id);\n});\n```\n\n**Important Notes:**\n- Setting this property does **not** automatically disconnect existing providers\n- You should call `disconnect()` on old providers before replacing them to clean up resources\n- All operations (`subscribe`, `publish`, `unsubscribe`) will execute across all providers in this array\n\n# Methods\n\n## subscribe\n\nSubscribe to a topic to receive messages. If multiple message providers are configured, this will subscribe on all of them.\n\n**Parameters:**\n- `topic: string` - The topic to subscribe to\n- `handler: TopicHandler` - Object containing an optional `id` and a `handler` function\n\n**Example:**\n```js\nawait qified.subscribe('user-events', {\n id: 'userEventHandler',\n handler: async (message) => {\n console.log('User event:', message.data);\n }\n});\n```\n\n## publish\n\nPublish a message to a topic. If multiple message providers are configured, this will publish to all of them.\n\n**Parameters:**\n- `topic: string` - The topic to publish to\n- `message: Message` - The message object to publish\n\n**Example:**\n```js\nawait qified.publish('user-events', {\n id: 'evt-123',\n data: {\n userId: 'user-456',\n action: 'login',\n timestamp: Date.now()\n },\n headers: {\n 'content-type': 'application/json'\n }\n});\n```\n\n## unsubscribe\n\nUnsubscribe from a topic. If an `id` is provided, only that handler is unsubscribed. Otherwise, all handlers for the topic are unsubscribed.\n\n**Parameters:**\n- `topic: string` - The topic to unsubscribe from\n- `id?: string` - Optional handler ID. If not provided, all handlers are unsubscribed\n\n**Example:**\n```js\n// Unsubscribe a specific handler\nawait qified.unsubscribe('user-events', 'userEventHandler');\n\n// Unsubscribe all handlers for a topic\nawait qified.unsubscribe('user-events');\n```\n\n## disconnect`\n\nDisconnect from all providers and clean up resources.\n\n**Example:**\n```js\nawait qified.disconnect();\n```\n\n# Events\n\nQified extends [Hookified](https://hookified.org) and emits events for all major operations. You can listen to these events to add custom logging, monitoring, or error handling.\n\n# Available Events\n\nThe following events are available via the `QifiedEvents` enum:\n\n- `QifiedEvents.publish` - Emitted after a message is successfully published\n- `QifiedEvents.subscribe` - Emitted after successfully subscribing to a topic\n- `QifiedEvents.unsubscribe` - Emitted after successfully unsubscribing from a topic\n- `QifiedEvents.disconnect` - Emitted after successfully disconnecting from all providers\n- `QifiedEvents.error` - Emitted when an error occurs during any operation\n- `QifiedEvents.info` - Emitted for informational messages\n- `QifiedEvents.warn` - Emitted for warning messages\n\n# Listening to Events\n\nUse the `on()` method to listen to events:\n\n```js\nimport { Qified, MemoryMessageProvider, QifiedEvents } from 'qified';\n\nconst qified = new Qified({\n messageProviders: new MemoryMessageProvider()\n});\n\n// Listen for publish events\nawait qified.on(QifiedEvents.publish, async (data) => {\n console.log('Message published to topic:', data.topic);\n console.log('Message:', data.message);\n});\n\n// Listen for subscribe events\nawait qified.on(QifiedEvents.subscribe, async (data) => {\n console.log('Subscribed to topic:', data.topic);\n console.log('Handler ID:', data.handler.id);\n});\n\n// Listen for unsubscribe events\nawait qified.on(QifiedEvents.unsubscribe, async (data) => {\n console.log('Unsubscribed from topic:', data.topic);\n if (data.id) {\n console.log('Handler ID:', data.id);\n }\n});\n\n// Listen for disconnect events\nawait qified.on(QifiedEvents.disconnect, async () => {\n console.log('Disconnected from all providers');\n});\n\n// Listen for errors\nawait qified.on(QifiedEvents.error, async (error) => {\n console.error('Error occurred:', error);\n});\n\n// Now perform operations\nawait qified.subscribe('events', {\n id: 'handler1',\n handler: async (message) => {\n console.log('Received:', message.data);\n }\n});\n\nawait qified.publish('events', {\n id: 'msg-1',\n data: { text: 'Hello!' }\n});\n\nawait qified.unsubscribe('events', 'handler1');\nawait qified.disconnect();\n```\n\n### Error Handling with Events\n\nEvents provide a centralized way to handle errors across all operations:\n\n```js\nimport { Qified, QifiedEvents } from 'qified';\nimport { NatsMessageProvider } from '@qified/nats';\n\nconst qified = new Qified({\n messageProviders: new NatsMessageProvider()\n});\n\n// Centralized error handler\nawait qified.on(QifiedEvents.error, async (error) => {\n console.error('Qified error:', error.message);\n // Send to error tracking service\n // Log to file\n // Send alert\n});\n\n// Errors from publish, subscribe, etc. will be caught and emitted\nawait qified.publish('topic', { id: '1', data: { test: true } });\n```\n\n# Hooks\n\nQified provides before and after hooks for all major operations, allowing you to intercept and modify data before an operation executes, or perform actions after it completes. Hooks are powered by [Hookified](https://hookified.org).\n\n## Available Hooks\n\nThe following hooks are available via the `QifiedHooks` enum:\n\n| Hook | Description | Context Properties |\n|------|-------------|-------------------|\n| `beforeSubscribe` | Called before subscribing to a topic | `{ topic, handler }` |\n| `afterSubscribe` | Called after subscribing to a topic | `{ topic, handler }` |\n| `beforePublish` | Called before publishing a message | `{ topic, message }` |\n| `afterPublish` | Called after publishing a message | `{ topic, message }` |\n| `beforeUnsubscribe` | Called before unsubscribing from a topic | `{ topic, id }` |\n| `afterUnsubscribe` | Called after unsubscribing from a topic | `{ topic, id }` |\n| `beforeDisconnect` | Called before disconnecting from providers | `{ providerCount }` |\n| `afterDisconnect` | Called after disconnecting from providers | `{ providerCount }` |\n\n## Using Hooks\n\nUse the `onHook()` method to register a hook handler:\n\n```js\nimport { Qified, MemoryMessageProvider, QifiedHooks } from 'qified';\n\nconst qified = new Qified({\n messageProviders: new MemoryMessageProvider()\n});\n\n// Register a before hook\nqified.onHook(QifiedHooks.beforePublish, async (context) => {\n console.log('About to publish to:', context.topic);\n});\n\n// Register an after hook\nqified.onHook(QifiedHooks.afterPublish, async (context) => {\n console.log('Published message:', context.message.id);\n});\n```\n\n## Modifying Data with Before Hooks\n\nBefore hooks receive a mutable context object. Any changes you make to the context will be applied to the operation:\n\n```js\nimport { Qified, MemoryMessageProvider, QifiedHooks } from 'qified';\n\nconst qified = new Qified({\n messageProviders: new MemoryMessageProvider()\n});\n\n// Add timestamp and headers to all messages\nqified.onHook(QifiedHooks.beforePublish, async (context) => {\n // Add timestamp if not present\n context.message.timestamp = context.message.timestamp ?? Date.now();\n\n // Add custom headers\n context.message.headers = {\n ...context.message.headers,\n 'x-processed-by': 'qified',\n 'x-environment': process.env.NODE_ENV\n };\n});\n\n// Modify message data\nqified.onHook(QifiedHooks.beforePublish, async (context) => {\n // Add metadata to the message data\n context.message.data = {\n ...context.message.data,\n _meta: {\n version: '1.0',\n source: 'api'\n }\n };\n});\n\n// Subscribe to receive messages\nawait qified.subscribe('events', {\n id: 'handler1',\n handler: async (message) => {\n // Message will have timestamp, headers, and modified data\n console.log('Timestamp:', message.timestamp);\n console.log('Headers:', message.headers);\n console.log('Data:', message.data);\n }\n});\n\n// Publish a message - hooks will modify it before sending\nawait qified.publish('events', {\n id: 'msg-1',\n data: { text: 'Hello!' }\n});\n```\n\n## Modifying Topics with Before Hooks\n\nYou can also modify the topic in before hooks:\n\n```js\n// Route all messages to a prefixed topic\nqified.onHook(QifiedHooks.beforePublish, async (context) => {\n context.topic = `production/${context.topic}`;\n});\n\n// Subscribe to the prefixed topic\nawait qified.subscribe('production/events', {\n id: 'handler1',\n handler: async (message) => {\n console.log('Received:', message.data);\n }\n});\n\n// This publishes to 'production/events' due to the hook\nawait qified.publish('events', {\n id: 'msg-1',\n data: { text: 'Hello!' }\n});\n```\n\n## Multiple Hooks\n\nMultiple hooks for the same event execute in the order they were registered:\n\n```js\n// First hook - runs first\nqified.onHook(QifiedHooks.beforePublish, async (context) => {\n context.message.timestamp = Date.now();\n});\n\n// Second hook - runs second, can see changes from first hook\nqified.onHook(QifiedHooks.beforePublish, async (context) => {\n context.message.headers = { 'x-timestamp': String(context.message.timestamp) };\n});\n\n// Third hook - runs third\nqified.onHook(QifiedHooks.beforePublish, async (context) => {\n console.log('Final message:', context.message);\n});\n```\n\n## Hooks vs Events\n\nBoth hooks and events are available, but they serve different purposes:\n\n| Feature | Hooks | Events |\n|---------|-------|--------|\n| Timing | Before and after operations | After operations only |\n| Data modification | Yes (before hooks) | No |\n| Use case | Intercepting/transforming data | Logging, monitoring, side effects |\n\n```js\n// Hook - can modify the message before it's published\nqified.onHook(QifiedHooks.beforePublish, async (context) => {\n context.message.timestamp = Date.now();\n});\n\n// Event - notified after publish completes (cannot modify)\nqified.on(QifiedEvents.publish, async (data) => {\n console.log('Published:', data.message.id);\n});\n```\n\n# Providers\n\nThere are multiple providers available to use:\n\n* Memory - this is built into the current `qified` library as `MemoryMessageProvider`.\n* [@qified/redis](packages/redis/README.md) - Redis Provider\n* [@qified/rabbitmq](packages/rabbitmq/README.md) - RabbitMQ Provider\n* [@qified/nats](packages/nats/README.md) - NATS Provider\n* [@qified/zeromq](packages/zeromq/README.md) - ZeroMQ Provider\n\n# Development and Testing\n\nQified is written in TypeScript and tests are written in `vitest`. To run the tests, use the following command:\n\n1. `pnpm install` - This will install all the dependencies\n2. `pnpm test:services:start` - This will start the services needed for testing (Redis, RabbitMQ, etc)\n3. `pnpm test` - This will run the tests\n\nTo contribute follow the [Contributing Guidelines](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md).\n\n# License\n\n[MIT & © Jared Wray](LICENSE)","readmeFilename":"README.md"}