{"_id":"@bygd/opus-messenger","_rev":"9-486c376d4d72efd9bc96676194231266","name":"@bygd/opus-messenger","dist-tags":{"latest":"0.4.1"},"versions":{"0.2.3":{"name":"@bygd/opus-messenger","version":"0.2.3","main":"dist/default/cjs/index.js","module":"dist/default/esm/index.js","types":"dist/default/types/index.d.ts","license":"MIT","dependencies":{"chalk":"^4","eventemitter3":"^5.0"},"scripts":{"serve":"npx serve ."},"_id":"@bygd/opus-messenger@0.2.3","gitHead":"90cf163b748086375f708ef2206431e606d55145","description":"The Opus-Messenger project is designed to establish an interactive communication ecosystem between a server and multiple clients through the concept of message channels. As a key aspect of the project, it implements an abstraction over postMessage, creati","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-YpKkl4UtkqJ5GLmRvRydOLPFv6JME+7b8+8SJJS5LCFuXGplEkUmQ7Ulh1Z29mm/sF+VcDr6Jt1JcoZ8wpz3+g==","shasum":"aab0ecad1806f2ef7bdb4971169dedbeb941c4d0","tarball":"https://registry.npmjs.org/@bygd/opus-messenger/-/opus-messenger-0.2.3.tgz","fileCount":11,"unpackedSize":60763,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGn6ocO7HibmMLh5atW/iQCTBRIUP9gEAtzJotr6FL16AiAq8dPJkY74hfYec4UCa6ziQP/olj/O8XyTVYDNUmqbTQ=="}]},"_npmUser":{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},"directories":{},"maintainers":[{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},{"name":"serdar986","email":"s.akay@azerion.com"},{"name":"serdark","email":"s.kizilkurt@azerion.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opus-messenger_0.2.3_1697670810723_0.2923482496029737"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.4":{"name":"@bygd/opus-messenger","version":"0.2.4","main":"dist/default/cjs/index.js","module":"dist/default/esm/index.js","types":"dist/default/types/index.d.ts","license":"MIT","dependencies":{"chalk":"^4","eventemitter3":"^5.0"},"scripts":{"serve":"npx serve ."},"_id":"@bygd/opus-messenger@0.2.4","gitHead":"90cf163b748086375f708ef2206431e606d55145","description":"The Opus-Messenger project is designed to establish an interactive communication ecosystem between a server and multiple clients through the concept of message channels. As a key aspect of the project, it implements an abstraction over postMessage, creati","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-BGW5NF1/cU6iMuzVZJzN9V89ifoBDHC/sfHANrApPNIsOixwVQo02yUa6gPlu1PKn6I4aFD4zakRWabNU/JRiA==","shasum":"7186b8a8b16e918a5627699a3821be77bdad5719","tarball":"https://registry.npmjs.org/@bygd/opus-messenger/-/opus-messenger-0.2.4.tgz","fileCount":11,"unpackedSize":60816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBOfZigeYIOgTgWG9/Uyg8xYNC3w8FjaRETYKr31dGiDAiEA4/YAyQwL4B7z5pzE/rgyFZbDN4UsjQjv1osYHRz5SpA="}]},"_npmUser":{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},"directories":{},"maintainers":[{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},{"name":"serdar986","email":"s.akay@azerion.com"},{"name":"serdark","email":"s.kizilkurt@azerion.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opus-messenger_0.2.4_1697672165744_0.4197108365144404"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.5":{"name":"@bygd/opus-messenger","version":"0.2.5","main":"dist/default/cjs/index.js","module":"dist/default/esm/index.js","types":"dist/default/types/index.d.ts","license":"MIT","dependencies":{"chalk":"^4","eventemitter3":"^5.0"},"scripts":{"serve":"npx serve ."},"_id":"@bygd/opus-messenger@0.2.5","gitHead":"74fa8aabd26233f28b3e5139224da47f6e76e410","description":"The Opus-Messenger project is designed to establish an interactive communication ecosystem between a server and multiple clients through the concept of message channels. As a key aspect of the project, it implements an abstraction over postMessage, creati","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-kLkHbAq5VYiZT5vFDolTKP1Xvn0uCWghYqzKpsiBac9ovJsjoHU7WnDUXJ/5d8dX/j9MrNGsQbLwCA2tmZvx6A==","shasum":"4f84868500f6d6ebb2c19c2b962150402424e6a7","tarball":"https://registry.npmjs.org/@bygd/opus-messenger/-/opus-messenger-0.2.5.tgz","fileCount":11,"unpackedSize":64488,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF4CR46m+Oewg18WH9r9tjr0zfUFFjR7M9mraqZftrqfAiEAuCiKiyVIrGb8+xO3s5WcCQuwir9Q30oq0zO+TQdyrFU="}]},"_npmUser":{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},"directories":{},"maintainers":[{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},{"name":"serdar986","email":"s.akay@azerion.com"},{"name":"serdark","email":"s.kizilkurt@azerion.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opus-messenger_0.2.5_1697790977435_0.36991895602413205"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.6":{"name":"@bygd/opus-messenger","version":"0.2.6","main":"dist/default/cjs/index.js","module":"dist/default/esm/index.js","types":"dist/default/types/index.d.ts","license":"MIT","dependencies":{"chalk":"^4","nanoid":"^5.0"},"scripts":{"serve":"npx serve ."},"_id":"@bygd/opus-messenger@0.2.6","gitHead":"ca2db1de482131c3fd88ace2d4a8b3f05e061341","description":"The project is a communication system in JavaScript that uses the Messenger design pattern to handle message passing between different parts of an application, especially in the context of a web application where the different parts may be running on diff","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-TeUTTd5CWJ7yu7uhp1O0XCbSwKSCioJdfpR9eqLq0Zd083Zsc0d47dnmzhLfnrUm3tM36NftM6JVHYHZ/dPDvA==","shasum":"f13830ed614f96b60dc6fc6359e31384f156d8e7","tarball":"https://registry.npmjs.org/@bygd/opus-messenger/-/opus-messenger-0.2.6.tgz","fileCount":11,"unpackedSize":44972,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6vCrcb4M5Dpm52c90Xye9QkdB92XhtNR8c+IR5nnMEAIhAPo4sho9cI9NCsgZRDywkJpkqC66JTOcnXJ3ZfwQNhQp"}]},"_npmUser":{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},"directories":{},"maintainers":[{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},{"name":"serdar986","email":"s.akay@azerion.com"},{"name":"serdark","email":"s.kizilkurt@azerion.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opus-messenger_0.2.6_1697845251993_0.6932302801823491"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.3.1":{"name":"@bygd/opus-messenger","version":"0.3.1","main":"dist/default/cjs/index.js","module":"dist/default/esm/index.js","types":"dist/default/types/index.d.ts","license":"MIT","dependencies":{"chalk":"^4","nanoid":"^5.0"},"scripts":{"serve":"npx serve ."},"_id":"@bygd/opus-messenger@0.3.1","gitHead":"136f2849c2d411bb70cbfb348f9a6ce1979f4f12","description":"The project is a communication system in JavaScript that uses the Messenger design pattern to handle message passing between different parts of an application, especially in the context of a web application where the different parts may be running on diff","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-bzRIcFSx2yqplgYux5coOYbfJH9iOx57rCZYJSNHLUbktVxBL2El9YfwsCNciMeY+WIMMh1bK2KRNSJbRZq24A==","shasum":"504f9f3cf34e9a71276ee68785320a28d8734c91","tarball":"https://registry.npmjs.org/@bygd/opus-messenger/-/opus-messenger-0.3.1.tgz","fileCount":11,"unpackedSize":44968,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXm5vQwUlQcJzZHrXRtapIarAiMu4riWXsVMFiOPytJAIhALd7fZIouyD9I1C4yH5t8u19+WO27S0r9X8D/zho10Fj"}]},"_npmUser":{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},"directories":{},"maintainers":[{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},{"name":"serdar986","email":"s.akay@azerion.com"},{"name":"serdark","email":"s.kizilkurt@azerion.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opus-messenger_0.3.1_1697846425224_0.48132746430430706"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.3.2":{"name":"@bygd/opus-messenger","version":"0.3.2","main":"dist/default/cjs/index.js","module":"dist/default/esm/index.js","types":"dist/default/types/index.d.ts","license":"MIT","dependencies":{"chalk":"^4","nanoid":"^5.0"},"scripts":{"serve":"npx serve ."},"_id":"@bygd/opus-messenger@0.3.2","gitHead":"136f2849c2d411bb70cbfb348f9a6ce1979f4f12","description":"The project is a communication system in JavaScript that uses the Messenger design pattern to handle message passing between different parts of an application, especially in the context of a web application where the different parts may be running on diff","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-8JAXol5y5Zfx0BUG3PbREgQ67NpFPFtkkZGLeby8WVapOBQm9PGZ0027SahrHO4ATjBE2i6CcZCfsHiyK1uOQw==","shasum":"34ad5d344ba4fe048d58f34683881da37c1a0fe5","tarball":"https://registry.npmjs.org/@bygd/opus-messenger/-/opus-messenger-0.3.2.tgz","fileCount":11,"unpackedSize":44924,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCj+tFR7Pf6YSuxICb+R2WhXX4iaX4fsl0nJX1Cp9dwmAIgcCg9N1tYfMDfo5UBLaXYzyvVbQPIY+mbkp3kdM2goow="}]},"_npmUser":{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},"directories":{},"maintainers":[{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},{"name":"serdar986","email":"s.akay@azerion.com"},{"name":"serdark","email":"s.kizilkurt@azerion.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opus-messenger_0.3.2_1697851833472_0.014354292905508492"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.3.3":{"name":"@bygd/opus-messenger","version":"0.3.3","main":"dist/default/cjs/index.js","module":"dist/default/esm/index.js","types":"dist/default/types/index.d.ts","license":"MIT","dependencies":{"chalk":"^4","nanoid":"^5.0"},"scripts":{"serve":"npx serve ."},"_id":"@bygd/opus-messenger@0.3.3","gitHead":"db5dd4505245fc283fc87272bca015657093a5ba","description":"The project is a communication system in JavaScript that uses the Messenger design pattern to handle message passing between different parts of an application, especially in the context of a web application where the different parts may be running on diff","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-XCaLiPdIs5dYdE+QAxmf89e3fBt4e56x601vyJQcfBMmjtDkAjQ52wQvwgKQ6vjvPdxOwJdMtPWm1ANODq0cyQ==","shasum":"2fb541905a21db53c2afe65b1446e4c204eb54a4","tarball":"https://registry.npmjs.org/@bygd/opus-messenger/-/opus-messenger-0.3.3.tgz","fileCount":11,"unpackedSize":44924,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmdsDSHuahRg2vrUjUOMkyN4WPNf3pmRmYmBWm0v5dZAIhANgp6bmWK0HfyIvoDKQaNtKdlxwRjY6ky0cEtRhbBsb9"}]},"_npmUser":{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},"directories":{},"maintainers":[{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},{"name":"serdar986","email":"s.akay@azerion.com"},{"name":"serdark","email":"s.kizilkurt@azerion.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opus-messenger_0.3.3_1697852242865_0.1456168031920848"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.3.4":{"name":"@bygd/opus-messenger","version":"0.3.4","main":"dist/default/cjs/index.js","module":"dist/default/esm/index.js","types":"dist/default/types/index.d.ts","license":"MIT","dependencies":{"chalk":"^4","nanoid":"^5.0"},"scripts":{"serve":"npx serve ."},"_id":"@bygd/opus-messenger@0.3.4","gitHead":"db5dd4505245fc283fc87272bca015657093a5ba","description":"The project is a communication system in JavaScript that uses the Messenger design pattern to handle message passing between different parts of an application, especially in the context of a web application where the different parts may be running on diff","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-X1Ywn/chl3A1l0+aKJPfHkWJ7CDWVguihzVeLiYbVwWshnAi3muGEGsic8XT2IrLn4uY+ytTbLzDZ/CesEZqYQ==","shasum":"d4439f231de508060e98a766c70c1d3acf678a0f","tarball":"https://registry.npmjs.org/@bygd/opus-messenger/-/opus-messenger-0.3.4.tgz","fileCount":11,"unpackedSize":42749,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEqyNyOeJAuQiw3H4pj/2Wm8kY4BGImA4gXfkPVG0u+JAiEAlnJsjcth8P5Wx8dLnHx3r42bOtRILgcwDpSg6SxIMvI="}]},"_npmUser":{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},"directories":{},"maintainers":[{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},{"name":"serdar986","email":"s.akay@azerion.com"},{"name":"serdark","email":"s.kizilkurt@azerion.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opus-messenger_0.3.4_1697854532790_0.3094101316160376"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.4.1":{"name":"@bygd/opus-messenger","version":"0.4.1","main":"dist/default/cjs/index.js","module":"dist/default/esm/index.js","types":"dist/default/types/index.d.ts","license":"MIT","dependencies":{"chalk":"^4","nanoid":"^5.0"},"scripts":{"serve":"npx serve ."},"_id":"@bygd/opus-messenger@0.4.1","gitHead":"bf3b5bb280724da4aed26e7754e2e652795967c3","description":"The opus-messenger project is primarily an application interaction tool that allows different segments/modules (or frames) of an application to communicate seamlessly. It is an intricate messaging system with advanced transaction handling and message rout","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-o8ddxLHZgbMSYcbFQSDHcLpf9AFtCgkaLLYBh9EdvDe047SCN+7znTsnMCt3DDb6KZ+clIkpFslhXKJwzWNE3A==","shasum":"605b4a112b1f3720ddc84ee6ffeade3a4278f4d4","tarball":"https://registry.npmjs.org/@bygd/opus-messenger/-/opus-messenger-0.4.1.tgz","fileCount":11,"unpackedSize":50925,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICX74kkMNMs0ewHmHqv6j+IyxIPKu18b70HX4NNsedg3AiAJ73fiODTmc/0HxKsnTszdgzWm42rIoaBlFipMkag2tQ=="}]},"_npmUser":{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},"directories":{},"maintainers":[{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},{"name":"serdar986","email":"s.akay@azerion.com"},{"name":"serdark","email":"s.kizilkurt@azerion.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/opus-messenger_0.4.1_1697990460974_0.28549201665879065"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2023-10-18T23:13:30.609Z","0.2.3":"2023-10-18T23:13:30.984Z","modified":"2023-10-22T20:22:19.247Z","0.2.4":"2023-10-18T23:36:05.948Z","0.2.5":"2023-10-20T08:36:17.694Z","0.2.6":"2023-10-20T23:40:52.401Z","0.3.1":"2023-10-21T00:00:25.436Z","0.3.2":"2023-10-21T01:30:33.691Z","0.3.3":"2023-10-21T01:37:23.116Z","0.3.4":"2023-10-21T02:15:33.021Z","0.4.1":"2023-10-22T16:01:01.148Z"},"maintainers":[{"name":"gboyraz","email":"gultekinboyraz@gmail.com"},{"name":"serdar986","email":"s.akay@azerion.com"},{"name":"serdark","email":"s.kizilkurt@azerion.com"}],"description":"The opus-messenger project is primarily an application interaction tool that allows different segments/modules (or frames) of an application to communicate seamlessly. It is an intricate messaging system with advanced transaction handling and message rout","license":"MIT","readme":"# opus-messenger\n\nThe opus-messenger project is primarily an application interaction tool that allows different segments/modules (or frames) of an application to communicate seamlessly. It is an intricate messaging system with advanced transaction handling and message routing capabilities. \n\n## Purpose\n\nThe primary purpose of the project is to allow different entities, possibly located in separate frames within an application, to engage in synchronized and controlled communication, thus enhancing the interoperability of the application's subsystems.\n\n## Key Functionality\n\n### Connection Handling\n\nThe module can establish connections between different frames within the application. By providing a 'targetWindow' parameter, an application segment can reach out to another and establish mutual communication.\n\n### Service Registration and Proxy\n\nThe opus-messenger allows for services to be registered and exposed for consumption by other modules. A service registered in one module can be consumed by another via a proxy mechanism, optionally with an alias. The project implements robust service registration checks to prevent duplication of service names.\n\n### Multiple Message Handlers\n\nA range of transaction handlers can be implemented, from 'connect' and 'ping' to 'echo', and more. Services can respond to a variety of transaction types and ensure that the correct message handler processes the incoming event or message. \n\n### Message Channeling\n\nThe project implements a concept of 'clients' as an aggregation of message channels. Each individual 'client' is in essence an individual communication instance. There are also measures in place to deal with transaction timeouts, preventing stale or long-running transactions.\n\n### Parent Finder\n\nThe opus-messenger can identify a module's 'parent' if it exists. This is useful in a hierarchical frame layout where tracking frame lineage might be necessary.\n\n### Message Dispatch and Reception\n\nThe project can dispatch messages to targeted modules and equally process incoming messages, routing them to the right registered services or necessary handlers.\n\n### Error Handling\n\nThe project is careful to reject actions that are logically impossible or would create cyclical communication links, such as attempting to connect a module to itself or registering a duplicate service name. This ensures a streamlined and error-minimized operation.\n\nIn summary, the opus-messenger project serves as a foundation for simplified, error-free, and controlled interaction across different modules of an application.","readmeFilename":"readme.md"}