Improve ergonomics of PortFinder and PortProvider
For PortFinder, I followed this advice: https://github.com/hypothesis/client/pull/3881#discussion_r743030606, except that I made the argument of `PorFinder#discover` and string (instead of an object). ``` const portFinder = new PortFinder({ source: 'guest', hostFrame }); portFinder.discover('sidebar'); portFinder.discover('host'); ``` For PortProvider, I followed this advice: https://github.com/hypothesis/client/pull/3881#discussion_r743033013, except that I used a getter. ``` cont portProvider = new PortProvider(...) const bridge = new Bridge(); bridge.createChannel(portProvider.sidebarPort); ``` I have renamed the properties of `Message`: - `source` becomes `authority` - `channel` and `port` have been replaced by `frame1` and `frame2` I did that to align `port1` and `frame1` and `port2` and `frame2`, while also avoiding clashing with other names (`source`, `target`) which have other meaning in the `window.postMessage` context. I have removed one level of nesting in the `PortProvider#discover` that make the method more readable. I added some other suggestions from PR #3881.
Showing
Please register or sign in to comment