@tryheliumai/paywall-sdk-react-native 0.1.24 → 0.1.26

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.
@@ -28,6 +28,7 @@ class PurchaseState: ObservableObject {
28
28
  struct PurchaseResponse {
29
29
  let transactionId: String
30
30
  let status: String
31
+ let error: String?
31
32
  }
32
33
 
33
34
  @Published var pendingResponses: [String: (PurchaseResponse) -> Void] = [:]
@@ -47,16 +48,15 @@ class BridgingPaywallDelegate: HeliumPaywallDelegate {
47
48
  public func makePurchase(productId: String) async -> HeliumPaywallTransactionStatus {
48
49
  return await withCheckedContinuation { continuation in
49
50
  let transactionId = UUID().uuidString
50
-
51
+ // Store continuation callback
52
+ purchaseState.pendingResponses[transactionId] = { response in
51
53
  let userInfo: [String: Any] = [
52
- NSLocalizedDescriptionKey: "Failed to make purchase",
54
+ NSLocalizedDescriptionKey: response.error ?? "Failed to make purchase",
53
55
  NSLocalizedFailureReasonErrorKey: "An unknown error occurred",
54
56
  NSLocalizedRecoverySuggestionErrorKey: "Please try again later"
55
57
  ]
56
58
  let failureError = NSError(domain: "PaywallErrorDomain", code: 1001, userInfo: userInfo)
57
59
 
58
- // Store continuation callback
59
- purchaseState.pendingResponses[transactionId] = { response in
60
60
  let status: HeliumPaywallTransactionStatus = switch response.status {
61
61
  case "completed": .purchased
62
62
  case "purchased": .purchased
@@ -88,12 +88,15 @@ class BridgingPaywallDelegate: HeliumPaywallDelegate {
88
88
  return
89
89
  }
90
90
 
91
+ let error = response["error"] as? String
92
+
91
93
  // Remove callback before executing to prevent multiple calls
92
94
  purchaseState.pendingResponses.removeValue(forKey: transactionId)
93
95
 
94
96
  callback(PurchaseState.PurchaseResponse(
95
97
  transactionId: transactionId,
96
- status: status
98
+ status: status,
99
+ error: error
97
100
  ))
98
101
  }
99
102
 
@@ -132,7 +135,8 @@ class BridgingPaywallDelegate: HeliumPaywallDelegate {
132
135
 
133
136
  callback(PurchaseState.PurchaseResponse(
134
137
  transactionId: transactionId,
135
- status: status
138
+ status: status,
139
+ error: nil
136
140
  ))
137
141
  }
138
142
 
@@ -15,7 +15,9 @@ class DemoHeliumCallbacks {
15
15
  productId
16
16
  }
17
17
  });
18
- return 'completed';
18
+ return {
19
+ status: 'completed'
20
+ };
19
21
  }
20
22
  async restorePurchases() {
21
23
  this.events.push({
@@ -1 +1 @@
1
- {"version":3,"names":["DemoHeliumCallbacks","events","makePurchase","productId","push","timestamp","Date","event","type","restorePurchases","onHeliumPaywallEvent","getEventHistory","exports"],"sourceRoot":"../../src","sources":["purchase-handlers.ts"],"mappings":";;;;;;AAQE;AACO,MAAMA,mBAAmB,CAA4B;EAClDC,MAAM,GAAsC,EAAE;EAEtD,MAAMC,YAAYA,CAACC,SAAiB,EAAoC;IACtE,IAAI,CAACF,MAAM,CAACG,IAAI,CAAC;MAAEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MAAEC,KAAK,EAAE;QAAEC,IAAI,EAAE,UAAU;QAAEL;MAAU;IAAE,CAAC,CAAC;IACnF,OAAO,WAAW;EACpB;EAEA,MAAMM,gBAAgBA,CAAA,EAAqB;IACzC,IAAI,CAACR,MAAM,CAACG,IAAI,CAAC;MAAEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MAAEC,KAAK,EAAE;QAAEC,IAAI,EAAE;MAAU;IAAE,CAAC,CAAC;IACvE,OAAO,IAAI;EACb;EAEAE,oBAAoBA,CAACH,KAAU,EAAQ;IACrC,IAAI,CAACN,MAAM,CAACG,IAAI,CAAC;MAAEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MAAEC;IAAM,CAAC,CAAC;EACpD;EAEAI,eAAeA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACV,MAAM;EACpB;AACF;AAACW,OAAA,CAAAZ,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["DemoHeliumCallbacks","events","makePurchase","productId","push","timestamp","Date","event","type","status","restorePurchases","onHeliumPaywallEvent","getEventHistory","exports"],"sourceRoot":"../../src","sources":["purchase-handlers.ts"],"mappings":";;;;;;AAQE;AACO,MAAMA,mBAAmB,CAA4B;EAClDC,MAAM,GAAsC,EAAE;EAEtD,MAAMC,YAAYA,CAACC,SAAiB,EAAiC;IACnE,IAAI,CAACF,MAAM,CAACG,IAAI,CAAC;MAAEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MAAEC,KAAK,EAAE;QAAEC,IAAI,EAAE,UAAU;QAAEL;MAAU;IAAE,CAAC,CAAC;IACnF,OAAO;MAAEM,MAAM,EAAE;IAAuC,CAAC;EAC3D;EAEA,MAAMC,gBAAgBA,CAAA,EAAqB;IACzC,IAAI,CAACT,MAAM,CAACG,IAAI,CAAC;MAAEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MAAEC,KAAK,EAAE;QAAEC,IAAI,EAAE;MAAU;IAAE,CAAC,CAAC;IACvE,OAAO,IAAI;EACb;EAEAG,oBAAoBA,CAACJ,KAAU,EAAQ;IACrC,IAAI,CAACN,MAAM,CAACG,IAAI,CAAC;MAAEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MAAEC;IAAM,CAAC,CAAC;EACpD;EAEAK,eAAeA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACX,MAAM;EACpB;AACF;AAACY,OAAA,CAAAb,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -11,7 +11,9 @@ export class DemoHeliumCallbacks {
11
11
  productId
12
12
  }
13
13
  });
14
- return 'completed';
14
+ return {
15
+ status: 'completed'
16
+ };
15
17
  }
16
18
  async restorePurchases() {
17
19
  this.events.push({
@@ -1 +1 @@
1
- {"version":3,"names":["DemoHeliumCallbacks","events","makePurchase","productId","push","timestamp","Date","event","type","restorePurchases","onHeliumPaywallEvent","getEventHistory"],"sourceRoot":"../../src","sources":["purchase-handlers.ts"],"mappings":";;AAQE;AACA,OAAO,MAAMA,mBAAmB,CAA4B;EAClDC,MAAM,GAAsC,EAAE;EAEtD,MAAMC,YAAYA,CAACC,SAAiB,EAAoC;IACtE,IAAI,CAACF,MAAM,CAACG,IAAI,CAAC;MAAEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MAAEC,KAAK,EAAE;QAAEC,IAAI,EAAE,UAAU;QAAEL;MAAU;IAAE,CAAC,CAAC;IACnF,OAAO,WAAW;EACpB;EAEA,MAAMM,gBAAgBA,CAAA,EAAqB;IACzC,IAAI,CAACR,MAAM,CAACG,IAAI,CAAC;MAAEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MAAEC,KAAK,EAAE;QAAEC,IAAI,EAAE;MAAU;IAAE,CAAC,CAAC;IACvE,OAAO,IAAI;EACb;EAEAE,oBAAoBA,CAACH,KAAU,EAAQ;IACrC,IAAI,CAACN,MAAM,CAACG,IAAI,CAAC;MAAEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MAAEC;IAAM,CAAC,CAAC;EACpD;EAEAI,eAAeA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACV,MAAM;EACpB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["DemoHeliumCallbacks","events","makePurchase","productId","push","timestamp","Date","event","type","status","restorePurchases","onHeliumPaywallEvent","getEventHistory"],"sourceRoot":"../../src","sources":["purchase-handlers.ts"],"mappings":";;AAQE;AACA,OAAO,MAAMA,mBAAmB,CAA4B;EAClDC,MAAM,GAAsC,EAAE;EAEtD,MAAMC,YAAYA,CAACC,SAAiB,EAAiC;IACnE,IAAI,CAACF,MAAM,CAACG,IAAI,CAAC;MAAEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MAAEC,KAAK,EAAE;QAAEC,IAAI,EAAE,UAAU;QAAEL;MAAU;IAAE,CAAC,CAAC;IACnF,OAAO;MAAEM,MAAM,EAAE;IAAuC,CAAC;EAC3D;EAEA,MAAMC,gBAAgBA,CAAA,EAAqB;IACzC,IAAI,CAACT,MAAM,CAACG,IAAI,CAAC;MAAEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MAAEC,KAAK,EAAE;QAAEC,IAAI,EAAE;MAAU;IAAE,CAAC,CAAC;IACvE,OAAO,IAAI;EACb;EAEAG,oBAAoBA,CAACJ,KAAU,EAAQ;IACrC,IAAI,CAACN,MAAM,CAACG,IAAI,CAAC;MAAEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MAAEC;IAAM,CAAC,CAAC;EACpD;EAEAK,eAAeA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACX,MAAM;EACpB;AACF","ignoreList":[]}
@@ -1,12 +1,12 @@
1
- import type { HeliumTransactionStatus } from './types';
1
+ import type { HeliumPurchaseResult } from './types';
2
2
  export interface HeliumCallbacks {
3
- makePurchase: (productId: string) => Promise<string>;
3
+ makePurchase: (productId: string) => Promise<HeliumPurchaseResult>;
4
4
  restorePurchases: () => Promise<boolean>;
5
5
  onHeliumPaywallEvent: (event: any) => void;
6
6
  }
7
7
  export declare class DemoHeliumCallbacks implements HeliumCallbacks {
8
8
  private events;
9
- makePurchase(productId: string): Promise<HeliumTransactionStatus>;
9
+ makePurchase(productId: string): Promise<HeliumPurchaseResult>;
10
10
  restorePurchases(): Promise<boolean>;
11
11
  onHeliumPaywallEvent(event: any): void;
12
12
  getEventHistory(): {
@@ -1 +1 @@
1
- {"version":3,"file":"purchase-handlers.d.ts","sourceRoot":"","sources":["../../../../src/purchase-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5C;AAGD,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,MAAM,CAAyC;IAEjD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKjE,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1C,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAItC,eAAe;mBAhBc,IAAI;eAAS,GAAG;;CAmB9C"}
1
+ {"version":3,"file":"purchase-handlers.d.ts","sourceRoot":"","sources":["../../../../src/purchase-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnE,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5C;AAGD,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,MAAM,CAAyC;IAEjD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAK9D,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1C,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAItC,eAAe;mBAhBc,IAAI;eAAS,GAAG;;CAmB9C"}
@@ -1,7 +1,11 @@
1
1
  export type HeliumTransactionStatus = 'completed' | 'failed' | 'cancelled' | 'pending' | 'restored';
2
+ export type HeliumPurchaseResult = {
3
+ status: HeliumTransactionStatus;
4
+ error?: string;
5
+ };
2
6
  export type HeliumDownloadStatus = 'success' | 'failed' | 'inProgress' | 'notStarted';
3
7
  export interface HeliumCallbacks {
4
- makePurchase: (productId: string) => Promise<HeliumTransactionStatus>;
8
+ makePurchase: (productId: string) => Promise<HeliumPurchaseResult>;
5
9
  restorePurchases: () => Promise<boolean>;
6
10
  onHeliumPaywallEvent: (event: any) => void;
7
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;AACpG,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAEtF,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtE,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;AACpG,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAEtF,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnE,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb"}
@@ -1,12 +1,12 @@
1
- import type { HeliumTransactionStatus } from './types';
1
+ import type { HeliumPurchaseResult } from './types';
2
2
  export interface HeliumCallbacks {
3
- makePurchase: (productId: string) => Promise<string>;
3
+ makePurchase: (productId: string) => Promise<HeliumPurchaseResult>;
4
4
  restorePurchases: () => Promise<boolean>;
5
5
  onHeliumPaywallEvent: (event: any) => void;
6
6
  }
7
7
  export declare class DemoHeliumCallbacks implements HeliumCallbacks {
8
8
  private events;
9
- makePurchase(productId: string): Promise<HeliumTransactionStatus>;
9
+ makePurchase(productId: string): Promise<HeliumPurchaseResult>;
10
10
  restorePurchases(): Promise<boolean>;
11
11
  onHeliumPaywallEvent(event: any): void;
12
12
  getEventHistory(): {
@@ -1 +1 @@
1
- {"version":3,"file":"purchase-handlers.d.ts","sourceRoot":"","sources":["../../../../src/purchase-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5C;AAGD,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,MAAM,CAAyC;IAEjD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKjE,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1C,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAItC,eAAe;mBAhBc,IAAI;eAAS,GAAG;;CAmB9C"}
1
+ {"version":3,"file":"purchase-handlers.d.ts","sourceRoot":"","sources":["../../../../src/purchase-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnE,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5C;AAGD,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,MAAM,CAAyC;IAEjD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAK9D,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1C,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAItC,eAAe;mBAhBc,IAAI;eAAS,GAAG;;CAmB9C"}
@@ -1,7 +1,11 @@
1
1
  export type HeliumTransactionStatus = 'completed' | 'failed' | 'cancelled' | 'pending' | 'restored';
2
+ export type HeliumPurchaseResult = {
3
+ status: HeliumTransactionStatus;
4
+ error?: string;
5
+ };
2
6
  export type HeliumDownloadStatus = 'success' | 'failed' | 'inProgress' | 'notStarted';
3
7
  export interface HeliumCallbacks {
4
- makePurchase: (productId: string) => Promise<HeliumTransactionStatus>;
8
+ makePurchase: (productId: string) => Promise<HeliumPurchaseResult>;
5
9
  restorePurchases: () => Promise<boolean>;
6
10
  onHeliumPaywallEvent: (event: any) => void;
7
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;AACpG,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAEtF,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtE,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;AACpG,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAEtF,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnE,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tryheliumai/paywall-sdk-react-native",
3
- "version": "0.1.24",
3
+ "version": "0.1.26",
4
4
  "description": "Paywall SDK Helium",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/commonjs/index.js",
@@ -1,7 +1,7 @@
1
- import type { HeliumTransactionStatus } from './types';
1
+ import type { HeliumTransactionStatus, HeliumPurchaseResult } from './types';
2
2
 
3
3
  export interface HeliumCallbacks {
4
- makePurchase: (productId: string) => Promise<string>;
4
+ makePurchase: (productId: string) => Promise<HeliumPurchaseResult>;
5
5
  restorePurchases: () => Promise<boolean>; // Modified to return Promise
6
6
  onHeliumPaywallEvent: (event: any) => void;
7
7
  }
@@ -10,9 +10,9 @@ export interface HeliumCallbacks {
10
10
  export class DemoHeliumCallbacks implements HeliumCallbacks {
11
11
  private events: { timestamp: Date; event: any }[] = [];
12
12
 
13
- async makePurchase(productId: string): Promise<HeliumTransactionStatus> {
13
+ async makePurchase(productId: string): Promise<HeliumPurchaseResult> {
14
14
  this.events.push({ timestamp: new Date(), event: { type: 'purchase', productId } });
15
- return 'completed' as HeliumTransactionStatus;
15
+ return { status: 'completed' as HeliumTransactionStatus };
16
16
  }
17
17
 
18
18
  async restorePurchases(): Promise<boolean> {
package/src/types.ts CHANGED
@@ -1,8 +1,12 @@
1
1
  export type HeliumTransactionStatus = 'completed' | 'failed' | 'cancelled' | 'pending' | 'restored';
2
+ export type HeliumPurchaseResult = {
3
+ status: HeliumTransactionStatus;
4
+ error?: string; // Optional error message
5
+ };
2
6
  export type HeliumDownloadStatus = 'success' | 'failed' | 'inProgress' | 'notStarted';
3
7
 
4
8
  export interface HeliumCallbacks {
5
- makePurchase: (productId: string) => Promise<HeliumTransactionStatus>;
9
+ makePurchase: (productId: string) => Promise<HeliumPurchaseResult>;
6
10
  restorePurchases: () => Promise<boolean>;
7
11
  onHeliumPaywallEvent: (event: any) => void;
8
12
  }