react-native-persona 2.6.0 → 2.7.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.
@@ -25,11 +25,11 @@ Pod::Spec.new do |s|
25
25
 
26
26
  s.default_subspec = 'Core'
27
27
  s.subspec 'Core' do |ss|
28
- ss.dependency 'PersonaInquirySDK2', '2.10.0'
28
+ ss.dependency 'PersonaInquirySDK2', '2.12.0'
29
29
  end
30
30
 
31
31
  s.subspec 'Nfc' do |ss|
32
- ss.dependency 'PersonaNfc', '2.10.0'
32
+ ss.dependency 'PersonaNfc', '2.12.0'
33
33
  ss.dependency 'OpenSSL-Universal', '1.1.180'
34
34
  end
35
35
  end
@@ -11,7 +11,7 @@ buildscript {
11
11
  }
12
12
 
13
13
  dependencies {
14
- classpath 'com.android.tools.build:gradle:3.6.4'
14
+ classpath 'com.android.tools.build:gradle:8.1.1'
15
15
  }
16
16
  }
17
17
  }
@@ -66,5 +66,6 @@ dependencies {
66
66
  //noinspection GradleDynamicVersion
67
67
  implementation 'com.facebook.react:react-native:+' // From node_modules
68
68
 
69
- implementation 'com.withpersona.sdk2:inquiry:2.7.0'
69
+ // NB: be sure to bump `nfc-impl` in example/android/app/build.gradle as well
70
+ implementation 'com.withpersona.sdk2:inquiry:2.9.1'
70
71
  }
@@ -1,5 +1,5 @@
1
1
  distributionBase=GRADLE_USER_HOME
2
2
  distributionPath=wrapper/dists
3
- distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
3
+ distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-all.zip
4
4
  zipStoreBase=GRADLE_USER_HOME
5
5
  zipStorePath=wrapper/dists
@@ -23,7 +23,6 @@ import com.withpersona.sdk2.inquiry.InquiryBuilder;
23
23
  import com.withpersona.sdk2.inquiry.InquiryField;
24
24
  import com.withpersona.sdk2.inquiry.InquiryResponse;
25
25
  import com.withpersona.sdk2.inquiry.InquiryTemplateBuilder;
26
- import com.withpersona.sdk2.inquiry.RoutingCountry;
27
26
  import com.withpersona.sdk2.inquiry.ServerThemeSource;
28
27
  import com.withpersona.sdk2.inquiry.types.collected_data.CollectedData;
29
28
  import com.withpersona.sdk2.inquiry.types.collected_data.DocumentFile;
@@ -44,10 +43,12 @@ public class PersonaInquiryModule2 extends ReactContextBaseJavaModule
44
43
  private static final int PERSONA_INQUIRY_REQUEST_CODE = 31416;
45
44
  private static final String INQUIRY_ID = "inquiryId";
46
45
  private static final String TEMPLATE_ID = "templateId";
46
+ private static final String TEMPLATE_VERSION = "templateVersion";
47
47
  private static final String ACCOUNT_ID = "accountId";
48
48
  private static final String REFERENCE_ID = "referenceId";
49
49
  private static final String ACCESS_TOKEN = "sessionToken";
50
50
  private static final String ENVIRONMENT = "environment";
51
+ private static final String ENVIRONMENT_ID = "environmentId";
51
52
  private static final String FIELDS = "fields";
52
53
  private static final String FIELD_ADDITIONAL_FIELDS = "additionalFields";
53
54
  private static final String RETURN_COLLECTED_DATA = "returnCollectedData";
@@ -287,6 +288,7 @@ public class PersonaInquiryModule2 extends ReactContextBaseJavaModule
287
288
 
288
289
  String inquiryId = options.hasKey(INQUIRY_ID) ? options.getString(INQUIRY_ID) : null;
289
290
  String templateId = options.hasKey(TEMPLATE_ID) ? options.getString(TEMPLATE_ID) : null;
291
+ String templateVersion = options.hasKey(TEMPLATE_VERSION) ? options.getString(TEMPLATE_VERSION) : null;
290
292
 
291
293
  if (inquiryId != null) {
292
294
  InquiryBuilder builder = Inquiry.fromInquiry(inquiryId);
@@ -305,8 +307,13 @@ public class PersonaInquiryModule2 extends ReactContextBaseJavaModule
305
307
  }
306
308
  }
307
309
 
308
- if (templateId != null) {
309
- InquiryTemplateBuilder builder = Inquiry.fromTemplate(templateId);
310
+ if (templateId != null || templateVersion != null) {
311
+ InquiryTemplateBuilder builder;
312
+ if (templateId != null) {
313
+ builder = Inquiry.fromTemplate(templateId);
314
+ } else {
315
+ builder = Inquiry.fromTemplateVersion(templateVersion);
316
+ }
310
317
 
311
318
  String themeSource = options.hasKey(THEME_SOURCE) ? options.getString(THEME_SOURCE) : null;
312
319
  builder = builder.theme(themeSource != null && themeSource.equals("server") ?
@@ -329,9 +336,12 @@ public class PersonaInquiryModule2 extends ReactContextBaseJavaModule
329
336
  builder = builder.environment(environment);
330
337
  }
331
338
 
332
- RoutingCountry routingCountry = routingCountryFromString(
333
- options.hasKey(ROUTING_COUNTRY) ? options.getString(ROUTING_COUNTRY) : null
334
- );
339
+ String environmentId = options.hasKey(ENVIRONMENT_ID) ? options.getString(ENVIRONMENT_ID) : null;
340
+ if (environmentId != null) {
341
+ builder = builder.environmentId(environmentId);
342
+ }
343
+
344
+ String routingCountry = options.hasKey(ROUTING_COUNTRY) ? options.getString(ROUTING_COUNTRY) : null;
335
345
  if (routingCountry != null) {
336
346
  builder = builder.routingCountry(routingCountry);
337
347
  }
@@ -395,19 +405,4 @@ public class PersonaInquiryModule2 extends ReactContextBaseJavaModule
395
405
  return null;
396
406
  }
397
407
  }
398
-
399
- private RoutingCountry routingCountryFromString(@Nullable String routingCountry) {
400
- if (routingCountry == null) {
401
- return null;
402
- }
403
-
404
- switch (routingCountry) {
405
- case "de":
406
- return RoutingCountry.DE;
407
- case "us":
408
- return RoutingCountry.US;
409
- default:
410
- return null;
411
- }
412
- }
413
408
  }
