react-native-persona 2.30.0 → 2.30.1

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.
@@ -65,6 +65,6 @@ dependencies {
65
65
  implementation("com.facebook.react:react-android:+")
66
66
 
67
67
  // NB: be sure to bump `nfc-impl` in example/android/app/build.gradle as well
68
- implementation 'com.withpersona.sdk2:inquiry:2.30.3'
68
+ implementation 'com.withpersona.sdk2:inquiry:2.30.4'
69
69
  implementation("androidx.fragment:fragment:1.8.6")
70
70
  }
@@ -14,6 +14,7 @@ RCT_EXPORT_VIEW_PROPERTY(inquiry, NSDictionary)
14
14
  RCT_EXPORT_VIEW_PROPERTY(onComplete, RCTDirectEventBlock)
15
15
  RCT_EXPORT_VIEW_PROPERTY(onCanceled, RCTDirectEventBlock)
16
16
  RCT_EXPORT_VIEW_PROPERTY(onError, RCTDirectEventBlock)
17
+ RCT_EXPORT_VIEW_PROPERTY(onEvent, RCTDirectEventBlock)
17
18
  RCT_EXPORT_VIEW_PROPERTY(onReady, RCTDirectEventBlock)
18
19
 
19
20
  RCT_EXTERN_METHOD(create:(nonnull NSNumber *)reactTag withViewId:(nonnull NSNumber *)viewId)
@@ -28,8 +28,9 @@ final class PersonaInquiryView: UIView {
28
28
  @objc var onComplete: RCTDirectEventBlock?
29
29
  @objc var onCanceled: RCTDirectEventBlock?
30
30
  @objc var onError: RCTDirectEventBlock?
31
+ @objc var onEvent: RCTDirectEventBlock?
31
32
  @objc var onReady: RCTDirectEventBlock?
32
-
33
+
33
34
  weak var manager: PersonaInquiryViewManager?
34
35
  }
35
36
 
@@ -229,6 +230,21 @@ extension PersonaInquiryViewManager: InquiryDelegate {
229
230
  "debugMessage": error.localizedDescription
230
231
  ])
231
232
  }
233
+
234
+ func inquiryEventOccurred(event: InquiryEvent) {
235
+ let canProcessEvent = switch event {
236
+ case .start, .pageChange:
237
+ true
238
+ @unknown default:
239
+ false
240
+ }
241
+ guard canProcessEvent else { return }
242
+ guard let inquiryView else { return }
243
+
244
+ inquiryView.onEvent?([
245
+ "event": inquiryEventToDictionary(event: event)
246
+ ])
247
+ }
232
248
  }
233
249
 
234
250
  // MARK: - InquiryCollectionDelegate
@@ -241,14 +257,43 @@ extension PersonaInquiryViewManager: InquiryCollectionDelegate {
241
257
  }
242
258
 
243
259
  extension PersonaInquiryViewManager: PersonaInlineDelegate {
244
-
260
+
245
261
  func navigationStateDidUpdate(navigationState: PersonaInlineNavigationState) {
246
262
  // TODO: add custom navigation support
247
263
  }
248
-
264
+
249
265
  func onReady() {
250
266
  guard let inquiryView else { return }
251
267
 
252
268
  inquiryView.onReady?([:])
253
269
  }
254
270
  }
