assentify-sdk-react-native 0.0.42 → 1.0.0-Beta

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.
Files changed (104) hide show
  1. package/README.md +5 -1
  2. package/android/build.gradle +29 -32
  3. package/android/gradle.properties +2 -2
  4. package/android/src/main/java/com/assentifysdk/AssentifySdkModule.kt +81 -118
  5. package/android/src/main/java/com/assentifysdk/FaceMatchActivity.kt +27 -24
  6. package/android/src/main/java/com/assentifysdk/FlowActivity.kt +191 -0
  7. package/android/src/main/java/com/assentifysdk/QrActivity.kt +10 -11
  8. package/android/src/main/java/com/assentifysdk/ScanIDActivity.kt +83 -98
  9. package/android/src/main/java/com/assentifysdk/ScanOtherActivity.kt +7 -6
  10. package/android/src/main/java/com/assentifysdk/ScanPassportActivity.kt +8 -13
  11. package/android/src/main/res/layout/activity_face_scan.xml +1 -1
  12. package/android/src/main/res/layout/activity_flow.xml +9 -0
  13. package/android/src/main/res/layout/activity_scan.xml +1 -1
  14. package/assentify-sdk.podspec +2 -1
  15. package/ios/NativeAssentifySdk.mm +24 -4
  16. package/ios/NativeAssentifySdk.swift +229 -30
  17. package/ios/UIComponents/RNPassportScanner.swift +4 -3
  18. package/ios/View/FaceMatchController.swift +131 -124
  19. package/ios/View/IDCardController.swift +48 -35
  20. package/ios/View/OtherController.swift +9 -18
  21. package/ios/View/PassportController.swift +82 -121
  22. package/ios/View/QrController.swift +9 -6
  23. package/lib/commonjs/AssentifyProvider.js +88 -101
  24. package/lib/commonjs/AssentifyProvider.js.map +1 -1
  25. package/lib/commonjs/AssentifyWrapper.js +11 -17
  26. package/lib/commonjs/AssentifyWrapper.js.map +1 -1
  27. package/lib/commonjs/BackgroundType.js +11 -0
  28. package/lib/commonjs/BackgroundType.js.map +1 -0
  29. package/lib/commonjs/helpers/parsers/FlowCompletedModelParser.js +26 -0
  30. package/lib/commonjs/helpers/parsers/FlowCompletedModelParser.js.map +1 -0
  31. package/lib/commonjs/index.js +4 -4
  32. package/lib/commonjs/index.js.map +1 -1
  33. package/lib/commonjs/types.js.map +1 -1
  34. package/lib/module/AssentifyProvider.js +86 -98
  35. package/lib/module/AssentifyProvider.js.map +1 -1
  36. package/lib/module/AssentifyWrapper.js +11 -17
  37. package/lib/module/AssentifyWrapper.js.map +1 -1
  38. package/lib/module/BackgroundType.js +5 -0
  39. package/lib/module/BackgroundType.js.map +1 -0
  40. package/lib/module/helpers/parsers/FlowCompletedModelParser.js +20 -0
  41. package/lib/module/helpers/parsers/FlowCompletedModelParser.js.map +1 -0
  42. package/lib/module/index.js +1 -1
  43. package/lib/module/index.js.map +1 -1
  44. package/lib/module/types.js.map +1 -1
  45. package/lib/typescript/example/babel.config.d.ts +153 -1
  46. package/lib/typescript/example/babel.config.d.ts.map +1 -1
  47. package/lib/typescript/example/metro.config.d.ts +2 -2
  48. package/lib/typescript/example/metro.config.d.ts.map +1 -1
  49. package/lib/typescript/example/react-native.config.d.ts +153 -1
  50. package/lib/typescript/example/react-native.config.d.ts.map +1 -1
  51. package/lib/typescript/example/src/App.d.ts.map +1 -1
  52. package/lib/typescript/example/src/Home.d.ts.map +1 -1
  53. package/lib/typescript/lib/commonjs/AssentifyProvider.d.ts +3 -1
  54. package/lib/typescript/lib/commonjs/AssentifyProvider.d.ts.map +1 -1
  55. package/lib/typescript/lib/commonjs/AssentifyWrapper.d.ts +4 -6
  56. package/lib/typescript/lib/commonjs/AssentifyWrapper.d.ts.map +1 -1
  57. package/lib/typescript/lib/commonjs/BackgroundType.d.ts +6 -0
  58. package/lib/typescript/lib/commonjs/BackgroundType.d.ts.map +1 -0
  59. package/lib/typescript/lib/commonjs/helpers/parsers/FlowCompletedModelParser.d.ts +11 -0
  60. package/lib/typescript/lib/commonjs/helpers/parsers/FlowCompletedModelParser.d.ts.map +1 -0
  61. package/lib/typescript/lib/module/AssentifyProvider.d.ts +4 -2
  62. package/lib/typescript/lib/module/AssentifyProvider.d.ts.map +1 -1
  63. package/lib/typescript/lib/module/AssentifyWrapper.d.ts +4 -6
  64. package/lib/typescript/lib/module/AssentifyWrapper.d.ts.map +1 -1
  65. package/lib/typescript/lib/module/BackgroundType.d.ts +5 -0
  66. package/lib/typescript/lib/module/BackgroundType.d.ts.map +1 -0
  67. package/lib/typescript/lib/module/helpers/parsers/FlowCompletedModelParser.d.ts +10 -0
  68. package/lib/typescript/lib/module/helpers/parsers/FlowCompletedModelParser.d.ts.map +1 -0
  69. package/lib/typescript/lib/module/index.d.ts +5 -7
  70. package/lib/typescript/lib/module/index.d.ts.map +1 -1
  71. package/lib/typescript/src/AssentifyProvider.d.ts +5 -2
  72. package/lib/typescript/src/AssentifyProvider.d.ts.map +1 -1
  73. package/lib/typescript/src/AssentifyWrapper.d.ts +6 -7
  74. package/lib/typescript/src/AssentifyWrapper.d.ts.map +1 -1
  75. package/lib/typescript/src/BackgroundType.d.ts +6 -0
  76. package/lib/typescript/src/BackgroundType.d.ts.map +1 -0
  77. package/lib/typescript/src/helpers/parsers/FaceMatchParser.d.ts.map +1 -1
  78. package/lib/typescript/src/helpers/parsers/FlowCompletedModelParser.d.ts +4 -0
  79. package/lib/typescript/src/helpers/parsers/FlowCompletedModelParser.d.ts.map +1 -0
  80. package/lib/typescript/src/helpers/parsers/IDCardParser.d.ts.map +1 -1
  81. package/lib/typescript/src/helpers/parsers/OtherIDParser.d.ts.map +1 -1
  82. package/lib/typescript/src/helpers/parsers/PassportParser.d.ts.map +1 -1
  83. package/lib/typescript/src/index.d.ts +5 -7
  84. package/lib/typescript/src/index.d.ts.map +1 -1
  85. package/lib/typescript/src/types.d.ts +11 -2
  86. package/lib/typescript/src/types.d.ts.map +1 -1
  87. package/package.json +14 -10
  88. package/src/AssentifyProvider.tsx +196 -147
  89. package/src/AssentifyWrapper.ts +55 -27
  90. package/src/BackgroundType.ts +7 -0
  91. package/src/helpers/parsers/FlowCompletedModelParser.ts +31 -0
  92. package/src/index.ts +1 -1
  93. package/src/types.ts +13 -2
  94. package/lib/commonjs/DoneFlags.js +0 -14
  95. package/lib/commonjs/DoneFlags.js.map +0 -1
  96. package/lib/module/DoneFlags.js +0 -8
  97. package/lib/module/DoneFlags.js.map +0 -1
  98. package/lib/typescript/lib/commonjs/DoneFlags.d.ts +0 -9
  99. package/lib/typescript/lib/commonjs/DoneFlags.d.ts.map +0 -1
  100. package/lib/typescript/lib/module/DoneFlags.d.ts +0 -8
  101. package/lib/typescript/lib/module/DoneFlags.d.ts.map +0 -1
  102. package/lib/typescript/src/DoneFlags.d.ts +0 -9
  103. package/lib/typescript/src/DoneFlags.d.ts.map +0 -1
  104. package/src/DoneFlags.ts +0 -11
