59 lines
1.2 KiB
Markdown
59 lines
1.2 KiB
Markdown
|
# Members Gateway Protocol
|
||
|
|
||
|
This package provides a low-level wrapper around the gateway iframe, which is used to communicate with the members api.
|
||
|
|
||
|
## Install
|
||
|
|
||
|
`npm install @tryghost/members-gateway-protocol --save`
|
||
|
|
||
|
or
|
||
|
|
||
|
`yarn add @tryghost/members-gateway-protocol`
|
||
|
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```js
|
||
|
const gatewayProtocol = require('@tryghost/members-gateway-protocol');
|
||
|
const gatewayFrame = document.querySelector('iframe');
|
||
|
|
||
|
const { call, listen } = gatewayProtocol(gatewayFrame);
|
||
|
|
||
|
// Add listener for gateway events - limited to only once
|
||
|
// returns boolean indicating whether listener was added
|
||
|
listen(function ({event, payload}) {
|
||
|
// Called for every event emitted from the gateway
|
||
|
});
|
||
|
|
||
|
// Call method in gateway
|
||
|
call('getToken', {audience: 'whatever'}, function (err, result) {
|
||
|
// Called once when gateway responds
|
||
|
});
|
||
|
```
|
||
|
|
||
|
## Develop
|
||
|
|
||
|
This is a mono repository, managed with [lerna](https://lernajs.io/).
|
||
|
|
||
|
Follow the instructions for the top-level repo.
|
||
|
1. `git clone` this repo & `cd` into it as usual
|
||
|
2. Run `yarn` to install top-level dependencies.
|
||
|
|
||
|
|
||
|
## Run
|
||
|
|
||
|
- `yarn dev`
|
||
|
|
||
|
|
||
|
## Test
|
||
|
|
||
|
- `yarn lint` run just eslint
|
||
|
- `yarn test` run lint and tests
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
# Copyright & License
|
||
|
|
||
|
Copyright (c) 2019 Ghost Foundation - Released under the [MIT license](LICENSE).
|