271
+
272
+ // MARK: - Event Helpers
273
+
274
+ extension PersonaInquiryViewManager {
275
+ /// Converts an InquiryEvent like
276
+ /// `.pageChange(name: "start", path: "inquriy/start")]` to
277
+ /// `["name": "start", "path": "inquriy/start"]`
278
+ private func inquiryEventToDictionary(event: InquiryEvent) -> [String: String] {
279
+ switch event {
280
+ case .start(let value):
281
+ return [
282
+ "type": "start",
283
+ "inquiryId": value.inquiryId,
284
+ "sessionToken": value.sessionToken,
285
+ ]
286
+ case .pageChange(let value):
287
+ return [
288
+ "type": "page_change",
289
+ "name": value.name,
290
+ "path": value.path,
291
+ ]
292
+ @unknown default:
293
+ return [
294
+ "type": "unknown",
295
+ "value": "unknown"
296
+ ]
297
+ }
298
+ }
299
+ }
@@ -53,6 +53,9 @@ function PersonaInquiryView(props) {
53
53
  const _onError = (0, _react.useCallback)(event => {
54
54
  (0, _util.callOnErrorCallback)(event.nativeEvent, props.onError);
55
55
  }, [props.onError]);
56
+ const _onEvent = (0, _react.useCallback)(event => {
57
+ (0, _util.callOnEventCallback)(event.nativeEvent, props.onEvent);
58
+ }, [props.onEvent]);
56
59
  const _onReady = (0, _react.useCallback)(() => {
57
60
  (0, _util.callOnReadyCallback)(props.onReady);
58
61
  }, [props.onReady]);
@@ -62,6 +65,7 @@ function PersonaInquiryView(props) {
62
65
  onComplete: _onComplete,
63
66
  onCanceled: _onCanceled,
64
67
  onError: _onError,
68
+ onEvent: _onEvent,
65
69
  onReady: _onReady,
66
70
  ref: ref
67
71
  });
