@userflow-tech/react-native 0.3.0 → 0.4.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/README.md +360 -70
- package/docs/anchoring.md +58 -42
- package/docs/troubleshooting.md +69 -27
- package/expo-plugin/hostDependencyWarnings.d.ts +21 -0
- package/expo-plugin/hostDependencyWarnings.d.ts.map +1 -0
- package/expo-plugin/hostDependencyWarnings.js +101 -0
- package/expo-plugin/hostDependencyWarnings.js.map +1 -0
- package/expo-plugin/withUserflow.d.ts.map +1 -1
- package/expo-plugin/withUserflow.js +16 -0
- package/expo-plugin/withUserflow.js.map +1 -1
- package/lib/commonjs/anchors/AnchorRegistry.js +7 -0
- package/lib/commonjs/anchors/AnchorRegistry.js.map +1 -1
- package/lib/commonjs/anchors/elementConditionEvaluator.js +189 -55
- package/lib/commonjs/anchors/elementConditionEvaluator.js.map +1 -1
- package/lib/commonjs/anchors/elementTapMonitor.js +92 -0
- package/lib/commonjs/anchors/elementTapMonitor.js.map +1 -0
- package/lib/commonjs/anchors/elementTargetMatch.js +85 -0
- package/lib/commonjs/anchors/elementTargetMatch.js.map +1 -0
- package/lib/commonjs/anchors/fiber/findAnchorFiber.js +64 -39
- package/lib/commonjs/anchors/fiber/findAnchorFiber.js.map +1 -1
- package/lib/commonjs/anchors/fiber/touchTargetFiber.js +105 -0
- package/lib/commonjs/anchors/fiber/touchTargetFiber.js.map +1 -0
- package/lib/commonjs/anchors/resolveAnchorHost.js +2 -1
- package/lib/commonjs/anchors/resolveAnchorHost.js.map +1 -1
- package/lib/commonjs/anchors/resolveAutoAnchorHost.js +4 -2
- package/lib/commonjs/anchors/resolveAutoAnchorHost.js.map +1 -1
- package/lib/commonjs/anchors/resolveElementTargets.js +158 -0
- package/lib/commonjs/anchors/resolveElementTargets.js.map +1 -0
- package/lib/commonjs/anchors/targetPressMonitor.js +9 -3
- package/lib/commonjs/anchors/targetPressMonitor.js.map +1 -1
- package/lib/commonjs/anchors/useUserflowAnchor.js +1 -0
- package/lib/commonjs/anchors/useUserflowAnchor.js.map +1 -1
- package/lib/commonjs/anonymousId.js +16 -7
- package/lib/commonjs/anonymousId.js.map +1 -1
- package/lib/commonjs/authoring/capturePickerScreenshot.js +9 -1
- package/lib/commonjs/authoring/capturePickerScreenshot.js.map +1 -1
- package/lib/commonjs/evalJs/getWebView.js +5 -13
- package/lib/commonjs/evalJs/getWebView.js.map +1 -1
- package/lib/commonjs/hostAppVersion.js +6 -1
- package/lib/commonjs/hostAppVersion.js.map +1 -1
- package/lib/commonjs/index.js +5 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/installCheck.js +183 -0
- package/lib/commonjs/installCheck.js.map +1 -0
- package/lib/commonjs/nativeModules.js +44 -0
- package/lib/commonjs/nativeModules.js.map +1 -0
- package/lib/commonjs/network.js +20 -7
- package/lib/commonjs/network.js.map +1 -1
- package/lib/commonjs/pairing/deviceId.js +14 -11
- package/lib/commonjs/pairing/deviceId.js.map +1 -1
- package/lib/commonjs/pairing/tokenStorage.js +17 -4
- package/lib/commonjs/pairing/tokenStorage.js.map +1 -1
- package/lib/commonjs/runtime/TargetPressBridge.js +12 -1
- package/lib/commonjs/runtime/TargetPressBridge.js.map +1 -1
- package/lib/commonjs/runtime/UserflowProvider.js +6 -3
- package/lib/commonjs/runtime/UserflowProvider.js.map +1 -1
- package/lib/commonjs/storage/asyncStorage.js +67 -0
- package/lib/commonjs/storage/asyncStorage.js.map +1 -0
- package/lib/commonjs/surfaces/BannerSurface.js +3 -1
- package/lib/commonjs/surfaces/BannerSurface.js.map +1 -1
- package/lib/commonjs/surfaces/safeArea.js +74 -28
- package/lib/commonjs/surfaces/safeArea.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/anchors/AnchorRegistry.js +7 -0
- package/lib/module/anchors/AnchorRegistry.js.map +1 -1
- package/lib/module/anchors/elementConditionEvaluator.js +189 -55
- package/lib/module/anchors/elementConditionEvaluator.js.map +1 -1
- package/lib/module/anchors/elementTapMonitor.js +87 -0
- package/lib/module/anchors/elementTapMonitor.js.map +1 -0
- package/lib/module/anchors/elementTargetMatch.js +78 -0
- package/lib/module/anchors/elementTargetMatch.js.map +1 -0
- package/lib/module/anchors/fiber/findAnchorFiber.js +62 -39
- package/lib/module/anchors/fiber/findAnchorFiber.js.map +1 -1
- package/lib/module/anchors/fiber/touchTargetFiber.js +100 -0
- package/lib/module/anchors/fiber/touchTargetFiber.js.map +1 -0
- package/lib/module/anchors/resolveAnchorHost.js +2 -1
- package/lib/module/anchors/resolveAnchorHost.js.map +1 -1
- package/lib/module/anchors/resolveAutoAnchorHost.js +3 -3
- package/lib/module/anchors/resolveAutoAnchorHost.js.map +1 -1
- package/lib/module/anchors/resolveElementTargets.js +152 -0
- package/lib/module/anchors/resolveElementTargets.js.map +1 -0
- package/lib/module/anchors/targetPressMonitor.js +8 -3
- package/lib/module/anchors/targetPressMonitor.js.map +1 -1
- package/lib/module/anchors/useUserflowAnchor.js +1 -0
- package/lib/module/anchors/useUserflowAnchor.js.map +1 -1
- package/lib/module/anonymousId.js +15 -5
- package/lib/module/anonymousId.js.map +1 -1
- package/lib/module/authoring/capturePickerScreenshot.js +9 -1
- package/lib/module/authoring/capturePickerScreenshot.js.map +1 -1
- package/lib/module/evalJs/getWebView.js +5 -13
- package/lib/module/evalJs/getWebView.js.map +1 -1
- package/lib/module/hostAppVersion.js +6 -1
- package/lib/module/hostAppVersion.js.map +1 -1
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/installCheck.js +169 -0
- package/lib/module/installCheck.js.map +1 -0
- package/lib/module/nativeModules.js +40 -0
- package/lib/module/nativeModules.js.map +1 -0
- package/lib/module/network.js +20 -7
- package/lib/module/network.js.map +1 -1
- package/lib/module/pairing/deviceId.js +14 -10
- package/lib/module/pairing/deviceId.js.map +1 -1
- package/lib/module/pairing/tokenStorage.js +17 -4
- package/lib/module/pairing/tokenStorage.js.map +1 -1
- package/lib/module/runtime/TargetPressBridge.js +12 -1
- package/lib/module/runtime/TargetPressBridge.js.map +1 -1
- package/lib/module/runtime/UserflowProvider.js +7 -4
- package/lib/module/runtime/UserflowProvider.js.map +1 -1
- package/lib/module/storage/asyncStorage.js +61 -0
- package/lib/module/storage/asyncStorage.js.map +1 -0
- package/lib/module/surfaces/BannerSurface.js +3 -1
- package/lib/module/surfaces/BannerSurface.js.map +1 -1
- package/lib/module/surfaces/safeArea.js +70 -28
- package/lib/module/surfaces/safeArea.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts +7 -0
- package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts +12 -16
- package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts +36 -0
- package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts +20 -0
- package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/findAnchorFiber.d.ts +17 -5
- package/lib/typescript/commonjs/src/anchors/fiber/findAnchorFiber.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/touchTargetFiber.d.ts +24 -0
- package/lib/typescript/commonjs/src/anchors/fiber/touchTargetFiber.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts +2 -1
- package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts +10 -1
- package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/resolveElementTargets.d.ts +39 -0
- package/lib/typescript/commonjs/src/anchors/resolveElementTargets.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts +2 -0
- package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anonymousId.d.ts +2 -0
- package/lib/typescript/commonjs/src/anonymousId.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/authoring/capturePickerScreenshot.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/evalJs/getWebView.d.ts +2 -1
- package/lib/typescript/commonjs/src/evalJs/getWebView.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/hostAppVersion.d.ts +1 -1
- package/lib/typescript/commonjs/src/hostAppVersion.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/installCheck.d.ts +48 -0
- package/lib/typescript/commonjs/src/installCheck.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/nativeModules.d.ts +13 -0
- package/lib/typescript/commonjs/src/nativeModules.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/network.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/pairing/deviceId.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts +2 -1
- package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/storage/asyncStorage.d.ts +15 -0
- package/lib/typescript/commonjs/src/storage/asyncStorage.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/safeArea.d.ts +6 -2
- package/lib/typescript/commonjs/src/surfaces/safeArea.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/version.d.ts +1 -1
- package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts +7 -0
- package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts +12 -16
- package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts +36 -0
- package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts +20 -0
- package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/findAnchorFiber.d.ts +17 -5
- package/lib/typescript/module/src/anchors/fiber/findAnchorFiber.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/touchTargetFiber.d.ts +24 -0
- package/lib/typescript/module/src/anchors/fiber/touchTargetFiber.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts +2 -1
- package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts +10 -1
- package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/resolveElementTargets.d.ts +39 -0
- package/lib/typescript/module/src/anchors/resolveElementTargets.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts +2 -0
- package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts.map +1 -1
- package/lib/typescript/module/src/anonymousId.d.ts +2 -0
- package/lib/typescript/module/src/anonymousId.d.ts.map +1 -1
- package/lib/typescript/module/src/authoring/capturePickerScreenshot.d.ts.map +1 -1
- package/lib/typescript/module/src/evalJs/getWebView.d.ts +2 -1
- package/lib/typescript/module/src/evalJs/getWebView.d.ts.map +1 -1
- package/lib/typescript/module/src/hostAppVersion.d.ts +1 -1
- package/lib/typescript/module/src/hostAppVersion.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/installCheck.d.ts +48 -0
- package/lib/typescript/module/src/installCheck.d.ts.map +1 -0
- package/lib/typescript/module/src/nativeModules.d.ts +13 -0
- package/lib/typescript/module/src/nativeModules.d.ts.map +1 -0
- package/lib/typescript/module/src/network.d.ts.map +1 -1
- package/lib/typescript/module/src/pairing/deviceId.d.ts.map +1 -1
- package/lib/typescript/module/src/pairing/tokenStorage.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts +2 -1
- package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/UserflowProvider.d.ts.map +1 -1
- package/lib/typescript/module/src/storage/asyncStorage.d.ts +15 -0
- package/lib/typescript/module/src/storage/asyncStorage.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/BannerSurface.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/safeArea.d.ts +6 -2
- package/lib/typescript/module/src/surfaces/safeArea.d.ts.map +1 -1
- package/lib/typescript/module/src/version.d.ts +1 -1
- package/package.json +25 -8
- package/src/anchors/AnchorRegistry.ts +12 -0
- package/src/anchors/elementConditionEvaluator.ts +235 -70
- package/src/anchors/elementTapMonitor.ts +95 -0
- package/src/anchors/elementTargetMatch.ts +90 -0
- package/src/anchors/fiber/findAnchorFiber.ts +66 -35
- package/src/anchors/fiber/touchTargetFiber.ts +125 -0
- package/src/anchors/resolveAnchorHost.ts +2 -1
- package/src/anchors/resolveAutoAnchorHost.ts +3 -3
- package/src/anchors/resolveElementTargets.ts +165 -0
- package/src/anchors/targetPressMonitor.ts +12 -3
- package/src/anchors/useUserflowAnchor.ts +1 -0
- package/src/anonymousId.ts +19 -8
- package/src/authoring/capturePickerScreenshot.ts +10 -1
- package/src/evalJs/getWebView.ts +6 -13
- package/src/hostAppVersion.ts +7 -1
- package/src/index.ts +10 -0
- package/src/installCheck.ts +225 -0
- package/src/nativeModules.ts +48 -0
- package/src/network.ts +27 -11
- package/src/pairing/deviceId.ts +14 -11
- package/src/pairing/tokenStorage.ts +23 -7
- package/src/runtime/TargetPressBridge.tsx +17 -1
- package/src/runtime/UserflowProvider.tsx +11 -4
- package/src/storage/asyncStorage.ts +88 -0
- package/src/surfaces/BannerSurface.tsx +7 -5
- package/src/surfaces/safeArea.ts +85 -40
- package/src/version.ts +1 -1
- package/vendor/core/dist/constants.d.ts +2 -0
- package/vendor/core/dist/constants.d.ts.map +1 -1
- package/vendor/core/dist/constants.js +2 -0
- package/vendor/core/dist/constants.js.map +1 -1
- package/vendor/core/dist/engine/ClientConditionEngine.d.ts +20 -1
- package/vendor/core/dist/engine/ClientConditionEngine.d.ts.map +1 -1
- package/vendor/core/dist/engine/ClientConditionEngine.js +13 -10
- package/vendor/core/dist/engine/ClientConditionEngine.js.map +1 -1
- package/vendor/core/dist/engine/UserflowCore.d.ts.map +1 -1
- package/vendor/core/dist/engine/UserflowCore.js +21 -2
- package/vendor/core/dist/engine/UserflowCore.js.map +1 -1
- package/vendor/core/dist/index.d.ts +1 -1
- package/vendor/core/dist/index.d.ts.map +1 -1
- package/vendor/core/dist/index.js.map +1 -1
- package/vendor/core/dist/version.d.ts +1 -1
- package/vendor/core/dist/version.js +1 -1
- package/vendor/core/package.json +1 -1
- package/vendor/protocol/package.json +1 -1
- package/docs/webview-custom-banner-poc.md +0 -64
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
4
3
|
import { UserflowAuthError } from '@userflow-tech/core';
|
|
4
|
+
import { getAsyncStorage } from "./storage/asyncStorage.js";
|
|
5
5
|
|
|
6
6
|
/** Matches the web SDK's `userflow:anonymousId` localStorage key. */
|
|
7
7
|
export const ANONYMOUS_ID_STORAGE_KEY = 'userflow:anonymousId';
|
|
8
|
+
export const ANONYMOUS_STORAGE_UNAVAILABLE = 'Userflow.identifyAnonymous() is not supported when persistent storage is unavailable.';
|
|
9
|
+
export const ANONYMOUS_STORAGE_NOT_LINKED = 'Userflow.identifyAnonymous() needs @react-native-async-storage/async-storage, which is not ' + "linked in this native build. Add it to your app's package.json, run pod install, and rebuild.";
|
|
8
10
|
export function uuid() {
|
|
9
11
|
const webcrypto = globalThis.crypto;
|
|
10
12
|
if (webcrypto?.randomUUID) return webcrypto.randomUUID();
|
|
@@ -15,22 +17,30 @@ export function uuid() {
|
|
|
15
17
|
});
|
|
16
18
|
}
|
|
17
19
|
export async function getOrCreateAnonymousId() {
|
|
20
|
+
const storage = getAsyncStorage();
|
|
21
|
+
if (!storage) {
|
|
22
|
+
throw new UserflowAuthError(ANONYMOUS_STORAGE_NOT_LINKED, {
|
|
23
|
+
isHostContract: true
|
|
24
|
+
});
|
|
25
|
+
}
|
|
18
26
|
try {
|
|
19
|
-
let externalId = await
|
|
27
|
+
let externalId = await storage.getItem(ANONYMOUS_ID_STORAGE_KEY);
|
|
20
28
|
if (!externalId) {
|
|
21
29
|
externalId = `anon-${uuid()}`;
|
|
22
|
-
await
|
|
30
|
+
await storage.setItem(ANONYMOUS_ID_STORAGE_KEY, externalId);
|
|
23
31
|
}
|
|
24
32
|
return externalId;
|
|
25
33
|
} catch {
|
|
26
|
-
throw new UserflowAuthError(
|
|
34
|
+
throw new UserflowAuthError(ANONYMOUS_STORAGE_UNAVAILABLE, {
|
|
27
35
|
isHostContract: true
|
|
28
36
|
});
|
|
29
37
|
}
|
|
30
38
|
}
|
|
31
39
|
export async function clearAnonymousId() {
|
|
40
|
+
const storage = getAsyncStorage();
|
|
41
|
+
if (!storage) return;
|
|
32
42
|
try {
|
|
33
|
-
await
|
|
43
|
+
await storage.removeItem(ANONYMOUS_ID_STORAGE_KEY);
|
|
34
44
|
} catch {
|
|
35
45
|
// Best-effort clear, mirroring the web SDK when storage access is denied.
|
|
36
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["UserflowAuthError","getAsyncStorage","ANONYMOUS_ID_STORAGE_KEY","ANONYMOUS_STORAGE_UNAVAILABLE","ANONYMOUS_STORAGE_NOT_LINKED","uuid","webcrypto","globalThis","crypto","randomUUID","replace","char","rand","Math","random","value","toString","getOrCreateAnonymousId","storage","isHostContract","externalId","getItem","setItem","clearAnonymousId","removeItem"],"sourceRoot":"../../src","sources":["anonymousId.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,eAAe,QAAQ,2BAAwB;;AAExD;AACA,OAAO,MAAMC,wBAAwB,GAAG,sBAAsB;AAE9D,OAAO,MAAMC,6BAA6B,GACxC,uFAAuF;AAEzF,OAAO,MAAMC,4BAA4B,GACvC,6FAA6F,GAC7F,+FAA+F;AAEjG,OAAO,SAASC,IAAIA,CAAA,EAAW;EAC7B,MAAMC,SAAS,GAAGC,UAAU,CAACC,MAAM;EACnC,IAAIF,SAAS,EAAEG,UAAU,EAAE,OAAOH,SAAS,CAACG,UAAU,CAAC,CAAC;EACxD,OAAO,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAGC,IAAI,IAAK;IACvE,MAAMC,IAAI,GAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAI,CAAC;IACrC,MAAMC,KAAK,GAAGJ,IAAI,KAAK,GAAG,GAAGC,IAAI,GAAIA,IAAI,GAAG,GAAG,GAAI,GAAG;IACtD,OAAOG,KAAK,CAACC,QAAQ,CAAC,EAAE,CAAC;EAC3B,CAAC,CAAC;AACJ;AAEA,OAAO,eAAeC,sBAAsBA,CAAA,EAAoB;EAC9D,MAAMC,OAAO,GAAGjB,eAAe,CAAC,CAAC;EACjC,IAAI,CAACiB,OAAO,EAAE;IACZ,MAAM,IAAIlB,iBAAiB,CAACI,4BAA4B,EAAE;MAAEe,cAAc,EAAE;IAAK,CAAC,CAAC;EACrF;EACA,IAAI;IACF,IAAIC,UAAU,GAAG,MAAMF,OAAO,CAACG,OAAO,CAACnB,wBAAwB,CAAC;IAChE,IAAI,CAACkB,UAAU,EAAE;MACfA,UAAU,GAAG,QAAQf,IAAI,CAAC,CAAC,EAAE;MAC7B,MAAMa,OAAO,CAACI,OAAO,CAACpB,wBAAwB,EAAEkB,UAAU,CAAC;IAC7D;IACA,OAAOA,UAAU;EACnB,CAAC,CAAC,MAAM;IACN,MAAM,IAAIpB,iBAAiB,CAACG,6BAA6B,EAAE;MAAEgB,cAAc,EAAE;IAAK,CAAC,CAAC;EACtF;AACF;AAEA,OAAO,eAAeI,gBAAgBA,CAAA,EAAkB;EACtD,MAAML,OAAO,GAAGjB,eAAe,CAAC,CAAC;EACjC,IAAI,CAACiB,OAAO,EAAE;EACd,IAAI;IACF,MAAMA,OAAO,CAACM,UAAU,CAACtB,wBAAwB,CAAC;EACpD,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ","ignoreList":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Dimensions } from 'react-native';
|
|
4
|
+
import { isNativeModuleLinked } from "../nativeModules.js";
|
|
4
5
|
const MAX_CAPTURE_WIDTH = 480;
|
|
6
|
+
const VIEW_SHOT_MODULE = 'RNViewShot';
|
|
5
7
|
const MISSING_VIEW_SHOT_WARNING = '[Userflow] Required peer react-native-view-shot is not installed; ' + 'skipping picker screenshot. Install react-native-view-shot (>=5.0.0) and rebuild native.';
|
|
6
8
|
let didWarnMissingViewShot = false;
|
|
7
9
|
function warnMissingViewShot() {
|
|
@@ -13,8 +15,14 @@ function warnMissingViewShot() {
|
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
17
|
function loadViewShot() {
|
|
18
|
+
// view-shot 4 calls TurboModuleRegistry.getEnforcing at import. Metro reports
|
|
19
|
+
// that throw as fatal before this try/catch can see it.
|
|
20
|
+
if (!isNativeModuleLinked(VIEW_SHOT_MODULE)) {
|
|
21
|
+
warnMissingViewShot();
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
16
24
|
try {
|
|
17
|
-
// Required peer; degrade if
|
|
25
|
+
// Required peer; degrade if the JS package is missing.
|
|
18
26
|
// eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports
|
|
19
27
|
return require('react-native-view-shot');
|
|
20
28
|
} catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Dimensions","MAX_CAPTURE_WIDTH","MISSING_VIEW_SHOT_WARNING","didWarnMissingViewShot","warnMissingViewShot","__DEV__","console","warn","loadViewShot","require","capturePickerScreenshot","rect","viewShot","captureScreen","window","get","winW","width","winH","height","captureWidth","Math","min","round","captureHeight","max","dataUrl","format","quality","result","length","sx","sy","targetX1","x","targetY1","y","targetX2","targetY2","resetViewShotWarningForTests"],"sourceRoot":"../../../src","sources":["authoring/capturePickerScreenshot.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["Dimensions","isNativeModuleLinked","MAX_CAPTURE_WIDTH","VIEW_SHOT_MODULE","MISSING_VIEW_SHOT_WARNING","didWarnMissingViewShot","warnMissingViewShot","__DEV__","console","warn","loadViewShot","require","capturePickerScreenshot","rect","viewShot","captureScreen","window","get","winW","width","winH","height","captureWidth","Math","min","round","captureHeight","max","dataUrl","format","quality","result","length","sx","sy","targetX1","x","targetY1","y","targetX2","targetY2","resetViewShotWarningForTests"],"sourceRoot":"../../../src","sources":["authoring/capturePickerScreenshot.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AAEzC,SAASC,oBAAoB,QAAQ,qBAAkB;AAKvD,MAAMC,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,gBAAgB,GAAG,YAAY;AAErC,MAAMC,yBAAyB,GAC7B,oEAAoE,GACpE,0FAA0F;AAY5F,IAAIC,sBAAsB,GAAG,KAAK;AAElC,SAASC,mBAAmBA,CAAA,EAAS;EACnC,IAAID,sBAAsB,EAAE;EAC5BA,sBAAsB,GAAG,IAAI;EAC7B,IAAIE,OAAO,EAAE;IACX;IACAC,OAAO,CAACC,IAAI,CAACL,yBAAyB,CAAC;EACzC;AACF;AAEA,SAASM,YAAYA,CAAA,EAA0B;EAC7C;EACA;EACA,IAAI,CAACT,oBAAoB,CAACE,gBAAgB,CAAC,EAAE;IAC3CG,mBAAmB,CAAC,CAAC;IACrB,OAAO,IAAI;EACb;EACA,IAAI;IACF;IACA;IACA,OAAOK,OAAO,CAAC,wBAAwB,CAAC;EAC1C,CAAC,CAAC,MAAM;IACNL,mBAAmB,CAAC,CAAC;IACrB,OAAO,IAAI;EACb;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeM,uBAAuBA,CAC3CC,IAAa,EAC4B;EACzC,MAAMC,QAAQ,GAAGJ,YAAY,CAAC,CAAC;EAC/B,IAAI,CAACI,QAAQ,EAAEC,aAAa,EAAE,OAAO,IAAI;EAEzC,IAAI;IACF,MAAMC,MAAM,GAAGhB,UAAU,CAACiB,GAAG,CAAC,QAAQ,CAAC;IACvC,MAAMC,IAAI,GAAGF,MAAM,CAACG,KAAK,IAAI,CAAC;IAC9B,MAAMC,IAAI,GAAGJ,MAAM,CAACK,MAAM,IAAI,CAAC;IAC/B,MAAMC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,KAAK,CAACP,IAAI,CAAC,EAAEhB,iBAAiB,CAAC;IAClE,MAAMwB,aAAa,GAAGH,IAAI,CAACI,GAAG,CAAC,CAAC,EAAEJ,IAAI,CAACE,KAAK,CAACL,IAAI,IAAIE,YAAY,GAAGJ,IAAI,CAAC,CAAC,CAAC;IAE3E,MAAMU,OAAO,GAAG,MAAMd,QAAQ,CAACC,aAAa,CAAC;MAC3Cc,MAAM,EAAE,KAAK;MACbC,OAAO,EAAE,IAAI;MACbC,MAAM,EAAE,UAAU;MAClBZ,KAAK,EAAEG,YAAY;MACnBD,MAAM,EAAEK;IACV,CAAC,CAAC;IACF,IAAI,OAAOE,OAAO,KAAK,QAAQ,IAAIA,OAAO,CAACI,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;IAEpE,MAAMC,EAAE,GAAGX,YAAY,GAAGJ,IAAI;IAC9B,MAAMgB,EAAE,GAAGR,aAAa,GAAGN,IAAI;IAC/B,OAAO;MACLQ,OAAO;MACPT,KAAK,EAAEG,YAAY;MACnBD,MAAM,EAAEK,aAAa;MACrBS,QAAQ,EAAEZ,IAAI,CAACE,KAAK,CAACZ,IAAI,CAACuB,CAAC,GAAGH,EAAE,CAAC;MACjCI,QAAQ,EAAEd,IAAI,CAACE,KAAK,CAACZ,IAAI,CAACyB,CAAC,GAAGJ,EAAE,CAAC;MACjCK,QAAQ,EAAEhB,IAAI,CAACE,KAAK,CAAC,CAACZ,IAAI,CAACuB,CAAC,GAAGvB,IAAI,CAACM,KAAK,IAAIc,EAAE,CAAC;MAChDO,QAAQ,EAAEjB,IAAI,CAACE,KAAK,CAAC,CAACZ,IAAI,CAACyB,CAAC,GAAGzB,IAAI,CAACQ,MAAM,IAAIa,EAAE;IAClD,CAAC;EACH,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACA,OAAO,SAASO,4BAA4BA,CAAA,EAAS;EACnDpC,sBAAsB,GAAG,KAAK;AAChC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { isNativeModuleLinked } from "../nativeModules.js";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Minimal surface of `react-native-webview` this spike uses.
|
|
@@ -13,20 +13,11 @@ let warnedMissing = false;
|
|
|
13
13
|
/**
|
|
14
14
|
* True when the native `react-native-webview` binary is linked. Do not
|
|
15
15
|
* `require('react-native-webview')` before this passes — the JS entry calls
|
|
16
|
-
* `TurboModuleRegistry.getEnforcing('RNCWebViewModule')` and
|
|
16
|
+
* `TurboModuleRegistry.getEnforcing('RNCWebViewModule')` and Metro reports that
|
|
17
|
+
* throw as fatal before try/catch.
|
|
17
18
|
*/
|
|
18
19
|
export function isEvalJsWebViewNativeLinked() {
|
|
19
|
-
|
|
20
|
-
if (typeof TurboModuleRegistry?.get === 'function') {
|
|
21
|
-
if (TurboModuleRegistry.get('RNCWebViewModule') != null) {
|
|
22
|
-
return true;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
const legacy = NativeModules.RNCWebViewModule;
|
|
26
|
-
return legacy != null;
|
|
27
|
-
} catch {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
20
|
+
return isNativeModuleLinked('RNCWebViewModule');
|
|
30
21
|
}
|
|
31
22
|
|
|
32
23
|
/**
|
|
@@ -61,6 +52,7 @@ export function getEvalJsWebView() {
|
|
|
61
52
|
function warnMissing(reason) {
|
|
62
53
|
if (warnedMissing) return;
|
|
63
54
|
warnedMissing = true;
|
|
55
|
+
if (!__DEV__) return;
|
|
64
56
|
if (reason === 'native') {
|
|
65
57
|
console.warn('Userflow: react-native-webview is listed in package.json but RNCWebViewModule is not in ' + 'this native build. Run npx expo install react-native-webview (or npm install), then ' + 'rebuild the dev client (expo prebuild + run:ios / run:android — not Expo Go). ' + 'Evaluate JavaScript and WebView banners will not run until then.');
|
|
66
58
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["isNativeModuleLinked","cached","warnedMissing","isEvalJsWebViewNativeLinked","getEvalJsWebView","undefined","require","warnMissing","mod","component","WebView","default","reason","__DEV__","console","warn","resetEvalJsWebViewCacheForTests"],"sourceRoot":"../../../src","sources":["evalJs/getWebView.ts"],"mappings":";;AAEA,SAASA,oBAAoB,QAAQ,qBAAkB;;AAEvD;AACA;AACA;AACA;;AAmCA,IAAIC,MAAiD;AACrD,IAAIC,aAAa,GAAG,KAAK;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,2BAA2BA,CAAA,EAAY;EACrD,OAAOH,oBAAoB,CAAC,kBAAkB,CAAC;AACjD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASI,gBAAgBA,CAAA,EAAkC;EAChE,IAAIH,MAAM,KAAKI,SAAS,EAAE,OAAOJ,MAAM;EAEvC,IAAI,OAAOK,OAAO,KAAK,UAAU,EAAE;IACjCL,MAAM,GAAG,IAAI;IACbM,WAAW,CAAC,aAAa,CAAC;IAC1B,OAAON,MAAM;EACf;EAEA,IAAI,CAACE,2BAA2B,CAAC,CAAC,EAAE;IAClCF,MAAM,GAAG,IAAI;IACbM,WAAW,CAAC,QAAQ,CAAC;IACrB,OAAON,MAAM;EACf;EAEA,IAAI;IACF;IACA,MAAMO,GAAG,GAAGF,OAAO,CAAC,sBAAsB,CAGzC;IACD,MAAMG,SAAS,GAAGD,GAAG,EAAEE,OAAO,IAAIF,GAAG,EAAEG,OAAO;IAC9CV,MAAM,GAAGQ,SAAS,IAAI,IAAI,GAAGA,SAAS,GAAG,IAAI;EAC/C,CAAC,CAAC,MAAM;IACNR,MAAM,GAAG,IAAI;EACf;EAEA,IAAIA,MAAM,IAAI,IAAI,EAAE;IAClBM,WAAW,CAAC,IAAI,CAAC;EACnB;EACA,OAAON,MAAM;AACf;AAEA,SAASM,WAAWA,CAACK,MAAuC,EAAQ;EAClE,IAAIV,aAAa,EAAE;EACnBA,aAAa,GAAG,IAAI;EACpB,IAAI,CAACW,OAAO,EAAE;EACd,IAAID,MAAM,KAAK,QAAQ,EAAE;IACvBE,OAAO,CAACC,IAAI,CACV,0FAA0F,GACxF,sFAAsF,GACtF,gFAAgF,GAChF,kEACJ,CAAC;IACD;EACF;EACAD,OAAO,CAACC,IAAI,CACV,sFAAsF,GACpF,oFAAoF,GACpF,yBACJ,CAAC;AACH;;AAEA;AACA,OAAO,SAASC,+BAA+BA,CAAA,EAAS;EACtDf,MAAM,GAAGI,SAAS;EAClBH,aAAa,GAAG,KAAK;AACvB","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Read the host app's native marketing version (store version), not the
|
|
5
5
|
* SDK package version. React Native does not expose the store version on
|
|
6
6
|
* `Platform`; Expo hosts may use optional expo modules; bare RN reads
|
|
7
|
-
* `NativeModules.RNDeviceInfo` constants from the
|
|
7
|
+
* `NativeModules.RNDeviceInfo` constants from the device-info native
|
|
8
8
|
* module (after autolink + rebuild). The OS name is `Platform.OS`.
|
|
9
9
|
*
|
|
10
10
|
* Do not `require('react-native-device-info')` — that package throws at import
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* even inside try/catch.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
+
import { isNativeModuleLinked } from "./nativeModules.js";
|
|
15
16
|
function nonEmptyString(value) {
|
|
16
17
|
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
17
18
|
}
|
|
@@ -28,6 +29,10 @@ function unwrapModule(mod) {
|
|
|
28
29
|
return record;
|
|
29
30
|
}
|
|
30
31
|
function tryRequireExpoApplication() {
|
|
32
|
+
// expo-application calls requireNativeModule('ExpoApplication') at import.
|
|
33
|
+
// Skip the require when that module is not registered so a missing binary
|
|
34
|
+
// cannot surface as a fatal error.
|
|
35
|
+
if (!isNativeModuleLinked('ExpoApplication')) return undefined;
|
|
31
36
|
try {
|
|
32
37
|
// Optional on bare RN — Metro requires a string literal.
|
|
33
38
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["nonEmptyString","value","length","undefined","unwrapModule","mod","record","nested","tryRequireExpoApplication","require","tryRequireExpoConstants","loadLinkedDeviceInfoNativeModule","NativeModules","RNDeviceInfo","readExpoApplication","version","build","source","readExpoConstants","expoConfig","configVersion","readDeviceInfoFromNativeModule","module","appVersion","buildNumber","resolveHostAppVersionFromSources","sources","expoApplication","expoConstants","deviceInfoNative","resolveHostAppVersion","resolveHostAppVersionForInit","options","overrideVersion","appBuild","cachedHostAppVersion","cacheHostAppVersionAtInit","getCachedHostAppVersion","HOST_APP_VERSION_USER_ATTRIBUTE","HOST_APP_BUILD_USER_ATTRIBUTE","hostAppVersionUserAttributes","cached","mergeHostAppVersionUserAttributes","attributes","system","Object","keys","resetCachedHostAppVersionForTests","readPlatformOS","os","Platform","OS","formatHostAppVersionLog","resolved","level","message","logHostAppVersion","console","warn","log"],"sourceRoot":"../../src","sources":["hostAppVersion.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["isNativeModuleLinked","nonEmptyString","value","length","undefined","unwrapModule","mod","record","nested","tryRequireExpoApplication","require","tryRequireExpoConstants","loadLinkedDeviceInfoNativeModule","NativeModules","RNDeviceInfo","readExpoApplication","version","build","source","readExpoConstants","expoConfig","configVersion","readDeviceInfoFromNativeModule","module","appVersion","buildNumber","resolveHostAppVersionFromSources","sources","expoApplication","expoConstants","deviceInfoNative","resolveHostAppVersion","resolveHostAppVersionForInit","options","overrideVersion","appBuild","cachedHostAppVersion","cacheHostAppVersionAtInit","getCachedHostAppVersion","HOST_APP_VERSION_USER_ATTRIBUTE","HOST_APP_BUILD_USER_ATTRIBUTE","hostAppVersionUserAttributes","cached","mergeHostAppVersionUserAttributes","attributes","system","Object","keys","resetCachedHostAppVersionForTests","readPlatformOS","os","Platform","OS","formatHostAppVersionLog","resolved","level","message","logHostAppVersion","console","warn","log"],"sourceRoot":"../../src","sources":["hostAppVersion.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -20,6 +20,7 @@ import { cacheDeviceContextAtInit, getCachedDeviceContext, logDeviceContext as l
|
|
|
20
20
|
import { setEvalJsBridgeHandlers } from "./evalJs/evalJsBridge.js";
|
|
21
21
|
import { evalJsController } from "./evalJs/evalJsController.js";
|
|
22
22
|
import { cacheHostAppVersionAtInit, getCachedHostAppVersion, logHostAppVersion as logHostAppVersionToConsole, mergeHostAppVersionUserAttributes } from "./hostAppVersion.js";
|
|
23
|
+
import { commitInitOptions, releaseFailedInitOptions, warnIfInitOptionsIgnored, warnIfInstallIncomplete } from "./installCheck.js";
|
|
23
24
|
import { LifecycleController } from "./lifecycle.js";
|
|
24
25
|
import { openFlowNavigateUrl, setHostOnNavigate } from "./navigation/openFlowNavigateUrl.js";
|
|
25
26
|
import { NetworkController } from "./network.js";
|
|
@@ -148,6 +149,7 @@ async function afterIdentify() {
|
|
|
148
149
|
export const Userflow = {
|
|
149
150
|
/** Validate credentials, store configuration, and wire app-lifecycle handling. */
|
|
150
151
|
init(config) {
|
|
152
|
+
warnIfInitOptionsIgnored(config);
|
|
151
153
|
cacheHostAppVersionAtInit({
|
|
152
154
|
...(config.appVersion !== undefined ? {
|
|
153
155
|
appVersion: config.appVersion
|
|
@@ -156,6 +158,7 @@ export const Userflow = {
|
|
|
156
158
|
appBuild: config.appBuild
|
|
157
159
|
} : {})
|
|
158
160
|
});
|
|
161
|
+
warnIfInstallIncomplete();
|
|
159
162
|
cacheDeviceContextAtInit();
|
|
160
163
|
setHostOnNavigate(config.onNavigate);
|
|
161
164
|
lifecycle.start();
|
|
@@ -185,6 +188,7 @@ export const Userflow = {
|
|
|
185
188
|
pairing.notifyInitStarted();
|
|
186
189
|
void pairing.start();
|
|
187
190
|
return core.init(config).then(resolved => {
|
|
191
|
+
commitInitOptions();
|
|
188
192
|
enableScreenTracking();
|
|
189
193
|
// Pairing connect can take the full socket timeout. Identify, and the
|
|
190
194
|
// end-user socket that delivers the preview, must not wait on it.
|
|
@@ -192,6 +196,7 @@ export const Userflow = {
|
|
|
192
196
|
void pairing.notifyInitialized();
|
|
193
197
|
return resolved;
|
|
194
198
|
}, error => {
|
|
199
|
+
releaseFailedInitOptions();
|
|
195
200
|
pairing.notifyInitFailed(error);
|
|
196
201
|
throw error;
|
|
197
202
|
});
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["anchorChangeTicker","notifyAnchorScreenChange","setCustomScrollIntoView","setCustomScrollIntoViewConfig","setScrollPadding","setScrollPaddingConfig","clearAnonymousId","getOrCreateAnonymousId","didHandleURL","flushPendingPreviewToken","startDeepLinking","stopDeepLinking","cacheDeviceContextAtInit","getCachedDeviceContext","logDeviceContext","logDeviceContextToConsole","mergeDeviceContextUserAttributes","setEvalJsBridgeHandlers","evalJsController","cacheHostAppVersionAtInit","getCachedHostAppVersion","logHostAppVersion","logHostAppVersionToConsole","mergeHostAppVersionUserAttributes","LifecycleController","openFlowNavigateUrl","setHostOnNavigate","NetworkController","getPairingController","installPairingController","attachBannerSessionEngine","clearBannerSessionEngineLocalSession","getBannerSessionEngine","resetBannerSessionEngine","attachClientConditionEngine","resetClientConditionEngine","attachFlowSessionEngine","cancelPendingDraftEnd","clearFlowSessionEngineLocalSession","endDraftFlowSession","endEvalJsFlowSession","getFlowSessionEngine","hasActiveFlowSession","resetFlowSessionEngine","isolateAsync","isolateSync","getUserflowCore","disableScreenTracking","enableScreenTracking","getCurrentScreenLocation","handleScreenChange","reportCurrentScreen","SCREEN_VIEWED_EVENT","screenViewedAttributes","setScreenChangeReporter","setSurfaceInteractionBlocking","setSurfaceInteractionBlockingConfig","SDK_VERSION","EmbedBannerPlaceholder","UserflowProvider","useUserflow","useFlowSessionState","useUserflowScreen","useUserflowAnchor","__userflowAutoAnchor","useUserflowScrollContainer","INACTIVITY_TIMEOUT_MS","SESSION_STALE_AFTER_BACKGROUND_MS","SUSPEND_GRACE_MS","inspectPairingDeepLink","isPairingAttempt","parsePairingDeepLink","isUserflowPairingUrl","PreviewModeBanner","core","lifecycle","suspend","resume","flushPendingSends","clearLocalSession","setFlowSessionId","setBannerSessionId","ensureAlive","hasActiveSession","onScreenResume","network","screenViewedAwaitingIdentify","armScreenViewedForNextIdentify","wireScreenChangeReporter","location","reportActivity","screenKey","path","screen","notify","identified","getUserId","__DEV__","console","log","updateScreen","rethrowHostContract","attrs","track","wireDeepLinking","isIdentified","startFlowWithToken","token","mergeSystemUserAttributes","attributes","afterIdentify","notifyIdentified","Userflow","init","config","appVersion","undefined","appBuild","onNavigate","start","pairing","pairingEndpoint","reset","endDraftSession","notifyInitStarted","then","resolved","notifyInitialized","error","notifyInitFailed","handlePairingUrl","url","handleUrl","exitPreview","setOnNavigate","handler","identify","userId","options","previousId","setClientConditions","identifyAnonymous","anonymousId","group","groupId","updateUser","updateGroup","name","getAttributes","getHostAppVersion","getDeviceContext","teardown","stop","screenName","padding","fn","enabled","setEvalJsContext","values","setHostContext","membership","openUrl","endFlow","sessionIds","warn","message"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA,OAAO,yBAAsB;AAC7B,SAASA,kBAAkB,QAAQ,iCAA8B;AACjE,SAASC,wBAAwB,QAAQ,gCAA6B;AACtE,SACEC,uBAAuB,IAAIC,6BAA6B,EACxDC,gBAAgB,IAAIC,sBAAsB,QAGrC,2BAAwB;AAC/B,SAASC,gBAAgB,EAAEC,sBAAsB,QAAQ,kBAAe;AACxE,SACEC,YAAY,EACZC,wBAAwB,EACxBC,gBAAgB,EAChBC,eAAe,QACV,kBAAe;AACtB,SACEC,wBAAwB,EACxBC,sBAAsB,EACtBC,gBAAgB,IAAIC,yBAAyB,EAC7CC,gCAAgC,QAE3B,oBAAiB;AACxB,SAASC,uBAAuB,QAAQ,0BAAuB;AAC/D,SAASC,gBAAgB,QAAQ,8BAA2B;AAC5D,SACEC,yBAAyB,EACzBC,uBAAuB,EACvBC,iBAAiB,IAAIC,0BAA0B,EAC/CC,iCAAiC,QAE5B,qBAAkB;AACzB,SAASC,mBAAmB,QAAQ,gBAAa;AACjD,SACEC,mBAAmB,EACnBC,iBAAiB,QAEZ,qCAAkC;AACzC,SAASC,iBAAiB,QAAQ,cAAW;AAC7C,SAASC,oBAAoB,EAAEC,wBAAwB,QAAQ,6BAA0B;AACzF,SACEC,yBAAyB,EACzBC,oCAAoC,EACpCC,sBAAsB,EACtBC,wBAAwB,QACnB,2BAAwB;AAC/B,SACEC,2BAA2B,EAC3BC,0BAA0B,QACrB,+BAA4B;AACnC,SACEC,uBAAuB,EACvBC,qBAAqB,EACrBC,kCAAkC,EAClCC,mBAAmB,EACnBC,oBAAoB,EACpBC,oBAAoB,EACpBC,oBAAoB,EACpBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,YAAY,EAAEC,WAAW,QAAQ,0BAAuB;AACjE,SAASC,eAAe,QAAQ,2BAAwB;AACxD,SACEC,qBAAqB,EACrBC,oBAAoB,EACpBC,wBAAwB,EACxBC,kBAAkB,EAClBC,mBAAmB,EACnBC,mBAAmB,EACnBC,sBAAsB,EACtBC,uBAAuB,QAClB,oBAAiB;AACxB,SAASC,6BAA6B,IAAIC,mCAAmC,QAAQ,wCAAqC;AAE1H,SAASC,WAAW,QAAQ,cAAW;AAGvC,SAASC,sBAAsB,QAAQ,qCAAkC;AAEzE,SAASC,gBAAgB,EAAEC,WAAW,QAAQ,+BAA4B;AAE1E,SAASC,mBAAmB,QAAQ,kCAA+B;AAEnE,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,iBAAiB,QAAQ,gCAA6B;AAC/D,SAASC,oBAAoB,QAAQ,yBAAsB;AAC3D,SAASC,0BAA0B,QAAQ,yCAAsC;AAOjF,SACEC,qBAAqB,EACrBC,iCAAiC,EACjCC,gBAAgB,QACX,gBAAa;AACpB,SACEC,sBAAsB,EACtBC,gBAAgB,EAChBC,oBAAoB,EACpBC,oBAAoB,EACpBC,iBAAiB,QACZ,oBAAW;;AAQlB;;AAkCA,MAAMC,IAAI,GAAG5B,eAAe,CAAC,CAAC;AAE9B,MAAM6B,SAAS,GAAG,IAAInD,mBAAmB,CAAC;EACxCoD,OAAO,EAAEA,CAAA,KAAMF,IAAI,CAACE,OAAO,CAAC,CAAC;EAC7BC,MAAM,EAAEA,CAAA,KAAM;IACZH,IAAI,CAACG,MAAM,CAAC,CAAC;IACb;IACA,KAAKpC,oBAAoB,CAACiC,IAAI,CAAC,CAACI,iBAAiB,CAAC,CAAC;IACnD,KAAK9C,sBAAsB,CAAC0C,IAAI,CAAC,CAACI,iBAAiB,CAAC,CAAC;EACvD,CAAC;EACDC,iBAAiB,EAAEA,CAAA,KAAM;IACvBzC,kCAAkC,CAAC,CAAC;IACpCP,oCAAoC,CAAC,CAAC;IACtC;IACA2C,IAAI,CAACM,gBAAgB,CAAC,IAAI,CAAC;IAC3BN,IAAI,CAACO,kBAAkB,CAAC,IAAI,CAAC;EAC/B,CAAC;EACDC,WAAW,EAAEA,CAAA,KAAMR,IAAI,CAACQ,WAAW,CAAC,CAAC;EACrCC,gBAAgB,EAAEA,CAAA,KAAMzC,oBAAoB,CAAC,CAAC;EAC9C0C,cAAc,EAAEA,CAAA,KAAM;IACpBjC,mBAAmB,CAAC,CAAC;EACvB;AACF,CAAC,CAAC;AAEF,MAAMkC,OAAO,GAAG,IAAI1D,iBAAiB,CAAC;EACpC;EACAuD,WAAW,EAAEA,CAAA,KAAMR,IAAI,CAACQ,WAAW,CAAC;AACtC,CAAC,CAAC;;AAEF;AACA,IAAII,4BAA4B,GAAG,KAAK;AAExC,SAASC,8BAA8BA,CAAA,EAAS;EAC9C,IAAItC,wBAAwB,CAAC,CAAC,IAAI,IAAI,EAAE;IACtCqC,4BAA4B,GAAG,IAAI;EACrC;AACF;AAEA,SAASE,wBAAwBA,CAAA,EAAS;EACxClC,uBAAuB,CAAEmC,QAAQ,IAAK;IACpC5C,WAAW,CAAC,cAAc,EAAE,MAAM;MAChC8B,SAAS,CAACe,cAAc,CAAC,CAAC;MAC1B,MAAMC,SAAS,GAAG,MAAM,IAAIF,QAAQ,GAAG,QAAQA,QAAQ,CAACG,IAAI,EAAE,GAAG,UAAUH,QAAQ,CAACI,MAAM,EAAE;MAC5F5F,wBAAwB,CAAC0F,SAAS,CAAC;MACnC3F,kBAAkB,CAAC8F,MAAM,CAAC,CAAC;MAC3B,MAAMC,UAAU,GAAGrB,IAAI,CAACsB,SAAS,CAAC,CAAC,IAAI,IAAI;MAC3C,IAAIC,OAAO,EAAE;QACX;QACAC,OAAO,CAACC,GAAG,CACT,yBAAyB,EACzBV,QAAQ,EACRM,UAAU,GAAG,4BAA4B,GAAG,2BAC9C,CAAC;MACH;MACA;MACA;MACA,KAAKnD,YAAY,CAAC,cAAc,EAAE,MAAM8B,IAAI,CAAC0B,YAAY,CAACX,QAAQ,CAAC,EAAE;QACnEY,mBAAmB,EAAE;MACvB,CAAC,CAAC;MAEF,MAAMC,KAAK,GAAGjD,sBAAsB,CAACoC,QAAQ,CAAC;MAC9C,IAAI,CAACa,KAAK,EAAE;MACZ,IAAI,CAACP,UAAU,EAAE;QACfT,4BAA4B,GAAG,IAAI;QACnC;MACF;MACAA,4BAA4B,GAAG,KAAK;MACpC,IAAIW,OAAO,EAAE;QACX;QACAC,OAAO,CAACC,GAAG,CAAC,kBAAkB,EAAE/C,mBAAmB,EAAEkD,KAAK,CAAC;MAC7D;MACA;MACA;MACA;MACA,KAAK1D,YAAY,CAAC,OAAO,EAAE,MAAM8B,IAAI,CAAC6B,KAAK,CAACnD,mBAAmB,EAAEkD,KAAK,CAAC,EAAE;QACvED,mBAAmB,EAAE;MACvB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEAb,wBAAwB,CAAC,CAAC;AAE1B,SAASgB,eAAeA,CAAA,EAAS;EAC/B9F,gBAAgB,CAAC;IACf+F,YAAY,EAAEA,CAAA,KAAM/B,IAAI,CAACsB,SAAS,CAAC,CAAC,IAAI,IAAI;IAC5CU,kBAAkB,EAAGC,KAAK,IAAKjC,IAAI,CAACgC,kBAAkB,CAACC,KAAK;EAC9D,CAAC,CAAC;AACJ;AAEA,SAASC,yBAAyBA,CAChCC,UAAc,EAC6B;EAC3C,OAAO7F,gCAAgC,CAACO,iCAAiC,CAACsF,UAAU,CAAC,CAAC;AACxF;AAEA,eAAeC,aAAaA,CAAA,EAAkB;EAC5C1E,uBAAuB,CAACsC,IAAI,CAAC;EAC7B5C,yBAAyB,CAAC4C,IAAI,CAAC;EAC/BxC,2BAA2B,CAACwC,IAAI,CAAC;EACjC9C,oBAAoB,CAAC8C,IAAI,CAAC,CAACqC,gBAAgB,CAAC,CAAC;EAC7CpC,SAAS,CAACe,cAAc,CAAC,CAAC;EAC1B,IAAIJ,4BAA4B,EAAE;IAChCnC,mBAAmB,CAAC,CAAC;EACvB;EACA,IAAI;IACF,MAAM1C,wBAAwB,CAAC,CAAC;EAClC,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMuG,QAAQ,GAAG;EACtB;EACAC,IAAIA,CAACC,MAA0B,EAA2B;IACxD/F,yBAAyB,CAAC;MACxB,IAAI+F,MAAM,CAACC,UAAU,KAAKC,SAAS,GAAG;QAAED,UAAU,EAAED,MAAM,CAACC;MAAW,CAAC,GAAG,CAAC,CAAC,CAAC;MAC7E,IAAID,MAAM,CAACG,QAAQ,KAAKD,SAAS,GAAG;QAAEC,QAAQ,EAAEH,MAAM,CAACG;MAAS,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC,CAAC;IACFzG,wBAAwB,CAAC,CAAC;IAC1Bc,iBAAiB,CAACwF,MAAM,CAACI,UAAU,CAAC;IACpC3C,SAAS,CAAC4C,KAAK,CAAC,CAAC;IACjBlC,OAAO,CAACkC,KAAK,CAAC,CAAC;IACf/B,wBAAwB,CAAC,CAAC;IAC1BgB,eAAe,CAAC,CAAC;IACjB;IACA;IACA;IACA;IACA;IACA;IACA,MAAMgB,OAAO,GAAG3F,wBAAwB,CAAC6C,IAAI,EAAE;MAC7C,IAAIwC,MAAM,CAACO,eAAe,KAAKL,SAAS,GAAG;QAAEK,eAAe,EAAEP,MAAM,CAACO;MAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;MAC5F1C,iBAAiB,EAAEA,CAAA,KAAM;QACvBzC,kCAAkC,CAAC,CAAC;QACpCoC,IAAI,CAACM,gBAAgB,CAAC,IAAI,CAAC;QAC3BjD,oCAAoC,CAAC,CAAC;QACtC2C,IAAI,CAACO,kBAAkB,CAAC,IAAI,CAAC;QAC7B/D,gBAAgB,CAACwG,KAAK,CAAC,CAAC;MAC1B,CAAC;MACDC,eAAe,EAAEpF,mBAAmB;MACpCF;IACF,CAAC,CAAC;IACFmF,OAAO,CAACI,iBAAiB,CAAC,CAAC;IAC3B,KAAKJ,OAAO,CAACD,KAAK,CAAC,CAAC;IAEpB,OAAO7C,IAAI,CAACuC,IAAI,CAACC,MAAM,CAAC,CAACW,IAAI,CAC1BC,QAAQ,IAAK;MACZ9E,oBAAoB,CAAC,CAAC;MACtB;MACA;MACA;MACA,KAAKwE,OAAO,CAACO,iBAAiB,CAAC,CAAC;MAChC,OAAOD,QAAQ;IACjB,CAAC,EACAE,KAAc,IAAK;MAClBR,OAAO,CAACS,gBAAgB,CAACD,KAAK,CAAC;MAC/B,MAAMA,KAAK;IACb,CACF,CAAC;EACH,CAAC;EACD;AACF;AACA;AACA;AACA;EACEE,gBAAgBA,CAACC,GAAW,EAAoB;IAC9C,OAAOvG,oBAAoB,CAAC8C,IAAI,CAAC,CAAC0D,SAAS,CAACD,GAAG,CAAC;EAClD,CAAC;EACD;EACAE,WAAWA,CAAA,EAAkB;IAC3B,OAAOzG,oBAAoB,CAAC8C,IAAI,CAAC,CAAC2D,WAAW,CAAC,CAAC;EACjD,CAAC;EACD;AACF;AACA;AACA;EACEC,aAAaA,CAACC,OAA+C,EAAQ;IACnE7G,iBAAiB,CAAC6G,OAAO,CAAC;EAC5B,CAAC;EACD;EACA,MAAMC,QAAQA,CACZC,MAAc,EACd5B,UAA+B,EAC/B6B,OAAiC,EAClB;IACf,MAAMC,UAAU,GAAGjE,IAAI,CAACsB,SAAS,CAAC,CAAC;IACnC;IACA;IACA,IAAI2C,UAAU,IAAI,IAAI,IAAIA,UAAU,KAAKF,MAAM,EAAE;MAC/CtG,0BAA0B,CAAC,CAAC;MAC5BuC,IAAI,CAACkE,mBAAmB,CAAC,EAAE,CAAC;MAC5B7G,oCAAoC,CAAC,CAAC;MACtC2C,IAAI,CAACO,kBAAkB,CAAC,IAAI,CAAC;MAC7B/D,gBAAgB,CAACwG,KAAK,CAAC,CAAC;MACxB,MAAMpH,gBAAgB,CAAC,CAAC;MACxBiF,8BAA8B,CAAC,CAAC;IAClC;IACA,MAAMb,IAAI,CAAC8D,QAAQ,CAACC,MAAM,EAAE7B,yBAAyB,CAACC,UAAU,CAAC,EAAE6B,OAAO,CAAC;IAC3E,MAAM5B,aAAa,CAAC,CAAC;EACvB,CAAC;EACD;EACA,MAAM+B,iBAAiBA,CACrBhC,UAA+B,EAC/B6B,OAAiC,EAClB;IACf,MAAMI,WAAW,GAAG,MAAMvI,sBAAsB,CAAC,CAAC;IAClD,MAAMoI,UAAU,GAAGjE,IAAI,CAACsB,SAAS,CAAC,CAAC;IACnC,IAAI2C,UAAU,IAAI,IAAI,IAAIA,UAAU,KAAKG,WAAW,EAAE;MACpD3G,0BAA0B,CAAC,CAAC;MAC5BuC,IAAI,CAACkE,mBAAmB,CAAC,EAAE,CAAC;MAC5B7G,oCAAoC,CAAC,CAAC;MACtC2C,IAAI,CAACO,kBAAkB,CAAC,IAAI,CAAC;MAC7B/D,gBAAgB,CAACwG,KAAK,CAAC,CAAC;MACxBnC,8BAA8B,CAAC,CAAC;IAClC;IACA,MAAMb,IAAI,CAAC8D,QAAQ,CAACM,WAAW,EAAElC,yBAAyB,CAACC,UAAU,CAAC,EAAE6B,OAAO,CAAC;IAChF,MAAM5B,aAAa,CAAC,CAAC;EACvB,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;EACEtG,YAAYA,CAAC2H,GAAW,EAAoB;IAC1C,OAAO3H,YAAY,CAAC2H,GAAG,CAAC;EAC1B,CAAC;EACD;EACAY,KAAKA,CACHC,OAAwB,EACxBnC,UAA+B,EAC/B6B,OAA8B,EACf;IACf/D,SAAS,CAACe,cAAc,CAAC,CAAC;IAC1B,OAAOhB,IAAI,CAACqE,KAAK,CAACC,OAAO,EAAEnC,UAAU,EAAE6B,OAAO,CAAC;EACjD,CAAC;EACD;AACF;AACA;AACA;AACA;EACEO,UAAUA,CAACpC,UAA6B,EAAiB;IACvDlC,SAAS,CAACe,cAAc,CAAC,CAAC;IAC1B,OAAOhB,IAAI,CAACuE,UAAU,CAACpC,UAAU,CAAC;EACpC,CAAC;EACD;AACF;AACA;AACA;EACEqC,WAAWA,CAACrC,UAA6B,EAAE6B,OAAoC,EAAiB;IAC9F/D,SAAS,CAACe,cAAc,CAAC,CAAC;IAC1B,OAAOhB,IAAI,CAACwE,WAAW,CAACrC,UAAU,EAAE6B,OAAO,CAAC;EAC9C,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;EACEnC,KAAKA,CACH4C,IAAY,EACZtC,UAAoC,EACpC6B,OAA8B,EACf;IACf,OAAO9F,YAAY,CAAC,OAAO,EAAE,YAAY;MACvC+B,SAAS,CAACe,cAAc,CAAC,CAAC;MAC1B,MAAMhB,IAAI,CAAC6B,KAAK,CAAC4C,IAAI,EAAEtC,UAAU,EAAE6B,OAAO,CAAC;IAC7C,CAAC,CAAC,CAACb,IAAI,CAAC,MAAMT,SAAS,CAAC;EAC1B,CAAC;EACD;EACApB,SAASA,CAAA,EAAkB;IACzB,OAAOtB,IAAI,CAACsB,SAAS,CAAC,CAAC;EACzB,CAAC;EACD;EACAoD,aAAaA,CAAA,EAAuB;IAClC,OAAO1E,IAAI,CAAC0E,aAAa,CAAC,CAAC;EAC7B,CAAC;EACD;AACF;AACA;AACA;EACEC,iBAAiBA,CAAA,EAA0B;IACzC,OAAOjI,uBAAuB,CAAC,CAAC;EAClC,CAAC;EACD;AACF;AACA;AACA;EACEkI,gBAAgBA,CAAA,EAAyB;IACvC,OAAOzI,sBAAsB,CAAC,CAAC;EACjC,CAAC;EACD;EACA4B,oBAAoBA,CAAA,EAAG;IACrB,OAAOA,oBAAoB,CAACiC,IAAI,CAAC;EACnC,CAAC;EACD;EACA1C,sBAAsBA,CAAA,EAAG;IACvB,OAAOA,sBAAsB,CAAC0C,IAAI,CAAC;EACrC,CAAC;EACD;EACA,MAAMgD,KAAKA,CAAA,EAAkB;IAC3BvF,0BAA0B,CAAC,CAAC;IAC5BQ,sBAAsB,CAAC,CAAC;IACxBV,wBAAwB,CAAC,CAAC;IAC1Bf,gBAAgB,CAACwG,KAAK,CAAC,CAAC;IACxBhD,IAAI,CAACgD,KAAK,CAAC,CAAC;IACZnC,8BAA8B,CAAC,CAAC;IAChC,MAAMjF,gBAAgB,CAAC,CAAC;EAC1B,CAAC;EACD;EACAiJ,QAAQA,CAAA,EAAS;IACf3H,oBAAoB,CAAC8C,IAAI,CAAC,CAAC8E,IAAI,CAAC,CAAC;IACjC7E,SAAS,CAAC6E,IAAI,CAAC,CAAC;IAChBnE,OAAO,CAACmE,IAAI,CAAC,CAAC;IACdtI,gBAAgB,CAACwG,KAAK,CAAC,CAAC;IACxB3E,qBAAqB,CAAC,CAAC;IACvBuC,4BAA4B,GAAG,KAAK;IACpC3E,eAAe,CAAC,CAAC;EACnB,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;EACE+E,cAAcA,CAAA,EAAS;IACrB7C,WAAW,CAAC,gBAAgB,EAAE,MAAM;MAClC8B,SAAS,CAACe,cAAc,CAAC,CAAC;IAC5B,CAAC,CAAC;EACJ,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;EACEU,YAAYA,CAACqD,UAA8B,EAAQ;IACjD5G,WAAW,CAAC,cAAc,EAAE,MAAM;MAChCK,kBAAkB,CAACuG,UAAU,GAAG;QAAE5D,MAAM,EAAE4D;MAAW,CAAC,GAAGrC,SAAS,CAAC;IACrE,CAAC,CAAC;EACJ,CAAC;EACD;AACF;AACA;AACA;EACEhH,gBAAgBA,CAACsJ,OAAyC,EAAQ;IAChErJ,sBAAsB,CAACqJ,OAAO,CAAC;EACjC,CAAC;EACD;AACF;AACA;AACA;EACExJ,uBAAuBA,CAACyJ,EAA2C,EAAQ;IACzExJ,6BAA6B,CAACwJ,EAAE,CAAC;EACnC,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;EACEpG,6BAA6BA,CAACqG,OAAmC,EAAQ;IACvEpG,mCAAmC,CAACoG,OAAO,CAAC;EAC9C,CAAC;EACD;AACF;AACA;AACA;AACA;EACEC,gBAAgBA,CAACC,MAAkD,EAAQ;IACzE5I,gBAAgB,CAAC6I,cAAc,CAACD,MAAM,IAAI,CAAC,CAAC,CAAC;EAC/C,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;EACEzI,iBAAiBA,CAAA,EAAS;IACxBC,0BAA0B,CAAC,CAAC;EAC9B,CAAC;EACD;AACF;AACA;AACA;EACER,gBAAgBA,CAAA,EAAS;IACvBC,yBAAyB,CAAC,CAAC;EAC7B;AACF,CAAC;AAEDE,uBAAuB,CAAC;EACtBsF,KAAK,EAAEA,CAAC4C,IAAI,EAAEtC,UAAU,KAAK;IAC3B,KAAKG,QAAQ,CAACT,KAAK,CAAC4C,IAAI,EAAEtC,UAA4C,CAAC;EACzE,CAAC;EACDoC,UAAU,EAAGpC,UAAU,IAAK;IAC1B,KAAKG,QAAQ,CAACiC,UAAU,CAACpC,UAA8B,CAAC;EAC1D,CAAC;EACDqC,WAAW,EAAEA,CAACrC,UAAU,EAAE6B,OAAO,KAAK;IACpC,KAAK1B,QAAQ,CAACkC,WAAW,CACvBrC,UAAU,EACV6B,OAAO,EAAEsB,UAAU,GAAG;MAAEA,UAAU,EAAEtB,OAAO,CAACsB;IAA+B,CAAC,GAAG5C,SACjF,CAAC;EACH,CAAC;EACD6C,OAAO,EAAG9B,GAAG,IAAK;IAChB,KAAKvF,YAAY,CAAC,kBAAkB,EAAE,MAAMnB,mBAAmB,CAAC0G,GAAG,CAAC,EAAE;MACpE9B,mBAAmB,EAAE;IACvB,CAAC,CAAC;EACJ,CAAC;EACD6D,OAAO,EAAGC,UAAU,IAAK;IACvB,KAAKvH,YAAY,CAAC,kBAAkB,EAAE,MAAMJ,oBAAoB,CAAC2H,UAAU,CAAC,EAAE;MAC5E9D,mBAAmB,EAAE;IACvB,CAAC,CAAC;EACJ,CAAC;EACD+D,IAAI,EAAGC,OAAO,IAAK;IACjBnE,OAAO,CAACkE,IAAI,CAACC,OAAO,CAAC;EACvB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["anchorChangeTicker","notifyAnchorScreenChange","setCustomScrollIntoView","setCustomScrollIntoViewConfig","setScrollPadding","setScrollPaddingConfig","clearAnonymousId","getOrCreateAnonymousId","didHandleURL","flushPendingPreviewToken","startDeepLinking","stopDeepLinking","cacheDeviceContextAtInit","getCachedDeviceContext","logDeviceContext","logDeviceContextToConsole","mergeDeviceContextUserAttributes","setEvalJsBridgeHandlers","evalJsController","cacheHostAppVersionAtInit","getCachedHostAppVersion","logHostAppVersion","logHostAppVersionToConsole","mergeHostAppVersionUserAttributes","commitInitOptions","releaseFailedInitOptions","warnIfInitOptionsIgnored","warnIfInstallIncomplete","LifecycleController","openFlowNavigateUrl","setHostOnNavigate","NetworkController","getPairingController","installPairingController","attachBannerSessionEngine","clearBannerSessionEngineLocalSession","getBannerSessionEngine","resetBannerSessionEngine","attachClientConditionEngine","resetClientConditionEngine","attachFlowSessionEngine","cancelPendingDraftEnd","clearFlowSessionEngineLocalSession","endDraftFlowSession","endEvalJsFlowSession","getFlowSessionEngine","hasActiveFlowSession","resetFlowSessionEngine","isolateAsync","isolateSync","getUserflowCore","disableScreenTracking","enableScreenTracking","getCurrentScreenLocation","handleScreenChange","reportCurrentScreen","SCREEN_VIEWED_EVENT","screenViewedAttributes","setScreenChangeReporter","setSurfaceInteractionBlocking","setSurfaceInteractionBlockingConfig","SDK_VERSION","EmbedBannerPlaceholder","UserflowProvider","useUserflow","useFlowSessionState","useUserflowScreen","useUserflowAnchor","__userflowAutoAnchor","useUserflowScrollContainer","INACTIVITY_TIMEOUT_MS","SESSION_STALE_AFTER_BACKGROUND_MS","SUSPEND_GRACE_MS","inspectPairingDeepLink","isPairingAttempt","parsePairingDeepLink","isUserflowPairingUrl","PreviewModeBanner","core","lifecycle","suspend","resume","flushPendingSends","clearLocalSession","setFlowSessionId","setBannerSessionId","ensureAlive","hasActiveSession","onScreenResume","network","screenViewedAwaitingIdentify","armScreenViewedForNextIdentify","wireScreenChangeReporter","location","reportActivity","screenKey","path","screen","notify","identified","getUserId","__DEV__","console","log","updateScreen","rethrowHostContract","attrs","track","wireDeepLinking","isIdentified","startFlowWithToken","token","mergeSystemUserAttributes","attributes","afterIdentify","notifyIdentified","Userflow","init","config","appVersion","undefined","appBuild","onNavigate","start","pairing","pairingEndpoint","reset","endDraftSession","notifyInitStarted","then","resolved","notifyInitialized","error","notifyInitFailed","handlePairingUrl","url","handleUrl","exitPreview","setOnNavigate","handler","identify","userId","options","previousId","setClientConditions","identifyAnonymous","anonymousId","group","groupId","updateUser","updateGroup","name","getAttributes","getHostAppVersion","getDeviceContext","teardown","stop","screenName","padding","fn","enabled","setEvalJsContext","values","setHostContext","membership","openUrl","endFlow","sessionIds","warn","message"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { isEvalJsWebViewNativeLinked } from "./evalJs/getWebView.js";
|
|
4
|
+
import { isNativeModuleLinked } from "./nativeModules.js";
|
|
5
|
+
import { isAsyncStorageLinked } from "./storage/asyncStorage.js";
|
|
6
|
+
import { isSafeAreaContextInstalled } from "./surfaces/safeArea.js";
|
|
7
|
+
export const INSTALL_CHECK_HEADER = '[Userflow] Native setup is incomplete. Flows may not run until you fix the following, then rebuild the app (a Metro reload is not enough):';
|
|
8
|
+
export const INSTALL_ASYNC_STORAGE_LINE = '- @react-native-async-storage/async-storage is not linked. Anonymous users and Builder pairing will not persist. Add it to the app package.json (npx expo install @react-native-async-storage/async-storage), run pod install on iOS, and rebuild.';
|
|
9
|
+
export const INSTALL_VIEW_SHOT_LINE = '- react-native-view-shot is not linked, so Builder element selection gets no screenshot. Install react-native-view-shot@^5.0.0 and rebuild. On Expo SDK 54, pin ^5.0.0; an unpinned npx expo install resolves 4.0.3.';
|
|
10
|
+
export const INSTALL_WEBVIEW_LINE = '- react-native-webview is not linked. Evaluate JavaScript and WebView banners will not run. Install it (npx expo install react-native-webview) and rebuild.';
|
|
11
|
+
export const INSTALL_DEVICE_INFO_LINE = '- react-native-device-info is not linked, so app_version and app_build are not sent. npm install react-native-device-info, then rebuild.';
|
|
12
|
+
export const INSTALL_CHECK_FOOTER = 'See node_modules/@userflow-tech/react-native/docs/troubleshooting.md.';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Separate from {@link INSTALL_CHECK_HEADER}. Flows still run without
|
|
16
|
+
* safe-area-context; they draw under the status bar.
|
|
17
|
+
*/
|
|
18
|
+
export const INSTALL_SAFE_AREA_WARNING = '[Userflow] react-native-safe-area-context is not installed, so banners, flow cards, and Builder bars draw under the status bar and home indicator. Install it (npx expo install react-native-safe-area-context) and wrap the app in <SafeAreaProvider>.\n' + INSTALL_CHECK_FOOTER;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Separate from {@link INSTALL_CHECK_HEADER}. Flows still run on view-shot 4;
|
|
22
|
+
* Builder screenshots may not. The installed version is interpolated.
|
|
23
|
+
*/
|
|
24
|
+
export function formatViewShotVersionWarning(version) {
|
|
25
|
+
return `[Userflow] react-native-view-shot@${version} is older than 5.0.0, so Builder element selection may not get a screenshot. ` + 'Install react-native-view-shot@^5.0.0 in the same command as the SDK and rebuild. ' + 'Do not retry the install with --force or --legacy-peer-deps; that leaves this version in place. ' + 'On Expo SDK 54, pin ^5.0.0 and add "react-native-view-shot" to expo.install.exclude.\n' + INSTALL_CHECK_FOOTER;
|
|
26
|
+
}
|
|
27
|
+
export const EXPO_GO_WARNING = '[Userflow] This app is running in Expo Go, which cannot load the SDK native modules. Builder preview links will not open the app. Use a development build (npx expo run:ios / npx expo run:android).';
|
|
28
|
+
export const INIT_OPTIONS_IGNORED_WARNING = '[Userflow] Userflow.init() already ran with different options. The new clientToken, serverEndpoint, and pairingEndpoint are ignored because init runs once per process. Userflow.reset() does not apply new credentials. Restart the app to change them.';
|
|
29
|
+
const VIEW_SHOT_MODULE = 'RNViewShot';
|
|
30
|
+
const DEVICE_INFO_MODULE = 'RNDeviceInfo';
|
|
31
|
+
let didWarn = false;
|
|
32
|
+
function readExpoConstants() {
|
|
33
|
+
try {
|
|
34
|
+
// Optional. Bare React Native does not have this package.
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
36
|
+
const mod = require('expo-constants');
|
|
37
|
+
const record = mod?.default ?? mod;
|
|
38
|
+
if (record == null || typeof record !== 'object') return null;
|
|
39
|
+
// Touch the field so a throwing getter (missing package stand-in) is caught.
|
|
40
|
+
void record.executionEnvironment;
|
|
41
|
+
return record;
|
|
42
|
+
} catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Installed view-shot version, read from package.json only. Requiring the
|
|
49
|
+
* package entry loads the native module, and view-shot 4 calls
|
|
50
|
+
* `TurboModuleRegistry.getEnforcing` at import.
|
|
51
|
+
*/
|
|
52
|
+
function readViewShotVersion() {
|
|
53
|
+
try {
|
|
54
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
55
|
+
const pkg = require('react-native-view-shot/package.json');
|
|
56
|
+
return typeof pkg.version === 'string' && pkg.version.length > 0 ? pkg.version : null;
|
|
57
|
+
} catch {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/** Dev warning when view-shot 4.x is installed. Null on 5.x or when it is absent. */
|
|
63
|
+
export function viewShotVersionWarning() {
|
|
64
|
+
const version = readViewShotVersion();
|
|
65
|
+
if (!version) return null;
|
|
66
|
+
const match = version.match(/\d+/);
|
|
67
|
+
const major = match ? Number(match[0]) : null;
|
|
68
|
+
if (major == null || major >= 5) return null;
|
|
69
|
+
return formatViewShotVersionWarning(version);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** Lines for missing native modules. Empty when the build looks complete. */
|
|
73
|
+
export function collectInstallFindings() {
|
|
74
|
+
const findings = [];
|
|
75
|
+
if (!isAsyncStorageLinked()) findings.push(INSTALL_ASYNC_STORAGE_LINE);
|
|
76
|
+
if (!isNativeModuleLinked(VIEW_SHOT_MODULE)) findings.push(INSTALL_VIEW_SHOT_LINE);
|
|
77
|
+
if (!isEvalJsWebViewNativeLinked()) findings.push(INSTALL_WEBVIEW_LINE);
|
|
78
|
+
// Expo reads the store version from expo-constants / expo-application.
|
|
79
|
+
// device-info is the bare React Native path.
|
|
80
|
+
if (readExpoConstants() == null && !isNativeModuleLinked(DEVICE_INFO_MODULE)) {
|
|
81
|
+
findings.push(INSTALL_DEVICE_INFO_LINE);
|
|
82
|
+
}
|
|
83
|
+
return findings;
|
|
84
|
+
}
|
|
85
|
+
export function expoGoWarning() {
|
|
86
|
+
const constants = readExpoConstants();
|
|
87
|
+
const environment = constants?.executionEnvironment;
|
|
88
|
+
return environment === 'storeClient' ? EXPO_GO_WARNING : null;
|
|
89
|
+
}
|
|
90
|
+
export function formatInstallWarning(findings) {
|
|
91
|
+
return [INSTALL_CHECK_HEADER, ...findings, INSTALL_CHECK_FOOTER].join('\n');
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* One development warning for missing native modules, separate warnings when
|
|
96
|
+
* safe-area-context is not installed or view-shot is older than 5, and a
|
|
97
|
+
* separate warning when the host is Expo Go. Release builds stay quiet. The
|
|
98
|
+
* safe-area and old view-shot warnings are not part of the native-module list:
|
|
99
|
+
* flows still run, and that list says they may not.
|
|
100
|
+
*/
|
|
101
|
+
export function warnIfInstallIncomplete() {
|
|
102
|
+
if (!__DEV__ || didWarn) return;
|
|
103
|
+
didWarn = true;
|
|
104
|
+
const findings = collectInstallFindings();
|
|
105
|
+
if (findings.length > 0) {
|
|
106
|
+
// eslint-disable-next-line no-console -- intentional install diagnostic
|
|
107
|
+
console.warn(formatInstallWarning(findings));
|
|
108
|
+
}
|
|
109
|
+
if (!isSafeAreaContextInstalled()) {
|
|
110
|
+
// eslint-disable-next-line no-console -- intentional install diagnostic
|
|
111
|
+
console.warn(INSTALL_SAFE_AREA_WARNING);
|
|
112
|
+
}
|
|
113
|
+
const oldViewShot = viewShotVersionWarning();
|
|
114
|
+
if (oldViewShot) {
|
|
115
|
+
// eslint-disable-next-line no-console -- intentional install diagnostic
|
|
116
|
+
console.warn(oldViewShot);
|
|
117
|
+
}
|
|
118
|
+
const expoGo = expoGoWarning();
|
|
119
|
+
if (expoGo) {
|
|
120
|
+
// eslint-disable-next-line no-console -- intentional install diagnostic
|
|
121
|
+
console.warn(expoGo);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/** @internal */
|
|
126
|
+
export function resetInstallCheckForTests() {
|
|
127
|
+
didWarn = false;
|
|
128
|
+
recordedInitOptions = null;
|
|
129
|
+
initOptionsCommitted = false;
|
|
130
|
+
}
|
|
131
|
+
let recordedInitOptions = null;
|
|
132
|
+
/** True once an `init` promise has resolved. A rejection before that clears the record. */
|
|
133
|
+
let initOptionsCommitted = false;
|
|
134
|
+
function recordInitOptions(config) {
|
|
135
|
+
return {
|
|
136
|
+
clientToken: config.clientToken,
|
|
137
|
+
serverEndpoint: config.serverEndpoint ?? '',
|
|
138
|
+
pairingEndpoint: config.pairingEndpoint ?? ''
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
export function warnIfInitOptionsIgnored(config) {
|
|
142
|
+
const next = recordInitOptions(config);
|
|
143
|
+
if (!recordedInitOptions) {
|
|
144
|
+
recordedInitOptions = next;
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (recordedInitOptions.clientToken === next.clientToken && recordedInitOptions.serverEndpoint === next.serverEndpoint && recordedInitOptions.pairingEndpoint === next.pairingEndpoint) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
if (!__DEV__) return;
|
|
151
|
+
// eslint-disable-next-line no-console -- intentional install diagnostic
|
|
152
|
+
console.warn(INIT_OPTIONS_IGNORED_WARNING);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/** The in-flight `init` resolved, so later calls really are ignored. */
|
|
156
|
+
export function commitInitOptions() {
|
|
157
|
+
initOptionsCommitted = true;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* The in-flight `init` rejected. Core drops its cached promise and will run
|
|
162
|
+
* the next call, so a corrected token or endpoint must not warn.
|
|
163
|
+
* A rejection after a successful init does not forget that success.
|
|
164
|
+
*/
|
|
165
|
+
export function releaseFailedInitOptions() {
|
|
166
|
+
if (initOptionsCommitted) return;
|
|
167
|
+
recordedInitOptions = null;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=installCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isEvalJsWebViewNativeLinked","isNativeModuleLinked","isAsyncStorageLinked","isSafeAreaContextInstalled","INSTALL_CHECK_HEADER","INSTALL_ASYNC_STORAGE_LINE","INSTALL_VIEW_SHOT_LINE","INSTALL_WEBVIEW_LINE","INSTALL_DEVICE_INFO_LINE","INSTALL_CHECK_FOOTER","INSTALL_SAFE_AREA_WARNING","formatViewShotVersionWarning","version","EXPO_GO_WARNING","INIT_OPTIONS_IGNORED_WARNING","VIEW_SHOT_MODULE","DEVICE_INFO_MODULE","didWarn","readExpoConstants","mod","require","record","default","executionEnvironment","readViewShotVersion","pkg","length","viewShotVersionWarning","match","major","Number","collectInstallFindings","findings","push","expoGoWarning","constants","environment","formatInstallWarning","join","warnIfInstallIncomplete","__DEV__","console","warn","oldViewShot","expoGo","resetInstallCheckForTests","recordedInitOptions","initOptionsCommitted","recordInitOptions","config","clientToken","serverEndpoint","pairingEndpoint","warnIfInitOptionsIgnored","next","commitInitOptions","releaseFailedInitOptions"],"sourceRoot":"../../src","sources":["installCheck.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Whether a native module is registered in this binary.
|
|
5
|
+
*
|
|
6
|
+
* Check this before `require`ing a package that throws while it loads when the
|
|
7
|
+
* native half is missing. Metro reports that throw as a fatal error before the
|
|
8
|
+
* caller's try/catch runs, which is a red screen in debug and can crash a
|
|
9
|
+
* release build.
|
|
10
|
+
*
|
|
11
|
+
* React Native modules show up on `TurboModuleRegistry` or `NativeModules`.
|
|
12
|
+
* Expo modules are on `globalThis.expo.modules` (see `requireOptionalNativeModule`).
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
function loadReactNative() {
|
|
16
|
+
try {
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
18
|
+
return require('react-native');
|
|
19
|
+
} catch {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export function isNativeModuleLinked(name) {
|
|
24
|
+
const expoModules = globalThis.expo?.modules;
|
|
25
|
+
if (expoModules?.[name] != null) return true;
|
|
26
|
+
const reactNative = loadReactNative();
|
|
27
|
+
if (!reactNative) return false;
|
|
28
|
+
try {
|
|
29
|
+
const turbo = reactNative.TurboModuleRegistry;
|
|
30
|
+
if (typeof turbo?.get === 'function' && turbo.get(name) != null) return true;
|
|
31
|
+
} catch {
|
|
32
|
+
// Fall through to the legacy registry.
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
return reactNative.NativeModules?.[name] != null;
|
|
36
|
+
} catch {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=nativeModules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["loadReactNative","require","isNativeModuleLinked","name","expoModules","globalThis","expo","modules","reactNative","turbo","TurboModuleRegistry","get","NativeModules"],"sourceRoot":"../../src","sources":["nativeModules.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA,SAASA,eAAeA,CAAA,EAAwB;EAC9C,IAAI;IACF;IACA,OAAOC,OAAO,CAAC,cAAc,CAAC;EAChC,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEA,OAAO,SAASC,oBAAoBA,CAACC,IAAY,EAAW;EAC1D,MAAMC,WAAW,GAAIC,UAAU,CAA4BC,IAAI,EAAEC,OAAO;EACxE,IAAIH,WAAW,GAAGD,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,IAAI;EAE5C,MAAMK,WAAW,GAAGR,eAAe,CAAC,CAAC;EACrC,IAAI,CAACQ,WAAW,EAAE,OAAO,KAAK;EAC9B,IAAI;IACF,MAAMC,KAAK,GAAGD,WAAW,CAACE,mBAAmB;IAC7C,IAAI,OAAOD,KAAK,EAAEE,GAAG,KAAK,UAAU,IAAIF,KAAK,CAACE,GAAG,CAACR,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,IAAI;EAC9E,CAAC,CAAC,MAAM;IACN;EAAA;EAEF,IAAI;IACF,OAAOK,WAAW,CAACI,aAAa,GAAGT,IAAI,CAAC,IAAI,IAAI;EAClD,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF","ignoreList":[]}
|
package/lib/module/network.js
CHANGED
|
@@ -16,13 +16,29 @@
|
|
|
16
16
|
* recovers within a few seconds of the next beat / foreground return.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
+
import { isNativeModuleLinked } from "./nativeModules.js";
|
|
19
20
|
function isOnline(status) {
|
|
20
21
|
return status.isConnected === true && status.isInternetReachable !== false;
|
|
21
22
|
}
|
|
23
|
+
const NETINFO_MODULE = 'RNCNetInfo';
|
|
24
|
+
const NETINFO_UNAVAILABLE_WARNING = '[Userflow] Optional peer @react-native-community/netinfo is not installed or not linked; ' + 'skipping instant network-aware reconnect. Connection recovery still works ' + 'via the adaptive heartbeat and foreground liveness probe.';
|
|
25
|
+
function warnNetInfoUnavailable() {
|
|
26
|
+
if (!__DEV__) return;
|
|
27
|
+
// eslint-disable-next-line no-console -- intentional missing-optional-peer diagnostic
|
|
28
|
+
console.warn(NETINFO_UNAVAILABLE_WARNING);
|
|
29
|
+
}
|
|
22
30
|
function defaultSubscribe(handler) {
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
//
|
|
31
|
+
// Check the native module before require. NetInfo throws while its module
|
|
32
|
+
// loads when RNCNetInfo is missing, and Metro reports that as fatal before
|
|
33
|
+
// this try/catch can see it.
|
|
34
|
+
if (!isNativeModuleLinked(NETINFO_MODULE)) {
|
|
35
|
+
warnNetInfoUnavailable();
|
|
36
|
+
return () => {};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Lazy require so the SDK works without the optional peer. When installed
|
|
40
|
+
// and linked, NetInfo makes offline→online reconnect fast; when absent the
|
|
41
|
+
// transport's adaptive heartbeat + foreground probe still recover.
|
|
26
42
|
try {
|
|
27
43
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires -- optional peer at import time
|
|
28
44
|
const NetInfo = require('@react-native-community/netinfo');
|
|
@@ -33,10 +49,7 @@ function defaultSubscribe(handler) {
|
|
|
33
49
|
});
|
|
34
50
|
});
|
|
35
51
|
} catch {
|
|
36
|
-
|
|
37
|
-
// eslint-disable-next-line no-console -- intentional missing-optional-peer diagnostic
|
|
38
|
-
console.warn('[Userflow] Optional peer @react-native-community/netinfo is not installed; ' + 'skipping instant network-aware reconnect. Connection recovery still works ' + 'via the adaptive heartbeat and foreground liveness probe.');
|
|
39
|
-
}
|
|
52
|
+
warnNetInfoUnavailable();
|
|
40
53
|
return () => {};
|
|
41
54
|
}
|
|
42
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isOnline","status","isConnected","isInternetReachable","
|
|
1
|
+
{"version":3,"names":["isNativeModuleLinked","isOnline","status","isConnected","isInternetReachable","NETINFO_MODULE","NETINFO_UNAVAILABLE_WARNING","warnNetInfoUnavailable","__DEV__","console","warn","defaultSubscribe","handler","NetInfo","require","addEventListener","state","NetworkController","unsubscribe","started","wasOnline","constructor","deps","ensureAlive","subscribe","start","handleStatus","stop","online","previous"],"sourceRoot":"../../src","sources":["network.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,oBAAoB,QAAQ,oBAAiB;AActD,SAASC,QAAQA,CAACC,MAAqB,EAAW;EAChD,OAAOA,MAAM,CAACC,WAAW,KAAK,IAAI,IAAID,MAAM,CAACE,mBAAmB,KAAK,KAAK;AAC5E;AAEA,MAAMC,cAAc,GAAG,YAAY;AAEnC,MAAMC,2BAA2B,GAC/B,2FAA2F,GAC3F,4EAA4E,GAC5E,2DAA2D;AAE7D,SAASC,sBAAsBA,CAAA,EAAS;EACtC,IAAI,CAACC,OAAO,EAAE;EACd;EACAC,OAAO,CAACC,IAAI,CAACJ,2BAA2B,CAAC;AAC3C;AAEA,SAASK,gBAAgBA,CAACC,OAAwC,EAAc;EAC9E;EACA;EACA;EACA,IAAI,CAACZ,oBAAoB,CAACK,cAAc,CAAC,EAAE;IACzCE,sBAAsB,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,CAAC;EACjB;;EAEA;EACA;EACA;EACA,IAAI;IACF;IACA,MAAMM,OAAO,GAAGC,OAAO,CAAC,iCAAiC,CAOxD;IACD,OAAOD,OAAO,CAACE,gBAAgB,CAAEC,KAAK,IAAK;MACzCJ,OAAO,CAAC;QACNT,WAAW,EAAEa,KAAK,CAACb,WAAW;QAC9BC,mBAAmB,EAAEY,KAAK,CAACZ;MAC7B,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC,MAAM;IACNG,sBAAsB,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,CAAC;EACjB;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMU,iBAAiB,CAAC;EAIrBC,WAAW,GAAwB,IAAI;EACvCC,OAAO,GAAG,KAAK;EACfC,SAAS,GAAmB,IAAI;EAExCC,WAAWA,CAACC,IAA2B,EAAE;IACvC,IAAI,CAACC,WAAW,GAAGD,IAAI,CAACC,WAAW;IACnC,IAAI,CAACC,SAAS,GAAGF,IAAI,CAACE,SAAS,IAAIb,gBAAgB;EACrD;EAEAc,KAAKA,CAAA,EAAS;IACZ,IAAI,IAAI,CAACN,OAAO,EAAE;IAClB,IAAI,CAACA,OAAO,GAAG,IAAI;IACnB,IAAI,CAACD,WAAW,GAAG,IAAI,CAACM,SAAS,CAAEtB,MAAM,IAAK;MAC5C,IAAI,CAACwB,YAAY,CAACxB,MAAM,CAAC;IAC3B,CAAC,CAAC;EACJ;EAEAyB,IAAIA,CAAA,EAAS;IACX,IAAI,CAAC,IAAI,CAACR,OAAO,EAAE;IACnB,IAAI,CAACA,OAAO,GAAG,KAAK;IACpB,IAAI,CAACD,WAAW,GAAG,CAAC;IACpB,IAAI,CAACA,WAAW,GAAG,IAAI;IACvB,IAAI,CAACE,SAAS,GAAG,IAAI;EACvB;;EAEA;EACAM,YAAYA,CAACxB,MAAqB,EAAQ;IACxC,IAAI,CAAC,IAAI,CAACiB,OAAO,EAAE;IAEnB,MAAMS,MAAM,GAAG3B,QAAQ,CAACC,MAAM,CAAC;IAC/B,MAAM2B,QAAQ,GAAG,IAAI,CAACT,SAAS;IAC/B,IAAI,CAACA,SAAS,GAAGQ,MAAM;;IAEvB;IACA,IAAIC,QAAQ,KAAK,IAAI,EAAE;IACvB,IAAI,CAACA,QAAQ,IAAID,MAAM,EAAE;MACvB,IAAI,CAACL,WAAW,CAAC,CAAC;IACpB;EACF;AACF","ignoreList":[]}
|