react-native-iap 14.3.2 → 14.3.3-rc.1

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.
Files changed (52) hide show
  1. package/lib/index.d.ts +8 -0
  2. package/lib/index.js +36 -0
  3. package/lib/module/helpers/subscription.js +2 -2
  4. package/lib/module/helpers/subscription.js.map +1 -1
  5. package/lib/module/hooks/useIAP.js +14 -8
  6. package/lib/module/hooks/useIAP.js.map +1 -1
  7. package/lib/module/index.js +76 -23
  8. package/lib/module/index.js.map +1 -1
  9. package/lib/module/types.js +90 -190
  10. package/lib/module/types.js.map +1 -1
  11. package/lib/module/utils/error.js +4 -4
  12. package/lib/module/utils/error.js.map +1 -1
  13. package/lib/module/utils/errorMapping.js +34 -10
  14. package/lib/module/utils/errorMapping.js.map +1 -1
  15. package/lib/module/utils/type-bridge.js +217 -173
  16. package/lib/module/utils/type-bridge.js.map +1 -1
  17. package/lib/specs/RnIap.nitro.d.ts +7 -0
  18. package/lib/specs/RnIap.nitro.js +1 -0
  19. package/lib/typescript/src/helpers/subscription.d.ts.map +1 -1
  20. package/lib/typescript/src/hooks/useIAP.d.ts +8 -11
  21. package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
  22. package/lib/typescript/src/index.d.ts +11 -10
  23. package/lib/typescript/src/index.d.ts.map +1 -1
  24. package/lib/typescript/src/specs/RnIap.nitro.d.ts +2 -2
  25. package/lib/typescript/src/types.d.ts +606 -518
  26. package/lib/typescript/src/types.d.ts.map +1 -1
  27. package/lib/typescript/src/utils/errorMapping.d.ts +2 -1
  28. package/lib/typescript/src/utils/errorMapping.d.ts.map +1 -1
  29. package/lib/typescript/src/utils/type-bridge.d.ts +13 -14
  30. package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -1
  31. package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +4 -4
  32. package/nitrogen/generated/android/c++/{JNitroAndroidReceiptValidationOptions.hpp → JNitroReceiptValidationAndroidOptions.hpp} +9 -9
  33. package/nitrogen/generated/android/c++/JNitroReceiptValidationParams.hpp +5 -5
  34. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/{NitroAndroidReceiptValidationOptions.kt → NitroReceiptValidationAndroidOptions.kt} +3 -3
  35. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationParams.kt +1 -1
  36. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +10 -10
  37. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +3 -3
  38. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +3 -3
  39. package/nitrogen/generated/ios/swift/{NitroAndroidReceiptValidationOptions.swift → NitroReceiptValidationAndroidOptions.swift} +5 -5
  40. package/nitrogen/generated/ios/swift/NitroReceiptValidationParams.swift +9 -9
  41. package/nitrogen/generated/shared/c++/{NitroAndroidReceiptValidationOptions.hpp → NitroReceiptValidationAndroidOptions.hpp} +10 -10
  42. package/nitrogen/generated/shared/c++/NitroReceiptValidationParams.hpp +8 -8
  43. package/package.json +1 -1
  44. package/plugin/tsconfig.tsbuildinfo +1 -1
  45. package/src/helpers/subscription.ts +8 -9
  46. package/src/hooks/useIAP.ts +52 -47
  47. package/src/index.ts +123 -35
  48. package/src/specs/RnIap.nitro.ts +2 -2
  49. package/src/types.ts +651 -616
  50. package/src/utils/error.ts +4 -4
  51. package/src/utils/errorMapping.ts +47 -19
  52. package/src/utils/type-bridge.ts +308 -204
@@ -3,206 +3,255 @@
3
3
  /**
4
4
  * Type Bridge Utilities
5
5
  *
6
- * This file provides conversion utilities between Nitro types (simple primitives)
7
- * and TypeScript union types (complex types.ts definitions).
8
- *
9
- * Purpose: Prevent type fragmentation between native (Nitro) and TypeScript sides
6
+ * Converts the loose Nitro shapes coming from native into the strongly typed
7
+ * structures that our generated TypeScript types expect.
10
8
  */
11
9
 
