{"_id":"@apio/bussy","_rev":"9-ec1ef37fcb3339b909b48f6781ef0497","name":"@apio/bussy","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.1":{"name":"@apio/bussy","version":"1.0.1","keywords":["apio","node","nodejs","js","javascript","ts","typescript"],"license":"MIT","_id":"@apio/bussy@1.0.1","maintainers":[{"name":"fatmatto","email":"cikkense@gmail.com"},{"name":"matteodisabatino","email":"matteo.di.sabatino.1989@gmail.com"},{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"}],"homepage":"https://github.com/ApioIoT/bussy#readme","bugs":{"url":"https://github.com/ApioIoT/bussy/issues"},"dist":{"shasum":"be843ac1d0517ef3d09b1af014f1472c6b34b8ea","tarball":"https://registry.npmjs.org/@apio/bussy/-/bussy-1.0.1.tgz","fileCount":7,"integrity":"sha512-7fIAUaRz7ME8vUI1dCTBFwy0wEdolIHlpP8QMpzrKnkAWKa0xL/Za+n6/YlgP1isnewrT3Aok73G8x3dq2vFCw==","signatures":[{"sig":"MEUCIBomiWw+t/CeixG3l1e8dwwijgDn7ZuU72YECm6S2g51AiEAp37udZcjvOvC5dnicBp4Pau30EJNARjen7d3ok9ksLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10223},"main":"dist/src/index.js","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"dd40e811bd927df2320eff22dfb99988c21583c0","scripts":{"lint":"eslint src","test":"npx ts-node test/index.ts","build":"tsc","build:publish":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"},"repository":{"url":"git+https://github.com/ApioIoT/bussy.git","type":"git"},"_npmVersion":"10.9.2","description":"An easy event bus with advance features","directories":{},"_nodeVersion":"22.14.0","dependencies":{"uuid":"^11.1.0","eventemitter2":"^6.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","globals":"^15.9.0","@eslint/js":"^9.9.1","typescript":"^5.5.4","@types/node":"^22.5.3","typescript-eslint":"^8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/bussy_1.0.1_1740738541330_0.31871972926967085","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@apio/bussy","version":"1.0.2","keywords":["apio","node","nodejs","js","javascript","ts","typescript"],"license":"MIT","_id":"@apio/bussy@1.0.2","maintainers":[{"name":"fatmatto","email":"cikkense@gmail.com"},{"name":"matteodisabatino","email":"matteo.di.sabatino.1989@gmail.com"},{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"}],"homepage":"https://github.com/ApioIoT/bussy#readme","bugs":{"url":"https://github.com/ApioIoT/bussy/issues"},"dist":{"shasum":"4380186b78ae4a0661640d45c7c06d70de308a38","tarball":"https://registry.npmjs.org/@apio/bussy/-/bussy-1.0.2.tgz","fileCount":7,"integrity":"sha512-+qTqflduzkPJAqikSQYx/xs8snQPPQwjq3VjcX0hrIr3NxJE8BM6ilKwfBX0qQH6nsReQ3ABZvonfBrWanIcAA==","signatures":[{"sig":"MEQCIF/7Ifw+tMd8T47xa9ZTSmPbG0dws8Y66c8ZVxr0VSq1AiAtOxw6KGdz9dP6f7toJBJokynh36aDzQufPWcFFOmEPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10300},"main":"dist/src/index.js","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"8830b356fcbb6203f94c7a2a75dddcaa857f9de4","scripts":{"lint":"eslint src","test":"npx ts-node test/index.ts","build":"tsc","build:publish":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"},"repository":{"url":"git+https://github.com/ApioIoT/bussy.git","type":"git"},"_npmVersion":"10.9.2","description":"An easy event bus with advance features","directories":{},"_nodeVersion":"22.14.0","dependencies":{"uuid":"^11.1.0","eventemitter2":"^6.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","globals":"^15.9.0","@eslint/js":"^9.9.1","typescript":"^5.5.4","@types/node":"^22.5.3","typescript-eslint":"^8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/bussy_1.0.2_1740739785422_0.8306757173104518","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@apio/bussy","version":"1.0.3","keywords":["apio","node","nodejs","js","javascript","ts","typescript"],"license":"MIT","_id":"@apio/bussy@1.0.3","maintainers":[{"name":"fatmatto","email":"cikkense@gmail.com"},{"name":"matteodisabatino","email":"matteo.di.sabatino.1989@gmail.com"},{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"}],"homepage":"https://github.com/ApioIoT/bussy#readme","bugs":{"url":"https://github.com/ApioIoT/bussy/issues"},"dist":{"shasum":"0c1ad1d6bfd24a43204dd1221c7f71c8d5f22ff6","tarball":"https://registry.npmjs.org/@apio/bussy/-/bussy-1.0.3.tgz","fileCount":7,"integrity":"sha512-2k4M5hwpHYDjVRHJd8z13EWqsB8XppGrK1DxXxOWAWBtwXa1by07LqQRAaw2D06KZLNpTyQhmlvppQimMpXY5Q==","signatures":[{"sig":"MEQCICFDjfuPHx4ui2tjko1SN/efp0AJVuM5YXeoXj+j25V/AiAgtNICmiripW1ZA8FsE77USEgknIRVnLaSIJ8JBKPqdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11168},"main":"dist/src/index.js","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"72118d08e5972b05dd5fdea8184ce459993179b0","scripts":{"lint":"eslint src","test":"npx ts-node test/index.ts","build":"tsc","build:publish":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"},"repository":{"url":"git+https://github.com/ApioIoT/bussy.git","type":"git"},"_npmVersion":"10.9.2","description":"An easy event bus with advance features","directories":{},"_nodeVersion":"22.14.0","dependencies":{"uuid":"^11.1.0","eventemitter2":"^6.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","globals":"^15.9.0","@eslint/js":"^9.9.1","typescript":"^5.5.4","@types/node":"^22.5.3","typescript-eslint":"^8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/bussy_1.0.3_1740992014054_0.1780224010174003","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@apio/bussy","version":"1.0.4","keywords":["apio","node","nodejs","js","javascript","ts","typescript"],"license":"MIT","_id":"@apio/bussy@1.0.4","maintainers":[{"name":"fatmatto","email":"cikkense@gmail.com"},{"name":"matteodisabatino","email":"matteo.di.sabatino.1989@gmail.com"},{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"}],"homepage":"https://github.com/ApioIoT/bussy#readme","bugs":{"url":"https://github.com/ApioIoT/bussy/issues"},"dist":{"shasum":"a1e404d3b7faf547d45730803bb617d75eb63138","tarball":"https://registry.npmjs.org/@apio/bussy/-/bussy-1.0.4.tgz","fileCount":7,"integrity":"sha512-WrHjlu46yo8IPkeVeqMclZV4i++ulhPySGrMNJa5bmKOcor+I2ljtjYOrBFSTAo5a/njZKoYPQeOMuTPoyE4wg==","signatures":[{"sig":"MEUCIQD4yJN2eqRbzu1MUxtdYCWr73qGYem2Vbzzon5OZsD3wwIgYPrQUx+p1DW26d5gAo2wIgJaB07UDdwcuAAyKd3dwyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11257},"main":"dist/src/index.js","types":"dist/src/index.d.ts","engines":{"node":">=20"},"gitHead":"6ea0eb765060c0501bf29b53597c2912787bec1f","scripts":{"lint":"eslint src","test":"npx ts-node test/index.ts","build":"tsc","build:publish":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"},"repository":{"url":"git+https://github.com/ApioIoT/bussy.git","type":"git"},"_npmVersion":"10.9.2","description":"An easy event bus with advance features","directories":{},"_nodeVersion":"22.14.0","dependencies":{"uuid":"^11.1.0","eventemitter2":"^6.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","globals":"^15.9.0","@eslint/js":"^9.9.1","typescript":"^5.5.4","@types/node":"^22.5.3","typescript-eslint":"^8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/bussy_1.0.4_1741165898210_0.6523020440426006","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@apio/bussy","version":"1.0.5","keywords":["apio","node","nodejs","js","javascript","ts","typescript"],"license":"MIT","_id":"@apio/bussy@1.0.5","maintainers":[{"name":"fatmatto","email":"cikkense@gmail.com"},{"name":"matteodisabatino","email":"matteo.di.sabatino.1989@gmail.com"},{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"}],"homepage":"https://github.com/ApioIoT/bussy#readme","bugs":{"url":"https://github.com/ApioIoT/bussy/issues"},"dist":{"shasum":"b8e776164678a2bed4e29d3876fe59f429e17b1a","tarball":"https://registry.npmjs.org/@apio/bussy/-/bussy-1.0.5.tgz","fileCount":7,"integrity":"sha512-rqak46hNg2WW8JXhtkw5iQH8QC3XHynyjFxpO0oNTc7LHT0TzLT5h7yWF+6Wr0vi4MykkM+XYJdKa+vKP5cAsg==","signatures":[{"sig":"MEQCIBLJ3m5mdMWsy5eIBBPGA+zQpxC8UJ4/LURJCmO+SCblAiBquGSQ/kM6vfo9M8ReBL/5EHLhSakBYW7Pra/6jlE7eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12032},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20"},"gitHead":"6995ff2040d750eee159218da3f56db76d855b8f","scripts":{"lint":"eslint src","test":"npx ts-node test/index.ts","build":"tsc","build:publish":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"},"repository":{"url":"git+https://github.com/ApioIoT/bussy.git","type":"git"},"_npmVersion":"10.9.2","description":"An easy event bus with advance features","directories":{},"_nodeVersion":"22.14.0","dependencies":{"uuid":"^11.1.0","eventemitter2":"^6.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","globals":"^15.9.0","@eslint/js":"^9.9.1","typescript":"^5.5.4","@types/node":"^22.5.3","typescript-eslint":"^8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/bussy_1.0.5_1741166470006_0.8895762671616956","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@apio/bussy","version":"1.0.6","keywords":["apio","node","nodejs","js","javascript","ts","typescript"],"license":"MIT","_id":"@apio/bussy@1.0.6","maintainers":[{"name":"fatmatto","email":"cikkense@gmail.com"},{"name":"matteodisabatino","email":"matteo.di.sabatino.1989@gmail.com"},{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"}],"homepage":"https://github.com/ApioIoT/bussy#readme","bugs":{"url":"https://github.com/ApioIoT/bussy/issues"},"dist":{"shasum":"1cba2ff17b99a5d4d8cba3e3c0e7b6a701d99de5","tarball":"https://registry.npmjs.org/@apio/bussy/-/bussy-1.0.6.tgz","fileCount":7,"integrity":"sha512-dO7srrL+jyO1Bo9scASWOSBRDGceAtzOIUsI0Tlcgr+WCH6j4lM3w9NaKox4xlIQqPFft1Zxz4+YZ70XpXmZLQ==","signatures":[{"sig":"MEUCIQDHJLYOdH85CEFIWA3BrMKAixJqiKW9NQtm/JQ243aVugIgYxxR1U5elD4J8puROGJ0sfUqXxxqToltKqLysAO4fDs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12500},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20"},"gitHead":"44247c4086b7186410a8dd110c751699a3a63530","scripts":{"lint":"eslint src","test":"npx ts-node test/index.ts","build":"tsc","build:publish":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"},"repository":{"url":"git+https://github.com/ApioIoT/bussy.git","type":"git"},"_npmVersion":"10.9.2","description":"An easy event bus with advance features","directories":{},"_nodeVersion":"22.14.0","dependencies":{"uuid":"^11.1.0","eventemitter2":"^6.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","globals":"^15.9.0","@eslint/js":"^9.9.1","typescript":"^5.5.4","@types/node":"^22.5.3","typescript-eslint":"^8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/bussy_1.0.6_1741167052072_0.9770077301398912","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@apio/bussy","version":"1.0.7","keywords":["apio","node","nodejs","js","javascript","ts","typescript"],"license":"MIT","_id":"@apio/bussy@1.0.7","maintainers":[{"name":"fatmatto","email":"cikkense@gmail.com"},{"name":"matteodisabatino","email":"matteo.di.sabatino.1989@gmail.com"},{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"}],"homepage":"https://github.com/ApioIoT/bussy#readme","bugs":{"url":"https://github.com/ApioIoT/bussy/issues"},"dist":{"shasum":"f27ad93f0889814b8798a167483606ef73209ab9","tarball":"https://registry.npmjs.org/@apio/bussy/-/bussy-1.0.7.tgz","fileCount":7,"integrity":"sha512-19DKoLQ60ZelFa8RXwctTStNCPNE8Gkx92CZiQEj1J877bs5HF7u46IPqTP7FtTLsDrkGubqJjhPXB6qGK+mjQ==","signatures":[{"sig":"MEQCICyXNTw/D7zThykMwEtGEp4PZdT4XZa53D+Tu9kaA8KsAiAS3k0qe7vJc4FWutnkgo/YRy6JdTZbnqecX2iCPzIbyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12629},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20"},"gitHead":"959504f50df2cda4ac0708ccddfa553225a72f5b","scripts":{"lint":"eslint src","test":"npx ts-node test/index.ts","build":"tsc","build:publish":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"},"repository":{"url":"git+https://github.com/ApioIoT/bussy.git","type":"git"},"_npmVersion":"10.9.2","description":"An easy event bus with advance features","directories":{},"_nodeVersion":"22.14.0","dependencies":{"uuid":"^11.1.0","eventemitter2":"^6.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","globals":"^15.9.0","@eslint/js":"^9.9.1","typescript":"^5.5.4","@types/node":"^22.5.3","typescript-eslint":"^8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/bussy_1.0.7_1741173293539_0.8269297579948238","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@apio/bussy","version":"1.0.8","keywords":["apio","node","nodejs","js","javascript","ts","typescript"],"license":"MIT","_id":"@apio/bussy@1.0.8","maintainers":[{"name":"fatmatto","email":"cikkense@gmail.com"},{"name":"matteodisabatino","email":"matteo.di.sabatino.1989@gmail.com"},{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"}],"homepage":"https://github.com/ApioIoT/bussy#readme","bugs":{"url":"https://github.com/ApioIoT/bussy/issues"},"dist":{"shasum":"6036078b7edbcb2820a84f49f19e75ac94d2d57e","tarball":"https://registry.npmjs.org/@apio/bussy/-/bussy-1.0.8.tgz","fileCount":7,"integrity":"sha512-dNq8KqKiNWN8dy57X0lzlrKuMaauwEygMq7KFxxOXmUswNmoJjIrV1TQ+8S+ZetTMT1CwIf+rTLZwA9LkFGWWQ==","signatures":[{"sig":"MEQCIEb/XJ5CtJ+7MAUqik1N8ROA70pjB8ND99FdwILHNYlkAiARhfyKzUO35GhmwXnKmMDNioO/TlVNWHfF5iDOY1wMCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12329},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20"},"gitHead":"8744a60c1c49c46dc627ada4f1913a6512b2d48c","scripts":{"lint":"eslint src","test":"npx ts-node test/index.ts","build":"tsc","build:publish":"npm run lint && npm run test && npm run build"},"_npmUser":{"name":"gprovinciali","email":"gianluigi.provinciali@gmail.com"},"repository":{"url":"git+https://github.com/ApioIoT/bussy.git","type":"git"},"_npmVersion":"10.9.2","description":"An easy event bus with advance features","directories":{},"_nodeVersion":"22.14.0","dependencies":{"uuid":"^11.1.0","eventemitter2":"^6.4.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.9.1","globals":"^15.9.0","@eslint/js":"^9.9.1","typescript":"^5.5.4","@types/node":"^22.5.3","typescript-eslint":"^8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/bussy_1.0.8_1741174226383_0.29440525129307393","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-02-28T10:29:01.234Z","modified":"2025-07-25T14:48:15.423Z","1.0.1":"2025-02-28T10:29:01.529Z","1.0.2":"2025-02-28T10:49:45.582Z","1.0.3":"2025-03-03T08:53:34.228Z","1.0.4":"2025-03-05T09:11:38.362Z","1.0.5":"2025-03-05T09:21:10.151Z","1.0.6":"2025-03-05T09:30:52.254Z","1.0.7":"2025-03-05T11:14:53.711Z","1.0.8":"2025-03-05T11:30:26.552Z"},"bugs":{"url":"https://github.com/ApioIoT/bussy/issues"},"license":"MIT","homepage":"https://github.com/ApioIoT/bussy#readme","keywords":["apio","node","nodejs","js","javascript","ts","typescript"],"repository":{"url":"git+https://github.com/ApioIoT/bussy.git","type":"git"},"description":"An easy event bus with advance features","maintainers":[{"email":"cikkense@gmail.com","name":"fatmatto"},{"email":"matteo.di.sabatino.1989@gmail.com","name":"matteodisabatino"},{"email":"gianluigi.provinciali@gmail.com","name":"gprovinciali"},{"email":"d.cantelmi@apio.cc","name":"davidecantelmi"}],"readme":"# @apio/bussy\n\nAn easy events bus with advance features.\n\n## Installation\n\n```\nnpm i @apio/bussy\n```\n\n## Usage\n\n### EventBus\n\nGeneric events emitter. Support topic wildcards.\n\n```typescript\nimport Bussy from '@apio/bussy'\n\nconst events = Bussy.createEventBus()\n\nevents.on('test.*', (event, data) => {\n  console.log(`New event: ${event}: ${data}`)\n  // New event: test.a: sample data\n})\n\nevents.emit('test.a', 'sample data')\n```\n\n### DataBus\n\nTyped data bus.\n\n```typescript\nimport Bussy from '@apio/bussy'\n\ntype User = {\n  username: string\n  password: string\n}\n\nconst dataBus = Bussy.createDataBus<User>()\n\ndataBus.listen((user: User) => {\n  console.log(user.username, user.password)\n})\n\ndataBus.publish({ \n  username: 'username',\n  password: 'password'\n})\n```\n\n### Request / Reply\n\nEvents bus implementing `Request/Reply` pattern.\n\n```typescript\nimport Bussy from '@apio/bussy'\n\nconst request = Bussy.createRequestBus<string, number>()\n\nrequest.listen((data, reply) => {\n  const len = data.length\n  reply(len)\n})\n\nrequest.create('Messaggio', (res, err) => {\n  if (err) {\n    console.error(err)\n  } else {\n    console.log(res)\n  }\n})\n\n// Or with a Promise version\n\ntry {\n  const res = await request.createAsync('Messaggio async')\n  console.log(res)\n} catch (e) {\n  console.error(e)\n}\n```\n\n## Todo\n\n* Implements **timeout** feature in `Request/Reply` pattern.\n","readmeFilename":"README.md"}