@@ -44,6 +44,7 @@ class PersonaInquiry2: RCTEventEmitter {
44
44
  let referenceId = options["referenceId"] as? String
45
45
  let accountId = options["accountId"] as? String
46
46
  let environment = options["environment"] as? String
47
+ let environmentId = options["environmentId"] as? String
47
48
  let sessionToken = options["sessionToken"] as? String
48
49
  let themeObject = options["iosTheme"] as? [String: String]
49
50
  let themeSource = options["themeSource"] as? String
@@ -63,30 +64,29 @@ class PersonaInquiry2: RCTEventEmitter {
63
64
  .theme(makeTheme(from: themeObject, themeSource: themeSource))
64
65
  .nfcAdapter(nfcAdapter)
65
66
  .collectionDelegate(returnCollectedData ? self : nil)
66
- // fix(jake): implement StringConstructable in iOS sdk then use RoutingCountry.from(rawValue)
67
- .routingCountry(routingCountry == "de" ? .de : .us)
67
+ .routingCountry(routingCountry)
68
68
  .build()
69
69
  } else if let templateId {
70
70
  inquiry = Inquiry.from(templateId: templateId, delegate: self)
71
71
  .referenceId(referenceId)
72
72
  .environment(Environment.from(rawValue: environment))
73
+ .environmentId(environmentId)
73
74
  .fields(fieldsFrom(fieldsObject))
74
75
  .theme(makeTheme(from: themeObject, themeSource: themeSource))
75
76
  .nfcAdapter(nfcAdapter)
76
77
  .collectionDelegate(returnCollectedData ? self : nil)
77
- // fix(jake): implement StringConstructable in iOS sdk then use RoutingCountry.from(rawValue)
78
- .routingCountry(routingCountry == "de" ? .de : .us)
78
+ .routingCountry(routingCountry)
79
79
  .build()
80
80
  } else if let templateVersion {
81
81
  inquiry = Inquiry.from(templateVersion: templateVersion, delegate: self)
82
82
  .referenceId(referenceId)
83
83
  .environment(Environment.from(rawValue: environment))
84
+ .environmentId(environmentId)
84
85
  .fields(fieldsFrom(fieldsObject))
85
86
  .theme(makeTheme(from: themeObject, themeSource: themeSource))
86
87
  .nfcAdapter(nfcAdapter)
87
88
  .collectionDelegate(returnCollectedData ? self : nil)
88
- // fix(jake): implement StringConstructable in iOS sdk then use RoutingCountry.from(rawValue)
89
- .routingCountry(routingCountry == "de" ? .de : .us)
89
+ .routingCountry(routingCountry)
90
90
  .build()
91
91
  }
92
92
 
@@ -58,7 +58,10 @@ class InvalidAccountId extends Error {}
58
58
  exports.InvalidAccountId = InvalidAccountId;
59
59
 
60
60
  function makeInquiryId(candidate) {
61
- if (candidate.startsWith('inq_')) return candidate;
61
+ if (candidate && candidate.startsWith('inq_')) {
62
+ return candidate;
63
+ }
64
+
62
65
  throw new InvalidInquiryId(`Valid template IDs start with "inq_". Received: ${candidate} `);
63
66
  }
64
67
  /**
@@ -70,7 +73,7 @@ function makeInquiryId(candidate) {
70
73
 
71
74
 
72
75
  function makeTemplateId(candidate) {
73
- if (candidate.startsWith('itmpl_')) {
76
+ if (candidate && candidate.startsWith('itmpl_')) {
74
77
  return candidate;
75
78
  }
76
79
 
@@ -85,7 +88,7 @@ function makeTemplateId(candidate) {
85
88
 
86
89
 
87
90
  function makeTemplateVersion(candidate) {
88
- if (candidate.startsWith('itmplv_')) {
91
+ if (candidate && candidate.startsWith('itmplv_')) {
89
92
  return candidate;
90
93
  }
91
94
 
@@ -100,7 +103,7 @@ function makeTemplateVersion(candidate) {
100
103
 
101
104
 
102
105
  function makeAccountId(candidate) {
103
- if (candidate.startsWith('act_')) {
106
+ if (candidate && candidate.startsWith('act_')) {
104
107
  return candidate;
105
108
  }
106
109
 
@@ -234,6 +237,8 @@ class Inquiry {
234
237
  constructor(options) {
235
238
  _defineProperty(this, "templateId", void 0);
236
239
 
240
+ _defineProperty(this, "templateVersion", void 0);
241
+
237
242
  _defineProperty(this, "inquiryId", void 0);
238
243
 
239
244
  _defineProperty(this, "referenceId", void 0);
@@ -242,6 +247,8 @@ class Inquiry {
242
247
 
243
248
  _defineProperty(this, "environment", void 0);
244
249
 
250
+ _defineProperty(this, "environmentId", void 0);
251
+
245
252
  _defineProperty(this, "sessionToken", void 0);
246
253
 
247
254
  _defineProperty(this, "returnCollectedData", void 0);
@@ -267,10 +274,12 @@ class Inquiry {
267
274
  _defineProperty(this, "onErrorListener", void 0);
268
275
 
269
276
  this.templateId = options.templateId;
277
+ this.templateVersion = options.templateVersion;
270
278
  this.inquiryId = options.inquiryId;
271
279
  this.referenceId = options.referenceId;
272
280
  this.accountId = options.accountId;
273
281
  this.environment = options.environment;
282
+ this.environmentId = options.environmentId;
274
283
  this.sessionToken = options.sessionToken;
275
284
  this.fields = options.fields;
276
285
  this.returnCollectedData = options.returnCollectedData;
@@ -423,10 +432,12 @@ class Inquiry {
423
432
  });
424
433
  PersonaInquiry2.startInquiry({
425
434
  templateId: this.templateId,
435
+ templateVersion: this.templateVersion,
426
436
  inquiryId: this.inquiryId,
427
437
  referenceId: this.referenceId,
428
438
  accountId: this.accountId,
429
439
  environment: this.environment,
440
+ environmentId: this.environmentId,
430
441
  sessionToken: this.sessionToken,
431
442
  fields: this.fields,
432
443
  returnCollectedData: this.returnCollectedData,
@@ -535,6 +546,8 @@ class TemplateBuilder {
535
546
 
536
547
  _defineProperty(this, "_environment", void 0);
537
548
 
549
+ _defineProperty(this, "_environmentId", void 0);
550
+
538
551
  _defineProperty(this, "_fields", void 0);
539
552
 
540
553
  _defineProperty(this, "_sessionToken", void 0);
@@ -586,6 +599,11 @@ class TemplateBuilder {
586
599
  return this;
587
600
  }
588
601
 
602
+ environmentId(environmentId) {
603
+ this._environmentId = environmentId;
604
+ return this;
605
+ }
606
+
589
607
  sessionToken(sessionToken) {
590
608
  this._sessionToken = sessionToken;
591
609
  return this;
@@ -639,6 +657,7 @@ class TemplateBuilder {
639
657
  accountId: this._accountId,
640
658
  referenceId: this._referenceId,
641
659
  environment: this._environment,
660
+ environmentId: this._environmentId,
642
661
  sessionToken: this._sessionToken,
643
662
  fields: this._fields,
644
663
  onComplete: this._onComplete,
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["PersonaInquiry2","NativeModules","InvalidTemplateId","Error","InvalidTemplateVersion","InvalidInquiryId","InvalidAccountId","makeInquiryId","candidate","startsWith","makeTemplateId","makeTemplateVersion","makeAccountId","Environment","ThemeSource","RoutingCountry","DocumentStepData","constructor","stepName","documents","GovernmentIdStepData","captures","GovernmentIdCaptureMethod","GovernmentIdCaptureSide","SelfieStepData","centerCapture","leftCapture","rightCapture","SelfieCaptureMethod","UiStepData","componentParams","eventEmitter","NativeEventEmitter","Inquiry","options","templateId","inquiryId","referenceId","accountId","environment","sessionToken","fields","returnCollectedData","routingCountry","onComplete","onCanceled","onError","iosThemeObject","themeSource","clearListeners","onCompleteListener","remove","onCanceledListener","onErrorListener","fromTemplate","TemplateBuilder","fromTemplateVersion","templateVersion","fromInquiry","InquiryBuilder","start","addListener","event","key","Object","keys","field","undefined","InquiryField","Unknown","type","Integer","Number","parseInt","value","Boolean","String","collectedData","stepData","translatedStepData","stepDatum","push","assign","extraData","status","debugMessage","startInquiry","iosTheme","SERVER","_inquiryId","_sessionToken","callback","_onComplete","_onCanceled","_onError","themeObject","_iosThemeObject","_themeSource","CLIENT","iosThemeToUse","_routingCountry","build","_fields","_templateId","_templateVersion","_returnCollectedData","_accountId","_referenceId","_environment","InquiryBuilders"],"mappings":"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","sourcesContent":["import {\n EventSubscription,\n NativeEventEmitter,\n NativeModules,\n} from 'react-native';\nimport { processThemeValues } from './util';\nimport { Fields, InquiryField, RawInquiryField } from './fields';\n\nexport { Fields };\n\nimport { Versions } from './versions';\n\nexport { Versions };\n\nconst { PersonaInquiry2 } = NativeModules;\n\n// Using Opaque types + Smart Constructor enforces validation at\n// instantiation time for IDS\ndeclare const Unique: unique symbol;\nexport type Opaque<T, Tag> = T & { [Unique]: Tag };\n\ntype TemplateId = Opaque<string, 'TemplateId'>;\ntype TemplateVersion = Opaque<string, 'TemplateVersion'>;\ntype InquiryId = Opaque<string, 'InquiryId'>;\ntype AccountId = Opaque<string, 'AccountId'>;\n\nexport class InvalidTemplateId extends Error {}\n\nexport class InvalidTemplateVersion extends Error {}\n\nexport class InvalidInquiryId extends Error {}\n\nexport class InvalidAccountId extends Error {}\n\n/**\n * Run validations that the string is in proper Inquiry token format\n * and do a type conversion to InquiryId.\n *\n * @param candidate\n */\nfunction makeInquiryId(candidate: string): InquiryId {\n if (candidate.startsWith('inq_')) return candidate as InquiryId;\n\n throw new InvalidInquiryId(\n `Valid template IDs start with \"inq_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template token format\n * and do a type conversion to TemplateId.\n *\n * @param candidate\n */\nfunction makeTemplateId(candidate: string): TemplateId {\n if (candidate.startsWith('itmpl_')) {\n return candidate as TemplateId;\n }\n\n throw new InvalidTemplateId(\n `Valid template IDs start with \"itmpl_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template Version token format\n * and do a type conversion to TemplateVersion.\n *\n * @param candidate\n */\nfunction makeTemplateVersion(candidate: string): TemplateVersion {\n if (candidate.startsWith('itmplv_')) {\n return candidate as TemplateVersion;\n }\n\n throw new InvalidTemplateVersion(\n `Valid template versions start with \"itmplv_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template token format\n * and do a type conversion to AccountId.\n *\n * @param candidate\n */\nfunction makeAccountId(candidate: string): AccountId {\n if (candidate.startsWith('act_')) {\n return candidate as AccountId;\n }\n\n throw new InvalidAccountId(\n `Valid account IDs start with \"act_\". Received: ${candidate} `\n );\n}\n\n/**\n * String enum for environments. These strings will be parsed\n * on the native side bridge into Kotlin / Swift enums.\n */\nexport enum Environment {\n SANDBOX = 'sandbox',\n PRODUCTION = 'production',\n}\n\n/**\n * An enum value which determines whether this sdk should use the theme values sent from the server.\n */\nexport enum ThemeSource {\n SERVER = 'server',\n /**\n * @deprecated Client side theming is deprecated, please configure your theme inside\n * the Persona Dashboard and use SERVER as the theme source.\n */\n CLIENT = 'client',\n}\n\n/**\n * Defines the country api requests route to\n */\nexport enum RoutingCountry {\n /**\n * Route api requests to germany servers\n */\n DE = 'de',\n /**\n * Route api requests to us servers\n */\n US = 'us',\n}\n\nexport interface InquiryOptions {\n templateId?: TemplateId;\n templateVersion?: TemplateVersion;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n sessionToken?: string;\n returnCollectedData?: boolean;\n routingCountry?: RoutingCountry;\n\n // Fields\n fields?: Fields;\n\n // Callbacks\n onComplete?: OnCompleteCallback;\n onCanceled?: OnCanceledCallback;\n onError?: OnErrorCallback;\n\n // Customization\n iosThemeObject?: Object | null;\n themeSource?: ThemeSource | null;\n}\n\ntype OnCompleteCallback = (\n inquiryId: string,\n status: string,\n fields: Fields,\n extraData: ExtraData\n) => void;\n\n/**\n * Type for collected data that came directly from iOS/Android.\n * Needs to be translated to TS classes before returning.\n */\ninterface ExternalCollectedData {\n stepData: any[];\n}\n\nexport interface ExtraData {\n collectedData: CollectedData | null;\n}\nexport interface CollectedData {\n stepData: StepData[];\n}\n\nexport interface StepData {\n stepName: string;\n}\n\nexport class DocumentStepData implements StepData {\n stepName: string;\n documents: Document[];\n\n constructor() {\n this.stepName = '';\n this.documents = [];\n }\n}\n\nexport interface Document {\n absoluteFilePath: string;\n}\n\nexport class GovernmentIdStepData implements StepData {\n stepName: string;\n captures: GovernmentIdCapture[];\n\n constructor() {\n this.stepName = '';\n this.captures = [];\n }\n}\n\nexport interface GovernmentIdCapture {\n idClass: string;\n captureMethod: GovernmentIdCaptureMethod;\n side: GovernmentIdCaptureSide;\n frames: GovernmentIdCaptureFrames[];\n}\n\nexport enum GovernmentIdCaptureMethod {\n Manual = 'Manual',\n Auto = 'Auto',\n Upload = 'Upload',\n}\n\nexport enum GovernmentIdCaptureSide {\n Front = 'Front',\n Back = 'Back',\n}\n\nexport interface GovernmentIdCaptureFrames {\n absoluteFilePath: string;\n}\n\nexport class SelfieStepData implements StepData {\n stepName: string;\n centerCapture: SelfieCapture | null;\n leftCapture: SelfieCapture | null;\n rightCapture: SelfieCapture | null;\n\n constructor() {\n this.stepName = '';\n this.centerCapture = null;\n this.leftCapture = null;\n this.rightCapture = null;\n }\n}\n\nexport interface SelfieCapture {\n captureMethod: SelfieCaptureMethod;\n absoluteFilePath: string;\n}\n\nexport enum SelfieCaptureMethod {\n Manual = 'Manual',\n Auto = 'Auto',\n}\n\nexport class UiStepData implements StepData {\n stepName: string;\n componentParams: { [key: string]: any };\n\n constructor() {\n this.stepName = '';\n this.componentParams = {};\n }\n}\n\ntype OnCanceledCallback = (inquiryId?: string, sessionToken?: string) => void;\n\ntype OnErrorCallback = (error: Error) => void;\n\nconst eventEmitter = new NativeEventEmitter(PersonaInquiry2);\n\nexport class Inquiry {\n templateId?: TemplateId;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n sessionToken?: string;\n returnCollectedData?: boolean;\n routingCountry?: RoutingCountry;\n\n iosThemeObject?: Object | null;\n themeSource?: ThemeSource | null;\n fields?: Fields | null;\n\n private readonly onComplete?: OnCompleteCallback;\n private readonly onCanceled?: OnCanceledCallback;\n private readonly onError?: OnErrorCallback;\n\n private onCompleteListener?: EventSubscription;\n private onCanceledListener?: EventSubscription;\n private onErrorListener?: EventSubscription;\n\n constructor(options: InquiryOptions) {\n this.templateId = options.templateId;\n this.inquiryId = options.inquiryId;\n this.referenceId = options.referenceId;\n this.accountId = options.accountId;\n this.environment = options.environment;\n this.sessionToken = options.sessionToken;\n this.fields = options.fields;\n this.returnCollectedData = options.returnCollectedData;\n this.routingCountry = options.routingCountry;\n\n // Callbacks\n this.onComplete = options.onComplete;\n this.onCanceled = options.onCanceled;\n this.onError = options.onError;\n\n // Theme object\n this.iosThemeObject = options.iosThemeObject;\n this.themeSource = options.themeSource;\n }\n\n private clearListeners() {\n if (this.onCompleteListener) this.onCompleteListener.remove();\n if (this.onCanceledListener) this.onCanceledListener.remove();\n if (this.onErrorListener) this.onErrorListener.remove();\n }\n\n /**\n * Create an Inquiry flow builder based on a template ID.\n *\n * You can find your template ID on the Dashboard under Inquiries > Templates.\n * {@link https://app.withpersona.com/dashboard/inquiry-templates}\n *\n * @param templateId template ID from your Persona Dashboard\n * @return builder for the Inquiry flow\n */\n static fromTemplate(templateId: string) {\n return new TemplateBuilder(makeTemplateId(templateId), null);\n }\n\n /**\n * Create an Inquiry flow builder based on a template ID version.\n *\n * You can find your template ID version on the Dashboard under the\n * settings view of a specific template.\n * {@link https://app.withpersona.com/dashboard/inquiry-templates}\n *\n * @param templateVersion template version from your Persona Dashboard\n * @return builder for the Inquiry flow\n */\n static fromTemplateVersion(templateVersion: string) {\n return new TemplateBuilder(null, makeTemplateVersion(templateVersion));\n }\n\n /**\n * Create an Inquiry flow builder based on an inquiry ID.\n *\n * You will need to generate the inquiry ID on the server. To try it out, you can create an\n * inquiry from the Persona Dashboard under \"Inquiries\". Click on the \"Create Inquiry\" button\n * and copy the inquiry ID from the URL.\n * {@link https://app.withpersona.com/dashboard/inquiries}\n *\n * @param inquiryId inquiry ID from your server\n * @return builder for the Inquiry flow\n */\n static fromInquiry(inquiryId: string) {\n return new InquiryBuilder(makeInquiryId(inquiryId));\n }\n\n /**\n * Launch the Persona Inquiry.\n */\n start() {\n this.onCompleteListener = eventEmitter.addListener(\n 'onComplete',\n (event: {\n inquiryId: string;\n status: string;\n fields: Record<string, RawInquiryField>;\n collectedData: ExternalCollectedData | null;\n }) => {\n if (this.onComplete) {\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(\n Number.parseInt(field.value)\n );\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(\n Object.assign(new UiStepData(), stepDatum)\n );\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData,\n };\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData,\n };\n\n this.onComplete(event.inquiryId, event.status, fields, extraData);\n }\n this.clearListeners();\n }\n );\n\n this.onCanceledListener = eventEmitter.addListener(\n 'onCanceled',\n (event: { inquiryId?: string; sessionToken?: string }) => {\n if (this.onCanceled)\n this.onCanceled(event.inquiryId, event.sessionToken);\n this.clearListeners();\n }\n );\n\n this.onErrorListener = eventEmitter.addListener(\n 'onError',\n (event: { debugMessage: string }) => {\n if (this.onError) this.onError(new Error(event.debugMessage));\n this.clearListeners();\n }\n );\n\n PersonaInquiry2.startInquiry({\n templateId: this.templateId,\n inquiryId: this.inquiryId,\n referenceId: this.referenceId,\n accountId: this.accountId,\n environment: this.environment,\n sessionToken: this.sessionToken,\n fields: this.fields,\n returnCollectedData: this.returnCollectedData,\n themeSource: this.themeSource,\n iosTheme: processThemeValues(this.iosThemeObject || {}),\n routingCountry: this.routingCountry,\n });\n }\n}\n\nclass InquiryBuilder {\n private _inquiryId: InquiryId;\n private _sessionToken?: string;\n\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n private _iosThemeObject?: Object;\n private _themeSource: ThemeSource = ThemeSource.SERVER;\n private _fields?: Fields;\n private _routingCountry?: RoutingCountry;\n\n constructor(inquiryId: InquiryId) {\n this._inquiryId = inquiryId;\n }\n\n sessionToken(sessionToken: string): InquiryBuilder {\n this._sessionToken = sessionToken;\n\n return this;\n }\n\n onComplete(callback: OnCompleteCallback): InquiryBuilder {\n this._onComplete = callback;\n\n return this;\n }\n\n onCanceled(callback: OnCanceledCallback): InquiryBuilder {\n this._onCanceled = callback;\n\n return this;\n }\n\n onError(callback: OnErrorCallback): InquiryBuilder {\n this._onError = callback;\n\n return this;\n }\n\n /**\n * @deprecated Use iosThemeToUse\n */\n iosTheme(themeObject: Object): InquiryBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = ThemeSource.CLIENT;\n\n return this;\n }\n\n iosThemeToUse(themeObject: Object, themeSource: ThemeSource): InquiryBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = themeSource;\n\n return this;\n }\n\n routingCountry(routingCountry: RoutingCountry): InquiryBuilder {\n this._routingCountry = routingCountry;\n\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n inquiryId: this._inquiryId,\n sessionToken: this._sessionToken,\n onComplete: this._onComplete,\n onCanceled: this._onCanceled,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n themeSource: this._themeSource,\n fields: this._fields,\n routingCountry: this._routingCountry,\n });\n }\n}\n\nclass TemplateBuilder {\n private readonly _templateId?: TemplateId;\n private readonly _templateVersion?: TemplateVersion;\n private _accountId?: AccountId;\n private _referenceId?: string;\n private _environment?: Environment;\n private _fields?: Fields;\n private _sessionToken?: string;\n private _returnCollectedData?: boolean;\n private _routingCountry?: RoutingCountry;\n\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n\n // Customization\n private _iosThemeObject?: Object;\n private _themeSource: ThemeSource = ThemeSource.SERVER;\n\n constructor(\n templateId?: TemplateId | null,\n templateVersion?: TemplateVersion | null\n ) {\n if (templateId != null) {\n this._templateId = templateId;\n } else if (templateVersion != null) {\n this._templateVersion = templateVersion;\n } else {\n throw new InvalidTemplateId(\n `Either templateId or templateVersion needs to be set.`\n );\n }\n return this;\n }\n\n returnCollectedData(returnCollectedData: boolean) {\n this._returnCollectedData = returnCollectedData;\n\n return this;\n }\n\n referenceId(referenceId: string): TemplateBuilder {\n this._accountId = undefined;\n this._referenceId = referenceId;\n\n return this;\n }\n\n accountId(accountId: string): TemplateBuilder {\n this._referenceId = undefined;\n this._accountId = makeAccountId(accountId);\n\n return this;\n }\n\n environment(environment: Environment): TemplateBuilder {\n this._environment = environment;\n\n return this;\n }\n\n sessionToken(sessionToken: string): TemplateBuilder {\n this._sessionToken = sessionToken;\n\n return this;\n }\n\n fields(fields: Fields): TemplateBuilder {\n this._fields = fields;\n\n return this;\n }\n\n routingCountry(routingCountry: RoutingCountry): TemplateBuilder {\n this._routingCountry = routingCountry;\n\n return this;\n }\n\n onComplete(callback: OnCompleteCallback): TemplateBuilder {\n this._onComplete = callback;\n\n return this;\n }\n\n onCanceled(callback: OnCanceledCallback): TemplateBuilder {\n this._onCanceled = callback;\n\n return this;\n }\n\n onError(callback: OnErrorCallback): TemplateBuilder {\n this._onError = callback;\n\n return this;\n }\n\n /**\n * @deprecated Use iosThemeToUse\n */\n iosTheme(themeObject: Object): TemplateBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = ThemeSource.CLIENT;\n\n return this;\n }\n\n iosThemeToUse(\n themeObject: Object,\n themeSource: ThemeSource\n ): TemplateBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = themeSource;\n\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n templateId: this._templateId,\n templateVersion: this._templateVersion,\n accountId: this._accountId,\n referenceId: this._referenceId,\n environment: this._environment,\n sessionToken: this._sessionToken,\n fields: this._fields,\n onComplete: this._onComplete,\n onCanceled: this._onCanceled,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n themeSource: this._themeSource,\n returnCollectedData: this._returnCollectedData,\n routingCountry: this._routingCountry,\n });\n }\n}\n\n/**\n * @deprecated Use the `Inquiry` static methods instead\n */\nnamespace InquiryBuilders {\n /**\n * @deprecated Use {@link Inquiry#fromInquiry} instead\n */\n export function fromInquiry(inquiryId: string) {\n return Inquiry.fromInquiry(inquiryId);\n }\n\n /**\n * @deprecated Use {@link Inquiry#fromTemplate} instead\n */\n export function fromTemplate(templateId: string) {\n return Inquiry.fromTemplate(templateId);\n }\n\n /**\n * @deprecated Use {@link Inquiry#fromTemplateVersion} instead\n */\n export function fromTemplateVersion(templateVersion: string) {\n return Inquiry.fromTemplateVersion(templateVersion);\n }\n}\n\nexport default InquiryBuilders;\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["PersonaInquiry2","NativeModules","InvalidTemplateId","Error","InvalidTemplateVersion","InvalidInquiryId","InvalidAccountId","makeInquiryId","candidate","startsWith","makeTemplateId","makeTemplateVersion","makeAccountId","Environment","ThemeSource","RoutingCountry","DocumentStepData","constructor","stepName","documents","GovernmentIdStepData","captures","GovernmentIdCaptureMethod","GovernmentIdCaptureSide","SelfieStepData","centerCapture","leftCapture","rightCapture","SelfieCaptureMethod","UiStepData","componentParams","eventEmitter","NativeEventEmitter","Inquiry","options","templateId","templateVersion","inquiryId","referenceId","accountId","environment","environmentId","sessionToken","fields","returnCollectedData","routingCountry","onComplete","onCanceled","onError","iosThemeObject","themeSource","clearListeners","onCompleteListener","remove","onCanceledListener","onErrorListener","fromTemplate","TemplateBuilder","fromTemplateVersion","fromInquiry","InquiryBuilder","start","addListener","event","key","Object","keys","field","undefined","InquiryField","Unknown","type","Integer","Number","parseInt","value","Boolean","String","collectedData","stepData","translatedStepData","stepDatum","push","assign","extraData","status","debugMessage","startInquiry","iosTheme","SERVER","_inquiryId","_sessionToken","callback","_onComplete","_onCanceled","_onError","themeObject","_iosThemeObject","_themeSource","CLIENT","iosThemeToUse","_routingCountry","build","_fields","_templateId","_templateVersion","_returnCollectedData","_accountId","_referenceId","_environment","_environmentId","InquiryBuilders"],"mappings":"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","sourcesContent":["import {\n EventSubscription,\n NativeEventEmitter,\n NativeModules,\n} from 'react-native';\nimport { processThemeValues } from './util';\nimport { Fields, InquiryField, RawInquiryField } from './fields';\n\nexport { Fields };\n\nimport { Versions } from './versions';\n\nexport { Versions };\n\nconst { PersonaInquiry2 } = NativeModules;\n\n// Using Opaque types + Smart Constructor enforces validation at\n// instantiation time for IDS\ndeclare const Unique: unique symbol;\nexport type Opaque<T, Tag> = T & { [Unique]: Tag };\n\ntype TemplateId = Opaque<string, 'TemplateId'>;\ntype TemplateVersion = Opaque<string, 'TemplateVersion'>;\ntype InquiryId = Opaque<string, 'InquiryId'>;\ntype AccountId = Opaque<string, 'AccountId'>;\n\nexport class InvalidTemplateId extends Error {}\n\nexport class InvalidTemplateVersion extends Error {}\n\nexport class InvalidInquiryId extends Error {}\n\nexport class InvalidAccountId extends Error {}\n\n/**\n * Run validations that the string is in proper Inquiry token format\n * and do a type conversion to InquiryId.\n *\n * @param candidate\n */\nfunction makeInquiryId(candidate: string): InquiryId {\n if (candidate && candidate.startsWith('inq_')) {\n return candidate as InquiryId;\n }\n\n throw new InvalidInquiryId(\n `Valid template IDs start with \"inq_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template token format\n * and do a type conversion to TemplateId.\n *\n * @param candidate\n */\nfunction makeTemplateId(candidate: string): TemplateId {\n if (candidate && candidate.startsWith('itmpl_')) {\n return candidate as TemplateId;\n }\n\n throw new InvalidTemplateId(\n `Valid template IDs start with \"itmpl_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template Version token format\n * and do a type conversion to TemplateVersion.\n *\n * @param candidate\n */\nfunction makeTemplateVersion(candidate: string): TemplateVersion {\n if (candidate && candidate.startsWith('itmplv_')) {\n return candidate as TemplateVersion;\n }\n\n throw new InvalidTemplateVersion(\n `Valid template versions start with \"itmplv_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template token format\n * and do a type conversion to AccountId.\n *\n * @param candidate\n */\nfunction makeAccountId(candidate: string): AccountId {\n if (candidate && candidate.startsWith('act_')) {\n return candidate as AccountId;\n }\n\n throw new InvalidAccountId(\n `Valid account IDs start with \"act_\". Received: ${candidate} `\n );\n}\n\n/**\n * String enum for environments. These strings will be parsed\n * on the native side bridge into Kotlin / Swift enums.\n */\nexport enum Environment {\n SANDBOX = 'sandbox',\n PRODUCTION = 'production',\n}\n\n/**\n * An enum value which determines whether this sdk should use the theme values sent from the server.\n */\nexport enum ThemeSource {\n SERVER = 'server',\n /**\n * @deprecated Client side theming is deprecated, please configure your theme inside\n * the Persona Dashboard and use SERVER as the theme source.\n */\n CLIENT = 'client',\n}\n\n/**\n * Defines the country api requests route to\n */\nexport enum RoutingCountry {\n /**\n * Route api requests to germany servers\n */\n DE = 'de',\n /**\n * Route api requests to us servers\n */\n US = 'us',\n}\n\nexport interface InquiryOptions {\n templateId?: TemplateId;\n templateVersion?: TemplateVersion;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n environmentId?: string;\n sessionToken?: string;\n returnCollectedData?: boolean;\n routingCountry?: string;\n\n // Fields\n fields?: Fields;\n\n // Callbacks\n onComplete?: OnCompleteCallback;\n onCanceled?: OnCanceledCallback;\n onError?: OnErrorCallback;\n\n // Customization\n iosThemeObject?: Object | null;\n themeSource?: ThemeSource | null;\n}\n\ntype OnCompleteCallback = (\n inquiryId: string,\n status: string,\n fields: Fields,\n extraData: ExtraData\n) => void;\n\n/**\n * Type for collected data that came directly from iOS/Android.\n * Needs to be translated to TS classes before returning.\n */\ninterface ExternalCollectedData {\n stepData: any[];\n}\n\nexport interface ExtraData {\n collectedData: CollectedData | null;\n}\nexport interface CollectedData {\n stepData: StepData[];\n}\n\nexport interface StepData {\n stepName: string;\n}\n\nexport class DocumentStepData implements StepData {\n stepName: string;\n documents: Document[];\n\n constructor() {\n this.stepName = '';\n this.documents = [];\n }\n}\n\nexport interface Document {\n absoluteFilePath: string;\n}\n\nexport class GovernmentIdStepData implements StepData {\n stepName: string;\n captures: GovernmentIdCapture[];\n\n constructor() {\n this.stepName = '';\n this.captures = [];\n }\n}\n\nexport interface GovernmentIdCapture {\n idClass: string;\n captureMethod: GovernmentIdCaptureMethod;\n side: GovernmentIdCaptureSide;\n frames: GovernmentIdCaptureFrames[];\n}\n\nexport enum GovernmentIdCaptureMethod {\n Manual = 'Manual',\n Auto = 'Auto',\n Upload = 'Upload',\n}\n\nexport enum GovernmentIdCaptureSide {\n Front = 'Front',\n Back = 'Back',\n}\n\nexport interface GovernmentIdCaptureFrames {\n absoluteFilePath: string;\n}\n\nexport class SelfieStepData implements StepData {\n stepName: string;\n centerCapture: SelfieCapture | null;\n leftCapture: SelfieCapture | null;\n rightCapture: SelfieCapture | null;\n\n constructor() {\n this.stepName = '';\n this.centerCapture = null;\n this.leftCapture = null;\n this.rightCapture = null;\n }\n}\n\nexport interface SelfieCapture {\n captureMethod: SelfieCaptureMethod;\n absoluteFilePath: string;\n}\n\nexport enum SelfieCaptureMethod {\n Manual = 'Manual',\n Auto = 'Auto',\n}\n\nexport class UiStepData implements StepData {\n stepName: string;\n componentParams: { [key: string]: any };\n\n constructor() {\n this.stepName = '';\n this.componentParams = {};\n }\n}\n\ntype OnCanceledCallback = (inquiryId?: string, sessionToken?: string) => void;\n\ntype OnErrorCallback = (error: Error) => void;\n\nconst eventEmitter = new NativeEventEmitter(PersonaInquiry2);\n\nexport class Inquiry {\n templateId?: TemplateId;\n templateVersion?: TemplateVersion;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n environmentId?: string;\n sessionToken?: string;\n returnCollectedData?: boolean;\n routingCountry?: string;\n\n iosThemeObject?: Object | null;\n themeSource?: ThemeSource | null;\n fields?: Fields | null;\n\n private readonly onComplete?: OnCompleteCallback;\n private readonly onCanceled?: OnCanceledCallback;\n private readonly onError?: OnErrorCallback;\n\n private onCompleteListener?: EventSubscription;\n private onCanceledListener?: EventSubscription;\n private onErrorListener?: EventSubscription;\n\n constructor(options: InquiryOptions) {\n this.templateId = options.templateId;\n this.templateVersion = options.templateVersion;\n this.inquiryId = options.inquiryId;\n this.referenceId = options.referenceId;\n this.accountId = options.accountId;\n this.environment = options.environment;\n this.environmentId = options.environmentId;\n this.sessionToken = options.sessionToken;\n this.fields = options.fields;\n this.returnCollectedData = options.returnCollectedData;\n this.routingCountry = options.routingCountry;\n\n // Callbacks\n this.onComplete = options.onComplete;\n this.onCanceled = options.onCanceled;\n this.onError = options.onError;\n\n // Theme object\n this.iosThemeObject = options.iosThemeObject;\n this.themeSource = options.themeSource;\n }\n\n private clearListeners() {\n if (this.onCompleteListener) this.onCompleteListener.remove();\n if (this.onCanceledListener) this.onCanceledListener.remove();\n if (this.onErrorListener) this.onErrorListener.remove();\n }\n\n /**\n * Create an Inquiry flow builder based on a template ID.\n *\n * You can find your template ID on the Dashboard under Inquiries > Templates.\n * {@link https://app.withpersona.com/dashboard/inquiry-templates}\n *\n * @param templateId template ID from your Persona Dashboard\n * @return builder for the Inquiry flow\n */\n static fromTemplate(templateId: string) {\n return new TemplateBuilder(makeTemplateId(templateId), null);\n }\n\n /**\n * Create an Inquiry flow builder based on a template ID version.\n *\n * You can find your template ID version on the Dashboard under the\n * settings view of a specific template.\n * {@link https://app.withpersona.com/dashboard/inquiry-templates}\n *\n * @param templateVersion template version from your Persona Dashboard\n * @return builder for the Inquiry flow\n */\n static fromTemplateVersion(templateVersion: string) {\n return new TemplateBuilder(null, makeTemplateVersion(templateVersion));\n }\n\n /**\n * Create an Inquiry flow builder based on an inquiry ID.\n *\n * You will need to generate the inquiry ID on the server. To try it out, you can create an\n * inquiry from the Persona Dashboard under \"Inquiries\". Click on the \"Create Inquiry\" button\n * and copy the inquiry ID from the URL.\n * {@link https://app.withpersona.com/dashboard/inquiries}\n *\n * @param inquiryId inquiry ID from your server\n * @return builder for the Inquiry flow\n */\n static fromInquiry(inquiryId: string) {\n return new InquiryBuilder(makeInquiryId(inquiryId));\n }\n\n /**\n * Launch the Persona Inquiry.\n */\n start() {\n this.onCompleteListener = eventEmitter.addListener(\n 'onComplete',\n (event: {\n inquiryId: string;\n status: string;\n fields: Record<string, RawInquiryField>;\n collectedData: ExternalCollectedData | null;\n }) => {\n if (this.onComplete) {\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(\n Number.parseInt(field.value)\n );\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(\n Object.assign(new UiStepData(), stepDatum)\n );\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData,\n };\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData,\n };\n\n this.onComplete(event.inquiryId, event.status, fields, extraData);\n }\n this.clearListeners();\n }\n );\n\n this.onCanceledListener = eventEmitter.addListener(\n 'onCanceled',\n (event: { inquiryId?: string; sessionToken?: string }) => {\n if (this.onCanceled)\n this.onCanceled(event.inquiryId, event.sessionToken);\n this.clearListeners();\n }\n );\n\n this.onErrorListener = eventEmitter.addListener(\n 'onError',\n (event: { debugMessage: string }) => {\n if (this.onError) this.onError(new Error(event.debugMessage));\n this.clearListeners();\n }\n );\n\n PersonaInquiry2.startInquiry({\n templateId: this.templateId,\n templateVersion: this.templateVersion,\n inquiryId: this.inquiryId,\n referenceId: this.referenceId,\n accountId: this.accountId,\n environment: this.environment,\n environmentId: this.environmentId,\n sessionToken: this.sessionToken,\n fields: this.fields,\n returnCollectedData: this.returnCollectedData,\n themeSource: this.themeSource,\n iosTheme: processThemeValues(this.iosThemeObject || {}),\n routingCountry: this.routingCountry,\n });\n }\n}\n\nclass InquiryBuilder {\n private _inquiryId: InquiryId;\n private _sessionToken?: string;\n\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n private _iosThemeObject?: Object;\n private _themeSource: ThemeSource = ThemeSource.SERVER;\n private _fields?: Fields;\n private _routingCountry?: string;\n\n constructor(inquiryId: InquiryId) {\n this._inquiryId = inquiryId;\n }\n\n sessionToken(sessionToken: string): InquiryBuilder {\n this._sessionToken = sessionToken;\n\n return this;\n }\n\n onComplete(callback: OnCompleteCallback): InquiryBuilder {\n this._onComplete = callback;\n\n return this;\n }\n\n onCanceled(callback: OnCanceledCallback): InquiryBuilder {\n this._onCanceled = callback;\n\n return this;\n }\n\n onError(callback: OnErrorCallback): InquiryBuilder {\n this._onError = callback;\n\n return this;\n }\n\n /**\n * @deprecated Use iosThemeToUse\n */\n iosTheme(themeObject: Object): InquiryBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = ThemeSource.CLIENT;\n\n return this;\n }\n\n iosThemeToUse(themeObject: Object, themeSource: ThemeSource): InquiryBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = themeSource;\n\n return this;\n }\n\n routingCountry(routingCountry: string): InquiryBuilder {\n this._routingCountry = routingCountry;\n\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n inquiryId: this._inquiryId,\n sessionToken: this._sessionToken,\n onComplete: this._onComplete,\n onCanceled: this._onCanceled,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n themeSource: this._themeSource,\n fields: this._fields,\n routingCountry: this._routingCountry,\n });\n }\n}\n\nclass TemplateBuilder {\n private readonly _templateId?: TemplateId;\n private readonly _templateVersion?: TemplateVersion;\n private _accountId?: AccountId;\n private _referenceId?: string;\n private _environment?: Environment;\n private _environmentId?: string;\n private _fields?: Fields;\n private _sessionToken?: string;\n private _returnCollectedData?: boolean;\n private _routingCountry?: string;\n\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n\n // Customization\n private _iosThemeObject?: Object;\n private _themeSource: ThemeSource = ThemeSource.SERVER;\n\n constructor(\n templateId?: TemplateId | null,\n templateVersion?: TemplateVersion | null\n ) {\n if (templateId != null) {\n this._templateId = templateId;\n } else if (templateVersion != null) {\n this._templateVersion = templateVersion;\n } else {\n throw new InvalidTemplateId(\n `Either templateId or templateVersion needs to be set.`\n );\n }\n return this;\n }\n\n returnCollectedData(returnCollectedData: boolean) {\n this._returnCollectedData = returnCollectedData;\n\n return this;\n }\n\n referenceId(referenceId: string): TemplateBuilder {\n this._accountId = undefined;\n this._referenceId = referenceId;\n\n return this;\n }\n\n accountId(accountId: string): TemplateBuilder {\n this._referenceId = undefined;\n this._accountId = makeAccountId(accountId);\n\n return this;\n }\n\n environment(environment: Environment): TemplateBuilder {\n this._environment = environment;\n\n return this;\n }\n\n environmentId(environmentId: string): TemplateBuilder {\n this._environmentId = environmentId;\n\n return this;\n }\n\n sessionToken(sessionToken: string): TemplateBuilder {\n this._sessionToken = sessionToken;\n\n return this;\n }\n\n fields(fields: Fields): TemplateBuilder {\n this._fields = fields;\n\n return this;\n }\n\n routingCountry(routingCountry: string): TemplateBuilder {\n this._routingCountry = routingCountry;\n\n return this;\n }\n\n onComplete(callback: OnCompleteCallback): TemplateBuilder {\n this._onComplete = callback;\n\n return this;\n }\n\n onCanceled(callback: OnCanceledCallback): TemplateBuilder {\n this._onCanceled = callback;\n\n return this;\n }\n\n onError(callback: OnErrorCallback): TemplateBuilder {\n this._onError = callback;\n\n return this;\n }\n\n /**\n * @deprecated Use iosThemeToUse\n */\n iosTheme(themeObject: Object): TemplateBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = ThemeSource.CLIENT;\n\n return this;\n }\n\n iosThemeToUse(\n themeObject: Object,\n themeSource: ThemeSource\n ): TemplateBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = themeSource;\n\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n templateId: this._templateId,\n templateVersion: this._templateVersion,\n accountId: this._accountId,\n referenceId: this._referenceId,\n environment: this._environment,\n environmentId: this._environmentId,\n sessionToken: this._sessionToken,\n fields: this._fields,\n onComplete: this._onComplete,\n onCanceled: this._onCanceled,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n themeSource: this._themeSource,\n returnCollectedData: this._returnCollectedData,\n routingCountry: this._routingCountry,\n });\n }\n}\n\n/**\n * @deprecated Use the `Inquiry` static methods instead\n */\nnamespace InquiryBuilders {\n /**\n * @deprecated Use {@link Inquiry#fromInquiry} instead\n */\n export function fromInquiry(inquiryId: string) {\n return Inquiry.fromInquiry(inquiryId);\n }\n\n /**\n * @deprecated Use {@link Inquiry#fromTemplate} instead\n */\n export function fromTemplate(templateId: string) {\n return Inquiry.fromTemplate(templateId);\n }\n\n /**\n * @deprecated Use {@link Inquiry#fromTemplateVersion} instead\n */\n export function fromTemplateVersion(templateVersion: string) {\n return Inquiry.fromTemplateVersion(templateVersion);\n }\n}\n\nexport default InquiryBuilders;\n"]}
@@ -23,7 +23,10 @@ export class InvalidAccountId extends Error {}
23
23
  */
24
24
 
25
25
  function makeInquiryId(candidate) {
26
- if (candidate.startsWith('inq_')) return candidate;
26
+ if (candidate && candidate.startsWith('inq_')) {
27
+ return candidate;
28
+ }
29
+
27
30
  throw new InvalidInquiryId(`Valid template IDs start with "inq_". Received: ${candidate} `);
28
31
  }
29
32
  /**
@@ -35,7 +38,7 @@ function makeInquiryId(candidate) {
35
38
 
36
39
 
37
40
  function makeTemplateId(candidate) {
38
- if (candidate.startsWith('itmpl_')) {
41
+ if (candidate && candidate.startsWith('itmpl_')) {
39
42
  return candidate;
40
43
  }
41
44
 
@@ -50,7 +53,7 @@ function makeTemplateId(candidate) {
50
53
 
51
54
 
52
55
  function makeTemplateVersion(candidate) {
53
- if (candidate.startsWith('itmplv_')) {
56
+ if (candidate && candidate.startsWith('itmplv_')) {
54
57
  return candidate;
55
58
  }
56
59
 
@@ -65,7 +68,7 @@ function makeTemplateVersion(candidate) {
65
68
 
66
69
 
67
70
  function makeAccountId(candidate) {
68
- if (candidate.startsWith('act_')) {
71
+ if (candidate && candidate.startsWith('act_')) {
69
72
  return candidate;
70
73
  }
71
74
 
@@ -181,6 +184,8 @@ export class Inquiry {
181
184
  constructor(options) {
182
185
  _defineProperty(this, "templateId", void 0);
183
186
 
187
+ _defineProperty(this, "templateVersion", void 0);
188
+
184
189
  _defineProperty(this, "inquiryId", void 0);
185
190
 
186
191
  _defineProperty(this, "referenceId", void 0);
@@ -189,6 +194,8 @@ export class Inquiry {
189
194
 
190
195
  _defineProperty(this, "environment", void 0);
191
196
 
197
+ _defineProperty(this, "environmentId", void 0);
198
+
192
199
  _defineProperty(this, "sessionToken", void 0);
193
200
 
194
201
  _defineProperty(this, "returnCollectedData", void 0);
@@ -214,10 +221,12 @@ export class Inquiry {
214
221
  _defineProperty(this, "onErrorListener", void 0);
215
222
 
216
223
  this.templateId = options.templateId;
224
+ this.templateVersion = options.templateVersion;
217
225
  this.inquiryId = options.inquiryId;
218
226
  this.referenceId = options.referenceId;
219
227
  this.accountId = options.accountId;
220
228
  this.environment = options.environment;
229
+ this.environmentId = options.environmentId;
221
230
  this.sessionToken = options.sessionToken;
222
231
  this.fields = options.fields;
223
232
  this.returnCollectedData = options.returnCollectedData;
@@ -370,10 +379,12 @@ export class Inquiry {
370
379
  });
371
380
  PersonaInquiry2.startInquiry({
372
381
  templateId: this.templateId,
382
+ templateVersion: this.templateVersion,
373
383
  inquiryId: this.inquiryId,
374
384
  referenceId: this.referenceId,
375
385
  accountId: this.accountId,
376
386
  environment: this.environment,
387
+ environmentId: this.environmentId,
377
388
  sessionToken: this.sessionToken,
378
389
  fields: this.fields,
379
390
  returnCollectedData: this.returnCollectedData,
@@ -480,6 +491,8 @@ class TemplateBuilder {
480
491
 
481
492
  _defineProperty(this, "_environment", void 0);
482
493
 
494
+ _defineProperty(this, "_environmentId", void 0);
495
+
483
496
  _defineProperty(this, "_fields", void 0);
484
497
 
485
498
  _defineProperty(this, "_sessionToken", void 0);
@@ -531,6 +544,11 @@ class TemplateBuilder {
531
544
  return this;
532
545
  }
533
546
 
547
+ environmentId(environmentId) {
548
+ this._environmentId = environmentId;
549
+ return this;
550
+ }
551
+
534
552
  sessionToken(sessionToken) {
535
553
  this._sessionToken = sessionToken;
536
554
  return this;
@@ -584,6 +602,7 @@ class TemplateBuilder {
584
602
  accountId: this._accountId,
585
603
  referenceId: this._referenceId,
586
604
  environment: this._environment,
605
+ environmentId: this._environmentId,
587
606
  sessionToken: this._sessionToken,
588
607
  fields: this._fields,
589
608
  onComplete: this._onComplete,
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["NativeEventEmitter","NativeModules","processThemeValues","Fields","InquiryField","Versions","PersonaInquiry2","InvalidTemplateId","Error","InvalidTemplateVersion","InvalidInquiryId","InvalidAccountId","makeInquiryId","candidate","startsWith","makeTemplateId","makeTemplateVersion","makeAccountId","Environment","ThemeSource","RoutingCountry","DocumentStepData","constructor","stepName","documents","GovernmentIdStepData","captures","GovernmentIdCaptureMethod","GovernmentIdCaptureSide","SelfieStepData","centerCapture","leftCapture","rightCapture","SelfieCaptureMethod","UiStepData","componentParams","eventEmitter","Inquiry","options","templateId","inquiryId","referenceId","accountId","environment","sessionToken","fields","returnCollectedData","routingCountry","onComplete","onCanceled","onError","iosThemeObject","themeSource","clearListeners","onCompleteListener","remove","onCanceledListener","onErrorListener","fromTemplate","TemplateBuilder","fromTemplateVersion","templateVersion","fromInquiry","InquiryBuilder","start","addListener","event","key","Object","keys","field","undefined","Unknown","type","Integer","Number","parseInt","value","Boolean","String","collectedData","stepData","translatedStepData","stepDatum","push","assign","extraData","status","debugMessage","startInquiry","iosTheme","SERVER","_inquiryId","_sessionToken","callback","_onComplete","_onCanceled","_onError","themeObject","_iosThemeObject","_themeSource","CLIENT","iosThemeToUse","_routingCountry","build","_fields","_templateId","_templateVersion","_returnCollectedData","_accountId","_referenceId","_environment","InquiryBuilders"],"mappings":"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","sourcesContent":["import {\n EventSubscription,\n NativeEventEmitter,\n NativeModules,\n} from 'react-native';\nimport { processThemeValues } from './util';\nimport { Fields, InquiryField, RawInquiryField } from './fields';\n\nexport { Fields };\n\nimport { Versions } from './versions';\n\nexport { Versions };\n\nconst { PersonaInquiry2 } = NativeModules;\n\n// Using Opaque types + Smart Constructor enforces validation at\n// instantiation time for IDS\ndeclare const Unique: unique symbol;\nexport type Opaque<T, Tag> = T & { [Unique]: Tag };\n\ntype TemplateId = Opaque<string, 'TemplateId'>;\ntype TemplateVersion = Opaque<string, 'TemplateVersion'>;\ntype InquiryId = Opaque<string, 'InquiryId'>;\ntype AccountId = Opaque<string, 'AccountId'>;\n\nexport class InvalidTemplateId extends Error {}\n\nexport class InvalidTemplateVersion extends Error {}\n\nexport class InvalidInquiryId extends Error {}\n\nexport class InvalidAccountId extends Error {}\n\n/**\n * Run validations that the string is in proper Inquiry token format\n * and do a type conversion to InquiryId.\n *\n * @param candidate\n */\nfunction makeInquiryId(candidate: string): InquiryId {\n if (candidate.startsWith('inq_')) return candidate as InquiryId;\n\n throw new InvalidInquiryId(\n `Valid template IDs start with \"inq_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template token format\n * and do a type conversion to TemplateId.\n *\n * @param candidate\n */\nfunction makeTemplateId(candidate: string): TemplateId {\n if (candidate.startsWith('itmpl_')) {\n return candidate as TemplateId;\n }\n\n throw new InvalidTemplateId(\n `Valid template IDs start with \"itmpl_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template Version token format\n * and do a type conversion to TemplateVersion.\n *\n * @param candidate\n */\nfunction makeTemplateVersion(candidate: string): TemplateVersion {\n if (candidate.startsWith('itmplv_')) {\n return candidate as TemplateVersion;\n }\n\n throw new InvalidTemplateVersion(\n `Valid template versions start with \"itmplv_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template token format\n * and do a type conversion to AccountId.\n *\n * @param candidate\n */\nfunction makeAccountId(candidate: string): AccountId {\n if (candidate.startsWith('act_')) {\n return candidate as AccountId;\n }\n\n throw new InvalidAccountId(\n `Valid account IDs start with \"act_\". Received: ${candidate} `\n );\n}\n\n/**\n * String enum for environments. These strings will be parsed\n * on the native side bridge into Kotlin / Swift enums.\n */\nexport enum Environment {\n SANDBOX = 'sandbox',\n PRODUCTION = 'production',\n}\n\n/**\n * An enum value which determines whether this sdk should use the theme values sent from the server.\n */\nexport enum ThemeSource {\n SERVER = 'server',\n /**\n * @deprecated Client side theming is deprecated, please configure your theme inside\n * the Persona Dashboard and use SERVER as the theme source.\n */\n CLIENT = 'client',\n}\n\n/**\n * Defines the country api requests route to\n */\nexport enum RoutingCountry {\n /**\n * Route api requests to germany servers\n */\n DE = 'de',\n /**\n * Route api requests to us servers\n */\n US = 'us',\n}\n\nexport interface InquiryOptions {\n templateId?: TemplateId;\n templateVersion?: TemplateVersion;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n sessionToken?: string;\n returnCollectedData?: boolean;\n routingCountry?: RoutingCountry;\n\n // Fields\n fields?: Fields;\n\n // Callbacks\n onComplete?: OnCompleteCallback;\n onCanceled?: OnCanceledCallback;\n onError?: OnErrorCallback;\n\n // Customization\n iosThemeObject?: Object | null;\n themeSource?: ThemeSource | null;\n}\n\ntype OnCompleteCallback = (\n inquiryId: string,\n status: string,\n fields: Fields,\n extraData: ExtraData\n) => void;\n\n/**\n * Type for collected data that came directly from iOS/Android.\n * Needs to be translated to TS classes before returning.\n */\ninterface ExternalCollectedData {\n stepData: any[];\n}\n\nexport interface ExtraData {\n collectedData: CollectedData | null;\n}\nexport interface CollectedData {\n stepData: StepData[];\n}\n\nexport interface StepData {\n stepName: string;\n}\n\nexport class DocumentStepData implements StepData {\n stepName: string;\n documents: Document[];\n\n constructor() {\n this.stepName = '';\n this.documents = [];\n }\n}\n\nexport interface Document {\n absoluteFilePath: string;\n}\n\nexport class GovernmentIdStepData implements StepData {\n stepName: string;\n captures: GovernmentIdCapture[];\n\n constructor() {\n this.stepName = '';\n this.captures = [];\n }\n}\n\nexport interface GovernmentIdCapture {\n idClass: string;\n captureMethod: GovernmentIdCaptureMethod;\n side: GovernmentIdCaptureSide;\n frames: GovernmentIdCaptureFrames[];\n}\n\nexport enum GovernmentIdCaptureMethod {\n Manual = 'Manual',\n Auto = 'Auto',\n Upload = 'Upload',\n}\n\nexport enum GovernmentIdCaptureSide {\n Front = 'Front',\n Back = 'Back',\n}\n\nexport interface GovernmentIdCaptureFrames {\n absoluteFilePath: string;\n}\n\nexport class SelfieStepData implements StepData {\n stepName: string;\n centerCapture: SelfieCapture | null;\n leftCapture: SelfieCapture | null;\n rightCapture: SelfieCapture | null;\n\n constructor() {\n this.stepName = '';\n this.centerCapture = null;\n this.leftCapture = null;\n this.rightCapture = null;\n }\n}\n\nexport interface SelfieCapture {\n captureMethod: SelfieCaptureMethod;\n absoluteFilePath: string;\n}\n\nexport enum SelfieCaptureMethod {\n Manual = 'Manual',\n Auto = 'Auto',\n}\n\nexport class UiStepData implements StepData {\n stepName: string;\n componentParams: { [key: string]: any };\n\n constructor() {\n this.stepName = '';\n this.componentParams = {};\n }\n}\n\ntype OnCanceledCallback = (inquiryId?: string, sessionToken?: string) => void;\n\ntype OnErrorCallback = (error: Error) => void;\n\nconst eventEmitter = new NativeEventEmitter(PersonaInquiry2);\n\nexport class Inquiry {\n templateId?: TemplateId;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n sessionToken?: string;\n returnCollectedData?: boolean;\n routingCountry?: RoutingCountry;\n\n iosThemeObject?: Object | null;\n themeSource?: ThemeSource | null;\n fields?: Fields | null;\n\n private readonly onComplete?: OnCompleteCallback;\n private readonly onCanceled?: OnCanceledCallback;\n private readonly onError?: OnErrorCallback;\n\n private onCompleteListener?: EventSubscription;\n private onCanceledListener?: EventSubscription;\n private onErrorListener?: EventSubscription;\n\n constructor(options: InquiryOptions) {\n this.templateId = options.templateId;\n this.inquiryId = options.inquiryId;\n this.referenceId = options.referenceId;\n this.accountId = options.accountId;\n this.environment = options.environment;\n this.sessionToken = options.sessionToken;\n this.fields = options.fields;\n this.returnCollectedData = options.returnCollectedData;\n this.routingCountry = options.routingCountry;\n\n // Callbacks\n this.onComplete = options.onComplete;\n this.onCanceled = options.onCanceled;\n this.onError = options.onError;\n\n // Theme object\n this.iosThemeObject = options.iosThemeObject;\n this.themeSource = options.themeSource;\n }\n\n private clearListeners() {\n if (this.onCompleteListener) this.onCompleteListener.remove();\n if (this.onCanceledListener) this.onCanceledListener.remove();\n if (this.onErrorListener) this.onErrorListener.remove();\n }\n\n /**\n * Create an Inquiry flow builder based on a template ID.\n *\n * You can find your template ID on the Dashboard under Inquiries > Templates.\n * {@link https://app.withpersona.com/dashboard/inquiry-templates}\n *\n * @param templateId template ID from your Persona Dashboard\n * @return builder for the Inquiry flow\n */\n static fromTemplate(templateId: string) {\n return new TemplateBuilder(makeTemplateId(templateId), null);\n }\n\n /**\n * Create an Inquiry flow builder based on a template ID version.\n *\n * You can find your template ID version on the Dashboard under the\n * settings view of a specific template.\n * {@link https://app.withpersona.com/dashboard/inquiry-templates}\n *\n * @param templateVersion template version from your Persona Dashboard\n * @return builder for the Inquiry flow\n */\n static fromTemplateVersion(templateVersion: string) {\n return new TemplateBuilder(null, makeTemplateVersion(templateVersion));\n }\n\n /**\n * Create an Inquiry flow builder based on an inquiry ID.\n *\n * You will need to generate the inquiry ID on the server. To try it out, you can create an\n * inquiry from the Persona Dashboard under \"Inquiries\". Click on the \"Create Inquiry\" button\n * and copy the inquiry ID from the URL.\n * {@link https://app.withpersona.com/dashboard/inquiries}\n *\n * @param inquiryId inquiry ID from your server\n * @return builder for the Inquiry flow\n */\n static fromInquiry(inquiryId: string) {\n return new InquiryBuilder(makeInquiryId(inquiryId));\n }\n\n /**\n * Launch the Persona Inquiry.\n */\n start() {\n this.onCompleteListener = eventEmitter.addListener(\n 'onComplete',\n (event: {\n inquiryId: string;\n status: string;\n fields: Record<string, RawInquiryField>;\n collectedData: ExternalCollectedData | null;\n }) => {\n if (this.onComplete) {\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(\n Number.parseInt(field.value)\n );\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(\n Object.assign(new UiStepData(), stepDatum)\n );\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData,\n };\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData,\n };\n\n this.onComplete(event.inquiryId, event.status, fields, extraData);\n }\n this.clearListeners();\n }\n );\n\n this.onCanceledListener = eventEmitter.addListener(\n 'onCanceled',\n (event: { inquiryId?: string; sessionToken?: string }) => {\n if (this.onCanceled)\n this.onCanceled(event.inquiryId, event.sessionToken);\n this.clearListeners();\n }\n );\n\n this.onErrorListener = eventEmitter.addListener(\n 'onError',\n (event: { debugMessage: string }) => {\n if (this.onError) this.onError(new Error(event.debugMessage));\n this.clearListeners();\n }\n );\n\n PersonaInquiry2.startInquiry({\n templateId: this.templateId,\n inquiryId: this.inquiryId,\n referenceId: this.referenceId,\n accountId: this.accountId,\n environment: this.environment,\n sessionToken: this.sessionToken,\n fields: this.fields,\n returnCollectedData: this.returnCollectedData,\n themeSource: this.themeSource,\n iosTheme: processThemeValues(this.iosThemeObject || {}),\n routingCountry: this.routingCountry,\n });\n }\n}\n\nclass InquiryBuilder {\n private _inquiryId: InquiryId;\n private _sessionToken?: string;\n\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n private _iosThemeObject?: Object;\n private _themeSource: ThemeSource = ThemeSource.SERVER;\n private _fields?: Fields;\n private _routingCountry?: RoutingCountry;\n\n constructor(inquiryId: InquiryId) {\n this._inquiryId = inquiryId;\n }\n\n sessionToken(sessionToken: string): InquiryBuilder {\n this._sessionToken = sessionToken;\n\n return this;\n }\n\n onComplete(callback: OnCompleteCallback): InquiryBuilder {\n this._onComplete = callback;\n\n return this;\n }\n\n onCanceled(callback: OnCanceledCallback): InquiryBuilder {\n this._onCanceled = callback;\n\n return this;\n }\n\n onError(callback: OnErrorCallback): InquiryBuilder {\n this._onError = callback;\n\n return this;\n }\n\n /**\n * @deprecated Use iosThemeToUse\n */\n iosTheme(themeObject: Object): InquiryBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = ThemeSource.CLIENT;\n\n return this;\n }\n\n iosThemeToUse(themeObject: Object, themeSource: ThemeSource): InquiryBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = themeSource;\n\n return this;\n }\n\n routingCountry(routingCountry: RoutingCountry): InquiryBuilder {\n this._routingCountry = routingCountry;\n\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n inquiryId: this._inquiryId,\n sessionToken: this._sessionToken,\n onComplete: this._onComplete,\n onCanceled: this._onCanceled,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n themeSource: this._themeSource,\n fields: this._fields,\n routingCountry: this._routingCountry,\n });\n }\n}\n\nclass TemplateBuilder {\n private readonly _templateId?: TemplateId;\n private readonly _templateVersion?: TemplateVersion;\n private _accountId?: AccountId;\n private _referenceId?: string;\n private _environment?: Environment;\n private _fields?: Fields;\n private _sessionToken?: string;\n private _returnCollectedData?: boolean;\n private _routingCountry?: RoutingCountry;\n\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n\n // Customization\n private _iosThemeObject?: Object;\n private _themeSource: ThemeSource = ThemeSource.SERVER;\n\n constructor(\n templateId?: TemplateId | null,\n templateVersion?: TemplateVersion | null\n ) {\n if (templateId != null) {\n this._templateId = templateId;\n } else if (templateVersion != null) {\n this._templateVersion = templateVersion;\n } else {\n throw new InvalidTemplateId(\n `Either templateId or templateVersion needs to be set.`\n );\n }\n return this;\n }\n\n returnCollectedData(returnCollectedData: boolean) {\n this._returnCollectedData = returnCollectedData;\n\n return this;\n }\n\n referenceId(referenceId: string): TemplateBuilder {\n this._accountId = undefined;\n this._referenceId = referenceId;\n\n return this;\n }\n\n accountId(accountId: string): TemplateBuilder {\n this._referenceId = undefined;\n this._accountId = makeAccountId(accountId);\n\n return this;\n }\n\n environment(environment: Environment): TemplateBuilder {\n this._environment = environment;\n\n return this;\n }\n\n sessionToken(sessionToken: string): TemplateBuilder {\n this._sessionToken = sessionToken;\n\n return this;\n }\n\n fields(fields: Fields): TemplateBuilder {\n this._fields = fields;\n\n return this;\n }\n\n routingCountry(routingCountry: RoutingCountry): TemplateBuilder {\n this._routingCountry = routingCountry;\n\n return this;\n }\n\n onComplete(callback: OnCompleteCallback): TemplateBuilder {\n this._onComplete = callback;\n\n return this;\n }\n\n onCanceled(callback: OnCanceledCallback): TemplateBuilder {\n this._onCanceled = callback;\n\n return this;\n }\n\n onError(callback: OnErrorCallback): TemplateBuilder {\n this._onError = callback;\n\n return this;\n }\n\n /**\n * @deprecated Use iosThemeToUse\n */\n iosTheme(themeObject: Object): TemplateBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = ThemeSource.CLIENT;\n\n return this;\n }\n\n iosThemeToUse(\n themeObject: Object,\n themeSource: ThemeSource\n ): TemplateBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = themeSource;\n\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n templateId: this._templateId,\n templateVersion: this._templateVersion,\n accountId: this._accountId,\n referenceId: this._referenceId,\n environment: this._environment,\n sessionToken: this._sessionToken,\n fields: this._fields,\n onComplete: this._onComplete,\n onCanceled: this._onCanceled,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n themeSource: this._themeSource,\n returnCollectedData: this._returnCollectedData,\n routingCountry: this._routingCountry,\n });\n }\n}\n\n/**\n * @deprecated Use the `Inquiry` static methods instead\n */\nnamespace InquiryBuilders {\n /**\n * @deprecated Use {@link Inquiry#fromInquiry} instead\n */\n export function fromInquiry(inquiryId: string) {\n return Inquiry.fromInquiry(inquiryId);\n }\n\n /**\n * @deprecated Use {@link Inquiry#fromTemplate} instead\n */\n export function fromTemplate(templateId: string) {\n return Inquiry.fromTemplate(templateId);\n }\n\n /**\n * @deprecated Use {@link Inquiry#fromTemplateVersion} instead\n */\n export function fromTemplateVersion(templateVersion: string) {\n return Inquiry.fromTemplateVersion(templateVersion);\n }\n}\n\nexport default InquiryBuilders;\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["NativeEventEmitter","NativeModules","processThemeValues","Fields","InquiryField","Versions","PersonaInquiry2","InvalidTemplateId","Error","InvalidTemplateVersion","InvalidInquiryId","InvalidAccountId","makeInquiryId","candidate","startsWith","makeTemplateId","makeTemplateVersion","makeAccountId","Environment","ThemeSource","RoutingCountry","DocumentStepData","constructor","stepName","documents","GovernmentIdStepData","captures","GovernmentIdCaptureMethod","GovernmentIdCaptureSide","SelfieStepData","centerCapture","leftCapture","rightCapture","SelfieCaptureMethod","UiStepData","componentParams","eventEmitter","Inquiry","options","templateId","templateVersion","inquiryId","referenceId","accountId","environment","environmentId","sessionToken","fields","returnCollectedData","routingCountry","onComplete","onCanceled","onError","iosThemeObject","themeSource","clearListeners","onCompleteListener","remove","onCanceledListener","onErrorListener","fromTemplate","TemplateBuilder","fromTemplateVersion","fromInquiry","InquiryBuilder","start","addListener","event","key","Object","keys","field","undefined","Unknown","type","Integer","Number","parseInt","value","Boolean","String","collectedData","stepData","translatedStepData","stepDatum","push","assign","extraData","status","debugMessage","startInquiry","iosTheme","SERVER","_inquiryId","_sessionToken","callback","_onComplete","_onCanceled","_onError","themeObject","_iosThemeObject","_themeSource","CLIENT","iosThemeToUse","_routingCountry","build","_fields","_templateId","_templateVersion","_returnCollectedData","_accountId","_referenceId","_environment","_environmentId","InquiryBuilders"],"mappings":"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","sourcesContent":["import {\n EventSubscription,\n NativeEventEmitter,\n NativeModules,\n} from 'react-native';\nimport { processThemeValues } from './util';\nimport { Fields, InquiryField, RawInquiryField } from './fields';\n\nexport { Fields };\n\nimport { Versions } from './versions';\n\nexport { Versions };\n\nconst { PersonaInquiry2 } = NativeModules;\n\n// Using Opaque types + Smart Constructor enforces validation at\n// instantiation time for IDS\ndeclare const Unique: unique symbol;\nexport type Opaque<T, Tag> = T & { [Unique]: Tag };\n\ntype TemplateId = Opaque<string, 'TemplateId'>;\ntype TemplateVersion = Opaque<string, 'TemplateVersion'>;\ntype InquiryId = Opaque<string, 'InquiryId'>;\ntype AccountId = Opaque<string, 'AccountId'>;\n\nexport class InvalidTemplateId extends Error {}\n\nexport class InvalidTemplateVersion extends Error {}\n\nexport class InvalidInquiryId extends Error {}\n\nexport class InvalidAccountId extends Error {}\n\n/**\n * Run validations that the string is in proper Inquiry token format\n * and do a type conversion to InquiryId.\n *\n * @param candidate\n */\nfunction makeInquiryId(candidate: string): InquiryId {\n if (candidate && candidate.startsWith('inq_')) {\n return candidate as InquiryId;\n }\n\n throw new InvalidInquiryId(\n `Valid template IDs start with \"inq_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template token format\n * and do a type conversion to TemplateId.\n *\n * @param candidate\n */\nfunction makeTemplateId(candidate: string): TemplateId {\n if (candidate && candidate.startsWith('itmpl_')) {\n return candidate as TemplateId;\n }\n\n throw new InvalidTemplateId(\n `Valid template IDs start with \"itmpl_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template Version token format\n * and do a type conversion to TemplateVersion.\n *\n * @param candidate\n */\nfunction makeTemplateVersion(candidate: string): TemplateVersion {\n if (candidate && candidate.startsWith('itmplv_')) {\n return candidate as TemplateVersion;\n }\n\n throw new InvalidTemplateVersion(\n `Valid template versions start with \"itmplv_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template token format\n * and do a type conversion to AccountId.\n *\n * @param candidate\n */\nfunction makeAccountId(candidate: string): AccountId {\n if (candidate && candidate.startsWith('act_')) {\n return candidate as AccountId;\n }\n\n throw new InvalidAccountId(\n `Valid account IDs start with \"act_\". Received: ${candidate} `\n );\n}\n\n/**\n * String enum for environments. These strings will be parsed\n * on the native side bridge into Kotlin / Swift enums.\n */\nexport enum Environment {\n SANDBOX = 'sandbox',\n PRODUCTION = 'production',\n}\n\n/**\n * An enum value which determines whether this sdk should use the theme values sent from the server.\n */\nexport enum ThemeSource {\n SERVER = 'server',\n /**\n * @deprecated Client side theming is deprecated, please configure your theme inside\n * the Persona Dashboard and use SERVER as the theme source.\n */\n CLIENT = 'client',\n}\n\n/**\n * Defines the country api requests route to\n */\nexport enum RoutingCountry {\n /**\n * Route api requests to germany servers\n */\n DE = 'de',\n /**\n * Route api requests to us servers\n */\n US = 'us',\n}\n\nexport interface InquiryOptions {\n templateId?: TemplateId;\n templateVersion?: TemplateVersion;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n environmentId?: string;\n sessionToken?: string;\n returnCollectedData?: boolean;\n routingCountry?: string;\n\n // Fields\n fields?: Fields;\n\n // Callbacks\n onComplete?: OnCompleteCallback;\n onCanceled?: OnCanceledCallback;\n onError?: OnErrorCallback;\n\n // Customization\n iosThemeObject?: Object | null;\n themeSource?: ThemeSource | null;\n}\n\ntype OnCompleteCallback = (\n inquiryId: string,\n status: string,\n fields: Fields,\n extraData: ExtraData\n) => void;\n\n/**\n * Type for collected data that came directly from iOS/Android.\n * Needs to be translated to TS classes before returning.\n */\ninterface ExternalCollectedData {\n stepData: any[];\n}\n\nexport interface ExtraData {\n collectedData: CollectedData | null;\n}\nexport interface CollectedData {\n stepData: StepData[];\n}\n\nexport interface StepData {\n stepName: string;\n}\n\nexport class DocumentStepData implements StepData {\n stepName: string;\n documents: Document[];\n\n constructor() {\n this.stepName = '';\n this.documents = [];\n }\n}\n\nexport interface Document {\n absoluteFilePath: string;\n}\n\nexport class GovernmentIdStepData implements StepData {\n stepName: string;\n captures: GovernmentIdCapture[];\n\n constructor() {\n this.stepName = '';\n this.captures = [];\n }\n}\n\nexport interface GovernmentIdCapture {\n idClass: string;\n captureMethod: GovernmentIdCaptureMethod;\n side: GovernmentIdCaptureSide;\n frames: GovernmentIdCaptureFrames[];\n}\n\nexport enum GovernmentIdCaptureMethod {\n Manual = 'Manual',\n Auto = 'Auto',\n Upload = 'Upload',\n}\n\nexport enum GovernmentIdCaptureSide {\n Front = 'Front',\n Back = 'Back',\n}\n\nexport interface GovernmentIdCaptureFrames {\n absoluteFilePath: string;\n}\n\nexport class SelfieStepData implements StepData {\n stepName: string;\n centerCapture: SelfieCapture | null;\n leftCapture: SelfieCapture | null;\n rightCapture: SelfieCapture | null;\n\n constructor() {\n this.stepName = '';\n this.centerCapture = null;\n this.leftCapture = null;\n this.rightCapture = null;\n }\n}\n\nexport interface SelfieCapture {\n captureMethod: SelfieCaptureMethod;\n absoluteFilePath: string;\n}\n\nexport enum SelfieCaptureMethod {\n Manual = 'Manual',\n Auto = 'Auto',\n}\n\nexport class UiStepData implements StepData {\n stepName: string;\n componentParams: { [key: string]: any };\n\n constructor() {\n this.stepName = '';\n this.componentParams = {};\n }\n}\n\ntype OnCanceledCallback = (inquiryId?: string, sessionToken?: string) => void;\n\ntype OnErrorCallback = (error: Error) => void;\n\nconst eventEmitter = new NativeEventEmitter(PersonaInquiry2);\n\nexport class Inquiry {\n templateId?: TemplateId;\n templateVersion?: TemplateVersion;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n environmentId?: string;\n sessionToken?: string;\n returnCollectedData?: boolean;\n routingCountry?: string;\n\n iosThemeObject?: Object | null;\n themeSource?: ThemeSource | null;\n fields?: Fields | null;\n\n private readonly onComplete?: OnCompleteCallback;\n private readonly onCanceled?: OnCanceledCallback;\n private readonly onError?: OnErrorCallback;\n\n private onCompleteListener?: EventSubscription;\n private onCanceledListener?: EventSubscription;\n private onErrorListener?: EventSubscription;\n\n constructor(options: InquiryOptions) {\n this.templateId = options.templateId;\n this.templateVersion = options.templateVersion;\n this.inquiryId = options.inquiryId;\n this.referenceId = options.referenceId;\n this.accountId = options.accountId;\n this.environment = options.environment;\n this.environmentId = options.environmentId;\n this.sessionToken = options.sessionToken;\n this.fields = options.fields;\n this.returnCollectedData = options.returnCollectedData;\n this.routingCountry = options.routingCountry;\n\n // Callbacks\n this.onComplete = options.onComplete;\n this.onCanceled = options.onCanceled;\n this.onError = options.onError;\n\n // Theme object\n this.iosThemeObject = options.iosThemeObject;\n this.themeSource = options.themeSource;\n }\n\n private clearListeners() {\n if (this.onCompleteListener) this.onCompleteListener.remove();\n if (this.onCanceledListener) this.onCanceledListener.remove();\n if (this.onErrorListener) this.onErrorListener.remove();\n }\n\n /**\n * Create an Inquiry flow builder based on a template ID.\n *\n * You can find your template ID on the Dashboard under Inquiries > Templates.\n * {@link https://app.withpersona.com/dashboard/inquiry-templates}\n *\n * @param templateId template ID from your Persona Dashboard\n * @return builder for the Inquiry flow\n */\n static fromTemplate(templateId: string) {\n return new TemplateBuilder(makeTemplateId(templateId), null);\n }\n\n /**\n * Create an Inquiry flow builder based on a template ID version.\n *\n * You can find your template ID version on the Dashboard under the\n * settings view of a specific template.\n * {@link https://app.withpersona.com/dashboard/inquiry-templates}\n *\n * @param templateVersion template version from your Persona Dashboard\n * @return builder for the Inquiry flow\n */\n static fromTemplateVersion(templateVersion: string) {\n return new TemplateBuilder(null, makeTemplateVersion(templateVersion));\n }\n\n /**\n * Create an Inquiry flow builder based on an inquiry ID.\n *\n * You will need to generate the inquiry ID on the server. To try it out, you can create an\n * inquiry from the Persona Dashboard under \"Inquiries\". Click on the \"Create Inquiry\" button\n * and copy the inquiry ID from the URL.\n * {@link https://app.withpersona.com/dashboard/inquiries}\n *\n * @param inquiryId inquiry ID from your server\n * @return builder for the Inquiry flow\n */\n static fromInquiry(inquiryId: string) {\n return new InquiryBuilder(makeInquiryId(inquiryId));\n }\n\n /**\n * Launch the Persona Inquiry.\n */\n start() {\n this.onCompleteListener = eventEmitter.addListener(\n 'onComplete',\n (event: {\n inquiryId: string;\n status: string;\n fields: Record<string, RawInquiryField>;\n collectedData: ExternalCollectedData | null;\n }) => {\n if (this.onComplete) {\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(\n Number.parseInt(field.value)\n );\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(\n Object.assign(new UiStepData(), stepDatum)\n );\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData,\n };\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData,\n };\n\n this.onComplete(event.inquiryId, event.status, fields, extraData);\n }\n this.clearListeners();\n }\n );\n\n this.onCanceledListener = eventEmitter.addListener(\n 'onCanceled',\n (event: { inquiryId?: string; sessionToken?: string }) => {\n if (this.onCanceled)\n this.onCanceled(event.inquiryId, event.sessionToken);\n this.clearListeners();\n }\n );\n\n this.onErrorListener = eventEmitter.addListener(\n 'onError',\n (event: { debugMessage: string }) => {\n if (this.onError) this.onError(new Error(event.debugMessage));\n this.clearListeners();\n }\n );\n\n PersonaInquiry2.startInquiry({\n templateId: this.templateId,\n templateVersion: this.templateVersion,\n inquiryId: this.inquiryId,\n referenceId: this.referenceId,\n accountId: this.accountId,\n environment: this.environment,\n environmentId: this.environmentId,\n sessionToken: this.sessionToken,\n fields: this.fields,\n returnCollectedData: this.returnCollectedData,\n themeSource: this.themeSource,\n iosTheme: processThemeValues(this.iosThemeObject || {}),\n routingCountry: this.routingCountry,\n });\n }\n}\n\nclass InquiryBuilder {\n private _inquiryId: InquiryId;\n private _sessionToken?: string;\n\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n private _iosThemeObject?: Object;\n private _themeSource: ThemeSource = ThemeSource.SERVER;\n private _fields?: Fields;\n private _routingCountry?: string;\n\n constructor(inquiryId: InquiryId) {\n this._inquiryId = inquiryId;\n }\n\n sessionToken(sessionToken: string): InquiryBuilder {\n this._sessionToken = sessionToken;\n\n return this;\n }\n\n onComplete(callback: OnCompleteCallback): InquiryBuilder {\n this._onComplete = callback;\n\n return this;\n }\n\n onCanceled(callback: OnCanceledCallback): InquiryBuilder {\n this._onCanceled = callback;\n\n return this;\n }\n\n onError(callback: OnErrorCallback): InquiryBuilder {\n this._onError = callback;\n\n return this;\n }\n\n /**\n * @deprecated Use iosThemeToUse\n */\n iosTheme(themeObject: Object): InquiryBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = ThemeSource.CLIENT;\n\n return this;\n }\n\n iosThemeToUse(themeObject: Object, themeSource: ThemeSource): InquiryBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = themeSource;\n\n return this;\n }\n\n routingCountry(routingCountry: string): InquiryBuilder {\n this._routingCountry = routingCountry;\n\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n inquiryId: this._inquiryId,\n sessionToken: this._sessionToken,\n onComplete: this._onComplete,\n onCanceled: this._onCanceled,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n themeSource: this._themeSource,\n fields: this._fields,\n routingCountry: this._routingCountry,\n });\n }\n}\n\nclass TemplateBuilder {\n private readonly _templateId?: TemplateId;\n private readonly _templateVersion?: TemplateVersion;\n private _accountId?: AccountId;\n private _referenceId?: string;\n private _environment?: Environment;\n private _environmentId?: string;\n private _fields?: Fields;\n private _sessionToken?: string;\n private _returnCollectedData?: boolean;\n private _routingCountry?: string;\n\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n\n // Customization\n private _iosThemeObject?: Object;\n private _themeSource: ThemeSource = ThemeSource.SERVER;\n\n constructor(\n templateId?: TemplateId | null,\n templateVersion?: TemplateVersion | null\n ) {\n if (templateId != null) {\n this._templateId = templateId;\n } else if (templateVersion != null) {\n this._templateVersion = templateVersion;\n } else {\n throw new InvalidTemplateId(\n `Either templateId or templateVersion needs to be set.`\n );\n }\n return this;\n }\n\n returnCollectedData(returnCollectedData: boolean) {\n this._returnCollectedData = returnCollectedData;\n\n return this;\n }\n\n referenceId(referenceId: string): TemplateBuilder {\n this._accountId = undefined;\n this._referenceId = referenceId;\n\n return this;\n }\n\n accountId(accountId: string): TemplateBuilder {\n this._referenceId = undefined;\n this._accountId = makeAccountId(accountId);\n\n return this;\n }\n\n environment(environment: Environment): TemplateBuilder {\n this._environment = environment;\n\n return this;\n }\n\n environmentId(environmentId: string): TemplateBuilder {\n this._environmentId = environmentId;\n\n return this;\n }\n\n sessionToken(sessionToken: string): TemplateBuilder {\n this._sessionToken = sessionToken;\n\n return this;\n }\n\n fields(fields: Fields): TemplateBuilder {\n this._fields = fields;\n\n return this;\n }\n\n routingCountry(routingCountry: string): TemplateBuilder {\n this._routingCountry = routingCountry;\n\n return this;\n }\n\n onComplete(callback: OnCompleteCallback): TemplateBuilder {\n this._onComplete = callback;\n\n return this;\n }\n\n onCanceled(callback: OnCanceledCallback): TemplateBuilder {\n this._onCanceled = callback;\n\n return this;\n }\n\n onError(callback: OnErrorCallback): TemplateBuilder {\n this._onError = callback;\n\n return this;\n }\n\n /**\n * @deprecated Use iosThemeToUse\n */\n iosTheme(themeObject: Object): TemplateBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = ThemeSource.CLIENT;\n\n return this;\n }\n\n iosThemeToUse(\n themeObject: Object,\n themeSource: ThemeSource\n ): TemplateBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = themeSource;\n\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n templateId: this._templateId,\n templateVersion: this._templateVersion,\n accountId: this._accountId,\n referenceId: this._referenceId,\n environment: this._environment,\n environmentId: this._environmentId,\n sessionToken: this._sessionToken,\n fields: this._fields,\n onComplete: this._onComplete,\n onCanceled: this._onCanceled,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n themeSource: this._themeSource,\n returnCollectedData: this._returnCollectedData,\n routingCountry: this._routingCountry,\n });\n }\n}\n\n/**\n * @deprecated Use the `Inquiry` static methods instead\n */\nnamespace InquiryBuilders {\n /**\n * @deprecated Use {@link Inquiry#fromInquiry} instead\n */\n export function fromInquiry(inquiryId: string) {\n return Inquiry.fromInquiry(inquiryId);\n }\n\n /**\n * @deprecated Use {@link Inquiry#fromTemplate} instead\n */\n export function fromTemplate(templateId: string) {\n return Inquiry.fromTemplate(templateId);\n }\n\n /**\n * @deprecated Use {@link Inquiry#fromTemplateVersion} instead\n */\n export function fromTemplateVersion(templateVersion: string) {\n return Inquiry.fromTemplateVersion(templateVersion);\n }\n}\n\nexport default InquiryBuilders;\n"]}
@@ -57,9 +57,10 @@ export interface InquiryOptions {
57
57
  referenceId?: string;
58
58
  accountId?: AccountId;
59
59
  environment?: Environment;
60
+ environmentId?: string;
60
61
  sessionToken?: string;
61
62
  returnCollectedData?: boolean;
62
- routingCountry?: RoutingCountry;
63
+ routingCountry?: string;
63
64
  fields?: Fields;
64
65
  onComplete?: OnCompleteCallback;
65
66
  onCanceled?: OnCanceledCallback;
@@ -134,13 +135,15 @@ declare type OnCanceledCallback = (inquiryId?: string, sessionToken?: string) =>
134
135
  declare type OnErrorCallback = (error: Error) => void;
135
136
  export declare class Inquiry {
136
137
  templateId?: TemplateId;
138
+ templateVersion?: TemplateVersion;
137
139
  inquiryId?: InquiryId;
138
140
  referenceId?: string;
139
141
  accountId?: AccountId;
140
142
  environment?: Environment;
143
+ environmentId?: string;
141
144
  sessionToken?: string;
142
145
  returnCollectedData?: boolean;
143
- routingCountry?: RoutingCountry;
146
+ routingCountry?: string;
144
147
  iosThemeObject?: Object | null;
145
148
  themeSource?: ThemeSource | null;
146
149
  fields?: Fields | null;
@@ -210,7 +213,7 @@ declare class InquiryBuilder {
210
213
  */
211
214
  iosTheme(themeObject: Object): InquiryBuilder;
212
215
  iosThemeToUse(themeObject: Object, themeSource: ThemeSource): InquiryBuilder;
213
- routingCountry(routingCountry: RoutingCountry): InquiryBuilder;
216
+ routingCountry(routingCountry: string): InquiryBuilder;
214
217
  build(): Inquiry;
215
218
  }
216
219
  declare class TemplateBuilder {
@@ -219,6 +222,7 @@ declare class TemplateBuilder {
219
222
  private _accountId?;
220
223
  private _referenceId?;
221
224
  private _environment?;
225
+ private _environmentId?;
222
226
  private _fields?;
223
227
  private _sessionToken?;
224
228
  private _returnCollectedData?;
@@ -233,9 +237,10 @@ declare class TemplateBuilder {
233
237
  referenceId(referenceId: string): TemplateBuilder;
234
238
  accountId(accountId: string): TemplateBuilder;
235
239
  environment(environment: Environment): TemplateBuilder;
240
+ environmentId(environmentId: string): TemplateBuilder;
236
241
  sessionToken(sessionToken: string): TemplateBuilder;
237
242
  fields(fields: Fields): TemplateBuilder;
238
- routingCountry(routingCountry: RoutingCountry): TemplateBuilder;
243
+ routingCountry(routingCountry: string): TemplateBuilder;
239
244
  onComplete(callback: OnCompleteCallback): TemplateBuilder;
240
245
  onCanceled(callback: OnCanceledCallback): TemplateBuilder;
241
246
  onError(callback: OnErrorCallback): TemplateBuilder;
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.6.0",
4
+ "version": "2.7.0",
5
5
  "description": "Launch a mobile native implementation of the Persona inquiry flow from React Native.",
6
6
  "main": "lib/commonjs/index",
7
7
  "module": "lib/module/index",
package/src/index.ts CHANGED
@@ -39,7 +39,9 @@ export class InvalidAccountId extends Error {}
39
39
  * @param candidate
40
40
  */
41
41
  function makeInquiryId(candidate: string): InquiryId {
42
- if (candidate.startsWith('inq_')) return candidate as InquiryId;
42
+ if (candidate && candidate.startsWith('inq_')) {
43
+ return candidate as InquiryId;
44
+ }
43
45
 
44
46
  throw new InvalidInquiryId(
45
47
  `Valid template IDs start with "inq_". Received: ${candidate} `
@@ -53,7 +55,7 @@ function makeInquiryId(candidate: string): InquiryId {
53
55
  * @param candidate
54
56
  */
55
57
  function makeTemplateId(candidate: string): TemplateId {
56
- if (candidate.startsWith('itmpl_')) {
58
+ if (candidate && candidate.startsWith('itmpl_')) {
57
59
  return candidate as TemplateId;
58
60
  }
59
61
 
@@ -69,7 +71,7 @@ function makeTemplateId(candidate: string): TemplateId {
69
71
  * @param candidate
70
72
  */
71
73
  function makeTemplateVersion(candidate: string): TemplateVersion {
72
- if (candidate.startsWith('itmplv_')) {
74
+ if (candidate && candidate.startsWith('itmplv_')) {
73
75
  return candidate as TemplateVersion;
74
76
  }
75
77
 
@@ -85,7 +87,7 @@ function makeTemplateVersion(candidate: string): TemplateVersion {
85
87
  * @param candidate
86
88
  */
87
89
  function makeAccountId(candidate: string): AccountId {
88
- if (candidate.startsWith('act_')) {
90
+ if (candidate && candidate.startsWith('act_')) {
89
91
  return candidate as AccountId;
90
92
  }
91
93
 
@@ -136,9 +138,10 @@ export interface InquiryOptions {
136
138
  referenceId?: string;
137
139
  accountId?: AccountId;
138
140
  environment?: Environment;
141
+ environmentId?: string;
139
142
  sessionToken?: string;
140
143
  returnCollectedData?: boolean;
141
- routingCountry?: RoutingCountry;
144
+ routingCountry?: string;
142
145
 
143
146
  // Fields
144
147
  fields?: Fields;
@@ -267,13 +270,15 @@ const eventEmitter = new NativeEventEmitter(PersonaInquiry2);
267
270
 
268
271
  export class Inquiry {
269
272
  templateId?: TemplateId;
273
+ templateVersion?: TemplateVersion;
270
274
  inquiryId?: InquiryId;
271
275
  referenceId?: string;
272
276
  accountId?: AccountId;
273
277
  environment?: Environment;
278
+ environmentId?: string;
274
279
  sessionToken?: string;
275
280
  returnCollectedData?: boolean;
276
- routingCountry?: RoutingCountry;
281
+ routingCountry?: string;
277
282
 
278
283
  iosThemeObject?: Object | null;
279
284
  themeSource?: ThemeSource | null;
@@ -289,10 +294,12 @@ export class Inquiry {
289
294
 
290
295
  constructor(options: InquiryOptions) {
291
296
  this.templateId = options.templateId;
297
+ this.templateVersion = options.templateVersion;
292
298
  this.inquiryId = options.inquiryId;
293
299
  this.referenceId = options.referenceId;
294
300
  this.accountId = options.accountId;
295
301
  this.environment = options.environment;
302
+ this.environmentId = options.environmentId;
296
303
  this.sessionToken = options.sessionToken;
297
304
  this.fields = options.fields;
298
305
  this.returnCollectedData = options.returnCollectedData;
@@ -460,10 +467,12 @@ export class Inquiry {
460
467
 
461
468
  PersonaInquiry2.startInquiry({
462
469
  templateId: this.templateId,
470
+ templateVersion: this.templateVersion,
463
471
  inquiryId: this.inquiryId,
464
472
  referenceId: this.referenceId,
465
473
  accountId: this.accountId,
466
474
  environment: this.environment,
475
+ environmentId: this.environmentId,
467
476
  sessionToken: this.sessionToken,
468
477
  fields: this.fields,
469
478
  returnCollectedData: this.returnCollectedData,
@@ -485,7 +494,7 @@ class InquiryBuilder {
485
494
  private _iosThemeObject?: Object;
486
495
  private _themeSource: ThemeSource = ThemeSource.SERVER;
487
496
  private _fields?: Fields;
488
- private _routingCountry?: RoutingCountry;
497
+ private _routingCountry?: string;
489
498
 
490
499
  constructor(inquiryId: InquiryId) {
491
500
  this._inquiryId = inquiryId;
@@ -532,7 +541,7 @@ class InquiryBuilder {
532
541
  return this;
533
542
  }
534
543
 
535
- routingCountry(routingCountry: RoutingCountry): InquiryBuilder {
544
+ routingCountry(routingCountry: string): InquiryBuilder {
536
545
  this._routingCountry = routingCountry;
537
546
 
538
547
  return this;
@@ -559,10 +568,11 @@ class TemplateBuilder {
559
568
  private _accountId?: AccountId;
560
569
  private _referenceId?: string;
561
570
  private _environment?: Environment;
571
+ private _environmentId?: string;
562
572
  private _fields?: Fields;
563
573
  private _sessionToken?: string;
564
574
  private _returnCollectedData?: boolean;
565
- private _routingCountry?: RoutingCountry;
575
+ private _routingCountry?: string;
566
576
 
567
577
  // Callbacks
568
578
  private _onComplete?: OnCompleteCallback;
@@ -615,6 +625,12 @@ class TemplateBuilder {
615
625
  return this;
616
626
  }
617
627
 
628
+ environmentId(environmentId: string): TemplateBuilder {
629
+ this._environmentId = environmentId;
630
+
631
+ return this;
632
+ }
633
+
618
634
  sessionToken(sessionToken: string): TemplateBuilder {
619
635
  this._sessionToken = sessionToken;
620
636
 
@@ -627,7 +643,7 @@ class TemplateBuilder {
627
643
  return this;
628
644
  }
629
645
 
630
- routingCountry(routingCountry: RoutingCountry): TemplateBuilder {
646
+ routingCountry(routingCountry: string): TemplateBuilder {
631
647
  this._routingCountry = routingCountry;
632
648
 
633
649
  return this;
@@ -678,6 +694,7 @@ class TemplateBuilder {
678
694
  accountId: this._accountId,
679
695
  referenceId: this._referenceId,
680
696
  environment: this._environment,
697
+ environmentId: this._environmentId,
681
698
  sessionToken: this._sessionToken,
682
699
  fields: this._fields,
683
700
  onComplete: this._onComplete,