@revenuecat/purchases-capacitor 6.0.0-beta.1 → 6.0.0

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/dist/esm/web.js CHANGED
@@ -1,177 +1,260 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
2
  import { WebPlugin } from '@capacitor/core';
3
+ import { REFUND_REQUEST_STATUS } from '@revenuecat/purchases-typescript-internal-esm';
3
4
  export class PurchasesWeb extends WebPlugin {
4
5
  constructor() {
5
6
  super(...arguments);
7
+ this.shouldMockWebResults = false;
6
8
  this.webNotSupportedErrorMessage = 'Web not supported in this plugin.';
9
+ // Mock helpers
10
+ this.mockEmptyCustomerInfo = {
11
+ entitlements: { all: {}, active: {} },
12
+ activeSubscriptions: [],
13
+ allPurchasedProductIdentifiers: [],
14
+ latestExpirationDate: null,
15
+ firstSeen: '2023-08-31T15:11:21.445Z',
16
+ originalAppUserId: 'mock-web-user-id',
17
+ requestDate: '2023-08-31T15:11:21.445Z',
18
+ allExpirationDates: {},
19
+ allPurchaseDates: {},
20
+ originalApplicationVersion: null,
21
+ originalPurchaseDate: null,
22
+ managementURL: null,
23
+ nonSubscriptionTransactions: [],
24
+ };
7
25
  }
8
26
  configure(_configuration) {
9
- return Promise.reject(this.webNotSupportedErrorMessage);
27
+ return this.mockNonReturningFunctionIfEnabled('configure');
28
+ }
29
+ setMockWebResults(options) {
30
+ this.shouldMockWebResults = options.shouldMockWebResults;
31
+ return Promise.resolve();
10
32
  }
11
33
  setFinishTransactions(_finishTransactions) {
12
- return Promise.reject(this.webNotSupportedErrorMessage);
34
+ return this.mockNonReturningFunctionIfEnabled('setFinishTransactions');
13
35
  }
14
36
  setSimulatesAskToBuyInSandbox(_simulatesAskToBuyInSandbox) {
15
- return Promise.reject(this.webNotSupportedErrorMessage);
37
+ return this.mockNonReturningFunctionIfEnabled('setSimulatesAskToBuyInSandbox');
16
38
  }
17
39
  addCustomerInfoUpdateListener(_customerInfoUpdateListener) {
18
- return Promise.reject(this.webNotSupportedErrorMessage);
40
+ return this.mockReturningFunctionIfEnabled('addCustomerInfoUpdateListener', 'mock-callback-id');
19
41
  }
20
42
  removeCustomerInfoUpdateListener(_listenerToRemove) {
21
- return Promise.reject(this.webNotSupportedErrorMessage);
43
+ return this.mockReturningFunctionIfEnabled('removeCustomerInfoUpdateListener', { wasRemoved: false });
22
44
  }
23
45
  addShouldPurchasePromoProductListener(_shouldPurchasePromoProductListener) {
24
- return Promise.reject(this.webNotSupportedErrorMessage);
46
+ return this.mockReturningFunctionIfEnabled('addShouldPurchasePromoProductListener', 'mock-callback-id');
25
47
  }
26
48
  removeShouldPurchasePromoProductListener(_listenerToRemove) {
27
- return Promise.reject(this.webNotSupportedErrorMessage);
49
+ return this.mockReturningFunctionIfEnabled('removeShouldPurchasePromoProductListener', { wasRemoved: false });
28
50
  }
29
51
  getOfferings() {
30
- return Promise.reject(this.webNotSupportedErrorMessage);
52
+ const mockOfferings = {
53
+ all: {},
54
+ current: null,
55
+ };
56
+ return this.mockReturningFunctionIfEnabled('getOfferings', mockOfferings);
31
57
  }
32
58
  getProducts(_options) {
33
- return Promise.reject(this.webNotSupportedErrorMessage);
59
+ const mockProducts = { products: [] };
60
+ return this.mockReturningFunctionIfEnabled('getProducts', mockProducts);
34
61
  }
35
62
  purchaseStoreProduct(_options) {
36
- return Promise.reject(this.webNotSupportedErrorMessage);
63
+ const mockPurchaseResult = {
64
+ productIdentifier: _options.product.identifier,
65
+ customerInfo: this.mockEmptyCustomerInfo,
66
+ };
67
+ return this.mockReturningFunctionIfEnabled('purchaseStoreProduct', mockPurchaseResult);
37
68
  }
38
69
  purchaseDiscountedProduct(_options) {
39
- return Promise.reject(this.webNotSupportedErrorMessage);
70
+ const mockPurchaseResult = {
71
+ productIdentifier: _options.product.identifier,
72
+ customerInfo: this.mockEmptyCustomerInfo,
73
+ };
74
+ return this.mockReturningFunctionIfEnabled('purchaseDiscountedProduct', mockPurchaseResult);
40
75
  }
41
76
  purchasePackage(_options) {
42
- return Promise.reject(this.webNotSupportedErrorMessage);
77
+ const mockPurchaseResult = {
78
+ productIdentifier: _options.aPackage.product.identifier,
79
+ customerInfo: this.mockEmptyCustomerInfo,
80
+ };
81
+ return this.mockReturningFunctionIfEnabled('purchasePackage', mockPurchaseResult);
43
82
  }
44
83
  purchaseSubscriptionOption(_options) {
45
- return Promise.reject(this.webNotSupportedErrorMessage);
84
+ const mockPurchaseResult = {
85
+ productIdentifier: _options.subscriptionOption.productId,
86
+ customerInfo: this.mockEmptyCustomerInfo,
87
+ };
88
+ return this.mockReturningFunctionIfEnabled('purchaseSubscriptionOption', mockPurchaseResult);
46
89
  }
47
90
  purchaseDiscountedPackage(_options) {
48
- return Promise.reject(this.webNotSupportedErrorMessage);
91
+ const mockPurchaseResult = {
92
+ productIdentifier: _options.aPackage.product.identifier,
93
+ customerInfo: this.mockEmptyCustomerInfo,
94
+ };
95
+ return this.mockReturningFunctionIfEnabled('purchaseDiscountedPackage', mockPurchaseResult);
49
96
  }
50
97
  restorePurchases() {
51
- return Promise.reject(this.webNotSupportedErrorMessage);
98
+ const mockResponse = { customerInfo: this.mockEmptyCustomerInfo };
99
+ return this.mockReturningFunctionIfEnabled('restorePurchases', mockResponse);
52
100
  }
53
101
  getAppUserID() {
54
- return Promise.reject(this.webNotSupportedErrorMessage);
102
+ return this.mockReturningFunctionIfEnabled('getAppUserID', {
103
+ appUserID: 'test-web-user-id',
104
+ });
55
105
  }
56
106
  logIn(_appUserID) {
57
- return Promise.reject(this.webNotSupportedErrorMessage);
107
+ const mockLogInResult = {
108
+ customerInfo: this.mockEmptyCustomerInfo,
109
+ created: false,
110
+ };
111
+ return this.mockReturningFunctionIfEnabled('logIn', mockLogInResult);
58
112
  }
59
113
  logOut() {
60
- return Promise.reject(this.webNotSupportedErrorMessage);
114
+ const mockResponse = { customerInfo: this.mockEmptyCustomerInfo };
115
+ return this.mockReturningFunctionIfEnabled('logOut', mockResponse);
61
116
  }
62
117
  setLogLevel(_level) {
63
- return Promise.reject(this.webNotSupportedErrorMessage);
118
+ return this.mockNonReturningFunctionIfEnabled('setLogLevel');
64
119
  }
65
120
  setLogHandler(_logHandler) {
66
- return Promise.reject(this.webNotSupportedErrorMessage);
121
+ return this.mockNonReturningFunctionIfEnabled('setLogHandler');
67
122
  }
68
123
  getCustomerInfo() {
69
- return Promise.reject(this.webNotSupportedErrorMessage);
124
+ const mockResponse = { customerInfo: this.mockEmptyCustomerInfo };
125
+ return this.mockReturningFunctionIfEnabled('getCustomerInfo', mockResponse);
70
126
  }
71
127
  syncPurchases() {
72
- return Promise.reject(this.webNotSupportedErrorMessage);
128
+ return this.mockNonReturningFunctionIfEnabled('syncPurchases');
73
129
  }
74
130
  syncObserverModeAmazonPurchase(_options) {
75
- return Promise.reject(this.webNotSupportedErrorMessage);
131
+ return this.mockNonReturningFunctionIfEnabled('syncObserverModeAmazonPurchase');
76
132
  }
77
133
  enableAdServicesAttributionTokenCollection() {
78
- return Promise.reject(this.webNotSupportedErrorMessage);
134
+ return this.mockNonReturningFunctionIfEnabled('enableAdServicesAttributionTokenCollection');
79
135
  }
80
136
  isAnonymous() {
81
- return Promise.reject(this.webNotSupportedErrorMessage);
137
+ const mockResponse = { isAnonymous: false };
138
+ return this.mockReturningFunctionIfEnabled('isAnonymous', mockResponse);
82
139
  }
83
140
  checkTrialOrIntroductoryPriceEligibility(_productIdentifiers) {
84
- return Promise.reject(this.webNotSupportedErrorMessage);
141
+ return this.mockReturningFunctionIfEnabled('checkTrialOrIntroductoryPriceEligibility', {});
85
142
  }
86
143
  getPromotionalOffer(_options) {
87
- return Promise.reject(this.webNotSupportedErrorMessage);
144
+ return this.mockReturningFunctionIfEnabled('getPromotionalOffer', undefined);
88
145
  }
89
146
  invalidateCustomerInfoCache() {
90
- return Promise.reject(this.webNotSupportedErrorMessage);
147
+ return this.mockNonReturningFunctionIfEnabled('invalidateCustomerInfoCache');
91
148
  }
92
149
  presentCodeRedemptionSheet() {
93
- return Promise.reject(this.webNotSupportedErrorMessage);
150
+ return this.mockNonReturningFunctionIfEnabled('presentCodeRedemptionSheet');
94
151
  }
95
152
  setAttributes(_attributes) {
96
- return Promise.reject(this.webNotSupportedErrorMessage);
153
+ return this.mockNonReturningFunctionIfEnabled('setAttributes');
97
154
  }
98
155
  setEmail(_email) {
99
- return Promise.reject(this.webNotSupportedErrorMessage);
156
+ return this.mockNonReturningFunctionIfEnabled('setEmail');
100
157
  }
101
158
  setPhoneNumber(_phoneNumber) {
102
- return Promise.reject(this.webNotSupportedErrorMessage);
159
+ return this.mockNonReturningFunctionIfEnabled('setPhoneNumber');
103
160
  }
104
161
  setDisplayName(_displayName) {
105
- return Promise.reject(this.webNotSupportedErrorMessage);
162
+ return this.mockNonReturningFunctionIfEnabled('setDisplayName');
106
163
  }
107
164
  setPushToken(_pushToken) {
108
- return Promise.reject(this.webNotSupportedErrorMessage);
165
+ return this.mockNonReturningFunctionIfEnabled('setPushToken');
109
166
  }
110
167
  setProxyURL(_url) {
111
- return Promise.reject(this.webNotSupportedErrorMessage);
168
+ return this.mockNonReturningFunctionIfEnabled('setProxyURL');
112
169
  }
113
170
  collectDeviceIdentifiers() {
114
- return Promise.reject(this.webNotSupportedErrorMessage);
171
+ return this.mockNonReturningFunctionIfEnabled('collectDeviceIdentifiers');
115
172
  }
116
173
  setAdjustID(_adjustID) {
117
- return Promise.reject(this.webNotSupportedErrorMessage);
174
+ return this.mockNonReturningFunctionIfEnabled('setAdjustID');
118
175
  }
119
176
  setAppsflyerID(_appsflyerID) {
120
- return Promise.reject(this.webNotSupportedErrorMessage);
177
+ return this.mockNonReturningFunctionIfEnabled('setAppsflyerID');
121
178
  }
122
179
  setFBAnonymousID(_fbAnonymousID) {
123
- return Promise.reject(this.webNotSupportedErrorMessage);
180
+ return this.mockNonReturningFunctionIfEnabled('setFBAnonymousID');
124
181
  }
125
182
  setMparticleID(_mparticleID) {
126
- return Promise.reject(this.webNotSupportedErrorMessage);
183
+ return this.mockNonReturningFunctionIfEnabled('setMparticleID');
127
184
  }
128
185
  setCleverTapID(_cleverTapID) {
129
- return Promise.reject(this.webNotSupportedErrorMessage);
186
+ return this.mockNonReturningFunctionIfEnabled('setCleverTapID');
130
187
  }
131
188
  setMixpanelDistinctID(_mixpanelDistinctID) {
132
- return Promise.reject(this.webNotSupportedErrorMessage);
189
+ return this.mockNonReturningFunctionIfEnabled('setMixpanelDistinctID');
133
190
  }
134
191
  setFirebaseAppInstanceID(_firebaseAppInstanceID) {
135
- return Promise.reject(this.webNotSupportedErrorMessage);
192
+ return this.mockNonReturningFunctionIfEnabled('setFirebaseAppInstanceID');
136
193
  }
137
194
  setOnesignalID(_onesignalID) {
138
- return Promise.reject(this.webNotSupportedErrorMessage);
195
+ return this.mockNonReturningFunctionIfEnabled('setOnesignalID');
139
196
  }
140
197
  setAirshipChannelID(_airshipChannelID) {
141
- return Promise.reject(this.webNotSupportedErrorMessage);
198
+ return this.mockNonReturningFunctionIfEnabled('setAirshipChannelID');
142
199
  }
143
200
  setMediaSource(_mediaSource) {
144
- return Promise.reject(this.webNotSupportedErrorMessage);
201
+ return this.mockNonReturningFunctionIfEnabled('setMediaSource');
145
202
  }
146
203
  setCampaign(_campaign) {
147
- return Promise.reject(this.webNotSupportedErrorMessage);
204
+ return this.mockNonReturningFunctionIfEnabled('setCampaign');
148
205
  }
149
206
  setAdGroup(_adGroup) {
150
- return Promise.reject(this.webNotSupportedErrorMessage);
207
+ return this.mockNonReturningFunctionIfEnabled('setAdGroup');
151
208
  }
152
209
  setAd(_ad) {
153
- return Promise.reject(this.webNotSupportedErrorMessage);
210
+ return this.mockNonReturningFunctionIfEnabled('setAd');
154
211
  }
155
212
  setKeyword(_keyword) {
156
- return Promise.reject(this.webNotSupportedErrorMessage);
213
+ return this.mockNonReturningFunctionIfEnabled('setKeyword');
157
214
  }
158
215
  setCreative(_creative) {
159
- return Promise.reject(this.webNotSupportedErrorMessage);
216
+ return this.mockNonReturningFunctionIfEnabled('setCreative');
160
217
  }
161
218
  canMakePayments(_features) {
162
- return Promise.reject(this.webNotSupportedErrorMessage);
219
+ return this.mockReturningFunctionIfEnabled('canMakePayments', {
220
+ canMakePayments: true,
221
+ });
163
222
  }
164
223
  beginRefundRequestForActiveEntitlement() {
165
- return Promise.reject(this.webNotSupportedErrorMessage);
224
+ const mockResult = {
225
+ refundRequestStatus: REFUND_REQUEST_STATUS.USER_CANCELLED,
226
+ };
227
+ return this.mockReturningFunctionIfEnabled('beginRefundRequestForActiveEntitlement', mockResult);
166
228
  }
167
229
  beginRefundRequestForEntitlement(_entitlementInfo) {
168
- return Promise.reject(this.webNotSupportedErrorMessage);
230
+ const mockResult = {
231
+ refundRequestStatus: REFUND_REQUEST_STATUS.USER_CANCELLED,
232
+ };
233
+ return this.mockReturningFunctionIfEnabled('beginRefundRequestForEntitlement', mockResult);
169
234
  }
170
235
  beginRefundRequestForProduct(_storeProduct) {
171
- return Promise.reject(this.webNotSupportedErrorMessage);
236
+ const mockResult = {
237
+ refundRequestStatus: REFUND_REQUEST_STATUS.USER_CANCELLED,
238
+ };
239
+ return this.mockReturningFunctionIfEnabled('beginRefundRequestForProduct', mockResult);
172
240
  }
173
241
  isConfigured() {
174
- return Promise.reject(this.webNotSupportedErrorMessage);
242
+ const mockResult = { isConfigured: true };
243
+ return this.mockReturningFunctionIfEnabled('isConfigured', mockResult);
244
+ }
245
+ mockNonReturningFunctionIfEnabled(functionName) {
246
+ if (!this.shouldMockWebResults) {
247
+ return Promise.reject(this.webNotSupportedErrorMessage);
248
+ }
249
+ console.log(`${functionName} called on web with mocking enabled. No-op`);
250
+ return Promise.resolve();
251
+ }
252
+ mockReturningFunctionIfEnabled(functionName, returnValue) {
253
+ if (!this.shouldMockWebResults) {
254
+ return Promise.reject(this.webNotSupportedErrorMessage);
255
+ }
256
+ console.log(`${functionName} called on web with mocking enabled. Returning mocked value`);
257
+ return Promise.resolve(returnValue);
175
258
  }
176
259
  }
