react-native-persona 2.41.0 → 2.42.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.
@@ -2,7 +2,7 @@ require 'json'
2
2
 
3
3
  package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
4
 
5
- persona_sdk_version = '2.47.0'
5
+ persona_sdk_version = '2.48.0'
6
6
 
7
7
  Pod::Spec.new do |s|
8
8
  s.name = 'RNPersonaInquiry2'
@@ -72,7 +72,7 @@ dependencies {
72
72
  implementation("com.facebook.react:react-android:+")
73
73
 
74
74
  // NB: be sure to bump `nfc-impl` in example/android/app/build.gradle as well
75
- implementation 'com.withpersona.sdk2:inquiry:2.41.0'
75
+ implementation 'com.withpersona.sdk2:inquiry:2.42.0'
76
76
  implementation("androidx.fragment:fragment:1.8.6")
77
77
 
78
78
  // Kotlin
@@ -8,9 +8,13 @@ import android.widget.FrameLayout
8
8
  import androidx.fragment.app.Fragment
9
9
  import androidx.lifecycle.lifecycleScope
10
10
  import com.withpersona.sdk2.inquiry.ExperimentalInlineApi
11
+ import com.withpersona.sdk2.inquiry.InquiryResponse
11
12
  import com.withpersona.sdk2.inquiry.inline_inquiry.InlineInquiryController
12
13
  import com.withpersona.sdk2.inquiry.inline_inquiry.InlineInquiryScreen
14
+ import com.withpersona.sdk2.inquiry.internal.InquiryIntentKeys
13
15
  import com.withpersona.sdk2.inquiry.types.DEFAULT_REQUEST_KEY
16
+ import com.withpersona.sdk2.inquiry.types.InquiryErrorMessages
17
+ import com.withpersona.sdk2.inquiry.types.collected_data.ErrorCode
14
18
  import kotlinx.coroutines.launch
15
19
 
16
20
  /**
@@ -71,11 +75,24 @@ class InlineInquiryWrapperFragment : Fragment(), InlineInquiryController {
71
75
  // Only add the fragment on first launch. On save/restore, the fragment manager should
72
76
  // restore the fragment for us.
73
77
  if (savedInstanceState == null) {
74
- inquiryFragment?.let { fragment ->
78
+ val inquiryFragment = inquiryFragment
79
+ if (inquiryFragment != null) {
75
80
  childFragmentManager
76
81
  .beginTransaction()
77
- .add(R.id.pi2_rn_wrapper_fragment_frame_layout, fragment)
82
+ .add(R.id.pi2_rn_wrapper_fragment_frame_layout, inquiryFragment)
78
83
  .commit()
84
+ } else {
85
+ parentFragmentManager.setFragmentResult(
86
+ DEFAULT_REQUEST_KEY,
87
+ Bundle().apply {
88
+ putString(
89
+ InquiryIntentKeys.PERSONA_ACTIVITY_RESULT,
90
+ InquiryIntentKeys.Status.INQUIRY_ERROR.name,
91
+ )
92
+ putString(InquiryIntentKeys.ERROR_DEBUG_MESSAGE, InquiryErrorMessages.unexpectedError)
93
+ putParcelable(InquiryIntentKeys.ERROR_CODE, ErrorCode.UnexpectedError)
94
+ }
95
+ )
79
96
  }
80
97
  }
81
98
  }
@@ -1,5 +1,7 @@
1
1
  package com.withpersona.sdk2.reactnative;
2
2
 
3
+ import androidx.annotation.NonNull;
4
+
3
5
  import com.facebook.react.ReactPackage;
4
6
  import com.facebook.react.bridge.NativeModule;
5
7
  import com.facebook.react.bridge.ReactApplicationContext;
@@ -11,14 +13,14 @@ import java.util.List;
11
13
  @SuppressWarnings("unused") // react uses this
12
14
  public class PersonaInquiryPackage2 implements ReactPackage {
13
15
  @Override
14
- public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
16
+ public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
15
17
  return Arrays.<NativeModule>asList(new PersonaInquiryModule2(reactContext));
16
18
  }
17
19
 
18
20
  @Override
19
- public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
21
+ public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) {
20
22
  return Arrays.<ViewManager>asList(
21
- new PersonaInquiryViewManager()
23
+ new PersonaInquiryViewManager(reactContext)
22
24
  );
23
25
  }
24
26
  }
@@ -14,6 +14,7 @@ import androidx.annotation.Nullable;
14
14
  import androidx.fragment.app.Fragment;
15
15
  import androidx.fragment.app.FragmentActivity;
16
16
 
17
+ import com.facebook.react.bridge.ReactApplicationContext;
17
18
  import com.facebook.react.bridge.ReadableArray;
18
19
  import com.facebook.react.bridge.ReadableMap;
19
20
  import com.facebook.react.common.MapBuilder;
@@ -23,20 +24,28 @@ import com.facebook.react.uimanager.annotations.ReactProp;
23
24
  import com.withpersona.sdk2.inquiry.Inquiry;
24
25
  import com.withpersona.sdk2.inquiry.InquiryResponse;
25
26
  import com.withpersona.sdk2.inquiry.inline_inquiry.InquiryEvent;
27
+ import com.withpersona.sdk2.inquiry.types.collected_data.ErrorCode;
26
28
 
27
29
  import java.util.Map;
28
30
 
29
31
  class PersonaInquiryViewManager extends ViewGroupManager<FrameLayout> {
30
32
  public static final String REACT_CLASS = "PersonaInquiryView";
33
+
34
+ private static final String SDK_CONFIGURATION_ERROR = "The SDK is misconfigured.";
35
+
31
36
  public final int COMMAND_CREATE = 1;
32
37
 
33
- @Nullable
34
- ThemedReactContext reactContext;
38
+ @NonNull
39
+ ReactApplicationContext reactContext;
35
40
 
36
41
  @Nullable
37
42
  private FrameLayout pendingRoot;
38
43
  private int pendingViewId = -1;
39
44
 
45
+ public PersonaInquiryViewManager(@NonNull ReactApplicationContext reactContext) {
46
+ this.reactContext = reactContext;
47
+ }
48
+
40
49
  @NonNull
41
50
  @Override
42
51
  public String getName() {
@@ -49,7 +58,6 @@ class PersonaInquiryViewManager extends ViewGroupManager<FrameLayout> {
49
58
  @NonNull
50
59
  @Override
51
60
  public FrameLayout createViewInstance(@NonNull ThemedReactContext reactContext) {
52
- this.reactContext = reactContext;
53
61
  FrameLayout frameLayout = new FrameLayout(reactContext);
54
62
  frameLayout.setLayoutParams(new ViewGroup.LayoutParams(MATCH_PARENT, MATCH_PARENT));
55
63
  return frameLayout;
@@ -135,13 +143,9 @@ class PersonaInquiryViewManager extends ViewGroupManager<FrameLayout> {
135
143
  }
136
144
 
137
145
  /**
138
- * Replace your React Native view with a custom fragment
146
+ * Replace React Native view with an Inquiry fragment
139
147
  */
140
148
  public void createFragment(FrameLayout root, int reactNativeViewId) {
141
- if (reactContext == null) {
142
- return;
143
- }
144
-
145
149
  ViewGroup parentView = root.findViewById(reactNativeViewId);
146
150
  setupLayout(parentView);
147
151
 
@@ -152,6 +156,15 @@ class PersonaInquiryViewManager extends ViewGroupManager<FrameLayout> {
152
156
  }
153
157
 
154
158
  if (inquiry == null) {
159
+ new InquiryResultEmitter(reactContext)
160
+ .emitResponse(
161
+ new InquiryResponse.Error(
162
+ SDK_CONFIGURATION_ERROR,
163
+ ErrorCode.SdkConfigurationError,
164
+ "Invalid inquiry arguments."
165
+ ),
166
+ root
167
+ );
155
168
  return;
156
169
  }
157
170
 
@@ -161,12 +174,30 @@ class PersonaInquiryViewManager extends ViewGroupManager<FrameLayout> {
161
174
  .createFragment();
162
175
 
163
176
  if (inquiryFragment == null) {
177
+ new InquiryResultEmitter(reactContext)
178
+ .emitResponse(
179
+ new InquiryResponse.Error(
180
+ SDK_CONFIGURATION_ERROR,
181
+ ErrorCode.SdkConfigurationError,
182
+ "Unable to instantiate fragment."
183
+ ),
184
+ root
185
+ );
164
186
  return;
165
187
  }
166
188
 
167
189
  FragmentActivity activity = (FragmentActivity) reactContext.getCurrentActivity();
168
190
 
169
191
  if (activity == null) {
192
+ new InquiryResultEmitter(reactContext)
193
+ .emitResponse(
194
+ new InquiryResponse.Error(
195
+ SDK_CONFIGURATION_ERROR,
196
+ ErrorCode.SdkConfigurationError,
197
+ "Unable to get current React Native activity."
198
+ ),
199
+ root
200
+ );
170
201
  return;
171
202
  }
172
203
 
@@ -10,18 +10,6 @@ var _reactNative = require("react-native");
10
10
  var _PersonaInquiryViewManager = require("./PersonaInquiryViewManager");
11
11
  var _util = require("./util");
12
12
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
- const create = viewId => {
14
- try {
15
- const viewManagerConfig = _reactNative.UIManager.getViewManagerConfig('PersonaInquiryView');
16
- if (!viewManagerConfig || !viewManagerConfig.Commands) {
17
- console.error('PersonaInquiryView config not found');
18
- return;
19
- }
20
- _reactNative.UIManager.dispatchViewManagerCommand(viewId, viewManagerConfig.Commands.create, [viewId]);
21
- } catch (error) {
22
- console.error('Error dispatching create command:', error);
23
- }
24
- };
25
13
  let onReadyCalled = false;
26
14
  let onReadyCallback = () => {};
27
15
  const onPersonaInquiryViewEvent = event => {
@@ -41,6 +29,31 @@ const resetOnReadyState = () => {
41
29
  };
42
30
  function PersonaInquiryView(props) {
43
31
  const ref = (0, _react.useRef)(null);
32
+ const create = viewId => {
33
+ try {
34
+ if (viewId == null) {
35
+ (0, _util.callOnErrorCallback)({
36
+ debugMessage: 'PersonaInquiryView not found',
37
+ errorCode: 'UnexpectedError'
38
+ }, props.onError);
39
+ return;
40
+ }
41
+ const viewManagerConfig = _reactNative.UIManager.getViewManagerConfig('PersonaInquiryView');
42
+ if (!viewManagerConfig || !viewManagerConfig.Commands) {
43
+ (0, _util.callOnErrorCallback)({
44
+ debugMessage: 'PersonaInquiryView config not found',
45
+ errorCode: 'UnexpectedError'
46
+ }, props.onError);
47
+ return;
48
+ }
49
+ _reactNative.UIManager.dispatchViewManagerCommand(viewId, viewManagerConfig.Commands.create, [viewId]);
50
+ } catch (error) {
51
+ (0, _util.callOnErrorCallback)({
52
+ debugMessage: 'Error dispatching create command.',
53
+ errorCode: 'UnexpectedError'
54
+ }, props.onError);
55
+ }
56
+ };
44
57
  (0, _react.useEffect)(() => {
45
58
  const viewId = (0, _reactNative.findNodeHandle)(ref.current);
46
59
  onReadyCallback = () => {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_PersonaInquiryViewManager","_util","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","create","viewId","viewManagerConfig","UIManager","getViewManagerConfig","Commands","console","error","dispatchViewManagerCommand","onReadyCalled","onReadyCallback","onPersonaInquiryViewEvent","event","type","setTimeout","exports","resetOnReadyState","PersonaInquiryView","props","ref","useRef","useEffect","findNodeHandle","current","onReady","_onComplete","useCallback","callOnCompleteCallback","nativeEvent","onComplete","_onCanceled","callOnCanceledCallback","onCanceled","_onError","callOnErrorCallback","onError","_onEvent","callOnEventCallback","onEvent","_onReady","callOnReadyCallback","createElement","PersonaInquiryViewManager","style","inquiry","toOptionsJson"],"sources":["PersonaInquiryView.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\nimport { findNodeHandle, UIManager } from 'react-native';\nimport { PersonaInquiryViewManager } from './PersonaInquiryViewManager';\nimport {\n callOnCanceledCallback,\n callOnCompleteCallback,\n callOnErrorCallback,\n callOnEventCallback,\n callOnReadyCallback,\n} from './util';\nimport type {\n OnReadyCallback,\n OnCanceledCallback,\n OnCompleteCallback,\n OnErrorCallback,\n OnEventCallback,\n} from './callbacks';\nimport type { InquiryEvent } from './InquiryEvent';\n\nconst create = (viewId: number | null) => {\n try {\n const viewManagerConfig =\n UIManager.getViewManagerConfig('PersonaInquiryView');\n if (!viewManagerConfig || !viewManagerConfig.Commands) {\n console.error('PersonaInquiryView config not found');\n return;\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n viewManagerConfig.Commands.create,\n [viewId]\n );\n } catch (error) {\n console.error('Error dispatching create command:', error);\n }\n};\n\nlet onReadyCalled = false;\nlet onReadyCallback = () => {};\nexport const onPersonaInquiryViewEvent: OnEventCallback = (\n event: InquiryEvent\n) => {\n if (event.type == 'start') {\n onReadyCalled = false;\n } else if (event.type == 'page_change' && !onReadyCalled) {\n onReadyCalled = true;\n\n setTimeout(function () {\n onReadyCallback();\n }, 400);\n }\n};\n\nconst resetOnReadyState = () => {\n onReadyCalled = false;\n onReadyCallback = () => {};\n};\n\nexport default function PersonaInquiryView(props: {\n style: any;\n inquiry: any;\n onComplete: OnCompleteCallback;\n onCanceled: OnCanceledCallback;\n onError: OnErrorCallback;\n onEvent?: OnEventCallback;\n onReady: OnReadyCallback;\n}) {\n const ref = useRef(null);\n\n useEffect(() => {\n const viewId = findNodeHandle(ref.current);\n\n onReadyCallback = () => {\n props.onReady();\n };\n\n create(viewId);\n\n return () => {\n resetOnReadyState();\n };\n }, []);\n\n const _onComplete = useCallback(\n (event: any) => {\n callOnCompleteCallback(event.nativeEvent, props.onComplete);\n },\n [props.onComplete]\n );\n\n const _onCanceled = useCallback(\n (event: any) => {\n callOnCanceledCallback(event.nativeEvent, props.onCanceled);\n },\n [props.onCanceled]\n );\n\n const _onError = useCallback(\n (event: any) => {\n callOnErrorCallback(event.nativeEvent, props.onError);\n },\n [props.onError]\n );\n\n const _onEvent = useCallback(\n (event: any) => {\n callOnEventCallback(event.nativeEvent, props.onEvent);\n },\n [props.onEvent]\n );\n\n const _onReady = useCallback(() => {\n callOnReadyCallback(props.onReady);\n }, [props.onReady]);\n\n return (\n <PersonaInquiryViewManager\n style={props.style}\n inquiry={props.inquiry.toOptionsJson()}\n onComplete={_onComplete}\n onCanceled={_onCanceled}\n onError={_onError}\n onEvent={_onEvent}\n onReady={_onReady}\n ref={ref}\n />\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_PersonaInquiryViewManager","_util","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","onReadyCalled","onReadyCallback","onPersonaInquiryViewEvent","event","type","setTimeout","exports","resetOnReadyState","PersonaInquiryView","props","ref","useRef","create","viewId","callOnErrorCallback","debugMessage","errorCode","onError","viewManagerConfig","UIManager","getViewManagerConfig","Commands","dispatchViewManagerCommand","error","useEffect","findNodeHandle","current","onReady","_onComplete","useCallback","callOnCompleteCallback","nativeEvent","onComplete","_onCanceled","callOnCanceledCallback","onCanceled","_onError","_onEvent","callOnEventCallback","onEvent","_onReady","callOnReadyCallback","createElement","PersonaInquiryViewManager","style","inquiry","toOptionsJson"],"sources":["PersonaInquiryView.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\nimport { findNodeHandle, UIManager } from 'react-native';\nimport { PersonaInquiryViewManager } from './PersonaInquiryViewManager';\nimport {\n callOnCanceledCallback,\n callOnCompleteCallback,\n callOnErrorCallback,\n callOnEventCallback,\n callOnReadyCallback,\n} from './util';\nimport type {\n OnReadyCallback,\n OnCanceledCallback,\n OnCompleteCallback,\n OnErrorCallback,\n OnEventCallback,\n} from './callbacks';\nimport type { InquiryEvent } from './InquiryEvent';\n\nlet onReadyCalled = false;\nlet onReadyCallback = () => {};\nexport const onPersonaInquiryViewEvent: OnEventCallback = (\n event: InquiryEvent\n) => {\n if (event.type == 'start') {\n onReadyCalled = false;\n } else if (event.type == 'page_change' && !onReadyCalled) {\n onReadyCalled = true;\n\n setTimeout(function () {\n onReadyCallback();\n }, 400);\n }\n};\n\nconst resetOnReadyState = () => {\n onReadyCalled = false;\n onReadyCallback = () => {};\n};\n\nexport default function PersonaInquiryView(props: {\n style: any;\n inquiry: any;\n onComplete: OnCompleteCallback;\n onCanceled: OnCanceledCallback;\n onError: OnErrorCallback;\n onEvent?: OnEventCallback;\n onReady: OnReadyCallback;\n}) {\n const ref = useRef(null);\n\n const create = (viewId: number | null) => {\n try {\n if (viewId == null) {\n callOnErrorCallback({ \n debugMessage: 'PersonaInquiryView not found', \n errorCode: 'UnexpectedError' \n }, props.onError);\n return;\n }\n\n const viewManagerConfig =\n UIManager.getViewManagerConfig('PersonaInquiryView');\n if (!viewManagerConfig || !viewManagerConfig.Commands) {\n callOnErrorCallback({ \n debugMessage: 'PersonaInquiryView config not found', \n errorCode: 'UnexpectedError' \n }, props.onError);\n return;\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n viewManagerConfig.Commands.create,\n [viewId]\n );\n } catch (error) {\n callOnErrorCallback({ \n debugMessage: 'Error dispatching create command.', \n errorCode: 'UnexpectedError' \n }, props.onError);\n }\n };\n\n useEffect(() => {\n const viewId = findNodeHandle(ref.current);\n\n onReadyCallback = () => {\n props.onReady();\n };\n\n create(viewId);\n\n return () => {\n resetOnReadyState();\n };\n }, []);\n\n const _onComplete = useCallback(\n (event: any) => {\n callOnCompleteCallback(event.nativeEvent, props.onComplete);\n },\n [props.onComplete]\n );\n\n const _onCanceled = useCallback(\n (event: any) => {\n callOnCanceledCallback(event.nativeEvent, props.onCanceled);\n },\n [props.onCanceled]\n );\n\n const _onError = useCallback(\n (event: any) => {\n callOnErrorCallback(event.nativeEvent, props.onError);\n },\n [props.onError]\n );\n\n const _onEvent = useCallback(\n (event: any) => {\n callOnEventCallback(event.nativeEvent, props.onEvent);\n },\n [props.onEvent]\n );\n\n const _onReady = useCallback(() => {\n callOnReadyCallback(props.onReady);\n }, [props.onReady]);\n\n return (\n <PersonaInquiryViewManager\n style={props.style}\n inquiry={props.inquiry.toOptionsJson()}\n onComplete={_onComplete}\n onCanceled={_onCanceled}\n onError={_onError}\n onEvent={_onEvent}\n onReady={_onReady}\n ref={ref}\n />\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,18 +2,6 @@ import React, { useCallback, useEffect, useRef } from 'react';
2
2
  import { findNodeHandle, UIManager } from 'react-native';
3
3
  import { PersonaInquiryViewManager } from './PersonaInquiryViewManager';
4
4
  import { callOnCanceledCallback, callOnCompleteCallback, callOnErrorCallback, callOnEventCallback, callOnReadyCallback } from './util';
5
- const create = viewId => {
6
- try {
7
- const viewManagerConfig = UIManager.getViewManagerConfig('PersonaInquiryView');
8
- if (!viewManagerConfig || !viewManagerConfig.Commands) {
9
- console.error('PersonaInquiryView config not found');
10
- return;
11
- }
12
- UIManager.dispatchViewManagerCommand(viewId, viewManagerConfig.Commands.create, [viewId]);
13
- } catch (error) {
14
- console.error('Error dispatching create command:', error);
15
- }
16
- };
17
5
  let onReadyCalled = false;
18
6
  let onReadyCallback = () => {};
19
7
  export const onPersonaInquiryViewEvent = event => {
@@ -32,6 +20,31 @@ const resetOnReadyState = () => {
32
20
  };
33
21
  export default function PersonaInquiryView(props) {
34
22
  const ref = useRef(null);
23
+ const create = viewId => {
24
+ try {
25
+ if (viewId == null) {
26
+ callOnErrorCallback({
27
+ debugMessage: 'PersonaInquiryView not found',
28
+ errorCode: 'UnexpectedError'
29
+ }, props.onError);
30
+ return;
31
+ }
32
+ const viewManagerConfig = UIManager.getViewManagerConfig('PersonaInquiryView');
33
+ if (!viewManagerConfig || !viewManagerConfig.Commands) {
34
+ callOnErrorCallback({
35
+ debugMessage: 'PersonaInquiryView config not found',
36
+ errorCode: 'UnexpectedError'
37
+ }, props.onError);
38
+ return;
39
+ }
40
+ UIManager.dispatchViewManagerCommand(viewId, viewManagerConfig.Commands.create, [viewId]);
41
+ } catch (error) {
42
+ callOnErrorCallback({
43
+ debugMessage: 'Error dispatching create command.',
44
+ errorCode: 'UnexpectedError'
45
+ }, props.onError);
46
+ }
47
+ };
35
48
  useEffect(() => {
36
49
  const viewId = findNodeHandle(ref.current);
37
50
  onReadyCallback = () => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useRef","findNodeHandle","UIManager","PersonaInquiryViewManager","callOnCanceledCallback","callOnCompleteCallback","callOnErrorCallback","callOnEventCallback","callOnReadyCallback","create","viewId","viewManagerConfig","getViewManagerConfig","Commands","console","error","dispatchViewManagerCommand","onReadyCalled","onReadyCallback","onPersonaInquiryViewEvent","event","type","setTimeout","resetOnReadyState","PersonaInquiryView","props","ref","current","onReady","_onComplete","nativeEvent","onComplete","_onCanceled","onCanceled","_onError","onError","_onEvent","onEvent","_onReady","createElement","style","inquiry","toOptionsJson"],"sources":["PersonaInquiryView.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\nimport { findNodeHandle, UIManager } from 'react-native';\nimport { PersonaInquiryViewManager } from './PersonaInquiryViewManager';\nimport {\n callOnCanceledCallback,\n callOnCompleteCallback,\n callOnErrorCallback,\n callOnEventCallback,\n callOnReadyCallback,\n} from './util';\nimport type {\n OnReadyCallback,\n OnCanceledCallback,\n OnCompleteCallback,\n OnErrorCallback,\n OnEventCallback,\n} from './callbacks';\nimport type { InquiryEvent } from './InquiryEvent';\n\nconst create = (viewId: number | null) => {\n try {\n const viewManagerConfig =\n UIManager.getViewManagerConfig('PersonaInquiryView');\n if (!viewManagerConfig || !viewManagerConfig.Commands) {\n console.error('PersonaInquiryView config not found');\n return;\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n viewManagerConfig.Commands.create,\n [viewId]\n );\n } catch (error) {\n console.error('Error dispatching create command:', error);\n }\n};\n\nlet onReadyCalled = false;\nlet onReadyCallback = () => {};\nexport const onPersonaInquiryViewEvent: OnEventCallback = (\n event: InquiryEvent\n) => {\n if (event.type == 'start') {\n onReadyCalled = false;\n } else if (event.type == 'page_change' && !onReadyCalled) {\n onReadyCalled = true;\n\n setTimeout(function () {\n onReadyCallback();\n }, 400);\n }\n};\n\nconst resetOnReadyState = () => {\n onReadyCalled = false;\n onReadyCallback = () => {};\n};\n\nexport default function PersonaInquiryView(props: {\n style: any;\n inquiry: any;\n onComplete: OnCompleteCallback;\n onCanceled: OnCanceledCallback;\n onError: OnErrorCallback;\n onEvent?: OnEventCallback;\n onReady: OnReadyCallback;\n}) {\n const ref = useRef(null);\n\n useEffect(() => {\n const viewId = findNodeHandle(ref.current);\n\n onReadyCallback = () => {\n props.onReady();\n };\n\n create(viewId);\n\n return () => {\n resetOnReadyState();\n };\n }, []);\n\n const _onComplete = useCallback(\n (event: any) => {\n callOnCompleteCallback(event.nativeEvent, props.onComplete);\n },\n [props.onComplete]\n );\n\n const _onCanceled = useCallback(\n (event: any) => {\n callOnCanceledCallback(event.nativeEvent, props.onCanceled);\n },\n [props.onCanceled]\n );\n\n const _onError = useCallback(\n (event: any) => {\n callOnErrorCallback(event.nativeEvent, props.onError);\n },\n [props.onError]\n );\n\n const _onEvent = useCallback(\n (event: any) => {\n callOnEventCallback(event.nativeEvent, props.onEvent);\n },\n [props.onEvent]\n );\n\n const _onReady = useCallback(() => {\n callOnReadyCallback(props.onReady);\n }, [props.onReady]);\n\n return (\n <PersonaInquiryViewManager\n style={props.style}\n inquiry={props.inquiry.toOptionsJson()}\n onComplete={_onComplete}\n onCanceled={_onCanceled}\n onError={_onError}\n onEvent={_onEvent}\n onReady={_onReady}\n ref={ref}\n />\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useRef","findNodeHandle","UIManager","PersonaInquiryViewManager","callOnCanceledCallback","callOnCompleteCallback","callOnErrorCallback","callOnEventCallback","callOnReadyCallback","onReadyCalled","onReadyCallback","onPersonaInquiryViewEvent","event","type","setTimeout","resetOnReadyState","PersonaInquiryView","props","ref","create","viewId","debugMessage","errorCode","onError","viewManagerConfig","getViewManagerConfig","Commands","dispatchViewManagerCommand","error","current","onReady","_onComplete","nativeEvent","onComplete","_onCanceled","onCanceled","_onError","_onEvent","onEvent","_onReady","createElement","style","inquiry","toOptionsJson"],"sources":["PersonaInquiryView.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\nimport { findNodeHandle, UIManager } from 'react-native';\nimport { PersonaInquiryViewManager } from './PersonaInquiryViewManager';\nimport {\n callOnCanceledCallback,\n callOnCompleteCallback,\n callOnErrorCallback,\n callOnEventCallback,\n callOnReadyCallback,\n} from './util';\nimport type {\n OnReadyCallback,\n OnCanceledCallback,\n OnCompleteCallback,\n OnErrorCallback,\n OnEventCallback,\n} from './callbacks';\nimport type { InquiryEvent } from './InquiryEvent';\n\nlet onReadyCalled = false;\nlet onReadyCallback = () => {};\nexport const onPersonaInquiryViewEvent: OnEventCallback = (\n event: InquiryEvent\n) => {\n if (event.type == 'start') {\n onReadyCalled = false;\n } else if (event.type == 'page_change' && !onReadyCalled) {\n onReadyCalled = true;\n\n setTimeout(function () {\n onReadyCallback();\n }, 400);\n }\n};\n\nconst resetOnReadyState = () => {\n onReadyCalled = false;\n onReadyCallback = () => {};\n};\n\nexport default function PersonaInquiryView(props: {\n style: any;\n inquiry: any;\n onComplete: OnCompleteCallback;\n onCanceled: OnCanceledCallback;\n onError: OnErrorCallback;\n onEvent?: OnEventCallback;\n onReady: OnReadyCallback;\n}) {\n const ref = useRef(null);\n\n const create = (viewId: number | null) => {\n try {\n if (viewId == null) {\n callOnErrorCallback({ \n debugMessage: 'PersonaInquiryView not found', \n errorCode: 'UnexpectedError' \n }, props.onError);\n return;\n }\n\n const viewManagerConfig =\n UIManager.getViewManagerConfig('PersonaInquiryView');\n if (!viewManagerConfig || !viewManagerConfig.Commands) {\n callOnErrorCallback({ \n debugMessage: 'PersonaInquiryView config not found', \n errorCode: 'UnexpectedError' \n }, props.onError);\n return;\n }\n UIManager.dispatchViewManagerCommand(\n viewId,\n viewManagerConfig.Commands.create,\n [viewId]\n );\n } catch (error) {\n callOnErrorCallback({ \n debugMessage: 'Error dispatching create command.', \n errorCode: 'UnexpectedError' \n }, props.onError);\n }\n };\n\n useEffect(() => {\n const viewId = findNodeHandle(ref.current);\n\n onReadyCallback = () => {\n props.onReady();\n };\n\n create(viewId);\n\n return () => {\n resetOnReadyState();\n };\n }, []);\n\n const _onComplete = useCallback(\n (event: any) => {\n callOnCompleteCallback(event.nativeEvent, props.onComplete);\n },\n [props.onComplete]\n );\n\n const _onCanceled = useCallback(\n (event: any) => {\n callOnCanceledCallback(event.nativeEvent, props.onCanceled);\n },\n [props.onCanceled]\n );\n\n const _onError = useCallback(\n (event: any) => {\n callOnErrorCallback(event.nativeEvent, props.onError);\n },\n [props.onError]\n );\n\n const _onEvent = useCallback(\n (event: any) => {\n callOnEventCallback(event.nativeEvent, props.onEvent);\n },\n [props.onEvent]\n );\n\n const _onReady = useCallback(() => {\n callOnReadyCallback(props.onReady);\n }, [props.onReady]);\n\n return (\n <PersonaInquiryViewManager\n style={props.style}\n inquiry={props.inquiry.toOptionsJson()}\n onComplete={_onComplete}\n onCanceled={_onCanceled}\n onError={_onError}\n onEvent={_onEvent}\n onReady={_onReady}\n ref={ref}\n />\n );\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-native-persona",
3
3
  "title": "React Native Persona",
4
- "version": "2.41.0",
4
+ "version": "2.42.0",
5
5
  "description": "Launch a mobile native implementation of the Persona inquiry flow from React Native.",
6
6
  "homepage": "https://docs.withpersona.com/docs/react-native-sdk-integration",
7
7
  "bugs": "https://github.com/persona-id/persona-inquiry-sdk-public",
@@ -17,24 +17,6 @@ import type {
17
17
  } from './callbacks';
18
18
  import type { InquiryEvent } from './InquiryEvent';
19
19
 
20
- const create = (viewId: number | null) => {
21
- try {
22
- const viewManagerConfig =
23
- UIManager.getViewManagerConfig('PersonaInquiryView');
24
- if (!viewManagerConfig || !viewManagerConfig.Commands) {
25
- console.error('PersonaInquiryView config not found');
26
- return;
27
- }
28
- UIManager.dispatchViewManagerCommand(
29
- viewId,
30
- viewManagerConfig.Commands.create,
31
- [viewId]
32
- );
33
- } catch (error) {
34
- console.error('Error dispatching create command:', error);
35
- }
36
- };
37
-
38
20
  let onReadyCalled = false;
39
21
  let onReadyCallback = () => {};
40
22
  export const onPersonaInquiryViewEvent: OnEventCallback = (
@@ -67,6 +49,38 @@ export default function PersonaInquiryView(props: {
67
49
  }) {
68
50
  const ref = useRef(null);
69
51
 
52
+ const create = (viewId: number | null) => {
53
+ try {
54
+ if (viewId == null) {
55
+ callOnErrorCallback({
56
+ debugMessage: 'PersonaInquiryView not found',
57
+ errorCode: 'UnexpectedError'
58
+ }, props.onError);
59
+ return;
60
+ }
61
+
62
+ const viewManagerConfig =
63
+ UIManager.getViewManagerConfig('PersonaInquiryView');
64
+ if (!viewManagerConfig || !viewManagerConfig.Commands) {
65
+ callOnErrorCallback({
66
+ debugMessage: 'PersonaInquiryView config not found',
67
+ errorCode: 'UnexpectedError'
68
+ }, props.onError);
69
+ return;
70
+ }
71
+ UIManager.dispatchViewManagerCommand(
72
+ viewId,
73
+ viewManagerConfig.Commands.create,
74
+ [viewId]
75
+ );
76
+ } catch (error) {
77
+ callOnErrorCallback({
78
+ debugMessage: 'Error dispatching create command.',
79
+ errorCode: 'UnexpectedError'
80
+ }, props.onError);
81
+ }
82
+ };
83
+
70
84
  useEffect(() => {
71
85
  const viewId = findNodeHandle(ref.current);
72
86