@tryheliumai/paywall-sdk-react-native 0.1.2 → 0.1.3

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.
@@ -14,6 +14,18 @@ const {
14
14
  } = _reactNative.NativeModules;
15
15
  const heliumEventEmitter = new _reactNative.NativeEventEmitter(HeliumBridge);
16
16
  let isProviderMounted = false;
17
+ // Add a promise to track when the provider is mounted
18
+ let providerMountedPromise;
19
+ let resolveProviderMounted;
20
+
21
+ // Initialize the promise
22
+ providerMountedPromise = new Promise(resolve => {
23
+ resolveProviderMounted = resolve;
24
+ // If provider is already mounted, resolve immediately
25
+ if (isProviderMounted) {
26
+ resolve();
27
+ }
28
+ });
17
29
 
18
30
  // Move NativeHeliumUpsellView to a singleton pattern
19
31
  let NativeHeliumUpsellView = null;
@@ -33,6 +45,8 @@ const HeliumProvider = ({
33
45
  }) => {
34
46
  (0, _react.useEffect)(() => {
35
47
  isProviderMounted = true;
48
+ // Resolve the promise when the provider is mounted
49
+ resolveProviderMounted();
36
50
  return () => {
37
51
  isProviderMounted = false;
38
52
  };
@@ -51,9 +65,10 @@ const HeliumProvider = ({
51
65
 
52
66
  // Update initialize to accept config
53
67
  exports.HeliumProvider = HeliumProvider;
54
- const initialize = (heliumCallbacks, config = {}) => {
68
+ const initialize = async (heliumCallbacks, config = {}) => {
69
+ // Wait for the provider to be mounted if it's not already
55
70
  if (!isProviderMounted) {
56
- throw new Error('HeliumProvider is not mounted. Please wrap your app with HeliumProvider.');
71
+ await providerMountedPromise;
57
72
  }
58
73
  const viewTag = (0, _reactNative.findNodeHandle)(fallbackRef.current);
59
74
  if (!viewTag) {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HeliumBridge","NativeModules","heliumEventEmitter","NativeEventEmitter","isProviderMounted","NativeHeliumUpsellView","getNativeHeliumUpsellView","requireNativeComponent","fallbackRef","createRef","HeliumProvider","children","fallbackView","FallbackView","useEffect","jsxs","Fragment","jsx","View","ref","collapsable","style","display","exports","initialize","heliumCallbacks","config","Error","viewTag","findNodeHandle","current","addListener","event","status","makePurchase","productId","handlePurchaseResponse","transactionId","success","restorePurchases","handleRestoreResponse","type","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","apiKey","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","hideUpsell","UpsellView","trigger","NativeView","flex","HELIUM_CTA_NAMES","SCHEDULE_CALL","SUBSCRIBE_BUTTON"],"sourceRoot":"../../src","sources":["native-interface.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HeliumBridge","NativeModules","heliumEventEmitter","NativeEventEmitter","isProviderMounted","providerMountedPromise","resolveProviderMounted","Promise","resolve","NativeHeliumUpsellView","getNativeHeliumUpsellView","requireNativeComponent","fallbackRef","createRef","HeliumProvider","children","fallbackView","FallbackView","useEffect","jsxs","Fragment","jsx","View","ref","collapsable","style","display","exports","initialize","heliumCallbacks","config","viewTag","findNodeHandle","current","Error","addListener","event","status","makePurchase","productId","handlePurchaseResponse","transactionId","success","restorePurchases","handleRestoreResponse","type","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","apiKey","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","hideUpsell","UpsellView","trigger","NativeView","flex","HELIUM_CTA_NAMES","SCHEDULE_CALL","SUBSCRIBE_BUTTON"],"sourceRoot":"../../src","sources":["native-interface.tsx"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,18 @@ const {
8
8
  } = NativeModules;
9
9
  const heliumEventEmitter = new NativeEventEmitter(HeliumBridge);
10
10
  let isProviderMounted = false;
11
+ // Add a promise to track when the provider is mounted
12
+ let providerMountedPromise;
13
+ let resolveProviderMounted;
14
+
15
+ // Initialize the promise
16
+ providerMountedPromise = new Promise(resolve => {
17
+ resolveProviderMounted = resolve;
18
+ // If provider is already mounted, resolve immediately
19
+ if (isProviderMounted) {
20
+ resolve();
21
+ }
22
+ });
11
23
 
12
24
  // Move NativeHeliumUpsellView to a singleton pattern
13
25
  let NativeHeliumUpsellView = null;
@@ -27,6 +39,8 @@ export const HeliumProvider = ({
27
39
  }) => {
28
40
  useEffect(() => {
29
41
  isProviderMounted = true;
42
+ // Resolve the promise when the provider is mounted
43
+ resolveProviderMounted();
30
44
  return () => {
31
45
  isProviderMounted = false;
32
46
  };
@@ -44,9 +58,10 @@ export const HeliumProvider = ({
44
58
  };
45
59
 
46
60
  // Update initialize to accept config
47
- export const initialize = (heliumCallbacks, config = {}) => {
61
+ export const initialize = async (heliumCallbacks, config = {}) => {
62
+ // Wait for the provider to be mounted if it's not already
48
63
  if (!isProviderMounted) {
49
- throw new Error('HeliumProvider is not mounted. Please wrap your app with HeliumProvider.');
64
+ await providerMountedPromise;
50
65
  }
51
66
  const viewTag = findNodeHandle(fallbackRef.current);
52
67
  if (!viewTag) {
@@ -1 +1 @@
1
- {"version":3,"names":["findNodeHandle","NativeModules","View","NativeEventEmitter","requireNativeComponent","React","createRef","useEffect","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","HeliumBridge","heliumEventEmitter","isProviderMounted","NativeHeliumUpsellView","getNativeHeliumUpsellView","fallbackRef","HeliumProvider","children","fallbackView","FallbackView","ref","collapsable","style","display","initialize","heliumCallbacks","config","Error","viewTag","current","addListener","event","status","makePurchase","productId","handlePurchaseResponse","transactionId","success","restorePurchases","handleRestoreResponse","type","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","apiKey","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","hideUpsell","UpsellView","trigger","NativeView","flex","HELIUM_CTA_NAMES","SCHEDULE_CALL","SUBSCRIBE_BUTTON"],"sourceRoot":"../../src","sources":["native-interface.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["findNodeHandle","NativeModules","View","NativeEventEmitter","requireNativeComponent","React","createRef","useEffect","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","HeliumBridge","heliumEventEmitter","isProviderMounted","providerMountedPromise","resolveProviderMounted","Promise","resolve","NativeHeliumUpsellView","getNativeHeliumUpsellView","fallbackRef","HeliumProvider","children","fallbackView","FallbackView","ref","collapsable","style","display","initialize","heliumCallbacks","config","viewTag","current","Error","addListener","event","status","makePurchase","productId","handlePurchaseResponse","transactionId","success","restorePurchases","handleRestoreResponse","type","paywallTemplateName","setNativeProps","onHeliumPaywallEvent","apiKey","fallbackPaywall","triggers","customUserId","customAPIEndpoint","customUserTraits","presentUpsell","triggerName","hideUpsell","UpsellView","trigger","NativeView","flex","HELIUM_CTA_NAMES","SCHEDULE_CALL","SUBSCRIBE_BUTTON"],"sourceRoot":"../../src","sources":["native-interface.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ interface HeliumProviderProps {
5
5
  fallbackView: React.ComponentType;
6
6
  }
7
7
  export declare const HeliumProvider: ({ children, fallbackView: FallbackView }: HeliumProviderProps) => import("react/jsx-runtime").JSX.Element;
8
- export declare const initialize: (heliumCallbacks: HeliumCallbacks, config?: Partial<HeliumConfig>) => void;
8
+ export declare const initialize: (heliumCallbacks: HeliumCallbacks, config?: Partial<HeliumConfig>) => Promise<void>;
9
9
  export declare const presentUpsell: (triggerName: string) => void;
10
10
  export declare const hideUpsell: () => void;
11
11
  export declare const UpsellView: React.FC<HeliumUpsellViewProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAgBpF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC;AAMD,eAAO,MAAM,cAAc,6CAA8C,mBAAmB,4CAuB3F,CAAC;AAGF,eAAO,MAAM,UAAU,oBAAqB,eAAe,WAAU,OAAO,CAAC,YAAY,CAAC,SAwEzF,CAAC;AAGF,eAAO,MAAM,aAAa,gBAAiB,MAAM,SAEhD,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAQtD,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA"}
1
+ {"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA4BpF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC;AAMD,eAAO,MAAM,cAAc,6CAA8C,mBAAmB,4CAyB3F,CAAC;AAGF,eAAO,MAAM,UAAU,oBAA2B,eAAe,WAAU,OAAO,CAAC,YAAY,CAAC,kBAyE/F,CAAC;AAGF,eAAO,MAAM,aAAa,gBAAiB,MAAM,SAEhD,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAQtD,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA"}
@@ -5,7 +5,7 @@ interface HeliumProviderProps {
5
5
  fallbackView: React.ComponentType;
6
6
  }
7
7
  export declare const HeliumProvider: ({ children, fallbackView: FallbackView }: HeliumProviderProps) => import("react/jsx-runtime").JSX.Element;
8
- export declare const initialize: (heliumCallbacks: HeliumCallbacks, config?: Partial<HeliumConfig>) => void;
8
+ export declare const initialize: (heliumCallbacks: HeliumCallbacks, config?: Partial<HeliumConfig>) => Promise<void>;
9
9
  export declare const presentUpsell: (triggerName: string) => void;
10
10
  export declare const hideUpsell: () => void;
11
11
  export declare const UpsellView: React.FC<HeliumUpsellViewProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAgBpF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC;AAMD,eAAO,MAAM,cAAc,6CAA8C,mBAAmB,4CAuB3F,CAAC;AAGF,eAAO,MAAM,UAAU,oBAAqB,eAAe,WAAU,OAAO,CAAC,YAAY,CAAC,SAwEzF,CAAC;AAGF,eAAO,MAAM,aAAa,gBAAiB,MAAM,SAEhD,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAQtD,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA"}
1
+ {"version":3,"file":"native-interface.d.ts","sourceRoot":"","sources":["../../../../src/native-interface.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA4BpF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC;AAMD,eAAO,MAAM,cAAc,6CAA8C,mBAAmB,4CAyB3F,CAAC;AAGF,eAAO,MAAM,UAAU,oBAA2B,eAAe,WAAU,OAAO,CAAC,YAAY,CAAC,kBAyE/F,CAAC;AAGF,eAAO,MAAM,aAAa,gBAAiB,MAAM,SAEhD,CAAC;AAEF,eAAO,MAAM,UAAU,YAEtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAQtD,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tryheliumai/paywall-sdk-react-native",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Paywall SDK Helium",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/commonjs/index.js",
@@ -6,6 +6,18 @@ const { HeliumBridge } = NativeModules;
6
6
  const heliumEventEmitter = new NativeEventEmitter(HeliumBridge);
7
7
 
8
8
  let isProviderMounted = false;
9
+ // Add a promise to track when the provider is mounted
10
+ let providerMountedPromise: Promise<void>;
11
+ let resolveProviderMounted: () => void;
12
+
13
+ // Initialize the promise
14
+ providerMountedPromise = new Promise<void>((resolve) => {
15
+ resolveProviderMounted = resolve;
16
+ // If provider is already mounted, resolve immediately
17
+ if (isProviderMounted) {
18
+ resolve();
19
+ }
20
+ });
9
21
 
10
22
  // Move NativeHeliumUpsellView to a singleton pattern
11
23
  let NativeHeliumUpsellView: any = null;
@@ -29,6 +41,8 @@ export const HeliumProvider = ({ children, fallbackView: FallbackView }: HeliumP
29
41
 
30
42
  useEffect(() => {
31
43
  isProviderMounted = true;
44
+ // Resolve the promise when the provider is mounted
45
+ resolveProviderMounted();
32
46
  return () => {
33
47
  isProviderMounted = false;
34
48
  };
@@ -51,9 +65,10 @@ export const HeliumProvider = ({ children, fallbackView: FallbackView }: HeliumP
51
65
  };
52
66
 
53
67
  // Update initialize to accept config
54
- export const initialize = (heliumCallbacks: HeliumCallbacks, config: Partial<HeliumConfig> = {}) => {
68
+ export const initialize = async (heliumCallbacks: HeliumCallbacks, config: Partial<HeliumConfig> = {}) => {
69
+ // Wait for the provider to be mounted if it's not already
55
70
  if (!isProviderMounted) {
56
- throw new Error('HeliumProvider is not mounted. Please wrap your app with HeliumProvider.');
71
+ await providerMountedPromise;
57
72
  }
58
73
 
59
74
  const viewTag = findNodeHandle(fallbackRef.current);