12
- import { PurchaseState, ProductTypeIOS } from "../types.js";
13
- import { Platform } from 'react-native';
14
-
15
- // ============================================================================
16
- // PRODUCT CONVERSION
17
- // ============================================================================
10
+ import { Platform as IapPlatform, PaymentModeIOS, ProductType, ProductTypeIOS, PurchaseState, SubscriptionPeriodIOS } from "../types.js";
11
+ const PLATFORM_IOS = 'ios';
12
+ const PRODUCT_TYPE_SUBS = 'subs';
13
+ const PURCHASE_STATE_DEFERRED = 'deferred';
14
+ const PURCHASE_STATE_FAILED = 'failed';
15
+ const PURCHASE_STATE_PENDING = 'pending';
16
+ const PURCHASE_STATE_PURCHASED = 'purchased';
17
+ const PURCHASE_STATE_RESTORED = 'restored';
18
+ const DEFAULT_JSON_REPR = '{}';
19
+ function normalizePlatform(value) {
20
+ return value?.toLowerCase() === PLATFORM_IOS ? IapPlatform.Ios : IapPlatform.Android;
21
+ }
22
+ function normalizeProductType(value) {
23
+ return value?.toLowerCase() === PRODUCT_TYPE_SUBS ? ProductType.Subs : ProductType.InApp;
24
+ }
25
+ function normalizeProductTypeIOS(value) {
26
+ switch ((value ?? '').toLowerCase()) {
27
+ case 'consumable':
28
+ return ProductTypeIOS.Consumable;
29
+ case 'nonconsumable':
30
+ case 'non_consumable':
31
+ case 'non-consumable':
32
+ return ProductTypeIOS.NonConsumable;
33
+ case 'autorenewablesubscription':
34
+ case 'auto_renewable_subscription':
35
+ case 'autorenewable':
36
+ return ProductTypeIOS.AutoRenewableSubscription;
37
+ case 'nonrenewingsubscription':
38
+ case 'non_renewing_subscription':
39
+ return ProductTypeIOS.NonRenewingSubscription;
40
+ default:
41
+ if (value) {
42
+ console.warn(`[react-native-iap] Unknown iOS product type "${value}", defaulting to NonConsumable.`);
43
+ }
44
+ return ProductTypeIOS.NonConsumable;
45
+ }
46
+ }
47
+ function normalizePaymentMode(value) {
48
+ switch ((value ?? '').toUpperCase()) {
49
+ case 'FREE_TRIAL':
50
+ case 'FREETRIAL':
51
+ return PaymentModeIOS.FreeTrial;
52
+ case 'PAY_AS_YOU_GO':
53
+ case 'PAYASYOUGO':
54
+ return PaymentModeIOS.PayAsYouGo;
55
+ case 'PAY_UP_FRONT':
56
+ case 'PAYUPFRONT':
57
+ return PaymentModeIOS.PayUpFront;
58
+ default:
59
+ return PaymentModeIOS.Empty;
60
+ }
61
+ }
62
+ function normalizeSubscriptionPeriod(value) {
63
+ switch ((value ?? '').toUpperCase()) {
64
+ case 'DAY':
65
+ return SubscriptionPeriodIOS.Day;
66
+ case 'WEEK':
67
+ return SubscriptionPeriodIOS.Week;
68
+ case 'MONTH':
69
+ return SubscriptionPeriodIOS.Month;
70
+ case 'YEAR':
71
+ return SubscriptionPeriodIOS.Year;
72
+ default:
73
+ return SubscriptionPeriodIOS.Empty;
74
+ }
75
+ }
76
+ function normalizePurchaseState(state) {
77
+ if (typeof state === 'string') {
78
+ switch (state.toLowerCase()) {
79
+ case PURCHASE_STATE_PURCHASED:
80
+ return PurchaseState.Purchased;
81
+ case PURCHASE_STATE_PENDING:
82
+ return PurchaseState.Pending;
83
+ case PURCHASE_STATE_FAILED:
84
+ return PurchaseState.Failed;
85
+ case PURCHASE_STATE_RESTORED:
86
+ return PurchaseState.Restored;
87
+ case PURCHASE_STATE_DEFERRED:
88
+ return PurchaseState.Deferred;
89
+ default:
90
+ return PurchaseState.Unknown;
91
+ }
92
+ }
93
+ if (typeof state === 'number') {
94
+ switch (state) {
95
+ case 1:
96
+ return PurchaseState.Purchased;
97
+ case 2:
98
+ return PurchaseState.Pending;
99
+ default:
100
+ return PurchaseState.Unknown;
101
+ }
102
+ }
103
+ return PurchaseState.Unknown;
104
+ }
105
+ function toNullableString(value) {
106
+ if (value == null) return null;
107
+ return String(value);
108
+ }
109
+ function toNullableNumber(value) {
110
+ if (value == null) return null;
111
+ const num = Number(value);
112
+ return Number.isFinite(num) ? num : null;
113
+ }
114
+ function toNullableBoolean(value) {
115
+ if (value == null) return null;
116
+ if (typeof value === 'boolean') return value;
117
+ if (typeof value === 'number') return value !== 0;
118
+ if (typeof value === 'string') return value.toLowerCase() === 'true';
119
+ return null;
120
+ }
121
+ function parseSubscriptionOffers(value) {
122
+ if (!value) return undefined;
123
+ try {
124
+ const parsed = JSON.parse(value);
125
+ if (Array.isArray(parsed)) {
126
+ return parsed;
127
+ }
128
+ } catch (error) {
129
+ console.warn('Failed to parse subscriptionOfferDetailsAndroid:', error);
130
+ }
131
+ return undefined;
132
+ }
18
133
 
