UNPKG

@rnw-community/react-native-payments

Version:

Accept Payments with Apple Pay and Android Pay using the Payment Request API.

30 lines (20 loc) 1.1 kB
import { isDefined, isEmptyArray, isNotEmptyArray } from '@rnw-community/shared'; import { SupportedNetworkEnum } from '../enum/supported-networks.enum.js'; import { PLUGIN_DEFAULT_OPTIONS } from './plugin-default-options.constant.js'; const validSupportedNetworks: readonly string[] = Object.values(SupportedNetworkEnum); export const validateSupportedNetworks = ( supportedNetworks: SupportedNetworkEnum[] | undefined ): SupportedNetworkEnum[] => { if (!isDefined(supportedNetworks)) { return PLUGIN_DEFAULT_OPTIONS.supportedNetworks; } if (isEmptyArray(supportedNetworks)) { throw new Error('Please provide at least one "supportedNetworks" plugin option value'); } const invalidNetworks = supportedNetworks.filter(network => !validSupportedNetworks.includes(network)); if (isNotEmptyArray(invalidNetworks)) { const invalidNetworkList = invalidNetworks.map(network => `"${network}"`).join(', '); throw new Error(`Invalid "supportedNetworks" plugin option value(s): ${invalidNetworkList}`); } return supportedNetworks; };