{"_id":"@aegenet/belt-task-flow","_rev":"8-e95d5da6ed1f804d183e1820a524aed3","name":"@aegenet/belt-task-flow","dist-tags":{"latest":"2.4.0"},"versions":{"1.5.0":{"name":"@aegenet/belt-task-flow","version":"1.5.0","keywords":["message","fifo","await","di"],"author":{"name":"Alexandre Genet"},"license":"MIT","_id":"@aegenet/belt-task-flow@1.5.0","maintainers":[{"name":"agenet","email":"npm@creadigme.net"}],"homepage":"https://github.com/aegenet/belt/tree/master#readme","bugs":{"url":"https://github.com/aegenet/belt/issues"},"dist":{"shasum":"1ad906cea07f771dc2adffae56dba1b985bb8a38","tarball":"https://registry.npmjs.org/@aegenet/belt-task-flow/-/belt-task-flow-1.5.0.tgz","fileCount":7,"integrity":"sha512-TpapQsmNCrxCVFFMhaXcJvKknm1J3lMmN7cq41iCoTnnVcZ6Dh2ey+SzHv+2FsO4Y5aOa7Wjq2YuAel2zdVIZg==","signatures":[{"sig":"MEYCIQDvmPVg8SbwQJ9aBe8njRoOvOv/AxDsNcIOe0vd7wC9cAIhAJ2YjaB11JhjlSBWqA8XLEIOyqpAzzwW3EddYiwm4wG8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21393},"main":"dist/index.cjs","module":"dist/index.mjs","browser":"dist/index.mjs","exports":{"node":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"default":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"b0a7602bb3d6c286a25f3ad8be4a25227832e5f0","scripts":{},"typings":"./dist/bundle.d.ts","_npmUser":{"name":"agenet","email":"npm@creadigme.net"},"pre-commit":["lint"],"repository":{"url":"git+https://github.com/aegenet/belt.git#master","type":"git"},"_npmVersion":"10.2.4","description":"Enables loosely coupled publish/subscribe messaging. Awaiting version with FIFO (first in first out)","directories":{},"_nodeVersion":"18.19.1","dependencies":{},"publishConfig":{"registry":"https://npm.pkg.github.com","@aegenet:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/belt-task-flow_1.5.0_1711302883998_0.8478542860040599","host":"s3://npm-registry-packages"}},"1.6.2":{"name":"@aegenet/belt-task-flow","version":"1.6.2","keywords":["message","fifo","await","di"],"author":{"name":"Alexandre Genet"},"license":"MIT","_id":"@aegenet/belt-task-flow@1.6.2","maintainers":[{"name":"agenet","email":"npm@creadigme.net"}],"homepage":"https://github.com/aegenet/belt/tree/master#readme","bugs":{"url":"https://github.com/aegenet/belt/issues"},"dist":{"shasum":"bbabaf7abad9b9c9ba2634c404bdd245dca84575","tarball":"https://registry.npmjs.org/@aegenet/belt-task-flow/-/belt-task-flow-1.6.2.tgz","fileCount":7,"integrity":"sha512-QDFzt3Sz7DKJEECaEsu52hmA8p70HxSu7yI+lT6XnyIWaxZt2ZipJPAzulBJ7DjXFaGE4yG1FMyF1VR15YVKhQ==","signatures":[{"sig":"MEUCIFzfyT3zZ9lK1RgqKqanPLsIqkd7fGyVL1APa+yTjVAnAiEA/xrIvhBInyMmduYBwG9lUoEXB0nke9YtZNsk8F4Qo0E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22209},"main":"dist/index.cjs","types":"./dist/bundle.d.ts","module":"dist/index.mjs","browser":"dist/index.mjs","exports":{"node":{"types":"./dist/bundle.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"default":{"types":"./dist/bundle.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"1267d299165324c3ab29e0e511913af88d644021","scripts":{},"typings":"./dist/bundle.d.ts","_npmUser":{"name":"agenet","email":"npm@creadigme.net"},"pre-commit":["lint"],"repository":{"url":"git+https://github.com/aegenet/belt.git#master","type":"git"},"_npmVersion":"10.8.1","description":"Enables loosely coupled publish/subscribe messaging. Awaiting version with FIFO (first in first out)","directories":{},"_nodeVersion":"20.16.0","dependencies":{},"publishConfig":{"registry":"https://npm.pkg.github.com","@aegenet:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/belt-task-flow_1.6.2_1722631809028_0.8518883489216207","host":"s3://npm-registry-packages"}},"1.7.0":{"name":"@aegenet/belt-task-flow","version":"1.7.0","keywords":["message","fifo","await","di"],"author":{"name":"Alexandre Genet"},"license":"MIT","_id":"@aegenet/belt-task-flow@1.7.0","maintainers":[{"name":"agenet","email":"npm@creadigme.net"}],"homepage":"https://github.com/aegenet/belt/tree/master#readme","bugs":{"url":"https://github.com/aegenet/belt/issues"},"dist":{"shasum":"b7ec25c3aa9ce570aedc46ffa5d1bda73de8353e","tarball":"https://registry.npmjs.org/@aegenet/belt-task-flow/-/belt-task-flow-1.7.0.tgz","fileCount":7,"integrity":"sha512-ll3ssEeHbm/0Gn4Gx7tomDWNka9hISmLQ5CdrQsAQNz21dGbaA+s7WJFlnvR0Ti5o2O+Ioj/JrF/MdPkcbtOHA==","signatures":[{"sig":"MEYCIQD1h2NMBWfbA5b8kwyoIFs9TDigjIX1iC50k5g3Qh7cyQIhAMgfWiUYkwXyGxZ2NnBfc2dbrIzdcbM7uQ5Eiccmlt6G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22209},"main":"dist/index.cjs","types":"./dist/bundle.d.ts","module":"dist/index.mjs","browser":"dist/index.mjs","exports":{"node":{"types":"./dist/bundle.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"default":{"types":"./dist/bundle.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"247ec0e6bf48b6f5515c008a8fbd64b88f4ec099","scripts":{},"typings":"./dist/bundle.d.ts","_npmUser":{"name":"agenet","email":"npm@creadigme.net"},"pre-commit":["lint"],"repository":{"url":"git+https://github.com/aegenet/belt.git#master","type":"git"},"_npmVersion":"10.8.1","description":"Enables loosely coupled publish/subscribe messaging. Awaiting version with FIFO (first in first out)","directories":{},"_nodeVersion":"20.16.0","dependencies":{},"publishConfig":{"registry":"https://npm.pkg.github.com","@aegenet:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/belt-task-flow_1.7.0_1722681338576_0.5630914054828391","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@aegenet/belt-task-flow","version":"2.0.0","keywords":["message","fifo","await","di"],"author":{"name":"Alexandre Genet"},"license":"MIT","_id":"@aegenet/belt-task-flow@2.0.0","maintainers":[{"name":"agenet","email":"npm@creadigme.net"}],"homepage":"https://github.com/aegenet/belt/tree/master#readme","bugs":{"url":"https://github.com/aegenet/belt/issues"},"dist":{"shasum":"28cc3178c12977346eba20e1c22f583922707e2c","tarball":"https://registry.npmjs.org/@aegenet/belt-task-flow/-/belt-task-flow-2.0.0.tgz","fileCount":7,"integrity":"sha512-pqmrOB1vVu7605OfWtitu7nfI/IeGTj70tf+G2YkqVtQlr8j0UzpDQNNQqR7NjNuyAQzwr4Yn0LarlzF5MnK3g==","signatures":[{"sig":"MEQCIEVGjJNzSQe8qv5lt8w8qYQLQoIbp+T8izYWDSnxn8JiAiBPA7obgAPvAYzp+tZ+gkx9ULccNWxeNdjaUuPdgskfJw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22064},"main":"dist/index.cjs","types":"./dist/bundle.d.ts","module":"dist/index.mjs","browser":"dist/index.mjs","exports":{"node":{"types":"./dist/bundle.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"default":{"types":"./dist/bundle.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"18308288c95290fa2f18258ea61b12388278836a","scripts":{},"typings":"./dist/bundle.d.ts","_npmUser":{"name":"agenet","email":"npm@creadigme.net"},"pre-commit":["lint"],"repository":{"url":"git+https://github.com/aegenet/belt.git#master","type":"git"},"_npmVersion":"10.8.1","description":"Enables loosely coupled publish/subscribe messaging. Awaiting version with FIFO (first in first out)","directories":{},"sideEffects":false,"_nodeVersion":"20.16.0","dependencies":{},"publishConfig":{"registry":"https://npm.pkg.github.com","@aegenet:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/belt-task-flow_2.0.0_1722788386475_0.8327875481602764","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"@aegenet/belt-task-flow","version":"2.1.0","keywords":["message","fifo","await","di"],"author":{"name":"Alexandre Genet"},"license":"MIT","_id":"@aegenet/belt-task-flow@2.1.0","maintainers":[{"name":"agenet","email":"npm@creadigme.net"}],"homepage":"https://github.com/aegenet/belt/tree/master#readme","bugs":{"url":"https://github.com/aegenet/belt/issues"},"dist":{"shasum":"4b4ed48c7f839cc43cc7ce446575ca4745e78708","tarball":"https://registry.npmjs.org/@aegenet/belt-task-flow/-/belt-task-flow-2.1.0.tgz","fileCount":7,"integrity":"sha512-C71OUbmCXQf36qRv9BUXfGHHPJ92V3Uqpro//fWXCqQj/WvHkZXJLqlLmocu/vx1scgjiwm8HaZxYKsmF5ccuw==","signatures":[{"sig":"MEYCIQDkleD1FqkNZJSBC3TqYq62q0cthxfjFhlsaDEWP7UZ4AIhAJC/8Z3mAXVt0PAWxd9GXmM1eSy+x/np0lN1rppicC3L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22064},"main":"dist/index.cjs","types":"./dist/bundle.d.ts","module":"dist/index.mjs","browser":"dist/index.mjs","exports":{"node":{"types":"./dist/bundle.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"default":{"types":"./dist/bundle.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"1c0a932726129cbeb2472f8d46706951e7496054","scripts":{},"typings":"./dist/bundle.d.ts","_npmUser":{"name":"agenet","email":"npm@creadigme.net"},"pre-commit":["lint"],"repository":{"url":"git+https://github.com/aegenet/belt.git#master","type":"git"},"_npmVersion":"10.8.2","description":"Enables loosely coupled publish/subscribe messaging. Awaiting version with FIFO (first in first out)","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{},"publishConfig":{"registry":"https://npm.pkg.github.com","@aegenet:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/belt-task-flow_2.1.0_1725480855394_0.5957683343661042","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"@aegenet/belt-task-flow","version":"2.2.0","keywords":["message","fifo","await","di"],"author":{"name":"Alexandre Genet"},"license":"MIT","_id":"@aegenet/belt-task-flow@2.2.0","maintainers":[{"name":"agenet","email":"npm@creadigme.net"}],"homepage":"https://github.com/aegenet/belt/tree/master#readme","bugs":{"url":"https://github.com/aegenet/belt/issues"},"dist":{"shasum":"92c5314222086a7aba6e1f2c1f9b0f1942a333e0","tarball":"https://registry.npmjs.org/@aegenet/belt-task-flow/-/belt-task-flow-2.2.0.tgz","fileCount":7,"integrity":"sha512-k6xHgPAoWQGXmhiQ+MKjmHcQkhdQ2XE32e3N1bNd06b4A7gaUhN/PR3Ax4uK7cGFwOziDreUIvL2SkMGYYXPWA==","signatures":[{"sig":"MEUCIQCasOvp9v8Hy4A288DFySicQVgzMAU8VPU2+XpNfwca2AIgUrx2NqKLRM0J866uLDo3AxJ708NPsL6CtIVcYV/gk7E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22172},"main":"dist/index.cjs","types":"./dist/bundle.d.ts","module":"dist/index.mjs","browser":"dist/index.mjs","exports":{"node":{"types":"./dist/bundle.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"default":{"types":"./dist/bundle.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"6d13b06332f0f3e156e5050770c11e047b98df52","scripts":{},"typings":"./dist/bundle.d.ts","_npmUser":{"name":"agenet","email":"npm@creadigme.net"},"pre-commit":["lint"],"repository":{"url":"git+https://github.com/aegenet/belt.git#master","type":"git"},"_npmVersion":"10.8.2","description":"Enables loosely coupled publish/subscribe messaging. Awaiting version with FIFO (first in first out)","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{},"publishConfig":{"registry":"https://npm.pkg.github.com","@aegenet:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/belt-task-flow_2.2.0_1728590630304_0.1509936587785332","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"@aegenet/belt-task-flow","version":"2.3.0","keywords":["message","fifo","await","di"],"author":{"name":"Alexandre Genet"},"license":"MIT","_id":"@aegenet/belt-task-flow@2.3.0","maintainers":[{"name":"agenet","email":"npm@creadigme.net"}],"homepage":"https://github.com/aegenet/belt/tree/master#readme","bugs":{"url":"https://github.com/aegenet/belt/issues"},"dist":{"shasum":"b217b616d28f7f422813b13884fac2e3e3b0a80f","tarball":"https://registry.npmjs.org/@aegenet/belt-task-flow/-/belt-task-flow-2.3.0.tgz","fileCount":7,"integrity":"sha512-7LJlx+GyKf3sS5y8EliMf6ENY8ZeBNEO1SQcVa9229bDpRLpd7r8evrN8+7lRUXHkzOAU25QVcfHbzJ7F6tOVA==","signatures":[{"sig":"MEYCIQCYhL3os1+ys8KhLfKbj693YsUrsGA2ATnBT7EMa7WdQwIhAMmfwJREAnwFtgkQhwP7lqQ7zBFqyWkKe1ev+3tZH6mO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22172},"main":"dist/index.cjs","types":"./dist/bundle.d.ts","module":"dist/index.mjs","browser":"dist/index.mjs","exports":{"node":{"types":"./dist/bundle.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"default":{"types":"./dist/bundle.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"91fcc9c38668d7655d6e88dd4aada0a39590882d","scripts":{},"typings":"./dist/bundle.d.ts","_npmUser":{"name":"agenet","email":"npm@creadigme.net"},"pre-commit":["lint"],"repository":{"url":"git+https://github.com/aegenet/belt.git#master","type":"git"},"_npmVersion":"10.8.2","description":"Enables loosely coupled publish/subscribe messaging. Awaiting version with FIFO (first in first out)","directories":{},"sideEffects":false,"_nodeVersion":"20.18.0","dependencies":{},"publishConfig":{"registry":"https://npm.pkg.github.com","@aegenet:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/belt-task-flow_2.3.0_1731616533711_0.3480516073508688","host":"s3://npm-registry-packages"}},"2.4.0":{"name":"@aegenet/belt-task-flow","description":"Enables loosely coupled publish/subscribe messaging. Awaiting version with FIFO (first in first out)","keywords":["message","fifo","await","di"],"version":"2.4.0","main":"dist/index.cjs","module":"dist/index.mjs","browser":"dist/index.mjs","exports":{"node":{"require":"./dist/index.cjs","import":"./dist/index.mjs","types":"./dist/bundle.d.ts"},"default":{"require":"./dist/index.cjs","import":"./dist/index.mjs","types":"./dist/bundle.d.ts"}},"typings":"./dist/bundle.d.ts","types":"./dist/bundle.d.ts","author":{"name":"Alexandre Genet"},"sideEffects":false,"license":"MIT","publishConfig":{"registry":"https://npm.pkg.github.com","@aegenet:registry":"https://registry.npmjs.org/"},"repository":{"type":"git","url":"git+https://github.com/aegenet/belt.git#master"},"dependencies":{},"peerDependencies":{},"devDependencies":{},"pre-commit":["lint"],"scripts":{},"_id":"@aegenet/belt-task-flow@2.4.0","gitHead":"2206bc43a358dc96c7b8f55fe0f46c696885fed4","bugs":{"url":"https://github.com/aegenet/belt/issues"},"homepage":"https://github.com/aegenet/belt/tree/master#readme","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-v5TXrwFqli1aqxt6WEFYDpFyTfX03P77HADIaoulfnHeqTcKCNI+VNRgXQhaM/hmhJrkNkaHeirTlk1l8wOWHA==","shasum":"9ffe659b006484517ce35ffaa315fe1890f787ad","tarball":"https://registry.npmjs.org/@aegenet/belt-task-flow/-/belt-task-flow-2.4.0.tgz","fileCount":7,"unpackedSize":22172,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCnMarm+uCf9NRBr4PqOwUjyhsjP+zCTD+yt7fXBaAdwgIgOcON5x5tOrZn58mP2oFj3QjVV+Pvee7CxPulL35nzd4="}]},"_npmUser":{"name":"agenet","email":"npm@creadigme.net"},"directories":{},"maintainers":[{"name":"agenet","email":"npm@creadigme.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/belt-task-flow_2.4.0_1760893190710_0.07055230657565348"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-24T17:54:43.893Z","modified":"2025-10-19T16:59:51.419Z","1.5.0":"2024-03-24T17:54:44.158Z","1.6.2":"2024-08-02T20:50:09.172Z","1.7.0":"2024-08-03T10:35:38.808Z","2.0.0":"2024-08-04T16:19:46.635Z","2.1.0":"2024-09-04T20:14:15.569Z","2.2.0":"2024-10-10T20:03:50.452Z","2.3.0":"2024-11-14T20:35:33.902Z","2.4.0":"2025-10-19T16:59:50.899Z"},"bugs":{"url":"https://github.com/aegenet/belt/issues"},"author":{"name":"Alexandre Genet"},"license":"MIT","homepage":"https://github.com/aegenet/belt/tree/master#readme","keywords":["message","fifo","await","di"],"repository":{"type":"git","url":"git+https://github.com/aegenet/belt.git#master"},"description":"Enables loosely coupled publish/subscribe messaging. Awaiting version with FIFO (first in first out)","maintainers":[{"name":"agenet","email":"npm@creadigme.net"}],"readme":"[![npm version](https://img.shields.io/npm/v/@aegenet/belt-task-flow.svg)](https://www.npmjs.com/package/@aegenet/belt-task-flow)\n<br>\n\n# @aegenet/belt-task-flow\n\n> Enables loosely coupled publish/subscribe messaging. Awaiting version with FIFO (first in first out)\n\n## 💾 Installation\n\n```shell\nyarn add @aegenet/belt-task-flow@^2.0.0\n# or\nnpm i @aegenet/belt-task-flow@^2.0.0\n```\n\n## 📝 Usage\n\n### TaskFlow\n\n```typescript\nimport { TaskFlow, type ITaskFlow } from '@aegenet/belt-task-flow';\n\nconst taskFlow: ITaskFlow = new TaskFlow();\n\nconst tabs: string[] = [];\n\ntaskFlow.subscribe('Something', async () => {\n  await delay(200);\n  tabs.push('with delay');\n});\n\ntaskFlow!.subscribe('Something', () => {\n  tabs.push('without delay');\n});\n\n\nawait taskFlow!.publish('Something');\n\n// tabs => ['with delay', 'without delay']\n\nawait taskFlow!.publish('Something');\n\n// tabs => ['with delay', 'without delay', 'with delay', 'without delay']\n\ntaskFlow.dispose();\n```\n\n### Listener & subscription\n\n**Note**: `Stage 3` decorator *(for stage 2, you can use an older version (< 2.0.0) of this package)*.\n\n```typescript\nimport { TaskFlow, type ITaskFlow, TaskFlowListener, taskFlowMethod } from '@aegenet/belt-task-flow';\n\nconst taskFlow: ITaskFlow = new TaskFlow();\n\nclass ListenToMe extends TaskFlowListener {\n    public msg: string[] = [];\n\n    constructor() {\n      super(taskFlow!);\n    }\n\n    @taskFlowMethod()\n    public doIt() {\n      this.msg.push('hello');\n    }\n}\n\n// [...]\nconst listenToMe = new ListenToMe();\n\n// publish\nawait taskFlow!.publish('tf.ListenToMe:doIt');\n// listenToMe.msg => ['hello']\n\n// [...]\nlistenToMe.dispose();\ntaskFlow.dispose();\n```\n","readmeFilename":"README.md"}