@parrotnavy/rn-native-updates 0.9.0 → 0.9.2

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/lib/module/api.js CHANGED
@@ -36,9 +36,11 @@ export async function getStoreUrl(options) {
36
36
  try {
37
37
  const info = await NativeUpdatesModule.getAppStoreVersion(options?.country ?? null, false);
38
38
  return info.trackViewUrl;
39
- } catch {
40
- const country = options?.country ?? getCountry();
41
- return `https://apps.apple.com/${country.toLowerCase()}/app/id`;
39
+ } catch (e) {
40
+ if (e instanceof AppUpdateError) {
41
+ throw e;
42
+ }
43
+ throw new AppUpdateError(AppUpdateErrorCode.UNKNOWN, `Failed to get store URL: ${e instanceof Error ? e.message : String(e)}`, e);
42
44
  }
43
45
  }
44
46
  if (Platform.OS === 'android') {
@@ -47,7 +49,7 @@ export async function getStoreUrl(options) {
47
49
  throw new AppUpdateError(AppUpdateErrorCode.UNKNOWN, `Platform ${Platform.OS} is not supported`);
48
50
  }
49
51
  export async function needUpdate(options) {
50
- const currentVersion = options?.currentVersion ?? getCurrentVersion();
52
+ const currentVersion = options?.currentVersion ?? (Platform.OS === 'android' ? getCurrentBuildNumber().toString() : getCurrentVersion());
51
53
  const depth = options?.depth ?? Number.POSITIVE_INFINITY;
52
54
  let latestVersion;
53
55
  let storeUrl;
@@ -119,11 +121,12 @@ function setupEventListener() {
119
121
  } = require('expo-modules-core');
120
122
  const emitter = new EventEmitter(NativeUpdatesModule);
121
123
  const handleEvent = (_eventName, data) => {
124
+ const safeNumber = (val, def) => typeof val === 'number' && !Number.isNaN(val) ? val : def;
122
125
  const state = {
123
- installStatus: data.installStatus ?? 0,
124
- bytesDownloaded: data.bytesDownloaded ?? 0,
125
- totalBytesToDownload: data.totalBytesToDownload ?? 0,
126
- downloadProgress: data.downloadProgress ?? 0
126
+ installStatus: safeNumber(data.installStatus, 0),
127
+ bytesDownloaded: safeNumber(data.bytesDownloaded, 0),
128
+ totalBytesToDownload: safeNumber(data.totalBytesToDownload, 0),
129
+ downloadProgress: safeNumber(data.downloadProgress, 0)
127
130
  };
128
131
  for (const listener of listeners) {
129
132
  listener(state);
@@ -1 +1 @@
1
- {"version":3,"names":["Linking","Platform","NativeUpdatesModule","AppUpdateError","AppUpdateErrorCode","UpdateAvailability","isNewerVersion","getPackageName","packageName","getCurrentVersion","currentVersion","getCurrentBuildNumber","Number","parseInt","buildNumber","getCountry","country","getLatestVersion","options","OS","info","getAppStoreVersion","forceRefresh","version","checkPlayStoreUpdate","updateAvailability","UPDATE_AVAILABLE","availableVersionCode","toString","UNKNOWN","getStoreUrl","trackViewUrl","toLowerCase","needUpdate","depth","POSITIVE_INFINITY","latestVersion","storeUrl","isNeeded","openStore","url","canOpen","canOpenURL","openURL","getAppStoreInfo","startInAppUpdate","type","startUpdate","completeInAppUpdate","completeUpdate","eventSubscription","listeners","Set","setupEventListener","EventEmitter","require","emitter","handleEvent","_eventName","data","state","installStatus","bytesDownloaded","totalBytesToDownload","downloadProgress","listener","progressSub","addListener","downloadedSub","installedSub","failedSub","remove","addUpdateListener","add","delete","size"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Linking","Platform","NativeUpdatesModule","AppUpdateError","AppUpdateErrorCode","UpdateAvailability","isNewerVersion","getPackageName","packageName","getCurrentVersion","currentVersion","getCurrentBuildNumber","Number","parseInt","buildNumber","getCountry","country","getLatestVersion","options","OS","info","getAppStoreVersion","forceRefresh","version","checkPlayStoreUpdate","updateAvailability","UPDATE_AVAILABLE","availableVersionCode","toString","UNKNOWN","getStoreUrl","trackViewUrl","e","Error","message","String","needUpdate","depth","POSITIVE_INFINITY","latestVersion","storeUrl","isNeeded","openStore","url","canOpen","canOpenURL","openURL","getAppStoreInfo","startInAppUpdate","type","startUpdate","completeInAppUpdate","completeUpdate","eventSubscription","listeners","Set","setupEventListener","EventEmitter","require","emitter","handleEvent","_eventName","data","safeNumber","val","def","isNaN","state","installStatus","bytesDownloaded","totalBytesToDownload","downloadProgress","listener","progressSub","addListener","downloadedSub","installedSub","failedSub","remove","addUpdateListener","add","delete","size"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { useCallback, useEffect, useRef, useState } from 'react';
4
4
  import { Platform } from 'react-native';
5
- import { addUpdateListener, checkPlayStoreUpdate, completeInAppUpdate, getCurrentVersion, needUpdate, openStore, startInAppUpdate } from "../api.js";
5
+ import { addUpdateListener, checkPlayStoreUpdate, completeInAppUpdate, getCurrentBuildNumber, getCurrentVersion, getPackageName, needUpdate, openStore, startInAppUpdate } from "../api.js";
6
6
  import { AppUpdateError, AppUpdateErrorCode, InstallStatus, UpdateAvailability } from "../types.js";
7
7
  export function useAppUpdate(options) {
8
8
  const [isChecking, setIsChecking] = useState(false);
@@ -22,26 +22,23 @@ export function useAppUpdate(options) {
22
22
  setIsChecking(true);
23
23
  setError(null);
24
24
  try {
25
- const result = await needUpdate({
26
- country: options?.country,
27
- forceRefresh: true
28
- });
29
- if (!mountedRef.current) return;
30
- setIsUpdateAvailable(result.isNeeded);
31
- setLatestVersion(result.latestVersion);
32
- setStoreUrl(result.storeUrl);
33
25
  if (Platform.OS === 'android') {
34
- try {
35
- const info = await checkPlayStoreUpdate();
36
- if (mountedRef.current) {
37
- setPlayStoreInfo(info);
38
- setIsUpdateAvailable(info.updateAvailability === UpdateAvailability.UPDATE_AVAILABLE);
39
- }
40
- } catch {
41
- if (mountedRef.current) {
42
- setPlayStoreInfo(null);
43
- }
44
- }
26
+ const info = await checkPlayStoreUpdate();
27
+ if (!mountedRef.current) return;
28
+ setPlayStoreInfo(info);
29
+ const isAvailable = info.updateAvailability === UpdateAvailability.UPDATE_AVAILABLE;
30
+ setIsUpdateAvailable(isAvailable);
31
+ setLatestVersion(isAvailable && info.availableVersionCode ? info.availableVersionCode.toString() : getCurrentBuildNumber().toString());
32
+ setStoreUrl(`https://play.google.com/store/apps/details?id=${getPackageName()}`);
33
+ } else {
34
+ const result = await needUpdate({
35
+ country: options?.country,
36
+ forceRefresh: true
37
+ });
38
+ if (!mountedRef.current) return;
39
+ setIsUpdateAvailable(result.isNeeded);
40
+ setLatestVersion(result.latestVersion);
41
+ setStoreUrl(result.storeUrl);
45
42
  }
46
43
  } catch (e) {
47
44
  if (!mountedRef.current) return;
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","useState","Platform","addUpdateListener","checkPlayStoreUpdate","completeInAppUpdate","getCurrentVersion","needUpdate","openStore","startInAppUpdate","AppUpdateError","AppUpdateErrorCode","InstallStatus","UpdateAvailability","useAppUpdate","options","isChecking","setIsChecking","isUpdateAvailable","setIsUpdateAvailable","currentVersion","latestVersion","setLatestVersion","storeUrl","setStoreUrl","error","setError","isDownloading","setIsDownloading","downloadProgress","setDownloadProgress","isReadyToInstall","setIsReadyToInstall","playStoreInfo","setPlayStoreInfo","subscriptionRef","mountedRef","checkUpdate","current","result","country","forceRefresh","isNeeded","OS","info","updateAvailability","UPDATE_AVAILABLE","e","appError","CHECK_FAILED","String","onError","handleOpenStore","UNKNOWN","handleStartUpdate","type","remove","state","installStatus","DOWNLOADING","DOWNLOADED","INSTALLED","FAILED","CANCELED","UPDATE_FAILED","handleCompleteUpdate","checkOnMount","startUpdate","completeUpdate"],"sourceRoot":"../../../src","sources":["hooks/useAppUpdate.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","Platform","addUpdateListener","checkPlayStoreUpdate","completeInAppUpdate","getCurrentBuildNumber","getCurrentVersion","getPackageName","needUpdate","openStore","startInAppUpdate","AppUpdateError","AppUpdateErrorCode","InstallStatus","UpdateAvailability","useAppUpdate","options","isChecking","setIsChecking","isUpdateAvailable","setIsUpdateAvailable","currentVersion","latestVersion","setLatestVersion","storeUrl","setStoreUrl","error","setError","isDownloading","setIsDownloading","downloadProgress","setDownloadProgress","isReadyToInstall","setIsReadyToInstall","playStoreInfo","setPlayStoreInfo","subscriptionRef","mountedRef","checkUpdate","current","OS","info","isAvailable","updateAvailability","UPDATE_AVAILABLE","availableVersionCode","toString","result","country","forceRefresh","isNeeded","e","appError","CHECK_FAILED","String","onError","handleOpenStore","UNKNOWN","handleStartUpdate","type","remove","state","installStatus","DOWNLOADING","DOWNLOADED","INSTALLED","FAILED","CANCELED","UPDATE_FAILED","handleCompleteUpdate","checkOnMount","startUpdate","completeUpdate"],"sourceRoot":"../../../src","sources":["hooks/useAppUpdate.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAExB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,SAAS,CAAC;AAGjB,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAsB,gBAAgB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBzF;AAED,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB/E;AAED,wBAAsB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsCvF;AAED,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3E;AAED,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC,CAY9F;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CASzE;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAStE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAS1C;AAgDD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,kBAAkB,CAgB9E"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/api.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAExB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,SAAS,CAAC;AAGjB,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAsB,gBAAgB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBzF;AAED,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwB/E;AAED,wBAAsB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwCvF;AAED,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3E;AAED,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC,CAY9F;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CASzE;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAStE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAS1C;AAmDD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,kBAAkB,CAgB9E"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAppUpdate.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAppUpdate.ts"],"names":[],"mappings":"AAYA,OAAO,EAQL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAElB,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,kBAAkB,CAoK9E"}
1
+ {"version":3,"file":"useAppUpdate.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAppUpdate.ts"],"names":[],"mappings":"AAcA,OAAO,EAQL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAElB,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,kBAAkB,CAqK9E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parrotnavy/rn-native-updates",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "description": "React Native app update checker with hooks support. Uses Play Core for Android and iTunes Lookup API for iOS.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
package/src/api.ts CHANGED
@@ -63,9 +63,15 @@ export async function getStoreUrl(options?: GetStoreUrlOptions): Promise<string>
63
63
  try {
64
64
  const info = await NativeUpdatesModule.getAppStoreVersion(options?.country ?? null, false);
65
65
  return info.trackViewUrl;
66
- } catch {
67
- const country = options?.country ?? getCountry();
68
- return `https://apps.apple.com/${country.toLowerCase()}/app/id`;
66
+ } catch (e) {
67
+ if (e instanceof AppUpdateError) {
68
+ throw e;
69
+ }
70
+ throw new AppUpdateError(
71
+ AppUpdateErrorCode.UNKNOWN,
72
+ `Failed to get store URL: ${e instanceof Error ? e.message : String(e)}`,
73
+ e,
74
+ );
69
75
  }
70
76
  }
71
77
 
@@ -77,7 +83,9 @@ export async function getStoreUrl(options?: GetStoreUrlOptions): Promise<string>
77
83
  }
78
84
 
79
85
  export async function needUpdate(options?: NeedUpdateOptions): Promise<NeedUpdateResult> {
80
- const currentVersion = options?.currentVersion ?? getCurrentVersion();
86
+ const currentVersion =
87
+ options?.currentVersion ??
88
+ (Platform.OS === 'android' ? getCurrentBuildNumber().toString() : getCurrentVersion());
81
89
  const depth = options?.depth ?? Number.POSITIVE_INFINITY;
82
90
 
83
91
  let latestVersion: string;
@@ -184,11 +192,14 @@ function setupEventListener(): void {
184
192
  const emitter = new EventEmitter(NativeUpdatesModule);
185
193
 
186
194
  const handleEvent = (_eventName: string, data: Record<string, unknown>) => {
195
+ const safeNumber = (val: unknown, def: number) =>
196
+ typeof val === 'number' && !Number.isNaN(val) ? val : def;
197
+
187
198
  const state = {
188
- installStatus: (data.installStatus as number) ?? 0,
189
- bytesDownloaded: (data.bytesDownloaded as number) ?? 0,
190
- totalBytesToDownload: (data.totalBytesToDownload as number) ?? 0,
191
- downloadProgress: (data.downloadProgress as number) ?? 0,
199
+ installStatus: safeNumber(data.installStatus, 0),
200
+ bytesDownloaded: safeNumber(data.bytesDownloaded, 0),
201
+ totalBytesToDownload: safeNumber(data.totalBytesToDownload, 0),
202
+ downloadProgress: safeNumber(data.downloadProgress, 0),
192
203
  };
193
204
 
194
205
  for (const listener of listeners) {
@@ -5,7 +5,9 @@ import {
5
5
  addUpdateListener,
6
6
  checkPlayStoreUpdate,
7
7
  completeInAppUpdate,
8
+ getCurrentBuildNumber,
8
9
  getCurrentVersion,
10
+ getPackageName,
9
11
  needUpdate,
10
12
  openStore,
11
13
  startInAppUpdate,
@@ -45,29 +47,30 @@ export function useAppUpdate(options?: UseAppUpdateOptions): UseAppUpdateResult
45
47
  setError(null);
46
48
 
47
49
  try {
48
- const result = await needUpdate({
49
- country: options?.country,
50
- forceRefresh: true,
51
- });
50
+ if (Platform.OS === 'android') {
51
+ const info = await checkPlayStoreUpdate();
52
+ if (!mountedRef.current) return;
52
53
 
53
- if (!mountedRef.current) return;
54
+ setPlayStoreInfo(info);
55
+ const isAvailable = info.updateAvailability === UpdateAvailability.UPDATE_AVAILABLE;
56
+ setIsUpdateAvailable(isAvailable);
57
+ setLatestVersion(
58
+ isAvailable && info.availableVersionCode
59
+ ? info.availableVersionCode.toString()
60
+ : getCurrentBuildNumber().toString(),
61
+ );
62
+ setStoreUrl(`https://play.google.com/store/apps/details?id=${getPackageName()}`);
63
+ } else {
64
+ const result = await needUpdate({
65
+ country: options?.country,
66
+ forceRefresh: true,
67
+ });
54
68
 
55
- setIsUpdateAvailable(result.isNeeded);
56
- setLatestVersion(result.latestVersion);
57
- setStoreUrl(result.storeUrl);
69
+ if (!mountedRef.current) return;
58
70
 
59
- if (Platform.OS === 'android') {
60
- try {
61
- const info = await checkPlayStoreUpdate();
62
- if (mountedRef.current) {
63
- setPlayStoreInfo(info);
64
- setIsUpdateAvailable(info.updateAvailability === UpdateAvailability.UPDATE_AVAILABLE);
65
- }
66
- } catch {
67
- if (mountedRef.current) {
68
- setPlayStoreInfo(null);
69
- }
70
- }
71
+ setIsUpdateAvailable(result.isNeeded);
72
+ setLatestVersion(result.latestVersion);
73
+ setStoreUrl(result.storeUrl);
71
74
  }
72
75
  } catch (e) {
73
76
  if (!mountedRef.current) return;