@@ -8,7 +8,9 @@ class PassportController: UIViewController ,ScanPassportDelegate , ChildViewCont
8
8
  {
9
9
 
10
10
 
11
-
11
+ func onUploadingProgress(progress: Double) {
12
+ // NOTHING TODO
13
+ }
12
14
 
13
15
 
14
16
  private var isDone:Bool = false;
@@ -201,64 +203,28 @@ class PassportController: UIViewController ,ScanPassportDelegate , ChildViewCont
201
203
 
202
204
 
203
205
 
204
- func onComplete(dataModel: PassportResponseModel,doneFlag:DoneFlags) {
205
-
206
-
207
- if let isExpired = dataModel.passportExtractedModel?
208
- .identificationDocumentCapture?.IsExpired as? Bool,
209
- isExpired && doneFlag == DoneFlags.Success {
210
- if(isExpired as! Bool == true){
211
- DispatchQueue.main.async {
212
- self.start = false;
213
- self.popUpMessage!.removeFromSuperview();
214
- self.popUpMessage = showPopUpMessage(view: self.view, title: "Expired", subTitle: "Please provide valid ID",initialTextColorHex:self.processingColor,initialBackgroundColorHex:self.holdHandColor, iconName: "expire", isGif: false,target: self, action: #selector(self.dismissPopUpMessage))
215
- }
216
- }else{
217
- if(!isDone){
218
- isDone = true;
219
- if let outputProperties = try? JSONSerialization.data(withJSONObject: dataModel.passportExtractedModel?.transformedProperties, options: []) {
220
- if UserDefaults.standard.object(forKey: String(self.stepID)) != nil {
221
- UserDefaults.standard.removeObject(forKey: String(self.stepID))
222
- }
223
- UserDefaults.standard.set(nil, forKey:String(self.stepID))
224
- UserDefaults.standard.set(outputProperties, forKey: String(self.stepID))
225
- }
226
- triggerCompleteEvent(eventName:"onComplete",dataModel:dataModel.passportExtractedModel,doneFlag: doneFlag)
227
- DispatchQueue.main.async {
228
- self.scanPassport?.stopScanning();
229
- self.scanPassport?.willMove(toParent: nil)
230
- self.scanPassport?.view.removeFromSuperview()
231
- self.scanPassport?.removeFromParent()
232
- self.scanPassport = nil
233
- self.dismiss(animated: false)
234
- }
235
- }
236
- }
237
- } else {
238
- if(!isDone){
239
- isDone = true;
240
- if let outputProperties = try? JSONSerialization.data(withJSONObject: dataModel.passportExtractedModel?.transformedProperties, options: []) {
241
- if UserDefaults.standard.object(forKey: String(self.stepID)) != nil {
242
- UserDefaults.standard.removeObject(forKey: String(self.stepID))
243
- }
244
- UserDefaults.standard.set(nil, forKey:String(self.stepID))
245
- UserDefaults.standard.set(outputProperties, forKey: String(self.stepID))
246
- }
247
- triggerCompleteEvent(eventName:"onComplete",dataModel:dataModel.passportExtractedModel,doneFlag: doneFlag)
248
- DispatchQueue.main.async {
249
- self.scanPassport?.stopScanning();
250
- self.scanPassport?.willMove(toParent: nil)
251
- self.scanPassport?.view.removeFromSuperview()
252
- self.scanPassport?.removeFromParent()
253
- self.scanPassport = nil
254
- self.dismiss(animated: false)
255
- }
256
- }
257
- }
258
-
259
-
260
-
206
+ func onComplete(dataModel: PassportResponseModel) {
261
207
 
208
+ if(!isDone){
209
+ isDone = true;
210
+ if let outputProperties = try? JSONSerialization.data(withJSONObject: dataModel.passportExtractedModel?.transformedProperties, options: []) {
211
+ if UserDefaults.standard.object(forKey: String(self.stepID)) != nil {
212
+ UserDefaults.standard.removeObject(forKey: String(self.stepID))
213
+ }
214
+ UserDefaults.standard.set(nil, forKey:String(self.stepID))
215
+ UserDefaults.standard.set(outputProperties, forKey: String(self.stepID))
216
+ }
217
+ triggerCompleteEvent(eventName:"onComplete",dataModel:dataModel.passportExtractedModel)
218
+ DispatchQueue.main.async {
219
+ self.scanPassport?.stopScanning();
220
+ self.scanPassport?.willMove(toParent: nil)
221
+ self.scanPassport?.view.removeFromSuperview()
222
+ self.scanPassport?.removeFromParent()
223
+ self.scanPassport = nil
224
+ self.dismiss(animated: false)
225
+ }
226
+ }
227
+
262
228
  }
263
229
 
264
230
  func onCardDetected(dataModel: RemoteProcessingModel) {
@@ -306,72 +272,67 @@ class PassportController: UIViewController ,ScanPassportDelegate , ChildViewCont
306
272
  triggerEvent(eventName:"onUploadFailed",dataModel:dataModel)
307
273
  }
308
274
 
309
- func onEnvironmentalConditionsChange( brightnessEvents: BrightnessEvents,motion: MotionType,zoom: ZoomType) {
310
- DispatchQueue.main.async {
311
- if self.start == false {
312
- if (zoom != ZoomType.SENDING && zoom != ZoomType.NO_DETECT) {
313
- if (zoom == ZoomType.ZOOM_IN) {
314
- self.start = false
315
- self.infoLabel?.text = "Move Passport Closer"
316
- self.infoImage!.image = UIImage(named: "zoom_in")
317
- }
318
- if (zoom == ZoomType.ZOOM_OUT) {
319
- self.start = false
320
- self.infoLabel?.text = "Move Passport Further"
321
- self.infoImage!.image = UIImage(named: "zoom_out")
322
- }
323
- } else if (motion != MotionType.SENDING && motion != MotionType.NO_DETECT) {
324
- self.start = false
325
- self.infoLabel?.text = "Please Hold Your Hand"
326
- self.infoImage!.image = UIImage(named: "info_icon")
327
- } else if brightnessEvents != BrightnessEvents.Good {
328
- if brightnessEvents == BrightnessEvents.TooDark {
329
- self.start = false
330
- self.infoLabel?.text = "Please increase the lighting"
331
- self.infoImage!.image = UIImage(named: "info_icon")
332
- }
333
- if brightnessEvents == BrightnessEvents.TooBright {
334
- self.start = false
335
- self.infoLabel?.text = "Please reduce the lighting"
336
- self.infoImage!.image = UIImage(named: "info_icon")
337
- }
338
- } else {
339
- if (motion == MotionType.SENDING && zoom == ZoomType.SENDING && brightnessEvents == BrightnessEvents.Good) {
340
- self.start = false
341
- self.infoLabel?.text = "Hold Steady"
342
- self.infoImage!.image = UIImage(named: "info_icon")
343
- }
344
- if (motion == MotionType.NO_DETECT && zoom == ZoomType.NO_DETECT) {
345
- self.start = false
346
- self.infoLabel?.text = "Please present passport"
347
- self.infoImage!.image = UIImage(named: "info_icon")
348
- }
349
- }
350
- } else {
351
- self.infoLabel?.removeFromSuperview()
352
- self.infoImage?.removeFromSuperview()
353
- }
354
- }
355
-
356
- }
275
+ func onEnvironmentalConditionsChange( brightnessEvents: BrightnessEvents,
276
+ motion: MotionType,
277
+ zoom: ZoomType,
278
+ isCentered:Bool) {
279
+ DispatchQueue.main.async {
280
+ if self.start == false {
281
+ if (zoom != ZoomType.SENDING && zoom != ZoomType.NO_DETECT) {
282
+ if (zoom == ZoomType.ZOOM_IN) {
283
+ self.start = false
284
+ self.infoLabel?.text = "Move Passport Closer"
285
+ self.infoImage!.image = UIImage(named: "zoom_in")
286
+ }
287
+ if (zoom == ZoomType.ZOOM_OUT) {
288
+ self.start = false
289
+ self.infoLabel?.text = "Move Passport Further"
290
+ self.infoImage!.image = UIImage(named: "zoom_out")
291
+ }
292
+ } else if (motion != MotionType.SENDING && motion != MotionType.NO_DETECT) {
293
+ self.start = false
294
+ self.infoLabel?.text = "Please Hold Your Hand"
295
+ self.infoImage!.image = UIImage(named: "info_icon")
296
+ } else if brightnessEvents != BrightnessEvents.Good {
297
+ if brightnessEvents == BrightnessEvents.TooDark {
298
+ self.start = false
299
+ self.infoLabel?.text = "Please increase the lighting"
300
+ self.infoImage!.image = UIImage(named: "info_icon")
301
+ }
302
+ if brightnessEvents == BrightnessEvents.TooBright {
303
+ self.start = false
304
+ self.infoLabel?.text = "Please reduce the lighting"
305
+ self.infoImage!.image = UIImage(named: "info_icon")
306
+ }
307
+ } else {
308
+ if (motion == MotionType.SENDING && zoom == ZoomType.SENDING && brightnessEvents == BrightnessEvents.Good) {
309
+ self.start = false
310
+ self.infoLabel?.text = "Hold Steady"
311
+ self.infoImage!.image = UIImage(named: "info_icon")
312
+ }
313
+ if (motion == MotionType.NO_DETECT && zoom == ZoomType.NO_DETECT) {
314
+ self.start = false
315
+ self.infoLabel?.text = "Please present passport"
316
+ self.infoImage!.image = UIImage(named: "info_icon")
317
+ } else if(!isCentered){
318
+ self.start = false
319
+ self.infoLabel?.text = " Please center your card"
320
+ self.infoImage!.image = UIImage(named: "info_icon")
321
+ }
322
+
323
+ }
324
+ } else {
325
+ self.infoLabel?.removeFromSuperview()
326
+ self.infoImage?.removeFromSuperview()
327
+ }
328
+ }
329
+
330
+ }
357
331
 
358
- func triggerCompleteEvent(eventName:String, dataModel: PassportExtractedModel?,doneFlag:DoneFlags){
332
+ func triggerCompleteEvent(eventName:String, dataModel: PassportExtractedModel?){
359
333
  var eventResultMap: [String: Any] = [:]
360
334
  if(dataModel != nil){
361
- var doneFlagValue = "";
362
- switch doneFlag {
363
- case .Success:
364
- doneFlagValue = "Success";
365
- case .LivenessFailed:
366
- doneFlagValue = "LivenessFailed";
367
- case .ExtractFailed:
368
- doneFlagValue = "ExtractFailed";
369
- case .MatchFailed:
370
- doneFlagValue = "MatchFailed";
371
- case .WrongTemplate:
372
- doneFlagValue = "WrongTemplate";
373
- }
374
- eventResultMap = ["PassportDataModel": passportModelToJsonString(dataModel: dataModel) as Any,"DoneFlag":doneFlagValue]
335
+ eventResultMap = ["PassportDataModel": passportModelToJsonString(dataModel: dataModel) as Any]
375
336
  }
376
337
  DispatchQueue.main.async {
377
338
  self.nativeAssentifySdk?.sendEvent(withName: eventName, body: eventResultMap)
@@ -8,7 +8,10 @@ class QrController: UIViewController ,ScanQrDelegate , ChildViewControllerDelega
8
8
 
9
9
 
10
10
 
11
-
11
+ func onUploadingProgress(progress: Double) {
12
+ // NOTHING TODO
13
+ }
14
+
12
15
 
13
16
  private var imageUrl: String? = "";
14
17
  private var apiKey: String? = "";
@@ -22,7 +25,7 @@ class QrController: UIViewController ,ScanQrDelegate , ChildViewControllerDelega
22
25
  private var processingColor: String;
23
26
  private var language: String;
24
27
  private var showCountDown:Bool = true;
25
- private var _kycDocumentDetails:[KycDocumentDetails];
28
+ private var templatesByCountry: TemplatesByCountry;
26
29
  private var titleID:String? = "";
27
30
  private var nativeAssentifySdk:NativeAssentifySdk?;
28
31
  private var outputResultProperties: [String: Any]? = [:];
@@ -32,12 +35,12 @@ class QrController: UIViewController ,ScanQrDelegate , ChildViewControllerDelega
32
35
  private var backIDPage: UIView?;
33
36
  private var scanQr:ScanQr?;
34
37
 
35
- init(assentifySdk: AssentifySdk,nativeAssentifySdk:NativeAssentifySdk,holdHandColor: String,processingColor: String,kycDocumentDetails:[KycDocumentDetails],language:String,titleID:String,showCountDown:Bool,apiKey:String,stepID:Int,manualClickColor:String) {
38
+ init(assentifySdk: AssentifySdk,nativeAssentifySdk:NativeAssentifySdk,holdHandColor: String,processingColor: String,templatesByCountry: TemplatesByCountry,language:String,titleID:String,showCountDown:Bool,apiKey:String,stepID:Int,manualClickColor:String) {
36
39
  self.assentifySdk = assentifySdk
37
40
  self.nativeAssentifySdk = nativeAssentifySdk
38
41
  self.holdHandColor = holdHandColor
39
42
  self.processingColor = processingColor
40
- self._kycDocumentDetails = kycDocumentDetails
43
+ self.templatesByCountry = templatesByCountry
41
44
  self.language = language
42
45
  self.titleID = titleID
43
46
  self.showCountDown = showCountDown
@@ -59,7 +62,7 @@ class QrController: UIViewController ,ScanQrDelegate , ChildViewControllerDelega
59
62
  self.view.backgroundColor = .clear
60
63
  UIApplication.shared.isStatusBarHidden = false;
61
64
  DispatchQueue.main.async {
62
- self.scanQr = self.assentifySdk?.startScanQr(scanQrDelegate: self, kycDocumentDetails: self._kycDocumentDetails,language:self.language,stepId: self.stepID)
65
+ self.scanQr = self.assentifySdk?.startScanQr(scanQrDelegate: self, templatesByCountry: self.templatesByCountry,language:self.language,stepId: self.stepID)
63
66
  self.addChild(self.scanQr!)
64
67
  self.view.addSubview(self.scanQr!.view)
65
68
  self.scanQr!.view.translatesAutoresizingMaskIntoConstraints = false
@@ -143,7 +146,7 @@ class QrController: UIViewController ,ScanQrDelegate , ChildViewControllerDelega
143
146
  }
144
147
  }
145
148
 
146
- func onErrorQrScan(message: String) {
149
+ func onErrorQrScan(message: String,dataModel: RemoteProcessingModel) {
147
150
  triggerEvent(eventName:"onErrorQrScan",dataModel:nil)
148
151
  DispatchQueue.main.async {
149
152
  self.start = false;
@@ -5,232 +5,221 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.AssentifyProvider = void 0;
7
7
  var _reactNative = require("react-native");
8
- var _react = _interopRequireWildcard(require("react"));
8
+ var React = _interopRequireWildcard(require("react"));
9
9
  var _PassportParser = _interopRequireDefault(require("./helpers/parsers/PassportParser"));
10
10
  var _FaceMatchParser = _interopRequireDefault(require("./helpers/parsers/FaceMatchParser"));
11
11
  var _IDCardParser = _interopRequireDefault(require("./helpers/parsers/IDCardParser"));
12
12
  var _OtherIDParser = _interopRequireDefault(require("./helpers/parsers/OtherIDParser"));
13
+ var _FlowCompletedModelParser = _interopRequireDefault(require("./helpers/parsers/FlowCompletedModelParser"));
13
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ 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); }
16
16
  const {
17
17
  NativeAssentifySdk
18
18
  } = _reactNative.NativeModules;
19
- const AssentifyContext = /*#__PURE__*/(0, _react.createContext)(undefined);
19
+ const AssentifyContext = /*#__PURE__*/React.createContext(undefined);
20
20
  _reactNative.LogBox.ignoreAllLogs();
21
- const AssentifyProvider = () => {
22
- (0, _react.useEffect)(() => {
21
+ const AssentifyProvider = ({
22
+ children
23
+ }) => {
24
+ React.useEffect(() => {
23
25
  const emitter = new _reactNative.NativeEventEmitter(NativeAssentifySdk);
24
-
25
- /// Initialize
26
26
  const assentifySdkInit = emitter.addListener('AppResult', result => {
27
27
  if ((result === null || result === void 0 ? void 0 : result.assentifySdkInitSuccess) != null) {
28
- if (result !== null && result !== void 0 && result.assentifySdkInitSuccess) {
28
+ if (result.assentifySdkInitSuccess) {
29
29
  const templates = JSON.parse(result === null || result === void 0 ? void 0 : result.AssentifySdkHasTemplates);
30
30
  const stepDefinitions = JSON.parse(result === null || result === void 0 ? void 0 : result.StepDefinitions);
31
31
  _reactNative.DeviceEventEmitter.emit('assentifySdkInit', {
32
- "status": true,
33
- "templates": templates,
34
- 'stepDefinitions': stepDefinitions
32
+ status: true,
33
+ templates,
34
+ stepDefinitions
35
35
  });
36
36
  } else {
37
37
  _reactNative.DeviceEventEmitter.emit('assentifySdkInit', {
38
- "status": false
38
+ status: false
39
39
  });
40
40
  }
41
41
  }
42
42
  });
43
-
44
- /// onComplete
45
43
  const onComplete = emitter.addListener('onComplete', result => {
46
44
  if (result !== null && result !== void 0 && result.PassportDataModel) {
47
- const response = (0, _PassportParser.default)(result === null || result === void 0 ? void 0 : result.PassportDataModel);
48
- const doneFlag = result === null || result === void 0 ? void 0 : result.DoneFlag;
45
+ const response = (0, _PassportParser.default)(result.PassportDataModel);
49
46
  _reactNative.DeviceEventEmitter.emit('onCompletePassport', {
50
- "passportExtractedModel": response,
51
- "doneFlag": doneFlag
47
+ passportExtractedModel: response
52
48
  });
53
49
  } else if (result !== null && result !== void 0 && result.FaceMatchDataModel) {
54
- const response = (0, _FaceMatchParser.default)(result === null || result === void 0 ? void 0 : result.FaceMatchDataModel);
55
- const doneFlag = result === null || result === void 0 ? void 0 : result.DoneFlag;
50
+ const response = (0, _FaceMatchParser.default)(result.FaceMatchDataModel);
56
51
  _reactNative.DeviceEventEmitter.emit('onCompleteFaceMatch', {
57
- "faceExtractedModel": response,
58
- "doneFlag": doneFlag
52
+ faceExtractedModel: response
59
53
  });
60
54
  } else if (result !== null && result !== void 0 && result.IdDataModel) {
61
- const response = (0, _IDCardParser.default)(result === null || result === void 0 ? void 0 : result.IdDataModel);
62
- const doneFlag = result === null || result === void 0 ? void 0 : result.DoneFlag;
55
+ const response = (0, _IDCardParser.default)(result.IdDataModel);
56
+ const isFrontPage = result === null || result === void 0 ? void 0 : result.isFrontPage;
57
+ const isLastPage = result === null || result === void 0 ? void 0 : result.isLastPage;
63
58
  _reactNative.DeviceEventEmitter.emit('onCompleteIDCard', {
64
- "iDExtractedModel": response,
65
- "doneFlag": doneFlag
59
+ iDExtractedModel: response,
60
+ isFrontPage,
61
+ isLastPage
66
62
  });
67
63
  } else if (result !== null && result !== void 0 && result.OtherDataModel) {
68
- const response = (0, _OtherIDParser.default)(result === null || result === void 0 ? void 0 : result.OtherDataModel);
69
- const doneFlag = result === null || result === void 0 ? void 0 : result.DoneFlag;
64
+ const response = (0, _OtherIDParser.default)(result.OtherDataModel);
70
65
  _reactNative.DeviceEventEmitter.emit('onCompleteOther', {
71
- "otherExtractedModel": response,
72
- "doneFlag": doneFlag
66
+ otherExtractedModel: response
73
67
  });
74
68
  }
75
69
  });
76
70
  const onCompleteQrScan = emitter.addListener('onCompleteQrScan', result => {
77
71
  if (result !== null && result !== void 0 && result.IdQrDataModel) {
78
- const response = (0, _IDCardParser.default)(result === null || result === void 0 ? void 0 : result.IdQrDataModel);
72
+ const response = (0, _IDCardParser.default)(result.IdQrDataModel);
79
73
  _reactNative.DeviceEventEmitter.emit('onCompleteQr', {
80
- "iDExtractedModel": response
74
+ iDExtractedModel: response
81
75
  });
82
76
  }
83
77
  });
84
-
85
- // General
86
- const onStartQrScan = emitter.addListener('onStartQrScan', _result => {
78
+ const onStartQrScan = emitter.addListener('onStartQrScan', () => {
87
79
  _reactNative.DeviceEventEmitter.emit('EventResult', {
88
- "eventName": "onStartQrScan"
80
+ eventName: 'onStartQrScan'
89
81
  });
90
82
  });
91
- const onErrorQrScan = emitter.addListener('onErrorQrScan', _result => {
83
+ const onErrorQrScan = emitter.addListener('onErrorQrScan', () => {
92
84
  _reactNative.DeviceEventEmitter.emit('EventResult', {
93
- "eventName": "onErrorQrScan"
85
+ eventName: 'onErrorQrScan'
94
86
  });
95
87
  });
96
- const onSendEvent = emitter.addListener('onSend', _result => {
88
+ const onSendEvent = emitter.addListener('onSend', () => {
97
89
  _reactNative.DeviceEventEmitter.emit('EventResult', {
98
- "eventName": "onSend"
90
+ eventName: 'onSend'
99
91
  });
100
92
  });
101
- const onRetryEvent = emitter.addListener('onRetry', _result => {
93
+ const onRetryEvent = emitter.addListener('onRetry', () => {
102
94
  _reactNative.DeviceEventEmitter.emit('EventResult', {
103
- "eventName": "onRetry"
95
+ eventName: 'onRetry'
104
96
  });
105
97
  });
106
- const onClipPreparationCompleteEvent = emitter.addListener('onClipPreparationComplete', _result => {
98
+ const onClipPreparationCompleteEvent = emitter.addListener('onClipPreparationComplete', () => {
107
99
  _reactNative.DeviceEventEmitter.emit('EventResult', {
108
- "eventName": "onClipPreparationComplete"
100
+ eventName: 'onClipPreparationComplete'
109
101
  });
110
102
  });
111
- const onStatusUpdatedEvent = emitter.addListener('onStatusUpdated', _result => {
103
+ const onStatusUpdatedEvent = emitter.addListener('onStatusUpdated', () => {
112
104
  _reactNative.DeviceEventEmitter.emit('EventResult', {
113
- "eventName": "onStatusUpdated"
105
+ eventName: 'onStatusUpdated'
114
106
  });
115
107
  });
116
- const onUpdatedEvent = emitter.addListener('onUpdated', _result => {
108
+ const onUpdatedEvent = emitter.addListener('onUpdated', () => {
117
109
  _reactNative.DeviceEventEmitter.emit('EventResult', {
118
- "eventName": "onUpdated"
110
+ eventName: 'onUpdated'
119
111
  });
120
112
  });
121
- const onLivenessUpdateEvent = emitter.addListener('onLivenessUpdate', _result => {
113
+ const onLivenessUpdateEvent = emitter.addListener('onLivenessUpdate', () => {
122
114
  _reactNative.DeviceEventEmitter.emit('EventResult', {
123
- "eventName": "onLivenessUpdate"
115
+ eventName: 'onLivenessUpdate'
124
116
  });
125
117
  });
126
- const onCardDetectedEvent = emitter.addListener('onCardDetected', _result => {
118
+ const onCardDetectedEvent = emitter.addListener('onCardDetected', () => {
127
119
  _reactNative.DeviceEventEmitter.emit('EventResult', {
128
- "eventName": "onCardDetected"
120
+ eventName: 'onCardDetected'
129
121
  });
130
122
  });
131
- const onMrzExtractedEvent = emitter.addListener('onMrzExtracted', _result => {
123
+ const onMrzExtractedEvent = emitter.addListener('onMrzExtracted', () => {
132
124
  _reactNative.DeviceEventEmitter.emit('EventResult', {
133
- "eventName": "onMrzExtracted"
125
+ eventName: 'onMrzExtracted'
134
126
  });
135
127
  });
136
- const onMrzDetectedEvent = emitter.addListener('onMrzDetected', _result => {
128
+ const onMrzDetectedEvent = emitter.addListener('onMrzDetected', () => {
137
129
  _reactNative.DeviceEventEmitter.emit('EventResult', {
138
- "eventName": "onMrzDetected"
130
+ eventName: 'onMrzDetected'
139
131
  });
140
132
  });
141
- const onNoMrzDetectedEvent = emitter.addListener('onNoMrzDetected', _result => {
133
+ const onNoMrzDetectedEvent = emitter.addListener('onNoMrzDetected', () => {
142
134
  _reactNative.DeviceEventEmitter.emit('EventResult', {
143
- "eventName": "onNoMrzDetected"
135
+ eventName: 'onNoMrzDetected'
144
136
  });
145
137
  });
146
- const onFaceDetectedEvent = emitter.addListener('onFaceDetected', _result => {
138
+ const onFaceDetectedEvent = emitter.addListener('onFaceDetected', () => {
147
139
  _reactNative.DeviceEventEmitter.emit('EventResult', {
148
- "eventName": "onFaceDetected"
140
+ eventName: 'onFaceDetected'
149
141
  });
150
142
  });
151
- const onNoFaceDetectedEvent = emitter.addListener('onNoFaceDetected', _result => {
143
+ const onNoFaceDetectedEvent = emitter.addListener('onNoFaceDetected', () => {
152
144
  _reactNative.DeviceEventEmitter.emit('EventResult', {
153
- "eventName": "onNoFaceDetected"
145
+ eventName: 'onNoFaceDetected'
154
146
  });
155
147
  });
156
- const onFaceExtractedEvent = emitter.addListener('onFaceExtracted', _result => {
148
+ const onFaceExtractedEvent = emitter.addListener('onFaceExtracted', () => {
157
149
  _reactNative.DeviceEventEmitter.emit('EventResult', {
158
- "eventName": "onFaceExtracted"
150
+ eventName: 'onFaceExtracted'
159
151
  });
160
152
  });
161
- const onQualityCheckAvailableEvent = emitter.addListener('onQualityCheckAvailable', _result => {
153
+ const onQualityCheckAvailableEvent = emitter.addListener('onQualityCheckAvailable', () => {
162
154
  _reactNative.DeviceEventEmitter.emit('EventResult', {
163
- "eventName": "onQualityCheckAvailable"
155
+ eventName: 'onQualityCheckAvailable'
164
156
  });
165
157
  });
166
- const onDocumentCapturedEvent = emitter.addListener('onDocumentCaptured', _result => {
158
+ const onDocumentCapturedEvent = emitter.addListener('onDocumentCaptured', () => {
167
159
  _reactNative.DeviceEventEmitter.emit('EventResult', {
168
- "eventName": "onDocumentCaptured"
160
+ eventName: 'onDocumentCaptured'
169
161
  });
170
162
  });
171
- const onDocumentCroppedEvent = emitter.addListener('onDocumentCropped', _result => {
163
+ const onDocumentCroppedEvent = emitter.addListener('onDocumentCropped', () => {
172
164
  _reactNative.DeviceEventEmitter.emit('EventResult', {
173
- "eventName": "onDocumentCropped"
165
+ eventName: 'onDocumentCropped'
174
166
  });
175
167
  });
176
- const onUploadFailedEvent = emitter.addListener('onUploadFailed', _result => {
168
+ const onUploadFailedEvent = emitter.addListener('onUploadFailed', () => {
177
169
  _reactNative.DeviceEventEmitter.emit('EventResult', {
178
- "eventName": "onUploadFailed"
170
+ eventName: 'onUploadFailed'
179
171
  });
180
172
  });
181
- const onWrongTemplate = emitter.addListener('onWrongTemplate', _result => {
173
+ const onWrongTemplate = emitter.addListener('onWrongTemplate', () => {
182
174
  _reactNative.DeviceEventEmitter.emit('EventResult', {
183
- "eventName": "onWrongTemplate"
175
+ eventName: 'onWrongTemplate'
184
176
  });
185
177
  });
186
-
187
- /// onHasTokens
188
178
  const onHasTokens = emitter.addListener('onHasTokens', result => {
189
179
  if (result != null) {
190
180
  const response = JSON.parse(result === null || result === void 0 ? void 0 : result.documentTokens);
191
181
  _reactNative.DeviceEventEmitter.emit('signingOnHasTokens', {
192
- "documentTokens": response
182
+ documentTokens: response
193
183
  });
194
184
  }
195
185
  });
196
-
197
- /// onCreateUserDocumentInstance
198
186
  const onCreateUserDocumentInstance = emitter.addListener('onCreateUserDocumentInstance', result => {
199
187
  if (result != null) {
200
188
  const response = JSON.parse(result === null || result === void 0 ? void 0 : result.userDocumentResponseModel);
201
189
  _reactNative.DeviceEventEmitter.emit('signingOnCreateUserDocumentInstance', {
202
- "userDocumentResponseModel": response
190
+ userDocumentResponseModel: response
203
191
  });
204
192
  }
205
193
  });
206
-
207
- /// onSignature
208
194
  const onSignature = emitter.addListener('onSignature', result => {
209
195
  if (result != null) {
210
196
  const response = JSON.parse(result === null || result === void 0 ? void 0 : result.signatureResponseModel);
211
197
  _reactNative.DeviceEventEmitter.emit('signingOnSignature', {
212
- "signatureResponseModel": response
198
+ signatureResponseModel: response
213
199
  });
214
200
  }
215
201
  });
216
-
217
- /// SubmitResult
218
202
  const submitResult = emitter.addListener('SubmitResult', result => {
219
203
  if (result != null) {
220
- if (result !== null && result !== void 0 && result.success) {
221
- _reactNative.DeviceEventEmitter.emit('SubmitDataEvents', {
222
- "Success": true
223
- });
224
- } else {
225
- _reactNative.DeviceEventEmitter.emit('SubmitDataEvents', {
226
- "Success": false
227
- });
228
- }
204
+ _reactNative.DeviceEventEmitter.emit('SubmitDataEvents', {
205
+ Success: !!(result !== null && result !== void 0 && result.success)
206
+ });
207
+ }
208
+ });
209
+ const onNativeFlowCompleted = emitter.addListener('OnNativeFlowCompleted', result => {
210
+ if (result !== null && result !== void 0 && result.DataModel) {
211
+ const response = (0, _FlowCompletedModelParser.default)(result.DataModel);
212
+ _reactNative.DeviceEventEmitter.emit('OnFlowCompleted', {
213
+ dataModel: response
214
+ });
229
215
  }
230
216
  });
231
217
  return () => {
232
218
  assentifySdkInit.remove();
233
219
  onComplete.remove();
220
+ onCompleteQrScan.remove();
221
+ onStartQrScan.remove();
222
+ onErrorQrScan.remove();
234
223
  onSendEvent.remove();
235
224
  onRetryEvent.remove();
236
225
  onClipPreparationCompleteEvent.remove();
@@ -249,18 +238,16 @@ const AssentifyProvider = () => {
249
238
  onDocumentCroppedEvent.remove();
250
239
  onUploadFailedEvent.remove();
251
240
  onWrongTemplate.remove();
252
- submitResult.remove();
253
241
  onHasTokens.remove();
254
242
  onCreateUserDocumentInstance.remove();
255
243
  onSignature.remove();
256
- onCompleteQrScan.remove();
257
- onErrorQrScan.remove();
258
- onErrorQrScan.remove();
244
+ submitResult.remove();
245
+ onNativeFlowCompleted.remove();
259
246
  };
260
247
  }, []);
261
- return /*#__PURE__*/_react.default.createElement(AssentifyContext.Provider, {
248
+ return /*#__PURE__*/React.createElement(AssentifyContext.Provider, {
262
249
  value: undefined
263
- });
250
+ }, children);
264
251
  };
265
252
  exports.AssentifyProvider = AssentifyProvider;
266
253
  //# sourceMappingURL=AssentifyProvider.js.map