@@ -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","PersonaInquiryView","props","ref","useRef","useEffect","findNodeHandle","current","onReady","_onComplete","useCallback","callOnCompleteCallback","nativeEvent","onComplete","_onCanceled","callOnCanceledCallback","onCanceled","_onError","callOnErrorCallback","onError","_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 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\nexport default function PersonaInquiryView(props: {\n style: any;\n inquiry: any;\n onComplete: OnCompleteCallback;\n onCanceled: OnCanceledCallback;\n onError: OnErrorCallback;\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\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 _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 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","create","viewId","viewManagerConfig","UIManager","getViewManagerConfig","Commands","console","error","dispatchViewManagerCommand","onReadyCalled","onReadyCallback","onPersonaInquiryViewEvent","event","type","setTimeout","exports","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\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\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":[]}
@@ -6,9 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.callOnCanceledCallback = callOnCanceledCallback;
7
7
  exports.callOnCompleteCallback = callOnCompleteCallback;
8
8
  exports.callOnErrorCallback = callOnErrorCallback;
9
+ exports.callOnEventCallback = callOnEventCallback;
9
10
  exports.callOnReadyCallback = callOnReadyCallback;
10
11
  exports.processThemeValues = processThemeValues;
11
12
  var _fields = require("./fields");
13
+ var _InquiryEvent = require("./InquiryEvent");
12
14
  var _StepData = require("./StepData");
13
15
  const HEX_REGEX = /^[a-fA-F0-9]{6}$/;
14
16
  function processThemeValues(themeObject) {
@@ -98,4 +100,12 @@ function callOnErrorCallback(event, callback) {
98
100
  function callOnReadyCallback(callback) {
99
101
  if (callback) callback();
100
102
  }
103
+ function callOnEventCallback(event, callback) {
104
+ if (callback) {
105
+ const parsedEvent = _InquiryEvent.InquiryEvent.fromJson(event.event);
106
+ if (parsedEvent) {
107
+ callback(parsedEvent);
108
+ }
109
+ }
110
+ }
101
111
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_fields","require","_StepData","HEX_REGEX","processThemeValues","themeObject","result","key","value","Object","entries","includes","colorValue","slice","test","toString","callOnCompleteCallback","event","callback","_event$collectedData","fields","keys","field","undefined","InquiryField","Unknown","type","Integer","Number","parseInt","Boolean","String","collectedData","stepData","translatedStepData","stepDatum","push","assign","DocumentStepData","GovernmentIdStepData","SelfieStepData","UiStepData","extraData","inquiryId","status","callOnCanceledCallback","sessionToken","callOnErrorCallback","Error","debugMessage","errorCode","callOnReadyCallback"],"sources":["util.ts"],"sourcesContent":["import type {\n CollectedData,\n ExternalCollectedData,\n ExtraData,\n OnCanceledCallback,\n OnCompleteCallback,\n OnErrorCallback,\n OnReadyCallback,\n} from './callbacks';\nimport { Fields, InquiryField, RawInquiryField } from './fields';\nimport {\n DocumentStepData,\n GovernmentIdStepData,\n SelfieStepData,\n UiStepData,\n} from './StepData';\n\nconst HEX_REGEX = /^[a-fA-F0-9]{6}$/;\nexport function processThemeValues(themeObject: Object) {\n const result: { [key: string]: string } = {};\n for (const [key, value] of Object.entries(themeObject)) {\n if (value === null) {\n continue;\n }\n\n if (key.includes('Color')) {\n let colorValue = value;\n if (value[0] === '#') {\n colorValue = value.slice(1);\n }\n\n if (HEX_REGEX.test(colorValue)) {\n result[key] = `#${colorValue}`;\n } else {\n continue;\n }\n } else {\n result[key] = value.toString();\n }\n }\n\n return result;\n}\n\nexport function callOnCompleteCallback(\n event: {\n inquiryId: string;\n status: string;\n fields: Record<string, RawInquiryField>;\n collectedData: ExternalCollectedData | null;\n },\n callback: OnCompleteCallback | undefined\n) {\n if (callback) {\n let fields: Fields = {};\n for (let key of Object.keys(event.fields || {})) {\n let field = event.fields[key];\n if (field == undefined) {\n fields[key] = new InquiryField.Unknown('null');\n continue;\n }\n switch (field.type) {\n case 'integer':\n fields[key] = new InquiryField.Integer(Number.parseInt(field.value));\n break;\n case 'boolean':\n fields[key] = new InquiryField.Boolean(field.value);\n break;\n case 'string':\n fields[key] = new InquiryField.String(field.value);\n break;\n default:\n fields[key] = new InquiryField.Unknown(field.type);\n break;\n }\n }\n\n let collectedData: CollectedData | null = null;\n\n let stepData = event.collectedData?.stepData;\n if (stepData != null) {\n // Translate the step data from JSON to actual class objects\n let translatedStepData = [];\n\n for (let stepDatum of stepData) {\n switch (stepDatum.type) {\n case 'DocumentStepData':\n translatedStepData.push(\n Object.assign(new DocumentStepData(), stepDatum)\n );\n break;\n case 'GovernmentIdStepData':\n translatedStepData.push(\n Object.assign(new GovernmentIdStepData(), stepDatum)\n );\n break;\n case 'SelfieStepData':\n translatedStepData.push(\n Object.assign(new SelfieStepData(), stepDatum)\n );\n break;\n case 'UiStepData':\n translatedStepData.push(Object.assign(new UiStepData(), stepDatum));\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData,\n };\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData,\n };\n\n callback(event.inquiryId, event.status, fields, extraData);\n }\n}\n\nexport function callOnCanceledCallback(\n event: { inquiryId?: string; sessionToken?: string },\n callback: OnCanceledCallback | undefined\n) {\n if (callback) callback(event.inquiryId, event.sessionToken);\n}\n\nexport function callOnErrorCallback(\n event: { debugMessage: string; errorCode?: string },\n callback: OnErrorCallback | undefined\n) {\n if (callback) callback(new Error(event.debugMessage), event.errorCode);\n}\n\nexport function callOnReadyCallback(callback: OnReadyCallback | undefined) {\n if (callback) callback();\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fields","require","_InquiryEvent","_StepData","HEX_REGEX","processThemeValues","themeObject","result","key","value","Object","entries","includes","colorValue","slice","test","toString","callOnCompleteCallback","event","callback","_event$collectedData","fields","keys","field","undefined","InquiryField","Unknown","type","Integer","Number","parseInt","Boolean","String","collectedData","stepData","translatedStepData","stepDatum","push","assign","DocumentStepData","GovernmentIdStepData","SelfieStepData","UiStepData","extraData","inquiryId","status","callOnCanceledCallback","sessionToken","callOnErrorCallback","Error","debugMessage","errorCode","callOnReadyCallback","callOnEventCallback","parsedEvent","InquiryEvent","fromJson"],"sources":["util.ts"],"sourcesContent":["import type {\n CollectedData,\n ExternalCollectedData,\n ExtraData,\n OnCanceledCallback,\n OnCompleteCallback,\n OnErrorCallback,\n OnEventCallback,\n OnReadyCallback,\n} from './callbacks';\nimport { Fields, InquiryField, RawInquiryField } from './fields';\nimport { InquiryEvent } from './InquiryEvent';\nimport {\n DocumentStepData,\n GovernmentIdStepData,\n SelfieStepData,\n UiStepData,\n} from './StepData';\n\nconst HEX_REGEX = /^[a-fA-F0-9]{6}$/;\nexport function processThemeValues(themeObject: Object) {\n const result: { [key: string]: string } = {};\n for (const [key, value] of Object.entries(themeObject)) {\n if (value === null) {\n continue;\n }\n\n if (key.includes('Color')) {\n let colorValue = value;\n if (value[0] === '#') {\n colorValue = value.slice(1);\n }\n\n if (HEX_REGEX.test(colorValue)) {\n result[key] = `#${colorValue}`;\n } else {\n continue;\n }\n } else {\n result[key] = value.toString();\n }\n }\n\n return result;\n}\n\nexport function callOnCompleteCallback(\n event: {\n inquiryId: string;\n status: string;\n fields: Record<string, RawInquiryField>;\n collectedData: ExternalCollectedData | null;\n },\n callback: OnCompleteCallback | undefined\n) {\n if (callback) {\n let fields: Fields = {};\n for (let key of Object.keys(event.fields || {})) {\n let field = event.fields[key];\n if (field == undefined) {\n fields[key] = new InquiryField.Unknown('null');\n continue;\n }\n switch (field.type) {\n case 'integer':\n fields[key] = new InquiryField.Integer(Number.parseInt(field.value));\n break;\n case 'boolean':\n fields[key] = new InquiryField.Boolean(field.value);\n break;\n case 'string':\n fields[key] = new InquiryField.String(field.value);\n break;\n default:\n fields[key] = new InquiryField.Unknown(field.type);\n break;\n }\n }\n\n let collectedData: CollectedData | null = null;\n\n let stepData = event.collectedData?.stepData;\n if (stepData != null) {\n // Translate the step data from JSON to actual class objects\n let translatedStepData = [];\n\n for (let stepDatum of stepData) {\n switch (stepDatum.type) {\n case 'DocumentStepData':\n translatedStepData.push(\n Object.assign(new DocumentStepData(), stepDatum)\n );\n break;\n case 'GovernmentIdStepData':\n translatedStepData.push(\n Object.assign(new GovernmentIdStepData(), stepDatum)\n );\n break;\n case 'SelfieStepData':\n translatedStepData.push(\n Object.assign(new SelfieStepData(), stepDatum)\n );\n break;\n case 'UiStepData':\n translatedStepData.push(Object.assign(new UiStepData(), stepDatum));\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData,\n };\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData,\n };\n\n callback(event.inquiryId, event.status, fields, extraData);\n }\n}\n\nexport function callOnCanceledCallback(\n event: { inquiryId?: string; sessionToken?: string },\n callback: OnCanceledCallback | undefined\n) {\n if (callback) callback(event.inquiryId, event.sessionToken);\n}\n\nexport function callOnErrorCallback(\n event: { debugMessage: string; errorCode?: string },\n callback: OnErrorCallback | undefined\n) {\n if (callback) callback(new Error(event.debugMessage), event.errorCode);\n}\n\nexport function callOnReadyCallback(callback: OnReadyCallback | undefined) {\n if (callback) callback();\n}\n\nexport function callOnEventCallback(\n event: { event: any },\n callback: OnEventCallback | undefined\n) {\n if (callback) {\n const parsedEvent = InquiryEvent.fromJson(event.event);\n if (parsedEvent) {\n callback(parsedEvent);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import React, { useCallback, useEffect, useRef } from 'react';
2
2
  import { findNodeHandle, UIManager } from 'react-native';
3
3
  import { PersonaInquiryViewManager } from './PersonaInquiryViewManager';
4
- import { callOnCanceledCallback, callOnCompleteCallback, callOnErrorCallback, callOnReadyCallback } from './util';
4
+ import { callOnCanceledCallback, callOnCompleteCallback, callOnErrorCallback, callOnEventCallback, callOnReadyCallback } from './util';
5
5
  const create = viewId => {
6
6
  try {
7
7
  const viewManagerConfig = UIManager.getViewManagerConfig('PersonaInquiryView');
@@ -44,6 +44,9 @@ export default function PersonaInquiryView(props) {
44
44
  const _onError = useCallback(event => {
45
45
  callOnErrorCallback(event.nativeEvent, props.onError);
46
46
  }, [props.onError]);
47
+ const _onEvent = useCallback(event => {
48
+ callOnEventCallback(event.nativeEvent, props.onEvent);
49
+ }, [props.onEvent]);
47
50
  const _onReady = useCallback(() => {
48
51
  callOnReadyCallback(props.onReady);
49
52
  }, [props.onReady]);
@@ -53,6 +56,7 @@ export default function PersonaInquiryView(props) {
53
56
  onComplete: _onComplete,
54
57
  onCanceled: _onCanceled,
55
58
  onError: _onError,
59
+ onEvent: _onEvent,
56
60
  onReady: _onReady,
57
61
  ref: ref
58
62
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useRef","findNodeHandle","UIManager","PersonaInquiryViewManager","callOnCanceledCallback","callOnCompleteCallback","callOnErrorCallback","callOnReadyCallback","create","viewId","viewManagerConfig","getViewManagerConfig","Commands","console","error","dispatchViewManagerCommand","onReadyCalled","onReadyCallback","onPersonaInquiryViewEvent","event","type","setTimeout","PersonaInquiryView","props","ref","current","onReady","_onComplete","nativeEvent","onComplete","_onCanceled","onCanceled","_onError","onError","_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 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\nexport default function PersonaInquiryView(props: {\n style: any;\n inquiry: any;\n onComplete: OnCompleteCallback;\n onCanceled: OnCanceledCallback;\n onError: OnErrorCallback;\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\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 _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 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","create","viewId","viewManagerConfig","getViewManagerConfig","Commands","console","error","dispatchViewManagerCommand","onReadyCalled","onReadyCallback","onPersonaInquiryViewEvent","event","type","setTimeout","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\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\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,4 +1,5 @@
1
1
  import { InquiryField } from './fields';
2
+ import { InquiryEvent } from './InquiryEvent';
2
3
  import { DocumentStepData, GovernmentIdStepData, SelfieStepData, UiStepData } from './StepData';
3
4
  const HEX_REGEX = /^[a-fA-F0-9]{6}$/;
4
5
  export function processThemeValues(themeObject) {
@@ -88,4 +89,12 @@ export function callOnErrorCallback(event, callback) {
88
89
  export function callOnReadyCallback(callback) {
89
90
  if (callback) callback();
90
91
  }
92
+ export function callOnEventCallback(event, callback) {
93
+ if (callback) {
94
+ const parsedEvent = InquiryEvent.fromJson(event.event);
95
+ if (parsedEvent) {
96
+ callback(parsedEvent);
97
+ }
98
+ }
99
+ }
91
100
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["InquiryField","DocumentStepData","GovernmentIdStepData","SelfieStepData","UiStepData","HEX_REGEX","processThemeValues","themeObject","result","key","value","Object","entries","includes","colorValue","slice","test","toString","callOnCompleteCallback","event","callback","_event$collectedData","fields","keys","field","undefined","Unknown","type","Integer","Number","parseInt","Boolean","String","collectedData","stepData","translatedStepData","stepDatum","push","assign","extraData","inquiryId","status","callOnCanceledCallback","sessionToken","callOnErrorCallback","Error","debugMessage","errorCode","callOnReadyCallback"],"sources":["util.ts"],"sourcesContent":["import type {\n CollectedData,\n ExternalCollectedData,\n ExtraData,\n OnCanceledCallback,\n OnCompleteCallback,\n OnErrorCallback,\n OnReadyCallback,\n} from './callbacks';\nimport { Fields, InquiryField, RawInquiryField } from './fields';\nimport {\n DocumentStepData,\n GovernmentIdStepData,\n SelfieStepData,\n UiStepData,\n} from './StepData';\n\nconst HEX_REGEX = /^[a-fA-F0-9]{6}$/;\nexport function processThemeValues(themeObject: Object) {\n const result: { [key: string]: string } = {};\n for (const [key, value] of Object.entries(themeObject)) {\n if (value === null) {\n continue;\n }\n\n if (key.includes('Color')) {\n let colorValue = value;\n if (value[0] === '#') {\n colorValue = value.slice(1);\n }\n\n if (HEX_REGEX.test(colorValue)) {\n result[key] = `#${colorValue}`;\n } else {\n continue;\n }\n } else {\n result[key] = value.toString();\n }\n }\n\n return result;\n}\n\nexport function callOnCompleteCallback(\n event: {\n inquiryId: string;\n status: string;\n fields: Record<string, RawInquiryField>;\n collectedData: ExternalCollectedData | null;\n },\n callback: OnCompleteCallback | undefined\n) {\n if (callback) {\n let fields: Fields = {};\n for (let key of Object.keys(event.fields || {})) {\n let field = event.fields[key];\n if (field == undefined) {\n fields[key] = new InquiryField.Unknown('null');\n continue;\n }\n switch (field.type) {\n case 'integer':\n fields[key] = new InquiryField.Integer(Number.parseInt(field.value));\n break;\n case 'boolean':\n fields[key] = new InquiryField.Boolean(field.value);\n break;\n case 'string':\n fields[key] = new InquiryField.String(field.value);\n break;\n default:\n fields[key] = new InquiryField.Unknown(field.type);\n break;\n }\n }\n\n let collectedData: CollectedData | null = null;\n\n let stepData = event.collectedData?.stepData;\n if (stepData != null) {\n // Translate the step data from JSON to actual class objects\n let translatedStepData = [];\n\n for (let stepDatum of stepData) {\n switch (stepDatum.type) {\n case 'DocumentStepData':\n translatedStepData.push(\n Object.assign(new DocumentStepData(), stepDatum)\n );\n break;\n case 'GovernmentIdStepData':\n translatedStepData.push(\n Object.assign(new GovernmentIdStepData(), stepDatum)\n );\n break;\n case 'SelfieStepData':\n translatedStepData.push(\n Object.assign(new SelfieStepData(), stepDatum)\n );\n break;\n case 'UiStepData':\n translatedStepData.push(Object.assign(new UiStepData(), stepDatum));\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData,\n };\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData,\n };\n\n callback(event.inquiryId, event.status, fields, extraData);\n }\n}\n\nexport function callOnCanceledCallback(\n event: { inquiryId?: string; sessionToken?: string },\n callback: OnCanceledCallback | undefined\n) {\n if (callback) callback(event.inquiryId, event.sessionToken);\n}\n\nexport function callOnErrorCallback(\n event: { debugMessage: string; errorCode?: string },\n callback: OnErrorCallback | undefined\n) {\n if (callback) callback(new Error(event.debugMessage), event.errorCode);\n}\n\nexport function callOnReadyCallback(callback: OnReadyCallback | undefined) {\n if (callback) callback();\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["InquiryField","InquiryEvent","DocumentStepData","GovernmentIdStepData","SelfieStepData","UiStepData","HEX_REGEX","processThemeValues","themeObject","result","key","value","Object","entries","includes","colorValue","slice","test","toString","callOnCompleteCallback","event","callback","_event$collectedData","fields","keys","field","undefined","Unknown","type","Integer","Number","parseInt","Boolean","String","collectedData","stepData","translatedStepData","stepDatum","push","assign","extraData","inquiryId","status","callOnCanceledCallback","sessionToken","callOnErrorCallback","Error","debugMessage","errorCode","callOnReadyCallback","callOnEventCallback","parsedEvent","fromJson"],"sources":["util.ts"],"sourcesContent":["import type {\n CollectedData,\n ExternalCollectedData,\n ExtraData,\n OnCanceledCallback,\n OnCompleteCallback,\n OnErrorCallback,\n OnEventCallback,\n OnReadyCallback,\n} from './callbacks';\nimport { Fields, InquiryField, RawInquiryField } from './fields';\nimport { InquiryEvent } from './InquiryEvent';\nimport {\n DocumentStepData,\n GovernmentIdStepData,\n SelfieStepData,\n UiStepData,\n} from './StepData';\n\nconst HEX_REGEX = /^[a-fA-F0-9]{6}$/;\nexport function processThemeValues(themeObject: Object) {\n const result: { [key: string]: string } = {};\n for (const [key, value] of Object.entries(themeObject)) {\n if (value === null) {\n continue;\n }\n\n if (key.includes('Color')) {\n let colorValue = value;\n if (value[0] === '#') {\n colorValue = value.slice(1);\n }\n\n if (HEX_REGEX.test(colorValue)) {\n result[key] = `#${colorValue}`;\n } else {\n continue;\n }\n } else {\n result[key] = value.toString();\n }\n }\n\n return result;\n}\n\nexport function callOnCompleteCallback(\n event: {\n inquiryId: string;\n status: string;\n fields: Record<string, RawInquiryField>;\n collectedData: ExternalCollectedData | null;\n },\n callback: OnCompleteCallback | undefined\n) {\n if (callback) {\n let fields: Fields = {};\n for (let key of Object.keys(event.fields || {})) {\n let field = event.fields[key];\n if (field == undefined) {\n fields[key] = new InquiryField.Unknown('null');\n continue;\n }\n switch (field.type) {\n case 'integer':\n fields[key] = new InquiryField.Integer(Number.parseInt(field.value));\n break;\n case 'boolean':\n fields[key] = new InquiryField.Boolean(field.value);\n break;\n case 'string':\n fields[key] = new InquiryField.String(field.value);\n break;\n default:\n fields[key] = new InquiryField.Unknown(field.type);\n break;\n }\n }\n\n let collectedData: CollectedData | null = null;\n\n let stepData = event.collectedData?.stepData;\n if (stepData != null) {\n // Translate the step data from JSON to actual class objects\n let translatedStepData = [];\n\n for (let stepDatum of stepData) {\n switch (stepDatum.type) {\n case 'DocumentStepData':\n translatedStepData.push(\n Object.assign(new DocumentStepData(), stepDatum)\n );\n break;\n case 'GovernmentIdStepData':\n translatedStepData.push(\n Object.assign(new GovernmentIdStepData(), stepDatum)\n );\n break;\n case 'SelfieStepData':\n translatedStepData.push(\n Object.assign(new SelfieStepData(), stepDatum)\n );\n break;\n case 'UiStepData':\n translatedStepData.push(Object.assign(new UiStepData(), stepDatum));\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData,\n };\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData,\n };\n\n callback(event.inquiryId, event.status, fields, extraData);\n }\n}\n\nexport function callOnCanceledCallback(\n event: { inquiryId?: string; sessionToken?: string },\n callback: OnCanceledCallback | undefined\n) {\n if (callback) callback(event.inquiryId, event.sessionToken);\n}\n\nexport function callOnErrorCallback(\n event: { debugMessage: string; errorCode?: string },\n callback: OnErrorCallback | undefined\n) {\n if (callback) callback(new Error(event.debugMessage), event.errorCode);\n}\n\nexport function callOnReadyCallback(callback: OnReadyCallback | undefined) {\n if (callback) callback();\n}\n\nexport function callOnEventCallback(\n event: { event: any },\n callback: OnEventCallback | undefined\n) {\n if (callback) {\n const parsedEvent = InquiryEvent.fromJson(event.event);\n if (parsedEvent) {\n callback(parsedEvent);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,5 +7,6 @@ export default function PersonaInquiryView(props: {
7
7
  onComplete: OnCompleteCallback;
8
8
  onCanceled: OnCanceledCallback;
9
9
  onError: OnErrorCallback;
10
+ onEvent?: OnEventCallback;
10
11
  onReady: OnReadyCallback;
11
12
  }): React.JSX.Element;
@@ -1,4 +1,4 @@
1
- import type { ExternalCollectedData, OnCanceledCallback, OnCompleteCallback, OnErrorCallback, OnReadyCallback } from './callbacks';
1
+ import type { ExternalCollectedData, OnCanceledCallback, OnCompleteCallback, OnErrorCallback, OnEventCallback, OnReadyCallback } from './callbacks';
2
2
  import { RawInquiryField } from './fields';
3
3
  export declare function processThemeValues(themeObject: Object): {
4
4
  [key: string]: string;
@@ -18,3 +18,6 @@ export declare function callOnErrorCallback(event: {
18
18
  errorCode?: string;
19
19
  }, callback: OnErrorCallback | undefined): void;
20
20
  export declare function callOnReadyCallback(callback: OnReadyCallback | undefined): void;
21
+ export declare function callOnEventCallback(event: {
22
+ event: any;
23
+ }, callback: OnEventCallback | undefined): void;
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.30.0",
4
+ "version": "2.30.1",
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",
@@ -5,6 +5,7 @@ import {
5
5
  callOnCanceledCallback,
6
6
  callOnCompleteCallback,
7
7
  callOnErrorCallback,
8
+ callOnEventCallback,
8
9
  callOnReadyCallback,
9
10
  } from './util';
10
11
  import type {
@@ -56,6 +57,7 @@ export default function PersonaInquiryView(props: {
56
57
  onComplete: OnCompleteCallback;
57
58
  onCanceled: OnCanceledCallback;
58
59
  onError: OnErrorCallback;
60
+ onEvent?: OnEventCallback;
59
61
  onReady: OnReadyCallback;
60
62
  }) {
61
63
  const ref = useRef(null);
@@ -91,6 +93,13 @@ export default function PersonaInquiryView(props: {
91
93
  [props.onError]
92
94
  );
93
95
 
96
+ const _onEvent = useCallback(
97
+ (event: any) => {
98
+ callOnEventCallback(event.nativeEvent, props.onEvent);
99
+ },
100
+ [props.onEvent]
101
+ );
102
+
94
103
  const _onReady = useCallback(() => {
95
104
  callOnReadyCallback(props.onReady);
96
105
  }, [props.onReady]);
@@ -102,6 +111,7 @@ export default function PersonaInquiryView(props: {
102
111
  onComplete={_onComplete}
103
112
  onCanceled={_onCanceled}
104
113
  onError={_onError}
114
+ onEvent={_onEvent}
105
115
  onReady={_onReady}
106
116
  ref={ref}
107
117
  />
package/src/util.ts CHANGED
@@ -5,9 +5,11 @@ import type {
5
5
  OnCanceledCallback,
6
6
  OnCompleteCallback,
7
7
  OnErrorCallback,
8
+ OnEventCallback,
8
9
  OnReadyCallback,
9
10
  } from './callbacks';
10
11
  import { Fields, InquiryField, RawInquiryField } from './fields';
12
+ import { InquiryEvent } from './InquiryEvent';
11
13
  import {
12
14
  DocumentStepData,
13
15
  GovernmentIdStepData,
@@ -135,3 +137,15 @@ export function callOnErrorCallback(
135
137
  export function callOnReadyCallback(callback: OnReadyCallback | undefined) {
136
138
  if (callback) callback();
137
139
  }
140
+
141
+ export function callOnEventCallback(
142
+ event: { event: any },
143
+ callback: OnEventCallback | undefined
144
+ ) {
145
+ if (callback) {
146
+ const parsedEvent = InquiryEvent.fromJson(event.event);
147
+ if (parsedEvent) {
148
+ callback(parsedEvent);
149
+ }
150
+ }
151
+ }