{"_id":"@breadstone/ziegel-platform-messaging","_rev":"9-aca4cfc6669c2c4d60dcae8220a28c31","name":"@breadstone/ziegel-platform-messaging","dist-tags":{"latest":"0.0.9"},"versions":{"0.0.1":{"name":"@breadstone/ziegel-platform-messaging","version":"0.0.1","author":{"url":"https://www.breadstone.de","name":"andre.wehlert","email":"awehlert@breadstone.de"},"license":"MIT","_id":"@breadstone/ziegel-platform-messaging@0.0.1","maintainers":[{"name":"ruederennes","email":"realsancezz@gmail.com"}],"bugs":{"url":"https://breadstone.visualstudio.com/ziegel/_workitems/create/Bug"},"dist":{"shasum":"5acaffb85eafc634033dbe086304da33dfdd6d32","tarball":"https://registry.npmjs.org/@breadstone/ziegel-platform-messaging/-/ziegel-platform-messaging-0.0.1.tgz","fileCount":91,"integrity":"sha512-5oV5Qu0eiwHAMXmH8FlDcG2cMmTK0A+PN1OThDzRhx7/SsDjli7CehvIh5EuC8RUmWHY5AMlD4u6ZjiEtSDrUw==","signatures":[{"sig":"MEUCIGk4sX4TlpzBeVfyrnpYMU3nN9SAf79qVCfPiNUShfm/AiEAsCnmxehuVYCGumMWhtYhlTU8o3pxjFBpMtlnXMwOQUE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117692},"main":"./Index.js","types":"./Index.d.ts","module":"./Index.js","gitHead":"6e85e7a52b57c3f29013f4fd6383076cd22dc9a0","typings":"./Index.d.ts","_npmUser":{"name":"ruederennes","actor":{"name":"ruederennes","type":"user","email":"realsancezz@gmail.com"},"email":"realsancezz@gmail.com"},"commonjs":"./Index.js","repository":{"url":"https://breadstone.visualstudio.com/ziegel/_git/ziegel","type":"git"},"_npmVersion":"11.3.0","description":"Includes a event aggregator for publish and subcribe global events. (aka PubSubEvent, Mediator)","directories":{},"_nodeVersion":"24.0.1","dependencies":{"rxjs":"^7.8.2","tslib":"^2.8.1","@breadstone/ziegel-core":"0.0.1","@breadstone/ziegel-platform":"0.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ziegel-platform-messaging_0.0.1_1750993740609_0.04854670694689589","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@breadstone/ziegel-platform-messaging","version":"0.0.2","author":{"url":"https://www.breadstone.de","name":"andre.wehlert","email":"awehlert@breadstone.de"},"license":"MIT","_id":"@breadstone/ziegel-platform-messaging@0.0.2","maintainers":[{"name":"ruederennes","email":"realsancezz@gmail.com"}],"bugs":{"url":"https://breadstone.visualstudio.com/ziegel/_workitems/create/Bug"},"dist":{"shasum":"496775cad5820f2f4ee89d6800e8fcda74cbf1cc","tarball":"https://registry.npmjs.org/@breadstone/ziegel-platform-messaging/-/ziegel-platform-messaging-0.0.2.tgz","fileCount":92,"integrity":"sha512-G/x8yNpGGalbCEAnD2vNl+Lbfonwqj4EVjwEbsRXv5W2Fv0QkJPRV0WKWuGTG+mR7Gax3c8pRG4b9aOzRk/FoQ==","signatures":[{"sig":"MEYCIQC3zJEhcng/8x1A7/DSQ8n+lCpxn4Ig5aakcDB1GJnsjgIhAKpc4uMwi1DQrW4FDz0oCdGP8QuxEfhLn22cNvV2zpaF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118155},"main":"./Index.js","types":"./Index.d.ts","module":"./Index.js","gitHead":"810d476703d4a1544150277fa8510b8110622415","typings":"./Index.d.ts","_npmUser":{"name":"ruederennes","actor":{"name":"ruederennes","type":"user","email":"realsancezz@gmail.com"},"email":"realsancezz@gmail.com"},"commonjs":"./Index.js","repository":{"url":"https://breadstone.visualstudio.com/ziegel/_git/ziegel","type":"git"},"_npmVersion":"11.3.0","description":"Includes a event aggregator for publish and subcribe global events. (aka PubSubEvent, Mediator)","directories":{},"_nodeVersion":"24.0.1","dependencies":{"rxjs":"^7.8.2","tslib":"^2.8.1","@breadstone/ziegel-core":"0.0.2","@breadstone/ziegel-platform":"0.0.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ziegel-platform-messaging_0.0.2_1750994521060_0.012059279772191012","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@breadstone/ziegel-platform-messaging","version":"0.0.3","author":{"url":"https://www.breadstone.de","name":"andre.wehlert","email":"awehlert@breadstone.de"},"license":"MIT","_id":"@breadstone/ziegel-platform-messaging@0.0.3","maintainers":[{"name":"ruederennes","email":"npm@breadstone.de"}],"homepage":"https://github.com/RueDeRennes/ziegel#readme","bugs":{"url":"https://github.com/RueDeRennes/ziegel/issues"},"dist":{"shasum":"6fd260e7d1b843e3938ad9e94f2467db1b468312","tarball":"https://registry.npmjs.org/@breadstone/ziegel-platform-messaging/-/ziegel-platform-messaging-0.0.3.tgz","fileCount":88,"integrity":"sha512-8enww7lQd9crqr36Tab1bv22InvsULf4AFuVVS0ayv7Zp+GLeFM/nV5Q//JH4wFugXGoJIGGDMN1SkCgtQb96Q==","signatures":[{"sig":"MEUCIQC4s099OdxURcPlx/NpvfUZdRChDptA44f0AKwKFIV7gAIgO1m0y5G6oR5qC435CIl1HNfH9yfS1fq6KYWPXtLV7uU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58299},"main":"./Index.js","types":"./Index.d.ts","module":"./Index.js","gitHead":"b4d03ca0908154138403f2a27ca8efb54bee6e80","typings":"./Index.d.ts","_npmUser":{"name":"ruederennes","actor":{"name":"ruederennes","type":"user","email":"npm@breadstone.de"},"email":"npm@breadstone.de"},"commonjs":"./Index.js","repository":{"url":"git+https://github.com/RueDeRennes/ziegel.git","type":"git"},"_npmVersion":"10.9.2","description":"Includes a event aggregator for publish and subcribe global events. (aka PubSubEvent, Mediator)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rxjs":"^7.8.2","tslib":"^2.8.1","@breadstone/ziegel-core":"0.0.3","@breadstone/ziegel-platform":"0.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ziegel-platform-messaging_0.0.3_1751575595265_0.7494135970291311","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@breadstone/ziegel-platform-messaging","version":"0.0.4","author":{"url":"https://www.breadstone.de","name":"andre.wehlert","email":"awehlert@breadstone.de"},"license":"MIT","_id":"@breadstone/ziegel-platform-messaging@0.0.4","maintainers":[{"name":"ruederennes","email":"npm@breadstone.de"}],"homepage":"https://github.com/RueDeRennes/ziegel#readme","bugs":{"url":"https://github.com/RueDeRennes/ziegel/issues"},"dist":{"shasum":"21d58e47c4865808055da17ef322c5e40c912c32","tarball":"https://registry.npmjs.org/@breadstone/ziegel-platform-messaging/-/ziegel-platform-messaging-0.0.4.tgz","fileCount":88,"integrity":"sha512-jJcrbCdoCGFSkAr6f4/yBngxQy0KiGCEEP6kExWILLW8B8EZgPXzeu75y+rrLnbuoCFnh2UtUEvEVYKp8N8aTQ==","signatures":[{"sig":"MEYCIQC0DVxsvl+dys4NVC2rzLHjjCHT8LxHfZNDpx7Fzdb9YgIhAIQGzRzvs9g+UXGlJmjZ6ocXVgma06TZ3caZFwDQJmef","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58299},"main":"./Index.js","types":"./Index.d.ts","module":"./Index.js","gitHead":"87efb239ae0aa6121dc170cd110bc9be7bb0c622","typings":"./Index.d.ts","_npmUser":{"name":"ruederennes","actor":{"name":"ruederennes","type":"user","email":"npm@breadstone.de"},"email":"npm@breadstone.de"},"commonjs":"./Index.js","repository":{"url":"git+https://github.com/RueDeRennes/ziegel.git","type":"git"},"_npmVersion":"10.9.2","description":"Includes a event aggregator for publish and subcribe global events. (aka PubSubEvent, Mediator)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"rxjs":"^7.8.2","tslib":"^2.8.1","@breadstone/ziegel-core":"0.0.4","@breadstone/ziegel-platform":"0.0.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ziegel-platform-messaging_0.0.4_1751576116134_0.4868530192440872","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@breadstone/ziegel-platform-messaging","version":"0.0.5","author":{"url":"https://www.breadstone.de","name":"andre.wehlert","email":"awehlert@breadstone.de"},"license":"MIT","_id":"@breadstone/ziegel-platform-messaging@0.0.5","maintainers":[{"name":"ruederennes","email":"npm@breadstone.de"}],"homepage":"https://github.com/RueDeRennes/ziegel#readme","bugs":{"url":"https://github.com/RueDeRennes/ziegel/issues"},"dist":{"shasum":"f0fc7889e9768223d33319c4ca970737ecf5e1ec","tarball":"https://registry.npmjs.org/@breadstone/ziegel-platform-messaging/-/ziegel-platform-messaging-0.0.5.tgz","fileCount":88,"integrity":"sha512-RtvEu2djaIxGSZEAlvb6NUlgqt8hZVxCFnszbDq3agxe+T0TG7Qun209FplURybaLYqEG19cwhp1Gm0BY4pnaw==","signatures":[{"sig":"MEYCIQCQeAeS9dnYJg0wOrS2qlCZEtxdTELJ7ojWqNpSexlgcwIhAKCPADiyzSIPbkXOcdgevDyKKgH/wrDzTARGy/G7GL98","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61841},"main":"./Index.js","types":"./Index.d.ts","module":"./Index.js","gitHead":"7eb0efd9f6fa2d25da83ba6a3bd737a0da028bf7","typings":"./Index.d.ts","_npmUser":{"name":"ruederennes","actor":{"name":"ruederennes","type":"user","email":"npm@breadstone.de"},"email":"npm@breadstone.de"},"commonjs":"./Index.js","repository":{"url":"git+https://github.com/RueDeRennes/ziegel.git","type":"git"},"_npmVersion":"9.8.1","description":"Includes a event aggregator for publish and subcribe global events. (aka PubSubEvent, Mediator)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"rxjs":"^7.8.2","tslib":"^2.8.1","@breadstone/ziegel-core":"0.0.5","@breadstone/ziegel-platform":"0.0.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ziegel-platform-messaging_0.0.5_1751699290145_0.7403993427813917","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@breadstone/ziegel-platform-messaging","version":"0.0.6","author":{"url":"https://www.breadstone.de","name":"andre.wehlert","email":"awehlert@breadstone.de"},"license":"MIT","_id":"@breadstone/ziegel-platform-messaging@0.0.6","maintainers":[{"name":"ruederennes","email":"npm@breadstone.de"}],"homepage":"https://github.com/RueDeRennes/ziegel#readme","bugs":{"url":"https://github.com/RueDeRennes/ziegel/issues"},"dist":{"shasum":"772bd216873e833ac68d49da7289b5cb5410dde6","tarball":"https://registry.npmjs.org/@breadstone/ziegel-platform-messaging/-/ziegel-platform-messaging-0.0.6.tgz","fileCount":88,"integrity":"sha512-qL1vYHdi/QQfFVusH7fQlVWD8KYuhtV169xC07LH6OYdV/6Dy7Xn5jN5Gq9Al6RKfnK/9OFCshnlJoJM0hDJ2g==","signatures":[{"sig":"MEUCIAe1JAAJprcctuszpAA5xAcjNEWaSOBJbxcHGJxyD+20AiEArZQmoueDwOgZrn8kE0WxSeql3ilzhfSqAcB6z8zi8b8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66495},"main":"./Index.js","types":"./Index.d.ts","module":"./Index.js","gitHead":"6d8252f646265878cb7ebb33936cdc87a1220836","typings":"./Index.d.ts","_npmUser":{"name":"ruederennes","email":"npm@breadstone.de"},"commonjs":"./Index.js","repository":{"url":"git+https://github.com/RueDeRennes/ziegel.git","type":"git"},"_npmVersion":"11.4.2","description":"Includes a event aggregator for publish and subcribe global events. (aka PubSubEvent, Mediator)","directories":{},"_nodeVersion":"24.4.1","dependencies":{"rxjs":"^7.8.2","tslib":"^2.8.1","@breadstone/ziegel-core":"0.0.6","@breadstone/ziegel-platform":"0.0.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ziegel-platform-messaging_0.0.6_1754467855880_0.5119564722018863","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@breadstone/ziegel-platform-messaging","version":"0.0.7","author":{"url":"https://www.breadstone.de","name":"andre.wehlert","email":"awehlert@breadstone.de"},"license":"MIT","_id":"@breadstone/ziegel-platform-messaging@0.0.7","maintainers":[{"name":"ruederennes","email":"npm@breadstone.de"}],"homepage":"https://github.com/RueDeRennes/ziegel#readme","bugs":{"url":"https://github.com/RueDeRennes/ziegel/issues"},"dist":{"shasum":"4c0cc9bab2be244ae644eee6588e5f500ef20ef1","tarball":"https://registry.npmjs.org/@breadstone/ziegel-platform-messaging/-/ziegel-platform-messaging-0.0.7.tgz","fileCount":88,"integrity":"sha512-QEXjlDlHPjr6ls0ruCeUDdl4Y6EmH0wwH78c3k8C9e6h4r3DzGTHiu5/MNWqvbruAJT3KB9ujCByAYZCwqtPxQ==","signatures":[{"sig":"MEYCIQDzlElBEPtAmpZto5TLQcSIuGvh2Yhdpji01NXNuR4VYgIhAJ7EmA0wR9VTGiJXffvDX4dFjeHnORwPILXB1vS8DbVc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66495},"main":"./Index.js","types":"./Index.d.ts","module":"./Index.js","gitHead":"7647e351d85d9dfbae9e9e9d84095559a75822d3","typings":"./Index.d.ts","_npmUser":{"name":"ruederennes","email":"npm@breadstone.de"},"commonjs":"./Index.js","repository":{"url":"git+https://github.com/RueDeRennes/ziegel.git","type":"git"},"_npmVersion":"11.4.2","description":"Includes a event aggregator for publish and subcribe global events. (aka PubSubEvent, Mediator)","directories":{},"_nodeVersion":"24.4.1","dependencies":{"rxjs":"^7.8.2","tslib":"^2.8.1","@breadstone/ziegel-core":"0.0.7","@breadstone/ziegel-platform":"0.0.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ziegel-platform-messaging_0.0.7_1754468259938_0.9517569543422304","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@breadstone/ziegel-platform-messaging","version":"0.0.8","author":{"url":"https://www.breadstone.de","name":"andre.wehlert","email":"awehlert@breadstone.de"},"license":"MIT","_id":"@breadstone/ziegel-platform-messaging@0.0.8","maintainers":[{"name":"ruederennes","email":"npm@breadstone.de"}],"homepage":"https://github.com/RueDeRennes/ziegel#readme","bugs":{"url":"https://github.com/RueDeRennes/ziegel/issues"},"dist":{"shasum":"fc332547ea7fb5b2a7d5c7c84dbcc275d38daa36","tarball":"https://registry.npmjs.org/@breadstone/ziegel-platform-messaging/-/ziegel-platform-messaging-0.0.8.tgz","fileCount":88,"integrity":"sha512-PfH/yjGBB5pQ+gsKuzm4ijsW3KvVNjJgWjnLo+0rdLumeSDhBviroEV6ODPvy/TE9e3KcJA9JFBybr+SJnlR2w==","signatures":[{"sig":"MEQCIHkBNcJnUSjjNQXeOeiwVoY+JbYNH/oqGT/0epjC82DTAiAjthRxusG8xD2udxAgygt0cOkkuy2Yhzewrb9OyE7HlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65130},"main":"./Index.js","types":"./Index.d.ts","module":"./Index.js","gitHead":"e3ad0a5eb92747c06f8642ef6b1b2e012ef6cb77","typings":"./Index.d.ts","_npmUser":{"name":"ruederennes","email":"npm@breadstone.de"},"commonjs":"./Index.js","repository":{"url":"git+https://github.com/RueDeRennes/ziegel.git","type":"git"},"_npmVersion":"11.4.2","description":"Includes a event aggregator for publish and subcribe global events. (aka PubSubEvent, Mediator)","directories":{},"_nodeVersion":"24.4.1","dependencies":{"rxjs":"^7.8.2","tslib":"^2.8.1","@breadstone/ziegel-core":"0.0.8","@breadstone/ziegel-platform":"0.0.8"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ziegel-platform-messaging_0.0.8_1754745287349_0.12226965256280553","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@breadstone/ziegel-platform-messaging","version":"0.0.9","description":"Includes a event aggregator for publish and subcribe global events. (aka PubSubEvent, Mediator)","license":"MIT","author":{"name":"andre.wehlert","email":"awehlert@breadstone.de","url":"https://www.breadstone.de"},"main":"./Index.js","module":"./Index.js","commonjs":"./Index.js","typings":"./Index.d.ts","types":"./Index.d.ts","repository":{"type":"git","url":"git+https://github.com/RueDeRennes/ziegel.git"},"bugs":{"url":"https://github.com/RueDeRennes/ziegel/issues"},"dependencies":{"@breadstone/ziegel-core":"0.0.9","@breadstone/ziegel-platform":"0.0.9","rxjs":"^7.8.2","tslib":"^2.8.1"},"_id":"@breadstone/ziegel-platform-messaging@0.0.9","gitHead":"efc417cb60db843da253c8b83aa7ea54fe94ed5f","homepage":"https://github.com/RueDeRennes/ziegel#readme","_nodeVersion":"24.4.1","_npmVersion":"11.4.2","dist":{"integrity":"sha512-bmnVUPWiWYZIq8nV+YHF0lXfdFfwofTKCt7jV+GHRW5XDNDYx5Cnz/FGSTCwvXocxARwcIJ8PP3pvzxQfMsoAA==","shasum":"ce48a6df1504f58b008edecdedb6dcc3587bd3c5","tarball":"https://registry.npmjs.org/@breadstone/ziegel-platform-messaging/-/ziegel-platform-messaging-0.0.9.tgz","fileCount":88,"unpackedSize":65130,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDBIDFyQTT1hfg1OZHx84PQbM0Uts5jhN83G7xtCeDf8AIhAIHljtVb7NUT8qqLnwQSHfl2vIe2K3OGPR+lhZSPV6E/"}]},"_npmUser":{"name":"ruederennes","email":"npm@breadstone.de"},"directories":{},"maintainers":[{"name":"ruederennes","email":"npm@breadstone.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ziegel-platform-messaging_0.0.9_1756450318757_0.8078357137801253"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-27T03:09:00.462Z","modified":"2025-08-29T06:51:59.089Z","0.0.1":"2025-06-27T03:09:00.774Z","0.0.2":"2025-06-27T03:22:01.257Z","0.0.3":"2025-07-03T20:46:35.445Z","0.0.4":"2025-07-03T20:55:16.287Z","0.0.5":"2025-07-05T07:08:10.326Z","0.0.6":"2025-08-06T08:10:56.074Z","0.0.7":"2025-08-06T08:17:40.112Z","0.0.8":"2025-08-09T13:14:47.527Z","0.0.9":"2025-08-29T06:51:58.902Z"},"bugs":{"url":"https://github.com/RueDeRennes/ziegel/issues"},"author":{"name":"andre.wehlert","email":"awehlert@breadstone.de","url":"https://www.breadstone.de"},"license":"MIT","homepage":"https://github.com/RueDeRennes/ziegel#readme","repository":{"type":"git","url":"git+https://github.com/RueDeRennes/ziegel.git"},"description":"Includes a event aggregator for publish and subcribe global events. (aka PubSubEvent, Mediator)","maintainers":[{"name":"ruederennes","email":"npm@breadstone.de"}],"readme":"# @breadstone/ziegel-platform-messaging\r\n\r\n[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)\r\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue.svg)](https://www.typescriptlang.org/)\r\n[![npm](https://img.shields.io/badge/npm-@breadstone/ziegel--platform--messaging-red.svg)](https://www.npmjs.com/package/@breadstone/ziegel-platform-messaging)\r\n\r\nEvent aggregation and messaging patterns for the ziegel platform. Provides publish-subscribe events, event aggregators, and RxJS integration for decoupled communication between components.\r\n\r\n> **Messaging**: Event-driven architecture with pub/sub patterns, event aggregation, and reactive messaging for loosely coupled applications.\r\n\r\n## 🚀 Overview\r\n\r\n`@breadstone/ziegel-platform-messaging` provides:\r\n- **Event Aggregator**: Centralized event publishing and subscription management\r\n- **Publish-Subscribe Events**: Decoupled communication through pub/sub patterns\r\n- **Subscription Management**: Token-based subscription lifecycle management\r\n- **RxJS Integration**: Reactive extensions for event streams\r\n- **Event Decorators**: Decorator-based event configuration\r\n- **Type-Safe Events**: Strongly typed event handling and publishing\r\n\r\n## 📦 Installation\r\n\r\n```bash\r\nnpm install @breadstone/ziegel-platform-messaging\r\n# or\r\nyarn add @breadstone/ziegel-platform-messaging\r\n```\r\n\r\n## 🧩 Features & Usage Examples\r\n\r\n### Event Aggregator\r\n\r\n```typescript\r\nimport { EventAggregator, IEventAggregator, PubSubEvent } from '@breadstone/ziegel-platform-messaging';\r\n\r\n// Create custom events\r\nclass UserLoggedInEvent extends PubSubEvent<{ userId: string; timestamp: Date }> {}\r\n\r\nconst eventAggregator = new EventAggregator();\r\n\r\n// Subscribe to events\r\nconst subscription = eventAggregator.getEvent(UserLoggedInEvent).subscribe(payload => {\r\n  console.log(`User ${payload.userId} logged in at ${payload.timestamp}`);\r\n});\r\n\r\n// Publish events\r\neventAggregator.getEvent(UserLoggedInEvent).publish({\r\n  userId: '12345',\r\n  timestamp: new Date()\r\n});\r\n```\r\n\r\n### Event Decorators\r\n\r\n```typescript\r\nimport { Event } from '@breadstone/ziegel-platform-messaging';\r\n\r\nclass UserService {\r\n  @Event('UserCreated')\r\n  createUser(userData: any) {\r\n    // Method implementation\r\n    return userData;\r\n  }\r\n\r\n  @Event('UserUpdated')\r\n  updateUser(userId: string, updateData: any) {\r\n    // Method implementation\r\n    return { userId, ...updateData };\r\n  }\r\n}\r\n```\r\n\r\n### Subscription Management\r\n\r\n```typescript\r\nimport {\r\n  EventAggregator,\r\n  SubscriptionToken,\r\n  EventSubscription,\r\n  IEventSubscription\r\n} from '@breadstone/ziegel-platform-messaging';\r\n\r\nconst eventAggregator = new EventAggregator();\r\n\r\n// Create subscription with token\r\nconst token = new SubscriptionToken();\r\nconst subscription: IEventSubscription = new EventSubscription(\r\n  eventAggregator.getEvent(UserLoggedInEvent),\r\n  payload => console.log('User action:', payload),\r\n  token\r\n);\r\n\r\n// Unsubscribe using token\r\nsubscription.unsubscribe();\r\n```\r\n\r\n### RxJS Integration\r\n\r\n```typescript\r\nimport { fromPubSubEvent, pubSub, pubSubEvent } from '@breadstone/ziegel-platform-messaging';\r\nimport { map, filter } from 'rxjs/operators';\r\n\r\n// Convert pub/sub events to observables\r\nconst userEvents$ = fromPubSubEvent(eventAggregator.getEvent(UserLoggedInEvent));\r\n\r\n// Use RxJS operators\r\nconst recentLogins$ = userEvents$.pipe(\r\n  filter(payload => {\r\n    const now = new Date();\r\n    const loginTime = payload.timestamp;\r\n    return (now.getTime() - loginTime.getTime()) < 60000; // Last minute\r\n  }),\r\n  map(payload => payload.userId)\r\n);\r\n\r\nrecentLogins$.subscribe(userId => {\r\n  console.log(`Recent login: ${userId}`);\r\n});\r\n\r\n// Alternative syntax\r\nconst userEventStream$ = pubSub(eventAggregator.getEvent(UserLoggedInEvent));\r\nconst userEventObservable$ = pubSubEvent(eventAggregator.getEvent(UserLoggedInEvent));\r\n```\r\n\r\n### Pub/Sub Event Pattern\r\n\r\n```typescript\r\nimport { PubSubEvent } from '@breadstone/ziegel-platform-messaging';\r\n\r\n// Define strongly typed events\r\ninterface OrderCreatedPayload {\r\n  orderId: string;\r\n  customerId: string;\r\n  amount: number;\r\n}\r\n\r\nclass OrderCreatedEvent extends PubSubEvent<OrderCreatedPayload> {}\r\n\r\n// Use in services\r\nclass OrderService {\r\n  constructor(private eventAggregator: IEventAggregator) {}\r\n\r\n  createOrder(orderData: any): void {\r\n    // Create order logic...\r\n\r\n    // Publish event\r\n    this.eventAggregator.getEvent(OrderCreatedEvent).publish({\r\n      orderId: orderData.id,\r\n      customerId: orderData.customerId,\r\n      amount: orderData.total\r\n    });\r\n  }\r\n}\r\n\r\nclass NotificationService {\r\n  constructor(private eventAggregator: IEventAggregator) {\r\n    // Subscribe to order events\r\n    this.eventAggregator.getEvent(OrderCreatedEvent).subscribe(payload => {\r\n      this.sendOrderConfirmation(payload.customerId, payload.orderId);\r\n    });\r\n  }\r\n\r\n  private sendOrderConfirmation(customerId: string, orderId: string): void {\r\n    // Send notification logic...\r\n  }\r\n}\r\n```\r\n\r\nclass CreateUserHandler implements CommandHandler<CreateUserCommand> {\r\n  async handle(command: CreateUserCommand): Promise<void> {\r\n    // Handle user creation\r\n  }\r\n}\r\n\r\nconst commandBus = new CommandBus();\r\ncommandBus.register('CreateUser', new CreateUserHandler());\r\nawait commandBus.send(new CreateUserCommand('John', 'john@example.com'));\r\n```\r\n\r\n### Message Queue\r\n\r\n```typescript\r\nimport { MessageQueue, QueueMessage } from '@breadstone/ziegel-platform-messaging';\r\n\r\nconst queue = new MessageQueue('email-queue');\r\n\r\n// Add message to queue\r\nawait queue.enqueue({\r\n  id: 'msg-123',\r\n  payload: { to: 'user@example.com', subject: 'Welcome' },\r\n  timestamp: new Date()\r\n});\r\n\r\n// Process messages\r\nawait queue.process(async (message) => {\r\n  // Send email\r\n  console.log(`Sending email to ${message.payload.to}`);\r\n});\r\n```\r\n\r\n## 📚 Package import points\r\n\r\n```typescript\r\nimport {\r\n    // Message Bus\r\n    MessageBus,\r\n    IMessage,\r\n    MessageHandler,\r\n\r\n    // Event Bus\r\n    EventBus,\r\n    DomainEvent,\r\n    EventHandler,\r\n\r\n    // Command Bus\r\n    CommandBus,\r\n    Command,\r\n    CommandHandler,\r\n\r\n    // Message Queue\r\n    MessageQueue,\r\n    QueueMessage,\r\n\r\n    // Integration\r\n    MessageRouter,\r\n    MessageFilter\r\n} from '@breadstone/ziegel-platform-messaging';\r\n```\r\n\r\n## 📚 API Documentation\r\n\r\nFor detailed API documentation, visit: [API Docs](./../../.docs/api/ziegel-platform-messaging/index.md)\r\n\r\n## Related Packages\r\n\r\n- **@breadstone/ziegel-platform**: Core platform services\r\n- **@breadstone/ziegel-rx**: Reactive programming patterns\r\n- **@breadstone/ziegel-core**: Foundation utilities\r\n\r\n## License\r\n\r\nMIT\r\n\r\n## Issues\r\n\r\nPlease report bugs and feature requests in the [Issue Tracker](https://github.com/RueDeRennes/ziegel/issues)\r\n\r\n---\r\n\r\n*Part of the [ziegel Enterprise TypeScript Framework](../../README.md)*","readmeFilename":"README.md"}