177
260
  //# sourceMappingURL=web.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { WebPlugin } from '@capacitor/core';\nimport type {\n BILLING_FEATURE,\n CustomerInfo,\n CustomerInfoUpdateListener,\n IntroEligibility,\n LOG_LEVEL,\n LogHandler,\n LogInResult,\n MakePurchaseResult,\n PurchasesConfiguration,\n PurchasesEntitlementInfo,\n PurchasesOfferings,\n PurchasesPromotionalOffer,\n PurchasesStoreProduct,\n REFUND_REQUEST_STATUS,\n ShouldPurchasePromoProductListener,\n} from '@revenuecat/purchases-typescript-internal';\n\nimport type {\n GetProductOptions,\n GetPromotionalOfferOptions,\n PurchaseDiscountedPackageOptions,\n PurchaseDiscountedProductOptions,\n PurchasePackageOptions,\n PurchasesPlugin,\n PurchaseStoreProductOptions,\n PurchaseSubscriptionOptionOptions,\n SyncObserverModeAmazonPurchaseOptions,\n} from './definitions';\n\nexport class PurchasesWeb extends WebPlugin implements PurchasesPlugin {\n private webNotSupportedErrorMessage = 'Web not supported in this plugin.';\n\n configure(_configuration: PurchasesConfiguration): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setFinishTransactions(_finishTransactions: {\n finishTransactions: boolean;\n }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setSimulatesAskToBuyInSandbox(_simulatesAskToBuyInSandbox: {\n simulatesAskToBuyInSandbox: boolean;\n }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n addCustomerInfoUpdateListener(\n _customerInfoUpdateListener: CustomerInfoUpdateListener,\n ): Promise<string> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n removeCustomerInfoUpdateListener(\n _listenerToRemove: string,\n ): Promise<{ wasRemoved: boolean }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n addShouldPurchasePromoProductListener(\n _shouldPurchasePromoProductListener: ShouldPurchasePromoProductListener,\n ): Promise<string> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n removeShouldPurchasePromoProductListener(\n _listenerToRemove: string,\n ): Promise<{ wasRemoved: boolean }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n getOfferings(): Promise<PurchasesOfferings> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n getProducts(\n _options: GetProductOptions,\n ): Promise<{ products: PurchasesStoreProduct[] }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n purchaseStoreProduct(\n _options: PurchaseStoreProductOptions,\n ): Promise<MakePurchaseResult> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n purchaseDiscountedProduct(\n _options: PurchaseDiscountedProductOptions,\n ): Promise<MakePurchaseResult> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n purchasePackage(\n _options: PurchasePackageOptions,\n ): Promise<MakePurchaseResult> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n purchaseSubscriptionOption(\n _options: PurchaseSubscriptionOptionOptions,\n ): Promise<MakePurchaseResult> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n purchaseDiscountedPackage(\n _options: PurchaseDiscountedPackageOptions,\n ): Promise<MakePurchaseResult> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n restorePurchases(): Promise<{ customerInfo: CustomerInfo }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n getAppUserID(): Promise<{ appUserID: string }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n logIn(_appUserID: { appUserID: string }): Promise<LogInResult> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n logOut(): Promise<{ customerInfo: CustomerInfo }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setLogLevel(_level: { level: LOG_LEVEL }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setLogHandler(_logHandler: LogHandler): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n getCustomerInfo(): Promise<{ customerInfo: CustomerInfo }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n syncPurchases(): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n syncObserverModeAmazonPurchase(\n _options: SyncObserverModeAmazonPurchaseOptions,\n ): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n enableAdServicesAttributionTokenCollection(): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n isAnonymous(): Promise<{ isAnonymous: boolean }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n checkTrialOrIntroductoryPriceEligibility(_productIdentifiers: {\n productIdentifiers: string[];\n }): Promise<{ [productId: string]: IntroEligibility }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n getPromotionalOffer(\n _options: GetPromotionalOfferOptions,\n ): Promise<PurchasesPromotionalOffer | undefined> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n invalidateCustomerInfoCache(): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n presentCodeRedemptionSheet(): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setAttributes(_attributes: { [key: string]: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setEmail(_email: { email: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setPhoneNumber(_phoneNumber: { phoneNumber: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setDisplayName(_displayName: { displayName: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setPushToken(_pushToken: { pushToken: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setProxyURL(_url: { url: string }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n collectDeviceIdentifiers(): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setAdjustID(_adjustID: { adjustID: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setAppsflyerID(_appsflyerID: { appsflyerID: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setFBAnonymousID(_fbAnonymousID: {\n fbAnonymousID: string | null;\n }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setMparticleID(_mparticleID: { mparticleID: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setCleverTapID(_cleverTapID: { cleverTapID: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setMixpanelDistinctID(_mixpanelDistinctID: {\n mixpanelDistinctID: string | null;\n }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setFirebaseAppInstanceID(_firebaseAppInstanceID: {\n firebaseAppInstanceID: string | null;\n }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setOnesignalID(_onesignalID: { onesignalID: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setAirshipChannelID(_airshipChannelID: {\n airshipChannelID: string | null;\n }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setMediaSource(_mediaSource: { mediaSource: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setCampaign(_campaign: { campaign: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setAdGroup(_adGroup: { adGroup: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setAd(_ad: { ad: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setKeyword(_keyword: { keyword: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n setCreative(_creative: { creative: string | null }): Promise<void> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n canMakePayments(_features?: {\n features?: BILLING_FEATURE[];\n }): Promise<{ canMakePayments: boolean }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n beginRefundRequestForActiveEntitlement(): Promise<{\n refundRequestStatus: REFUND_REQUEST_STATUS;\n }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n beginRefundRequestForEntitlement(_entitlementInfo: {\n entitlementInfo: PurchasesEntitlementInfo;\n }): Promise<{ refundRequestStatus: REFUND_REQUEST_STATUS }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n beginRefundRequestForProduct(_storeProduct: {\n storeProduct: PurchasesStoreProduct;\n }): Promise<{ refundRequestStatus: REFUND_REQUEST_STATUS }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n isConfigured(): Promise<{ isConfigured: boolean }> {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n}\n"]}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { WebPlugin } from '@capacitor/core';\nimport type {\n BILLING_FEATURE,\n CustomerInfo,\n CustomerInfoUpdateListener,\n IntroEligibility,\n LOG_LEVEL,\n LogHandler,\n LogInResult,\n MakePurchaseResult,\n PurchasesConfiguration,\n PurchasesEntitlementInfo,\n PurchasesOfferings,\n PurchasesPromotionalOffer,\n PurchasesStoreProduct,\n ShouldPurchasePromoProductListener,\n} from '@revenuecat/purchases-typescript-internal-esm';\nimport { REFUND_REQUEST_STATUS } from '@revenuecat/purchases-typescript-internal-esm';\n\nimport type {\n GetProductOptions,\n GetPromotionalOfferOptions,\n PurchaseDiscountedPackageOptions,\n PurchaseDiscountedProductOptions,\n PurchasePackageOptions,\n PurchasesPlugin,\n PurchaseStoreProductOptions,\n PurchaseSubscriptionOptionOptions,\n SyncObserverModeAmazonPurchaseOptions,\n} from './definitions';\n\nexport class PurchasesWeb extends WebPlugin implements PurchasesPlugin {\n private shouldMockWebResults = false;\n private webNotSupportedErrorMessage = 'Web not supported in this plugin.';\n\n configure(_configuration: PurchasesConfiguration): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('configure');\n }\n\n setMockWebResults(options: { shouldMockWebResults: boolean }): Promise<void> {\n this.shouldMockWebResults = options.shouldMockWebResults;\n return Promise.resolve();\n }\n\n setFinishTransactions(_finishTransactions: {\n finishTransactions: boolean;\n }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setFinishTransactions');\n }\n setSimulatesAskToBuyInSandbox(_simulatesAskToBuyInSandbox: {\n simulatesAskToBuyInSandbox: boolean;\n }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled(\n 'setSimulatesAskToBuyInSandbox',\n );\n }\n addCustomerInfoUpdateListener(\n _customerInfoUpdateListener: CustomerInfoUpdateListener,\n ): Promise<string> {\n return this.mockReturningFunctionIfEnabled(\n 'addCustomerInfoUpdateListener',\n 'mock-callback-id',\n );\n }\n removeCustomerInfoUpdateListener(\n _listenerToRemove: string,\n ): Promise<{ wasRemoved: boolean }> {\n return this.mockReturningFunctionIfEnabled(\n 'removeCustomerInfoUpdateListener',\n { wasRemoved: false },\n );\n }\n addShouldPurchasePromoProductListener(\n _shouldPurchasePromoProductListener: ShouldPurchasePromoProductListener,\n ): Promise<string> {\n return this.mockReturningFunctionIfEnabled(\n 'addShouldPurchasePromoProductListener',\n 'mock-callback-id',\n );\n }\n removeShouldPurchasePromoProductListener(\n _listenerToRemove: string,\n ): Promise<{ wasRemoved: boolean }> {\n return this.mockReturningFunctionIfEnabled(\n 'removeShouldPurchasePromoProductListener',\n { wasRemoved: false },\n );\n }\n getOfferings(): Promise<PurchasesOfferings> {\n const mockOfferings: PurchasesOfferings = {\n all: {},\n current: null,\n };\n return this.mockReturningFunctionIfEnabled('getOfferings', mockOfferings);\n }\n getProducts(\n _options: GetProductOptions,\n ): Promise<{ products: PurchasesStoreProduct[] }> {\n const mockProducts = { products: [] };\n return this.mockReturningFunctionIfEnabled('getProducts', mockProducts);\n }\n purchaseStoreProduct(\n _options: PurchaseStoreProductOptions,\n ): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.product.identifier,\n customerInfo: this.mockEmptyCustomerInfo,\n };\n return this.mockReturningFunctionIfEnabled(\n 'purchaseStoreProduct',\n mockPurchaseResult,\n );\n }\n purchaseDiscountedProduct(\n _options: PurchaseDiscountedProductOptions,\n ): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.product.identifier,\n customerInfo: this.mockEmptyCustomerInfo,\n };\n return this.mockReturningFunctionIfEnabled(\n 'purchaseDiscountedProduct',\n mockPurchaseResult,\n );\n }\n purchasePackage(\n _options: PurchasePackageOptions,\n ): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.aPackage.product.identifier,\n customerInfo: this.mockEmptyCustomerInfo,\n };\n return this.mockReturningFunctionIfEnabled(\n 'purchasePackage',\n mockPurchaseResult,\n );\n }\n purchaseSubscriptionOption(\n _options: PurchaseSubscriptionOptionOptions,\n ): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.subscriptionOption.productId,\n customerInfo: this.mockEmptyCustomerInfo,\n };\n return this.mockReturningFunctionIfEnabled(\n 'purchaseSubscriptionOption',\n mockPurchaseResult,\n );\n }\n purchaseDiscountedPackage(\n _options: PurchaseDiscountedPackageOptions,\n ): Promise<MakePurchaseResult> {\n const mockPurchaseResult: MakePurchaseResult = {\n productIdentifier: _options.aPackage.product.identifier,\n customerInfo: this.mockEmptyCustomerInfo,\n };\n return this.mockReturningFunctionIfEnabled(\n 'purchaseDiscountedPackage',\n mockPurchaseResult,\n );\n }\n restorePurchases(): Promise<{ customerInfo: CustomerInfo }> {\n const mockResponse = { customerInfo: this.mockEmptyCustomerInfo };\n return this.mockReturningFunctionIfEnabled(\n 'restorePurchases',\n mockResponse,\n );\n }\n getAppUserID(): Promise<{ appUserID: string }> {\n return this.mockReturningFunctionIfEnabled('getAppUserID', {\n appUserID: 'test-web-user-id',\n });\n }\n logIn(_appUserID: { appUserID: string }): Promise<LogInResult> {\n const mockLogInResult: LogInResult = {\n customerInfo: this.mockEmptyCustomerInfo,\n created: false,\n };\n return this.mockReturningFunctionIfEnabled('logIn', mockLogInResult);\n }\n logOut(): Promise<{ customerInfo: CustomerInfo }> {\n const mockResponse = { customerInfo: this.mockEmptyCustomerInfo };\n return this.mockReturningFunctionIfEnabled('logOut', mockResponse);\n }\n setLogLevel(_level: { level: LOG_LEVEL }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setLogLevel');\n }\n setLogHandler(_logHandler: LogHandler): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setLogHandler');\n }\n getCustomerInfo(): Promise<{ customerInfo: CustomerInfo }> {\n const mockResponse = { customerInfo: this.mockEmptyCustomerInfo };\n return this.mockReturningFunctionIfEnabled('getCustomerInfo', mockResponse);\n }\n syncPurchases(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('syncPurchases');\n }\n syncObserverModeAmazonPurchase(\n _options: SyncObserverModeAmazonPurchaseOptions,\n ): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled(\n 'syncObserverModeAmazonPurchase',\n );\n }\n enableAdServicesAttributionTokenCollection(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled(\n 'enableAdServicesAttributionTokenCollection',\n );\n }\n isAnonymous(): Promise<{ isAnonymous: boolean }> {\n const mockResponse = { isAnonymous: false };\n return this.mockReturningFunctionIfEnabled('isAnonymous', mockResponse);\n }\n checkTrialOrIntroductoryPriceEligibility(_productIdentifiers: {\n productIdentifiers: string[];\n }): Promise<{ [productId: string]: IntroEligibility }> {\n return this.mockReturningFunctionIfEnabled(\n 'checkTrialOrIntroductoryPriceEligibility',\n {},\n );\n }\n getPromotionalOffer(\n _options: GetPromotionalOfferOptions,\n ): Promise<PurchasesPromotionalOffer | undefined> {\n return this.mockReturningFunctionIfEnabled(\n 'getPromotionalOffer',\n undefined,\n );\n }\n invalidateCustomerInfoCache(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled(\n 'invalidateCustomerInfoCache',\n );\n }\n presentCodeRedemptionSheet(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('presentCodeRedemptionSheet');\n }\n setAttributes(_attributes: { [key: string]: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAttributes');\n }\n setEmail(_email: { email: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setEmail');\n }\n setPhoneNumber(_phoneNumber: { phoneNumber: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setPhoneNumber');\n }\n setDisplayName(_displayName: { displayName: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setDisplayName');\n }\n setPushToken(_pushToken: { pushToken: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setPushToken');\n }\n setProxyURL(_url: { url: string }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setProxyURL');\n }\n collectDeviceIdentifiers(): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('collectDeviceIdentifiers');\n }\n setAdjustID(_adjustID: { adjustID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAdjustID');\n }\n setAppsflyerID(_appsflyerID: { appsflyerID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAppsflyerID');\n }\n setFBAnonymousID(_fbAnonymousID: {\n fbAnonymousID: string | null;\n }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setFBAnonymousID');\n }\n setMparticleID(_mparticleID: { mparticleID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setMparticleID');\n }\n setCleverTapID(_cleverTapID: { cleverTapID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setCleverTapID');\n }\n setMixpanelDistinctID(_mixpanelDistinctID: {\n mixpanelDistinctID: string | null;\n }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setMixpanelDistinctID');\n }\n setFirebaseAppInstanceID(_firebaseAppInstanceID: {\n firebaseAppInstanceID: string | null;\n }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setFirebaseAppInstanceID');\n }\n setOnesignalID(_onesignalID: { onesignalID: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setOnesignalID');\n }\n setAirshipChannelID(_airshipChannelID: {\n airshipChannelID: string | null;\n }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAirshipChannelID');\n }\n setMediaSource(_mediaSource: { mediaSource: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setMediaSource');\n }\n setCampaign(_campaign: { campaign: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setCampaign');\n }\n setAdGroup(_adGroup: { adGroup: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAdGroup');\n }\n setAd(_ad: { ad: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setAd');\n }\n setKeyword(_keyword: { keyword: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setKeyword');\n }\n setCreative(_creative: { creative: string | null }): Promise<void> {\n return this.mockNonReturningFunctionIfEnabled('setCreative');\n }\n canMakePayments(_features?: {\n features?: BILLING_FEATURE[];\n }): Promise<{ canMakePayments: boolean }> {\n return this.mockReturningFunctionIfEnabled('canMakePayments', {\n canMakePayments: true,\n });\n }\n beginRefundRequestForActiveEntitlement(): Promise<{\n refundRequestStatus: REFUND_REQUEST_STATUS;\n }> {\n const mockResult = {\n refundRequestStatus: REFUND_REQUEST_STATUS.USER_CANCELLED,\n };\n return this.mockReturningFunctionIfEnabled(\n 'beginRefundRequestForActiveEntitlement',\n mockResult,\n );\n }\n beginRefundRequestForEntitlement(_entitlementInfo: {\n entitlementInfo: PurchasesEntitlementInfo;\n }): Promise<{ refundRequestStatus: REFUND_REQUEST_STATUS }> {\n const mockResult = {\n refundRequestStatus: REFUND_REQUEST_STATUS.USER_CANCELLED,\n };\n return this.mockReturningFunctionIfEnabled(\n 'beginRefundRequestForEntitlement',\n mockResult,\n );\n }\n beginRefundRequestForProduct(_storeProduct: {\n storeProduct: PurchasesStoreProduct;\n }): Promise<{ refundRequestStatus: REFUND_REQUEST_STATUS }> {\n const mockResult = {\n refundRequestStatus: REFUND_REQUEST_STATUS.USER_CANCELLED,\n };\n return this.mockReturningFunctionIfEnabled(\n 'beginRefundRequestForProduct',\n mockResult,\n );\n }\n isConfigured(): Promise<{ isConfigured: boolean }> {\n const mockResult = { isConfigured: true };\n return this.mockReturningFunctionIfEnabled('isConfigured', mockResult);\n }\n\n // Mock helpers\n\n private mockEmptyCustomerInfo: CustomerInfo = {\n entitlements: { all: {}, active: {} },\n activeSubscriptions: [],\n allPurchasedProductIdentifiers: [],\n latestExpirationDate: null,\n firstSeen: '2023-08-31T15:11:21.445Z',\n originalAppUserId: 'mock-web-user-id',\n requestDate: '2023-08-31T15:11:21.445Z',\n allExpirationDates: {},\n allPurchaseDates: {},\n originalApplicationVersion: null,\n originalPurchaseDate: null,\n managementURL: null,\n nonSubscriptionTransactions: [],\n };\n\n private mockNonReturningFunctionIfEnabled(\n functionName: string,\n ): Promise<void> {\n if (!this.shouldMockWebResults) {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n console.log(`${functionName} called on web with mocking enabled. No-op`);\n return Promise.resolve();\n }\n\n private mockReturningFunctionIfEnabled<T>(\n functionName: string,\n returnValue: T,\n ): Promise<T> {\n if (!this.shouldMockWebResults) {\n return Promise.reject(this.webNotSupportedErrorMessage);\n }\n console.log(\n `${functionName} called on web with mocking enabled. Returning mocked value`,\n );\n return Promise.resolve(returnValue);\n }\n}\n"]}