• Eduardo Sanz García's avatar
    Improve ergonomics of PortFinder and PortProvider · f1e042eb
    Eduardo Sanz García authored
    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.
    f1e042eb
Name
Last commit
Last update
.github Loading commit data...
bin Loading commit data...
dev-server Loading commit data...
docs Loading commit data...
embedding-examples Loading commit data...
images Loading commit data...
requirements Loading commit data...
scripts Loading commit data...
src Loading commit data...
.babelrc Loading commit data...
.dockerignore Loading commit data...
.eslintignore Loading commit data...
.eslintrc Loading commit data...
.gitignore Loading commit data...
.npmignore Loading commit data...
.npmrc Loading commit data...
.prettierignore Loading commit data...
.python-version Loading commit data...
CODE_OF_CONDUCT Loading commit data...
Dockerfile Loading commit data...
Jenkinsfile Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
codecov.yml Loading commit data...
gulpfile.mjs Loading commit data...
package.json Loading commit data...
pyproject.toml Loading commit data...
requirements-dev.in Loading commit data...
rollup-boot.config.mjs Loading commit data...
rollup-tests.config.mjs Loading commit data...
rollup.config.mjs Loading commit data...
tox.ini Loading commit data...
tsconfig.json Loading commit data...
yarn.lock Loading commit data...