Skip to content

Commit 7443c04

Browse files
committed
chore(example): enhance typings
1 parent 69b2e18 commit 7443c04

File tree

7 files changed

+14
-18
lines changed

7 files changed

+14
-18
lines changed

example-expo/app/available-purchases.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -435,8 +435,7 @@ export default function AvailablePurchases() {
435435
>
436436
{(() => {
437437
if (!selectedPurchase) return '';
438-
const {purchaseToken, transactionReceipt, ...safe} =
439-
(selectedPurchase || {}) as any;
438+
const {purchaseToken, ...safe} = selectedPurchase || {};
440439
return JSON.stringify(safe, null, 2);
441440
})()}
442441
</Text>
@@ -454,8 +453,7 @@ export default function AvailablePurchases() {
454453
style={[styles.button, {flex: 1}]}
455454
onPress={() => {
456455
if (!selectedPurchase) return;
457-
const {purchaseToken, transactionReceipt, ...safe} =
458-
(selectedPurchase || {}) as any;
456+
const {purchaseToken, ...safe} = selectedPurchase || {};
459457
Clipboard.setString(JSON.stringify(safe, null, 2));
460458
Alert.alert('Copied', 'Purchase JSON copied to clipboard');
461459
}}

example-expo/app/purchase-flow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ function PurchaseFlowContainer() {
509509
getAvailablePurchases,
510510
} = useIAP({
511511
onPurchaseSuccess: async (purchase: Purchase) => {
512-
const {purchaseToken: tokenToMask, ...rest} = purchase as any;
512+
const {purchaseToken: tokenToMask, ...rest} = purchase;
513513
const masked = {
514514
...rest,
515515
...(tokenToMask ? {purchaseToken: 'hidden'} : {}),

example-expo/app/subscription-flow.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {
2323
type ProductSubscription,
2424
type Purchase,
2525
type PurchaseError,
26+
ErrorCode,
2627
} from 'react-native-iap';
2728
import Loading from '../components/Loading';
2829
import {SUBSCRIPTION_PRODUCT_IDS} from '../constants/products';
@@ -567,8 +568,7 @@ function SubscriptionFlowContainer() {
567568
getActiveSubscriptions,
568569
} = useIAP({
569570
onPurchaseSuccess: async (purchase: Purchase) => {
570-
const {purchaseToken, transactionReceipt, ...safePurchase} =
571-
(purchase as any) || {};
571+
const {purchaseToken, ...safePurchase} = purchase || {};
572572
console.log('Purchase successful (redacted):', safePurchase);
573573
lastSuccessAtRef.current = Date.now();
574574
setLastPurchase(purchase);
@@ -630,7 +630,7 @@ function SubscriptionFlowContainer() {
630630
console.error('Subscription failed:', error);
631631
setIsProcessing(false);
632632
const dt = Date.now() - lastSuccessAtRef.current;
633-
if ((error as any)?.code === 'E_SERVICE_ERROR' && dt >= 0 && dt < 1500) {
633+
if (error?.code === ErrorCode.ServiceError && dt >= 0 && dt < 1500) {
634634
return;
635635
}
636636

example/__tests__/screens/PurchaseFlow.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ describe('PurchaseFlow Screen', () => {
9999
const {getAllByText} = render(<PurchaseFlow />);
100100

101101
const purchaseButtons = getAllByText('Purchase');
102-
fireEvent.press(purchaseButtons[0]);
102+
fireEvent.press(purchaseButtons[0]!);
103103

104104
expect(requestPurchaseMock).toHaveBeenCalledWith({
105105
request: {
@@ -123,7 +123,7 @@ describe('PurchaseFlow Screen', () => {
123123
const {getByText} = render(<PurchaseFlow />);
124124

125125
const refreshButton = getByText('Refresh available purchases');
126-
fireEvent.press(refreshButton);
126+
fireEvent.press(refreshButton!);
127127

128128
await waitFor(() => {
129129
expect(getAvailablePurchases).toHaveBeenCalledTimes(2);

example/screens/AvailablePurchases.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -431,8 +431,7 @@ export default function AvailablePurchases() {
431431
>
432432
{(() => {
433433
if (!selectedPurchase) return '';
434-
const {purchaseToken, transactionReceipt, ...safe} =
435-
(selectedPurchase || {}) as any;
434+
const {purchaseToken, ...safe} = selectedPurchase || {};
436435
return JSON.stringify(safe, null, 2);
437436
})()}
438437
</Text>
@@ -450,8 +449,7 @@ export default function AvailablePurchases() {
450449
style={[styles.button, {flex: 1}]}
451450
onPress={() => {
452451
if (!selectedPurchase) return;
453-
const {purchaseToken, transactionReceipt, ...safe} =
454-
(selectedPurchase || {}) as any;
452+
const {purchaseToken, ...safe} = selectedPurchase || {};
455453
Clipboard.setString(JSON.stringify(safe, null, 2));
456454
Alert.alert('Copied', 'Purchase JSON copied to clipboard');
457455
}}

example/screens/PurchaseFlow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,7 @@ function PurchaseFlowContainer() {
505505
getAvailablePurchases,
506506
} = useIAP({
507507
onPurchaseSuccess: async (purchase: Purchase) => {
508-
const {purchaseToken: tokenToMask, ...rest} = purchase as any;
508+
const {purchaseToken: tokenToMask, ...rest} = purchase;
509509
const masked = {
510510
...rest,
511511
...(tokenToMask ? {purchaseToken: 'hidden'} : {}),

example/screens/SubscriptionFlow.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import {
1919
type ProductSubscription,
2020
type Purchase,
2121
type PurchaseError,
22+
ErrorCode,
2223
} from 'react-native-iap';
2324
import Loading from '../src/components/Loading';
2425
import {SUBSCRIPTION_PRODUCT_IDS} from '../src/utils/constants';
@@ -563,8 +564,7 @@ function SubscriptionFlowContainer() {
563564
getActiveSubscriptions,
564565
} = useIAP({
565566
onPurchaseSuccess: async (purchase: Purchase) => {
566-
const {purchaseToken, transactionReceipt, ...safePurchase} =
567-
(purchase as any) || {};
567+
const {purchaseToken, ...safePurchase} = purchase || {};
568568
console.log('Purchase successful (redacted):', safePurchase);
569569
lastSuccessAtRef.current = Date.now();
570570
setLastPurchase(purchase);
@@ -626,7 +626,7 @@ function SubscriptionFlowContainer() {
626626
console.error('Subscription failed:', error);
627627
setIsProcessing(false);
628628
const dt = Date.now() - lastSuccessAtRef.current;
629-
if ((error as any)?.code === 'E_SERVICE_ERROR' && dt >= 0 && dt < 1500) {
629+
if (error?.code === ErrorCode.ServiceError && dt >= 0 && dt < 1500) {
630630
return;
631631
}
632632

0 commit comments

Comments
 (0)