Ghost/ghost/members-gateway-protocol
2019-07-22 01:28:44 +00:00
..
test Created members-gateway-protocol package (#5) 2019-04-18 11:03:44 +02:00
.eslintrc.js Created members-gateway-protocol package (#5) 2019-04-18 11:03:44 +02:00
index.js Created members-gateway-protocol package (#5) 2019-04-18 11:03:44 +02:00
LICENSE Created members-gateway-protocol package (#5) 2019-04-18 11:03:44 +02:00
package.json Update dependency mocha to v6.2.0 2019-07-22 01:28:44 +00:00
README.md Created members-gateway-protocol package (#5) 2019-04-18 11:03:44 +02:00

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

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.

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.