UNPKG

@rnw-community/react-native-payments

Version:

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

30 lines 1.27 kB
import { NativeModules, Platform } from 'react-native'; import { isDefined } from '@rnw-community/shared'; const LINKING_ERROR = `The package 'react-native-payments' doesn't seem to be linked. Make sure: \n\n${Platform.select({ ios: "- You have run 'pod install'\n", default: '', })}- You rebuilt the app after installing the package\n- You are not using Expo Go\n`; const optionalNativeMethodNames = new Set([ 'addListener', 'removeListeners', 'retry', 'setActiveEvents', 'updatePaymentDetails', ]); // @ts-expect-error Temporary hack // eslint-disable-next-line no-underscore-dangle const isTurboModuleEnabled = isDefined(global.__turboModuleProxy); const PaymentsModule = isTurboModuleEnabled ? // eslint-disable-next-line @typescript-eslint/no-require-imports,@typescript-eslint/no-unsafe-member-access require('../../NativePayments').default : NativeModules.Payments; const PaymentsProxy = new Proxy({}, { get(_target, propertyName) { if (optionalNativeMethodNames.has(propertyName)) { return void 0; } throw new Error(LINKING_ERROR); }, }); export const NativePayments = isDefined(PaymentsModule) ? PaymentsModule : PaymentsProxy; //# sourceMappingURL=native-payments.js.map