UNPKG

@nialldbarber/react-native-wallet-manager

Version:

Provides some Apple Wallet functionality for IOS and Google Wallet for Android.

47 lines (46 loc) 1.97 kB
import { NativeModules, Platform, Linking } from 'react-native'; const { WalletManager } = NativeModules; export default { canAddPasses: async () => { return await WalletManager.canAddPasses(); }, showAddPassControllerFromFile: async (filePath) => { if (Platform.OS === 'android') { throw new Error('showAddPassControllerFromFile method not available on Android'); } return WalletManager.showAddPassControllerFromFile(filePath); }, addPassToGoogleWallet: async (jwt) => { if (Platform.OS === 'ios') { throw new Error('addPassToGoogleWallet method not available on IOS'); } return await WalletManager.addPassToGoogleWallet(jwt); }, addPass: async (base64) => { if (Platform.OS === 'android') { throw new Error('addPass method not available on Android'); } return await WalletManager.addPass(base64); }, addPassFromUrl: Platform.OS === 'ios' ? WalletManager.addPassFromUrl : (url) => Linking.openURL(url), hasPass: async (cardIdentifier, serialNumber) => { if (Platform.OS === 'android') { throw new Error('hasPass method not available on Android'); } return await WalletManager.hasPass(cardIdentifier, serialNumber != null ? serialNumber : null); }, removePass: async (cardIdentifier, serialNumber) => { if (Platform.OS === 'android') { throw new Error('removePass method not available on Android'); } return await WalletManager.removePass(cardIdentifier, serialNumber != null ? serialNumber : null); }, viewInWallet: async (cardIdentifier, serialNumber) => { if (Platform.OS === 'android') { throw new Error('viewInWallet method not available on Android'); } return await WalletManager.viewInWallet(cardIdentifier, serialNumber != null ? serialNumber : null); }, };