19
134
  /**
20
- * Convert NitroProduct (from native) to TypeScript Product (for library consumers)
21
- * This ensures all fields are properly mapped and accessible
135
+ * Convert NitroProduct (from native) to generated Product type
22
136
  */
23
137
  export function convertNitroProductToProduct(nitroProduct) {
24
- // Create base product with common fields, handling platform casting
25
- const product = {
138
+ const platform = normalizePlatform(nitroProduct.platform);
139
+ const type = normalizeProductType(nitroProduct.type);
140
+ const base = {
26
141
  id: nitroProduct.id,
27
142
  title: nitroProduct.title,
28
143
  description: nitroProduct.description,
29
- type: nitroProduct.type,
30
- displayName: nitroProduct.displayName,
31
- displayPrice: nitroProduct.displayPrice || '',
32
- currency: nitroProduct.currency || '',
33
- price: nitroProduct.price,
34
- platform: nitroProduct.platform
144
+ type,
145
+ displayName: nitroProduct.displayName ?? null,
146
+ displayPrice: nitroProduct.displayPrice ?? '',
147
+ currency: nitroProduct.currency ?? '',
148
+ price: toNullableNumber(nitroProduct.price),
149
+ debugDescription: null,
150
+ platform
35
151
  };
36
-
37
- // Add platform-specific fields based on current platform
38
- if (Platform.OS === 'ios') {
39
- // Map iOS fields from Nitro to TypeScript types
40
- const iosProduct = product; // Temporarily cast to access iOS fields
41
- iosProduct.isFamilyShareable = nitroProduct.isFamilyShareableIOS;
42
- iosProduct.jsonRepresentation = nitroProduct.jsonRepresentationIOS;
43
- // Detailed iOS product type - directly from the native field
44
- const typeIOSValue = nitroProduct.typeIOS;
45
- switch (typeIOSValue) {
46
- case 'consumable':
47
- iosProduct.typeIOS = ProductTypeIOS.consumable;
48
- break;
49
- case 'nonConsumable':
50
- iosProduct.typeIOS = ProductTypeIOS.nonConsumable;
51
- break;
52
- case 'autoRenewableSubscription':
53
- iosProduct.typeIOS = ProductTypeIOS.autoRenewableSubscription;
54
- break;
55
- case 'nonRenewingSubscription':
56
- iosProduct.typeIOS = ProductTypeIOS.nonRenewingSubscription;
57
- break;
58
- default:
59
- iosProduct.typeIOS = undefined;
60
- }
61
- iosProduct.subscriptionPeriodUnitIOS = nitroProduct.subscriptionPeriodUnitIOS;
62
- iosProduct.subscriptionPeriodNumberIOS = nitroProduct.subscriptionPeriodNumberIOS;
63
- iosProduct.introductoryPriceIOS = nitroProduct.introductoryPriceIOS;
64
- iosProduct.introductoryPriceAsAmountIOS = nitroProduct.introductoryPriceAsAmountIOS;
65
- iosProduct.introductoryPricePaymentModeIOS = nitroProduct.introductoryPricePaymentModeIOS;
66
- iosProduct.introductoryPriceNumberOfPeriodsIOS = nitroProduct.introductoryPriceNumberOfPeriodsIOS;
67
- iosProduct.introductoryPriceSubscriptionPeriodIOS = nitroProduct.introductoryPriceSubscriptionPeriodIOS;
68
- } else if (Platform.OS === 'android') {
69
- // Map Android fields from Nitro to TypeScript types
70
- const androidProduct = product; // Temporarily cast to access Android fields
71
- androidProduct.originalPrice = nitroProduct.originalPriceAndroid;
72
- androidProduct.originalPriceAmountMicros = nitroProduct.originalPriceAmountMicrosAndroid;
73
- androidProduct.introductoryPriceValue = nitroProduct.introductoryPriceValueAndroid;
74
- androidProduct.introductoryPriceCycles = nitroProduct.introductoryPriceCyclesAndroid;
75
- androidProduct.introductoryPricePeriod = nitroProduct.introductoryPricePeriodAndroid;
76
- androidProduct.subscriptionPeriod = nitroProduct.subscriptionPeriodAndroid;
77
- androidProduct.freeTrialPeriod = nitroProduct.freeTrialPeriodAndroid;
78
-
79
- // Map subscription offer details (parse from JSON string)
80
- if (nitroProduct.subscriptionOfferDetailsAndroid) {
81
- try {
82
- androidProduct.subscriptionOfferDetailsAndroid = JSON.parse(nitroProduct.subscriptionOfferDetailsAndroid);
83
- } catch (e) {
84
- console.warn('Failed to parse subscription offer details:', e);
85
- androidProduct.subscriptionOfferDetailsAndroid = null;
86
- }
152
+ if (platform === IapPlatform.Ios) {
153
+ const iosProduct = {
154
+ ...base,
155
+ displayNameIOS: nitroProduct.displayName ?? nitroProduct.title,
156
+ isFamilyShareableIOS: Boolean(nitroProduct.isFamilyShareableIOS ?? false),
157
+ jsonRepresentationIOS: nitroProduct.jsonRepresentationIOS ?? DEFAULT_JSON_REPR,
158
+ typeIOS: normalizeProductTypeIOS(nitroProduct.typeIOS),
159
+ subscriptionInfoIOS: undefined
160
+ };
161
+ iosProduct.introductoryPriceAsAmountIOS = toNullableString(nitroProduct.introductoryPriceAsAmountIOS);
162
+ iosProduct.introductoryPriceIOS = toNullableString(nitroProduct.introductoryPriceIOS);
163
+ iosProduct.introductoryPriceNumberOfPeriodsIOS = toNullableString(nitroProduct.introductoryPriceNumberOfPeriodsIOS);
164
+ iosProduct.introductoryPricePaymentModeIOS = normalizePaymentMode(nitroProduct.introductoryPricePaymentModeIOS);
165
+ iosProduct.introductoryPriceSubscriptionPeriodIOS = normalizeSubscriptionPeriod(nitroProduct.introductoryPriceSubscriptionPeriodIOS);
166
+ iosProduct.subscriptionPeriodNumberIOS = toNullableString(nitroProduct.subscriptionPeriodNumberIOS);
167
+ iosProduct.subscriptionPeriodUnitIOS = normalizeSubscriptionPeriod(nitroProduct.subscriptionPeriodUnitIOS);
168
+ return iosProduct;
169
+ }
170
+ const androidProduct = {
171
+ ...base,
172
+ nameAndroid: nitroProduct.nameAndroid ?? nitroProduct.title,
173
+ oneTimePurchaseOfferDetailsAndroid: nitroProduct.oneTimePurchaseOfferDetailsAndroid,
174
+ subscriptionOfferDetailsAndroid: parseSubscriptionOffers(nitroProduct.subscriptionOfferDetailsAndroid)
175
+ };
176
+ if (type === ProductType.Subs) {
177
+ if (!Array.isArray(androidProduct.subscriptionOfferDetailsAndroid)) {
178
+ androidProduct.subscriptionOfferDetailsAndroid = [];
87
179
  }
88
-
89
- // Create flattened offer fields for easier access in example code
90
- androidProduct.oneTimePurchaseOfferFormattedPrice = nitroProduct.displayPrice;
91
- androidProduct.oneTimePurchaseOfferPriceAmountMicros = nitroProduct.originalPriceAmountMicrosAndroid;
92
- androidProduct.oneTimePurchaseOfferPriceCurrencyCode = nitroProduct.currency;
93
180
  }
94
- return product;
181
+ return androidProduct;
95
182
  }
96
183
 
97
- // Note: Use nitroProducts.map(convertNitroProductToProduct) instead of a separate function
98
-
99
184
  /**
100
- * Convert Product to SubscriptionProduct (type-safe casting)
185
+ * Convert Product to ProductSubscription (type-safe casting helper)
101
186
  */
102
- export function convertProductToSubscriptionProduct(product) {
103
- if (product.type !== 'subs') {
104
- console.warn('Converting non-subscription product to SubscriptionProduct:', product.id);
187
+ export function convertProductToProductSubscription(product) {
188
+ if (product.type !== ProductType.Subs) {
189
+ console.warn('Converting non-subscription product to ProductSubscription:', product.id);
105
190
  }
106
- // Since SubscriptionProduct is now an intersection type, we need to cast properly
107
- return {
108
- ...product,
109
- type: 'subs'
191
+ const output = {
192
+ ...product
110
193
  };
194
+ if (output.platform === IapPlatform.Android) {
195
+ if (!Array.isArray(output.subscriptionOfferDetailsAndroid)) {
196
+ output.subscriptionOfferDetailsAndroid = [];
197
+ }
198
+ }
199
+ return output;
111
200
  }
112
201
 
113
- // ============================================================================
114
- // PURCHASE CONVERSION
115
- // ============================================================================
116
-
117
202
  /**
118
- * Convert NitroPurchase (from native) to TypeScript Purchase (for library consumers)
203
+ * Convert NitroPurchase (from native) to generated Purchase type
119
204
  */
120
205
  export function convertNitroPurchaseToPurchase(nitroPurchase) {
121
- // Create base purchase with common fields
206
+ const platform = normalizePlatform(nitroPurchase.platform);
122
207
  const purchase = {
123
208
  id: nitroPurchase.id,
124
209
  productId: nitroPurchase.productId,
125
- transactionDate: nitroPurchase.transactionDate,
126
- // Unified token (iOS JWS, Android purchaseToken)
127
- purchaseToken: nitroPurchase.purchaseToken,
128
- platform: nitroPurchase.platform,
129
- // Common fields from NitroPurchase
130
- quantity: nitroPurchase.quantity || 1,
131
- purchaseState: nitroPurchase.purchaseState || PurchaseState.unknown,
132
- isAutoRenewing: nitroPurchase.isAutoRenewing || false
210
+ transactionDate: nitroPurchase.transactionDate ?? Date.now(),
211
+ purchaseToken: nitroPurchase.purchaseToken ?? nitroPurchase.purchaseTokenAndroid ?? null,
212
+ platform,
213
+ quantity: nitroPurchase.quantity ?? 1,
214
+ purchaseState: normalizePurchaseState(nitroPurchase.purchaseState ?? nitroPurchase.purchaseStateAndroid),
215
+ isAutoRenewing: Boolean(nitroPurchase.isAutoRenewing)
133
216
  };
134
-
135
- // Add platform-specific fields
136
- if (Platform.OS === 'ios') {
217
+ if (purchase.purchaseState === PurchaseState.Unknown && nitroPurchase.purchaseStateAndroid != null) {
218
+ purchase.purchaseState = normalizePurchaseState(nitroPurchase.purchaseStateAndroid);
219
+ }
220
+ if (platform === IapPlatform.Ios) {
137
221
  const iosPurchase = purchase;
138
- iosPurchase.quantityIOS = nitroPurchase.quantityIOS;
139
- iosPurchase.originalTransactionDateIOS = nitroPurchase.originalTransactionDateIOS;
140
- iosPurchase.originalTransactionIdentifierIOS = nitroPurchase.originalTransactionIdentifierIOS;
141
- iosPurchase.appAccountToken = nitroPurchase.appAccountToken;
142
- // Fill common quantity from iOS-specific quantity when available
143
- if (typeof nitroPurchase.quantityIOS === 'number') {
144
- purchase.quantity = nitroPurchase.quantityIOS;
145
- }
146
- } else if (Platform.OS === 'android') {
147
- const androidPurchase = purchase;
148
- androidPurchase.purchaseTokenAndroid = nitroPurchase.purchaseTokenAndroid;
149
- androidPurchase.dataAndroid = nitroPurchase.dataAndroid;
150
- androidPurchase.signatureAndroid = nitroPurchase.signatureAndroid;
151
- // Support both old and new field names for backward compatibility
152
- androidPurchase.autoRenewingAndroid = nitroPurchase.autoRenewingAndroid ?? nitroPurchase.isAutoRenewing;
153
- // no longer surface purchaseStateAndroid on TS side
154
- androidPurchase.isAcknowledgedAndroid = nitroPurchase.isAcknowledgedAndroid;
155
- androidPurchase.packageNameAndroid = nitroPurchase.packageNameAndroid;
156
- androidPurchase.obfuscatedAccountIdAndroid = nitroPurchase.obfuscatedAccountIdAndroid;
157
- androidPurchase.obfuscatedProfileIdAndroid = nitroPurchase.obfuscatedProfileIdAndroid;
158
-
159
- // Use the common isAutoRenewing field from NitroPurchase
160
- purchase.isAutoRenewing = nitroPurchase.isAutoRenewing;
161
-
162
- // Map numeric Android purchase state to common PurchaseState
163
- switch (nitroPurchase.purchaseStateAndroid) {
164
- case 1:
165
- purchase.purchaseState = PurchaseState.purchased;
166
- break;
167
- case 2:
168
- purchase.purchaseState = PurchaseState.pending;
169
- break;
170
- case 0:
171
- default:
172
- purchase.purchaseState = PurchaseState.unknown;
173
- break;
174
- }
222
+ iosPurchase.quantityIOS = toNullableNumber(nitroPurchase.quantityIOS);
223
+ iosPurchase.originalTransactionDateIOS = toNullableNumber(nitroPurchase.originalTransactionDateIOS);
224
+ iosPurchase.originalTransactionIdentifierIOS = toNullableString(nitroPurchase.originalTransactionIdentifierIOS);
225
+ iosPurchase.appAccountToken = toNullableString(nitroPurchase.appAccountToken);
226
+ return iosPurchase;
175
227
  }
176
- return purchase;
228
+ const androidPurchase = purchase;
229
+ androidPurchase.autoRenewingAndroid = toNullableBoolean(nitroPurchase.autoRenewingAndroid ?? nitroPurchase.isAutoRenewing);
230
+ androidPurchase.dataAndroid = toNullableString(nitroPurchase.dataAndroid);
231
+ androidPurchase.signatureAndroid = toNullableString(nitroPurchase.signatureAndroid);
232
+ androidPurchase.isAcknowledgedAndroid = toNullableBoolean(nitroPurchase.isAcknowledgedAndroid);
233
+ androidPurchase.packageNameAndroid = toNullableString(nitroPurchase.packageNameAndroid);
234
+ androidPurchase.obfuscatedAccountIdAndroid = toNullableString(nitroPurchase.obfuscatedAccountIdAndroid);
235
+ androidPurchase.obfuscatedProfileIdAndroid = toNullableString(nitroPurchase.obfuscatedProfileIdAndroid);
236
+ return androidPurchase;
177
237
  }
178
238
 
179
- // Note: Use nitroPurchases.map(convertNitroPurchaseToPurchase) instead of a separate function
180
-
181
- // ============================================================================
182
- // SUBSCRIPTION STATUS CONVERSION (iOS)
183
- // ============================================================================
184
-
239
+ /**
240
+ * Convert Nitro subscription status (iOS) to generated type
241
+ */
185
242
  export function convertNitroSubscriptionStatusToSubscriptionStatusIOS(nitro) {
186
243
  return {
187
- state: nitro.state,
188
- platform: 'ios',
244
+ state: String(nitro.state ?? ''),
189
245
  renewalInfo: nitro.renewalInfo ? {
190
- autoRenewStatus: nitro.renewalInfo.autoRenewStatus,
191
- autoRenewPreference: nitro.renewalInfo.autoRenewPreference,
192
- expirationReason: nitro.renewalInfo.expirationReason,
193
- gracePeriodExpirationDate: nitro.renewalInfo.gracePeriodExpirationDate,
194
- currentProductID: nitro.renewalInfo.currentProductID,
195
- platform: 'ios'
246
+ autoRenewPreference: toNullableString(nitro.renewalInfo.autoRenewPreference),
247
+ jsonRepresentation: JSON.stringify(nitro.renewalInfo),
248
+ willAutoRenew: Boolean(nitro.renewalInfo.autoRenewStatus)
196
249
  } : undefined
197
250
  };
198
251
  }
199
252
 
200
- // ============================================================================
201
- // TYPE VALIDATION
202
- // ============================================================================
203
-
204
253
  /**
205
- * Validate that a NitroProduct has all required fields for conversion
254
+ * Validate that a NitroProduct has the expected shape
206
255
  */
207
256
  export function validateNitroProduct(nitroProduct) {
208
257
  if (!nitroProduct || typeof nitroProduct !== 'object') {
@@ -219,7 +268,7 @@ export function validateNitroProduct(nitroProduct) {
219
268
  }
220
269
 
221
270
  /**
222
- * Validate that a NitroPurchase has all required fields for conversion
271
+ * Validate that a NitroPurchase has the expected shape
223
272
  */
224
273
  export function validateNitroPurchase(nitroPurchase) {
225
274
  if (!nitroPurchase || typeof nitroPurchase !== 'object') {
@@ -235,33 +284,28 @@ export function validateNitroPurchase(nitroPurchase) {
235
284
  return true;
236
285
  }
237
286
 
238
- // ============================================================================
239
- // TYPE SYNCHRONIZATION HELPERS
240
- // ============================================================================
241
-
242
287
  /**
243
- * Check if Nitro types and TypeScript types are synchronized
244
- * This function can be run in development to detect type mismatches
288
+ * Development helper to check that type conversions stay valid
245
289
  */
246
290
  export function checkTypeSynchronization() {
247
291
  const issues = [];
248
292
  try {
249
- // Simple test: can we convert between types?
250
293
  const testNitroProduct = {
251
294
  id: 'test',
252
295
  title: 'Test',
253
- description: 'Test',
296
+ description: 'Test product',
254
297
  type: 'inapp',
255
- platform: 'ios',
298
+ platform: PLATFORM_IOS,
256
299
  displayPrice: '$1.00',
257
- currency: 'USD'
300
+ currency: 'USD',
301
+ price: 1
258
302
  };
259
303
  const converted = convertNitroProductToProduct(testNitroProduct);
260
304
  if (!converted.id || !converted.title) {
261
305
  issues.push('Type conversion failed');
262
306
  }
263
307
  } catch (error) {
264
- issues.push(`Type conversion error: ${error}`);
308
+ issues.push(`Type conversion error: ${String(error)}`);
265
309
  }
266
310
  return {
267
311
  isSync: issues.length === 0,
@@ -1 +1 @@
1
- {"version":3,"names":["PurchaseState","ProductTypeIOS","Platform","convertNitroProductToProduct","nitroProduct","product","id","title","description","type","displayName","displayPrice","currency","price","platform","OS","iosProduct","isFamilyShareable","isFamilyShareableIOS","jsonRepresentation","jsonRepresentationIOS","typeIOSValue","typeIOS","consumable","nonConsumable","autoRenewableSubscription","nonRenewingSubscription","undefined","subscriptionPeriodUnitIOS","subscriptionPeriodNumberIOS","introductoryPriceIOS","introductoryPriceAsAmountIOS","introductoryPricePaymentModeIOS","introductoryPriceNumberOfPeriodsIOS","introductoryPriceSubscriptionPeriodIOS","androidProduct","originalPrice","originalPriceAndroid","originalPriceAmountMicros","originalPriceAmountMicrosAndroid","introductoryPriceValue","introductoryPriceValueAndroid","introductoryPriceCycles","introductoryPriceCyclesAndroid","introductoryPricePeriod","introductoryPricePeriodAndroid","subscriptionPeriod","subscriptionPeriodAndroid","freeTrialPeriod","freeTrialPeriodAndroid","subscriptionOfferDetailsAndroid","JSON","parse","e","console","warn","oneTimePurchaseOfferFormattedPrice","oneTimePurchaseOfferPriceAmountMicros","oneTimePurchaseOfferPriceCurrencyCode","convertProductToSubscriptionProduct","convertNitroPurchaseToPurchase","nitroPurchase","purchase","productId","transactionDate","purchaseToken","quantity","purchaseState","unknown","isAutoRenewing","iosPurchase","quantityIOS","originalTransactionDateIOS","originalTransactionIdentifierIOS","appAccountToken","androidPurchase","purchaseTokenAndroid","dataAndroid","signatureAndroid","autoRenewingAndroid","isAcknowledgedAndroid","packageNameAndroid","obfuscatedAccountIdAndroid","obfuscatedProfileIdAndroid","purchaseStateAndroid","purchased","pending","convertNitroSubscriptionStatusToSubscriptionStatusIOS","nitro","state","renewalInfo","autoRenewStatus","autoRenewPreference","expirationReason","gracePeriodExpirationDate","currentProductID","validateNitroProduct","required","field","error","validateNitroPurchase","checkTypeSynchronization","issues","testNitroProduct","converted","push","isSync","length"],"sourceRoot":"../../../src","sources":["utils/type-bridge.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","IapPlatform","PaymentModeIOS","ProductType","ProductTypeIOS","PurchaseState","SubscriptionPeriodIOS","PLATFORM_IOS","PRODUCT_TYPE_SUBS","PURCHASE_STATE_DEFERRED","PURCHASE_STATE_FAILED","PURCHASE_STATE_PENDING","PURCHASE_STATE_PURCHASED","PURCHASE_STATE_RESTORED","DEFAULT_JSON_REPR","normalizePlatform","value","toLowerCase","Ios","Android","normalizeProductType","Subs","InApp","normalizeProductTypeIOS","Consumable","NonConsumable","AutoRenewableSubscription","NonRenewingSubscription","console","warn","normalizePaymentMode","toUpperCase","FreeTrial","PayAsYouGo","PayUpFront","Empty","normalizeSubscriptionPeriod","Day","Week","Month","Year","normalizePurchaseState","state","Purchased","Pending","Failed","Restored","Deferred","Unknown","toNullableString","String","toNullableNumber","num","Number","isFinite","toNullableBoolean","parseSubscriptionOffers","undefined","parsed","JSON","parse","Array","isArray","error","convertNitroProductToProduct","nitroProduct","platform","type","base","id","title","description","displayName","displayPrice","currency","price","debugDescription","iosProduct","displayNameIOS","isFamilyShareableIOS","Boolean","jsonRepresentationIOS","typeIOS","subscriptionInfoIOS","introductoryPriceAsAmountIOS","introductoryPriceIOS","introductoryPriceNumberOfPeriodsIOS","introductoryPricePaymentModeIOS","introductoryPriceSubscriptionPeriodIOS","subscriptionPeriodNumberIOS","subscriptionPeriodUnitIOS","androidProduct","nameAndroid","oneTimePurchaseOfferDetailsAndroid","subscriptionOfferDetailsAndroid","convertProductToProductSubscription","product","output","convertNitroPurchaseToPurchase","nitroPurchase","purchase","productId","transactionDate","Date","now","purchaseToken","purchaseTokenAndroid","quantity","purchaseState","purchaseStateAndroid","isAutoRenewing","iosPurchase","quantityIOS","originalTransactionDateIOS","originalTransactionIdentifierIOS","appAccountToken","androidPurchase","autoRenewingAndroid","dataAndroid","signatureAndroid","isAcknowledgedAndroid","packageNameAndroid","obfuscatedAccountIdAndroid","obfuscatedProfileIdAndroid","convertNitroSubscriptionStatusToSubscriptionStatusIOS","nitro","renewalInfo","autoRenewPreference","jsonRepresentation","stringify","willAutoRenew","autoRenewStatus","validateNitroProduct","required","field","validateNitroPurchase","checkTypeSynchronization","issues","testNitroProduct","converted","push","isSync","length"],"sourceRoot":"../../../src","sources":["utils/type-bridge.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { HybridObject } from 'react-native-nitro-modules';
2
+ export interface RnIap extends HybridObject<{
3
+ ios: 'swift';
4
+ android: 'kotlin';
5
+ }> {
6
+ toString(): string;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../../src/helpers/subscription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAA+B,MAAM,UAAU,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,kBAAkB,MAAM,EAAE,KACzB,OAAO,CAAC,kBAAkB,EAAE,CAgD9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,kBAAkB,MAAM,EAAE,KACzB,OAAO,CAAC,OAAO,CAQjB,CAAC"}
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../../src/helpers/subscription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,kBAAkB,EAA+B,MAAM,UAAU,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,kBAAkB,MAAM,EAAE,KACzB,OAAO,CAAC,kBAAkB,EAAE,CA+C9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,kBAAkB,MAAM,EAAE,KACzB,OAAO,CAAC,OAAO,CAQjB,CAAC"}
@@ -1,10 +1,13 @@
1
- import type { Product, Purchase, PurchaseError, PurchaseResult, SubscriptionProduct, RequestPurchaseProps, RequestSubscriptionProps, ActiveSubscription } from '../types';
1
+ import { ProductQueryType } from '../types';
2
+ import type { ActiveSubscription, Product, Purchase, PurchaseError, ProductSubscription, PurchaseParams } from '../types';
3
+ import type { FinishTransactionParams } from '../';
4
+ import type { NitroPurchaseResult } from '../specs/RnIap.nitro';
2
5
  type UseIap = {
3
6
  connected: boolean;
4
7
  products: Product[];
5
8
  promotedProductsIOS: Purchase[];
6
9
  promotedProductIdIOS?: string;
7
- subscriptions: SubscriptionProduct[];
10
+ subscriptions: ProductSubscription[];
8
11
  availablePurchases: Purchase[];
9
12
  currentPurchase?: Purchase;
10
13
  currentPurchaseError?: PurchaseError;
@@ -12,14 +15,11 @@ type UseIap = {
12
15
  activeSubscriptions: ActiveSubscription[];
13
16
  clearCurrentPurchase: () => void;
14
17
  clearCurrentPurchaseError: () => void;
15
- finishTransaction: ({ purchase, isConsumable, }: {
16
- purchase: Purchase;
17
- isConsumable?: boolean;
18
- }) => Promise<PurchaseResult | boolean>;
18
+ finishTransaction: ({ purchase, isConsumable, }: FinishTransactionParams) => Promise<NitroPurchaseResult | boolean>;
19
19
  getAvailablePurchases: (skus?: string[]) => Promise<void>;
20
20
  fetchProducts: (params: {
21
21
  skus: string[];
22
- type?: 'inapp' | 'subs';
22
+ type?: ProductQueryType | null;
23
23
  }) => Promise<void>;
24
24
  /**
25
25
  * @deprecated Use fetchProducts({ skus, type: 'inapp' }) instead. This method will be removed in version 3.0.0.
@@ -31,10 +31,7 @@ type UseIap = {
31
31
  * Note: This method internally uses fetchProducts, so no deprecation warning is shown.
32
32
  */
33
33
  getSubscriptions: (skus: string[]) => Promise<void>;
34
- requestPurchase: (params: {
35
- request: RequestPurchaseProps | RequestSubscriptionProps;
36
- type?: 'inapp' | 'subs';
37
- }) => Promise<any>;
34
+ requestPurchase: (params: PurchaseParams) => Promise<any>;
38
35
  validateReceipt: (sku: string, androidOptions?: {
39
36
  packageName: string;
40
37
  productToken: string;
@@ -1 +1 @@
1
- {"version":3,"file":"useIAP.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useIAP.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useIAP.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useIAP.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAC,gBAAgB,EAAY,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EACV,kBAAkB,EAClB,OAAO,EACP,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,KAAK,CAAC;AACjD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAQ9D,KAAK,MAAM,GAAG;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,mBAAmB,EAAE,QAAQ,EAAE,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,kBAAkB,EAAE,QAAQ,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,iBAAiB,EAAE,CAAC,EAClB,QAAQ,EACR,YAAY,GACb,EAAE,uBAAuB,KAAK,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,CAAC;IACtE,qBAAqB,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,aAAa,EAAE,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;KAChC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB;;;OAGG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C;;;OAGG;IACH,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,eAAe,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1D,eAAe,EAAE,CACf,GAAG,EAAE,MAAM,EACX,cAAc,CAAC,EAAE;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,KACE,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,qBAAqB,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACrD,mCAAmC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,sBAAsB,EAAE,CACtB,eAAe,CAAC,EAAE,MAAM,EAAE,KACvB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACnC,sBAAsB,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACrC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACnD;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CA6WtD"}