@nialldbarber/react-native-wallet-manager
Version:
Provides some Apple Wallet functionality for IOS and Google Wallet for Android.
53 lines (47 loc) • 1.84 kB
JavaScript
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);
}
};
//# sourceMappingURL=index.js.map