@expensify/react-native-wallet 0.1.27 → 0.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/expensify/wallet/error/InvalidNetworkError.kt +1 -1
- package/lib/commonjs/index.js +15 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +15 -3
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +15 -3
package/lib/commonjs/index.js
CHANGED
|
@@ -30,8 +30,16 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
30
30
|
function getModuleLinkingRejection() {
|
|
31
31
|
return Promise.reject(new Error(`Failed to load Wallet module, make sure to link ${_NativeWallet.PACKAGE_NAME} correctly`));
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
let eventEmitter;
|
|
34
34
|
function addListener(event, callback) {
|
|
35
|
+
if (!_NativeWallet.default) {
|
|
36
|
+
// eslint-disable-next-line no-console
|
|
37
|
+
console.warn(`[${_NativeWallet.PACKAGE_NAME}] Wallet module is not linked, addListener has no effect`);
|
|
38
|
+
return {
|
|
39
|
+
remove: () => undefined
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
eventEmitter ??= new _reactNative.NativeEventEmitter(_NativeWallet.default);
|
|
35
43
|
return eventEmitter.addListener(event, callback);
|
|
36
44
|
}
|
|
37
45
|
function removeListener(subscription) {
|
|
@@ -122,13 +130,17 @@ async function addCardToAppleWallet(cardData, issuerEncryptPayloadCallback) {
|
|
|
122
130
|
if (_reactNative.Platform.OS === 'android') {
|
|
123
131
|
throw new Error('addCardToAppleWallet is not available on Android');
|
|
124
132
|
}
|
|
125
|
-
|
|
133
|
+
if (!_NativeWallet.default) {
|
|
134
|
+
return getModuleLinkingRejection();
|
|
135
|
+
}
|
|
136
|
+
const wallet = _NativeWallet.default;
|
|
137
|
+
const passData = await wallet.IOSPresentAddPaymentPassView(cardData);
|
|
126
138
|
if (!passData || passData.status !== 0) {
|
|
127
139
|
return (0, _utils.getTokenizationStatus)((passData === null || passData === void 0 ? void 0 : passData.status) || -1);
|
|
128
140
|
}
|
|
129
141
|
async function addPaymentPassToWallet(paymentPassData) {
|
|
130
142
|
const responseData = await issuerEncryptPayloadCallback(paymentPassData.nonce, paymentPassData.nonceSignature, paymentPassData.certificates);
|
|
131
|
-
const response = await
|
|
143
|
+
const response = await wallet.IOSHandleAddPaymentPassResponse(responseData);
|
|
132
144
|
// Response is null when a pass is successfully added to the wallet or the user cancels the process
|
|
133
145
|
// In case the user presses the `Try again` option, new pass data is returned, and it should reenter the function
|
|
134
146
|
if (response) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_NativeWallet","_interopRequireWildcard","_utils","_AddToWalletButton","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getModuleLinkingRejection","Promise","reject","Error","PACKAGE_NAME","eventEmitter","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_NativeWallet","_interopRequireWildcard","_utils","_AddToWalletButton","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getModuleLinkingRejection","Promise","reject","Error","PACKAGE_NAME","eventEmitter","addListener","event","callback","Wallet","console","warn","remove","undefined","NativeEventEmitter","removeListener","subscription","checkWalletAvailability","getSecureWalletInfo","Platform","OS","isWalletInitialized","ensureGoogleWalletInitialized","getCardStatusBySuffix","last4Digits","cardState","getCardState","getCardStatusByIdentifier","identifier","tsp","tokenState","toUpperCase","addCardToGoogleWallet","cardData","tokenizationStatus","getTokenizationStatus","resumeAddCardToGoogleWallet","listTokens","resolve","addCardToAppleWallet","issuerEncryptPayloadCallback","wallet","passData","IOSPresentAddPaymentPassView","status","addPaymentPassToWallet","paymentPassData","responseData","nonce","nonceSignature","certificates","response","IOSHandleAddPaymentPassResponse"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -6,8 +6,16 @@ import AddToWalletButton from './AddToWalletButton';
|
|
|
6
6
|
function getModuleLinkingRejection() {
|
|
7
7
|
return Promise.reject(new Error(`Failed to load Wallet module, make sure to link ${PACKAGE_NAME} correctly`));
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
let eventEmitter;
|
|
10
10
|
function addListener(event, callback) {
|
|
11
|
+
if (!Wallet) {
|
|
12
|
+
// eslint-disable-next-line no-console
|
|
13
|
+
console.warn(`[${PACKAGE_NAME}] Wallet module is not linked, addListener has no effect`);
|
|
14
|
+
return {
|
|
15
|
+
remove: () => undefined
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
eventEmitter ??= new NativeEventEmitter(Wallet);
|
|
11
19
|
return eventEmitter.addListener(event, callback);
|
|
12
20
|
}
|
|
13
21
|
function removeListener(subscription) {
|
|
@@ -98,13 +106,17 @@ async function addCardToAppleWallet(cardData, issuerEncryptPayloadCallback) {
|
|
|
98
106
|
if (Platform.OS === 'android') {
|
|
99
107
|
throw new Error('addCardToAppleWallet is not available on Android');
|
|
100
108
|
}
|
|
101
|
-
|
|
109
|
+
if (!Wallet) {
|
|
110
|
+
return getModuleLinkingRejection();
|
|
111
|
+
}
|
|
112
|
+
const wallet = Wallet;
|
|
113
|
+
const passData = await wallet.IOSPresentAddPaymentPassView(cardData);
|
|
102
114
|
if (!passData || passData.status !== 0) {
|
|
103
115
|
return getTokenizationStatus((passData === null || passData === void 0 ? void 0 : passData.status) || -1);
|
|
104
116
|
}
|
|
105
117
|
async function addPaymentPassToWallet(paymentPassData) {
|
|
106
118
|
const responseData = await issuerEncryptPayloadCallback(paymentPassData.nonce, paymentPassData.nonceSignature, paymentPassData.certificates);
|
|
107
|
-
const response = await
|
|
119
|
+
const response = await wallet.IOSHandleAddPaymentPassResponse(responseData);
|
|
108
120
|
// Response is null when a pass is successfully added to the wallet or the user cancels the process
|
|
109
121
|
// In case the user presses the `Try again` option, new pass data is returned, and it should reenter the function
|
|
110
122
|
if (response) {
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","Platform","Wallet","PACKAGE_NAME","getCardState","getTokenizationStatus","AddToWalletButton","getModuleLinkingRejection","Promise","reject","Error","eventEmitter","addListener","event","callback","
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","Platform","Wallet","PACKAGE_NAME","getCardState","getTokenizationStatus","AddToWalletButton","getModuleLinkingRejection","Promise","reject","Error","eventEmitter","addListener","event","callback","console","warn","remove","undefined","removeListener","subscription","checkWalletAvailability","getSecureWalletInfo","OS","isWalletInitialized","ensureGoogleWalletInitialized","getCardStatusBySuffix","last4Digits","cardState","getCardStatusByIdentifier","identifier","tsp","tokenState","toUpperCase","addCardToGoogleWallet","cardData","tokenizationStatus","resumeAddCardToGoogleWallet","listTokens","resolve","addCardToAppleWallet","issuerEncryptPayloadCallback","wallet","passData","IOSPresentAddPaymentPassView","status","addPaymentPassToWallet","paymentPassData","responseData","nonce","nonceSignature","certificates","response","IOSHandleAddPaymentPassResponse"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAEtD,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAQpD,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAEtD,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAQpD,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,GAAG,mBAAmB,CAQzG;AAED,iBAAS,cAAc,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAE/D;AAED,iBAAS,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC,CAKnD;AAED,iBAAe,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAc/D;AAED,iBAAe,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAO7E;AAED;;;;;GAKG;AACH,iBAAe,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAO7F;AAED,iBAAe,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAc3F;AAED,iBAAe,2BAA2B,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAcvG;AAED,iBAAe,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAahD;AAED,iBAAe,oBAAoB,CACjC,QAAQ,EAAE,WAAW,EACrB,4BAA4B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,iBAAiB,CAAC,GACzH,OAAO,CAAC,kBAAkB,CAAC,CA4B7B;AAED,YAAY,EAAC,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,SAAS,EAAC,CAAC;AAC3K,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,cAAc,GACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expensify/react-native-wallet",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.29",
|
|
4
4
|
"description": "A React Native module designed for seamless integration of Card Push Provisioning into Apple Wallet and Google Wallet, enabling easy and secure addition of payment cards directly from your application.",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
6
|
"main": "lib/commonjs/index",
|
package/src/index.tsx
CHANGED
|
@@ -21,9 +21,15 @@ function getModuleLinkingRejection() {
|
|
|
21
21
|
return Promise.reject(new Error(`Failed to load Wallet module, make sure to link ${PACKAGE_NAME} correctly`));
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
let eventEmitter: NativeEventEmitter | undefined;
|
|
25
25
|
|
|
26
26
|
function addListener(event: string, callback: (data: onCardActivatedPayload) => void): EmitterSubscription {
|
|
27
|
+
if (!Wallet) {
|
|
28
|
+
// eslint-disable-next-line no-console
|
|
29
|
+
console.warn(`[${PACKAGE_NAME}] Wallet module is not linked, addListener has no effect`);
|
|
30
|
+
return {remove: () => undefined} as EmitterSubscription;
|
|
31
|
+
}
|
|
32
|
+
eventEmitter ??= new NativeEventEmitter(Wallet);
|
|
27
33
|
return eventEmitter.addListener(event, callback);
|
|
28
34
|
}
|
|
29
35
|
|
|
@@ -133,14 +139,20 @@ async function addCardToAppleWallet(
|
|
|
133
139
|
throw new Error('addCardToAppleWallet is not available on Android');
|
|
134
140
|
}
|
|
135
141
|
|
|
136
|
-
|
|
142
|
+
if (!Wallet) {
|
|
143
|
+
return getModuleLinkingRejection();
|
|
144
|
+
}
|
|
145
|
+
const wallet = Wallet;
|
|
146
|
+
|
|
147
|
+
const passData = await wallet.IOSPresentAddPaymentPassView(cardData);
|
|
148
|
+
|
|
137
149
|
if (!passData || passData.status !== 0) {
|
|
138
150
|
return getTokenizationStatus(passData?.status || -1);
|
|
139
151
|
}
|
|
140
152
|
|
|
141
153
|
async function addPaymentPassToWallet(paymentPassData: IOSAddPaymentPassData): Promise<number> {
|
|
142
154
|
const responseData = await issuerEncryptPayloadCallback(paymentPassData.nonce, paymentPassData.nonceSignature, paymentPassData.certificates);
|
|
143
|
-
const response = await
|
|
155
|
+
const response = await wallet.IOSHandleAddPaymentPassResponse(responseData);
|
|
144
156
|
// Response is null when a pass is successfully added to the wallet or the user cancels the process
|
|
145
157
|
// In case the user presses the `Try again` option, new pass data is returned, and it should reenter the function
|
|
146
158
|
if (response) {
|