react-native-update 10.10.3 → 10.11.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/package.json +1 -1
- package/src/context.ts +2 -2
- package/src/provider.tsx +37 -8
- package/src/type.ts +1 -1
package/package.json
CHANGED
package/src/context.ts
CHANGED
|
@@ -14,7 +14,7 @@ export const defaultContext = {
|
|
|
14
14
|
downloadUpdate: asyncNoop,
|
|
15
15
|
downloadAndInstallApk: asyncNoop,
|
|
16
16
|
getCurrentVersionInfo: () => Promise.resolve({}),
|
|
17
|
-
|
|
17
|
+
parseTestQrCode: () => false,
|
|
18
18
|
currentHash: '',
|
|
19
19
|
packageVersion: '',
|
|
20
20
|
};
|
|
@@ -32,7 +32,7 @@ export const PushyContext = createContext<{
|
|
|
32
32
|
description?: string;
|
|
33
33
|
metaInfo?: string;
|
|
34
34
|
}>;
|
|
35
|
-
|
|
35
|
+
parseTestQrCode: (code: string) => boolean;
|
|
36
36
|
currentHash: string;
|
|
37
37
|
packageVersion: string;
|
|
38
38
|
client?: Pushy;
|
package/src/provider.tsx
CHANGED
|
@@ -263,13 +263,7 @@ export const PushyProvider = ({
|
|
|
263
263
|
}, [checkUpdate, options, dismissError, markSuccess]);
|
|
264
264
|
|
|
265
265
|
const parseTestPayload = useCallback(
|
|
266
|
-
|
|
267
|
-
let payload: PushyTestPayload;
|
|
268
|
-
try {
|
|
269
|
-
payload = JSON.parse(code);
|
|
270
|
-
} catch {
|
|
271
|
-
return false;
|
|
272
|
-
}
|
|
266
|
+
(payload: PushyTestPayload) => {
|
|
273
267
|
if (payload && payload.type && payload.type.startsWith('__rnPushy')) {
|
|
274
268
|
const logger = options.logger || (() => {});
|
|
275
269
|
options.logger = ({ type, data }) => {
|
|
@@ -294,6 +288,41 @@ export const PushyProvider = ({
|
|
|
294
288
|
[checkUpdate, options],
|
|
295
289
|
);
|
|
296
290
|
|
|
291
|
+
const parseTestQrCode = useCallback(
|
|
292
|
+
(code: string) => {
|
|
293
|
+
let payload: PushyTestPayload;
|
|
294
|
+
try {
|
|
295
|
+
payload = JSON.parse(code);
|
|
296
|
+
return parseTestPayload(payload);
|
|
297
|
+
} catch {
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
[parseTestPayload],
|
|
302
|
+
);
|
|
303
|
+
|
|
304
|
+
useEffect(() => {
|
|
305
|
+
const parseLinking = (url: string | null) => {
|
|
306
|
+
if (!url) {
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
const params = new URLSearchParams(url);
|
|
310
|
+
const payload = {
|
|
311
|
+
type: params.get('type'),
|
|
312
|
+
data: params.get('data'),
|
|
313
|
+
};
|
|
314
|
+
parseTestPayload(payload);
|
|
315
|
+
};
|
|
316
|
+
|
|
317
|
+
Linking.getInitialURL().then(parseLinking);
|
|
318
|
+
const linkingListener = Linking.addEventListener('url', ({ url }) =>
|
|
319
|
+
parseLinking(url),
|
|
320
|
+
);
|
|
321
|
+
return () => {
|
|
322
|
+
linkingListener.remove();
|
|
323
|
+
};
|
|
324
|
+
}, [parseTestPayload]);
|
|
325
|
+
|
|
297
326
|
return (
|
|
298
327
|
<PushyContext.Provider
|
|
299
328
|
value={{
|
|
@@ -311,7 +340,7 @@ export const PushyProvider = ({
|
|
|
311
340
|
progress,
|
|
312
341
|
downloadAndInstallApk,
|
|
313
342
|
getCurrentVersionInfo,
|
|
314
|
-
|
|
343
|
+
parseTestQrCode,
|
|
315
344
|
}}>
|
|
316
345
|
{children}
|
|
317
346
|
</PushyContext.Provider>
|