braintree-paypal-client-config

1.0.3 • Public • Published

Braintree-PayPal Client Config

Shared configuration between Braintree / PayPal client sdk modules, to allow sharing configuration between integrations and avoiding exposing additional complexity for the integrating party.

This allows the different modules to:

  • Remain decoupled
  • Operate independently, or together, depending on the client's needs
  • Share information in the background to provide the ideal rendering experience

Installing

npm install --save braintree-paypal-client-config

Example

As the config setter:

import { set, KEYS } from 'braintree-paypal-client-config';

set(KEYS.ALLOW_FOO, true);

As the config getter:

import { get, KEYS } from 'braintree-paypal-client-config';

if (get(KEYS.ALLOW_FOO)) {
    doFoo();
}

Methods

get(<key>, [default])

Get the current value for the given key, returns undefined if unset or default if specified

set(<key>, <value>)

Set the value under the given key.

get_or_set(<key>, <value>)

Gets the value if it is available, otherwise sets a new value.

on(<key>, <handler>)

Calls the handler every time the key is set. Good for reading configuration values which may change over time.

Keys

LOGGER_SESSION_ID

Specify a shared id to send with logs, to correlate between different modules.

// Set a shared session id or get an existing session id
let sessionID = get_or_set(KEY.LOGGER_SESSION_ID, 'abcdef12345');

PAYPAL_FUNDING_DISALLOW

Specify an array of funding sources to inhibit.

// Disallow paypal from rendering card (credit/debit) butttons
set(KEY.PAYPAL_FUNDING_DISALLOW, [ PAYPAL_FUNDING.CARD ]);

Quick Start

Getting Started

  • Fork the module
  • Run setup: npm run setup
  • Start editing code in ./src and writing tests in ./tests
  • npm run build

Building

npm run build

Tests

  • Edit tests in ./test/tests

  • Run the tests:

    npm run test

Readme

Keywords

Package Sidebar

Install

npm i braintree-paypal-client-config

Weekly Downloads

296

Version

1.0.3

License

none

Last publish

Collaborators

  • bluepnume