react-native-persona 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +5 -2
- package/RNPersonaInquiry2.podspec +1 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/withpersona/sdk2/reactnative/PersonaInquiryModule2.java +9 -2
- package/ios/PersonaInquiry2.swift +4 -3
- package/lib/commonjs/index.js +45 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +42 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/index.d.ts +23 -0
- package/package.json +1 -1
- package/src/index.ts +42 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,20 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
## Unreleased
|
|
9
9
|
|
|
10
|
+
## [v2.4.0] - 2023-02-24
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Upgrade to iOS Inquiry SDK 2.7.0
|
|
15
|
+
- Upgrade to Android Inquiry SDK 2.4.0
|
|
16
|
+
- Deprecated the iosTheme(themeObject: Object) functions. The iosThemeToUse(themeObject: Object, themeSource: ThemeSource)
|
|
17
|
+
functions should be used instead. Pass in a themeSource of ThemeSource.SERVER to use theming set in the Persona Dashboard.
|
|
18
|
+
Pass in ThemeSource.CLIENT to keep current behavior that uses the client. Note that ThemeSource.CLIENT is also marked
|
|
19
|
+
as deprecated. Also note that the Android theme source will be derived from this ThemeSource as well. If iosTheme is
|
|
20
|
+
called instead of iosThemeToUse, ThemeSource.Client will be used. If neither iosThemeToUse nor iosTheme is called,
|
|
21
|
+
ThemeSource.SERVER will be used by default. The themeObject can still be used to control certain properties
|
|
22
|
+
like the initial loading icon even when the theme source is set to ThemeSource.SERVER.
|
|
23
|
+
|
|
10
24
|
## [v2.3.0] - 2023-02-16
|
|
11
25
|
|
|
12
26
|
### Added
|
package/README.md
CHANGED
|
@@ -85,9 +85,12 @@ Inquiry.fromTemplate('itmpl_Ygs16MKTkA6obnF8C3Rb17dm')
|
|
|
85
85
|
|
|
86
86
|
### Theming
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
Set your own colors, buttons, fonts, and more. This can be done via the Persona Dashboard. For more information on using the theme editor, see our [help article](https://support.withpersona.com/hc/en-us/articles/13775762246547-Tutorial-Configure-a-Theme-with-Inquiry-Template-Editor).
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
|
|
91
|
+
Note that the following instructions are for deprecated client side theming only.
|
|
92
|
+
|
|
93
|
+
To test legacy client side themes, use the example app:
|
|
91
94
|
|
|
92
95
|
```
|
|
93
96
|
cd example
|
package/android/build.gradle
CHANGED
|
@@ -15,6 +15,7 @@ import com.facebook.react.bridge.ReadableMap;
|
|
|
15
15
|
import com.facebook.react.bridge.WritableArray;
|
|
16
16
|
import com.facebook.react.bridge.WritableMap;
|
|
17
17
|
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
18
|
+
import com.withpersona.sdk2.inquiry.ClientThemeSource;
|
|
18
19
|
import com.withpersona.sdk2.inquiry.Environment;
|
|
19
20
|
import com.withpersona.sdk2.inquiry.Fields;
|
|
20
21
|
import com.withpersona.sdk2.inquiry.Inquiry;
|
|
@@ -22,6 +23,7 @@ import com.withpersona.sdk2.inquiry.InquiryBuilder;
|
|
|
22
23
|
import com.withpersona.sdk2.inquiry.InquiryField;
|
|
23
24
|
import com.withpersona.sdk2.inquiry.InquiryResponse;
|
|
24
25
|
import com.withpersona.sdk2.inquiry.InquiryTemplateBuilder;
|
|
26
|
+
import com.withpersona.sdk2.inquiry.ServerThemeSource;
|
|
25
27
|
import com.withpersona.sdk2.inquiry.types.collected_data.CollectedData;
|
|
26
28
|
import com.withpersona.sdk2.inquiry.types.collected_data.DocumentFile;
|
|
27
29
|
import com.withpersona.sdk2.inquiry.types.collected_data.GovernmentIdCapture;
|
|
@@ -48,6 +50,7 @@ public class PersonaInquiryModule2 extends ReactContextBaseJavaModule
|
|
|
48
50
|
private static final String FIELDS = "fields";
|
|
49
51
|
private static final String FIELD_ADDITIONAL_FIELDS = "additionalFields";
|
|
50
52
|
private static final String RETURN_COLLECTED_DATA = "returnCollectedData";
|
|
53
|
+
private static final String THEME_SOURCE = "themeSource";
|
|
51
54
|
|
|
52
55
|
private final ReactApplicationContext reactContext;
|
|
53
56
|
|
|
@@ -286,7 +289,9 @@ public class PersonaInquiryModule2 extends ReactContextBaseJavaModule
|
|
|
286
289
|
if (inquiryId != null) {
|
|
287
290
|
InquiryBuilder builder = Inquiry.fromInquiry(inquiryId);
|
|
288
291
|
|
|
289
|
-
|
|
292
|
+
String themeSource = options.hasKey(THEME_SOURCE) ? options.getString(THEME_SOURCE) : null;
|
|
293
|
+
builder = builder.theme(themeSource != null && themeSource.equals("server") ?
|
|
294
|
+
new ServerThemeSource(R.style.Persona_Inquiry2_Theme) : new ClientThemeSource(R.style.Persona_Inquiry2_Theme));
|
|
290
295
|
|
|
291
296
|
String sessionToken = options.hasKey(ACCESS_TOKEN) ? options.getString(ACCESS_TOKEN) : null;
|
|
292
297
|
if (sessionToken != null) {
|
|
@@ -301,7 +306,9 @@ public class PersonaInquiryModule2 extends ReactContextBaseJavaModule
|
|
|
301
306
|
if (templateId != null) {
|
|
302
307
|
InquiryTemplateBuilder builder = Inquiry.fromTemplate(templateId);
|
|
303
308
|
|
|
304
|
-
|
|
309
|
+
String themeSource = options.hasKey(THEME_SOURCE) ? options.getString(THEME_SOURCE) : null;
|
|
310
|
+
builder = builder.theme(themeSource != null && themeSource.equals("server") ?
|
|
311
|
+
new ServerThemeSource(R.style.Persona_Inquiry2_Theme) : new ClientThemeSource(R.style.Persona_Inquiry2_Theme));
|
|
305
312
|
|
|
306
313
|
String referenceId = options.hasKey(REFERENCE_ID) ? options.getString(REFERENCE_ID) : null;
|
|
307
314
|
if (referenceId != null) {
|
|
@@ -41,6 +41,7 @@ class PersonaInquiry2: RCTEventEmitter {
|
|
|
41
41
|
let environment = options["environment"] as? String
|
|
42
42
|
let sessionToken = options["sessionToken"] as? String
|
|
43
43
|
let themeObject = options["iosTheme"] as? [String: String]
|
|
44
|
+
let themeSource = options["themeSource"] as? String
|
|
44
45
|
let fieldsObject = options["fields"] as? [String: [String: Any]]
|
|
45
46
|
let returnCollectedData = options["returnCollectedData"] as? Bool ?? false
|
|
46
47
|
|
|
@@ -53,7 +54,7 @@ class PersonaInquiry2: RCTEventEmitter {
|
|
|
53
54
|
accountId: accountId,
|
|
54
55
|
environment: Environment.from(rawValue: environment),
|
|
55
56
|
fields: fieldsFrom(fieldsObject),
|
|
56
|
-
theme:
|
|
57
|
+
theme: makeTheme(from: themeObject, themeSource: themeSource),
|
|
57
58
|
nfcAdapter: nil,
|
|
58
59
|
collectionDelegate: returnCollectedData ? self : nil
|
|
59
60
|
) else {
|
|
@@ -230,12 +231,12 @@ extension PersonaInquiry2 {
|
|
|
230
231
|
}
|
|
231
232
|
|
|
232
233
|
/// Converts a dictionary into a theme
|
|
233
|
-
private func
|
|
234
|
+
private func makeTheme(from dictionary: [String: String]? = nil, themeSource: String? = nil) -> InquiryTheme? {
|
|
234
235
|
guard let dictionary = dictionary else {
|
|
235
236
|
return nil
|
|
236
237
|
}
|
|
237
238
|
|
|
238
|
-
var theme = InquiryTheme()
|
|
239
|
+
var theme = InquiryTheme(themeSource: themeSource == "server" ? .server : .client)
|
|
239
240
|
|
|
240
241
|
if let color = color(from: dictionary["backgroundColor"]) {
|
|
241
242
|
theme.backgroundColor = color
|
package/lib/commonjs/index.js
CHANGED
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "Fields", {
|
|
|
10
10
|
return _fields.Fields;
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
|
-
exports.UiStepData = exports.SelfieStepData = exports.SelfieCaptureMethod = exports.InvalidTemplateVersion = exports.InvalidTemplateId = exports.InvalidInquiryId = exports.InvalidAccountId = exports.Inquiry = exports.GovernmentIdStepData = exports.GovernmentIdCaptureSide = exports.GovernmentIdCaptureMethod = void 0;
|
|
13
|
+
exports.UiStepData = exports.ThemeSource = exports.SelfieStepData = exports.SelfieCaptureMethod = exports.InvalidTemplateVersion = exports.InvalidTemplateId = exports.InvalidInquiryId = exports.InvalidAccountId = exports.Inquiry = exports.GovernmentIdStepData = exports.GovernmentIdCaptureSide = exports.GovernmentIdCaptureMethod = void 0;
|
|
14
14
|
Object.defineProperty(exports, "Versions", {
|
|
15
15
|
enumerable: true,
|
|
16
16
|
get: function () {
|
|
@@ -113,6 +113,10 @@ function makeAccountId(candidate) {
|
|
|
113
113
|
|
|
114
114
|
|
|
115
115
|
let Environment;
|
|
116
|
+
/**
|
|
117
|
+
* An enum value which determines whether this sdk should use the theme values sent from the server.
|
|
118
|
+
*/
|
|
119
|
+
|
|
116
120
|
exports.Environment = Environment;
|
|
117
121
|
|
|
118
122
|
(function (Environment) {
|
|
@@ -120,6 +124,14 @@ exports.Environment = Environment;
|
|
|
120
124
|
Environment["PRODUCTION"] = "production";
|
|
121
125
|
})(Environment || (exports.Environment = Environment = {}));
|
|
122
126
|
|
|
127
|
+
let ThemeSource;
|
|
128
|
+
exports.ThemeSource = ThemeSource;
|
|
129
|
+
|
|
130
|
+
(function (ThemeSource) {
|
|
131
|
+
ThemeSource["SERVER"] = "server";
|
|
132
|
+
ThemeSource["CLIENT"] = "client";
|
|
133
|
+
})(ThemeSource || (exports.ThemeSource = ThemeSource = {}));
|
|
134
|
+
|
|
123
135
|
class DocumentStepData {
|
|
124
136
|
constructor() {
|
|
125
137
|
_defineProperty(this, "stepName", void 0);
|
|
@@ -224,6 +236,8 @@ class Inquiry {
|
|
|
224
236
|
|
|
225
237
|
_defineProperty(this, "iosThemeObject", void 0);
|
|
226
238
|
|
|
239
|
+
_defineProperty(this, "themeSource", void 0);
|
|
240
|
+
|
|
227
241
|
_defineProperty(this, "fields", void 0);
|
|
228
242
|
|
|
229
243
|
_defineProperty(this, "onComplete", void 0);
|
|
@@ -252,6 +266,7 @@ class Inquiry {
|
|
|
252
266
|
this.onError = options.onError; // Theme object
|
|
253
267
|
|
|
254
268
|
this.iosThemeObject = options.iosThemeObject;
|
|
269
|
+
this.themeSource = options.themeSource;
|
|
255
270
|
}
|
|
256
271
|
|
|
257
272
|
clearListeners() {
|
|
@@ -400,6 +415,7 @@ class Inquiry {
|
|
|
400
415
|
sessionToken: this.sessionToken,
|
|
401
416
|
fields: this.fields,
|
|
402
417
|
returnCollectedData: this.returnCollectedData,
|
|
418
|
+
themeSource: this.themeSource,
|
|
403
419
|
iosTheme: (0, _util.processThemeValues)(this.iosThemeObject || {})
|
|
404
420
|
});
|
|
405
421
|
}
|
|
@@ -423,6 +439,8 @@ class InquiryBuilder {
|
|
|
423
439
|
|
|
424
440
|
_defineProperty(this, "_iosThemeObject", void 0);
|
|
425
441
|
|
|
442
|
+
_defineProperty(this, "_themeSource", ThemeSource.SERVER);
|
|
443
|
+
|
|
426
444
|
_defineProperty(this, "_fields", void 0);
|
|
427
445
|
|
|
428
446
|
this._inquiryId = inquiryId;
|
|
@@ -447,9 +465,20 @@ class InquiryBuilder {
|
|
|
447
465
|
this._onError = callback;
|
|
448
466
|
return this;
|
|
449
467
|
}
|
|
468
|
+
/**
|
|
469
|
+
* @deprecated Use iosThemeToUse
|
|
470
|
+
*/
|
|
471
|
+
|
|
450
472
|
|
|
451
473
|
iosTheme(themeObject) {
|
|
452
474
|
this._iosThemeObject = themeObject;
|
|
475
|
+
this._themeSource = ThemeSource.CLIENT;
|
|
476
|
+
return this;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
iosThemeToUse(themeObject, themeSource) {
|
|
480
|
+
this._iosThemeObject = themeObject;
|
|
481
|
+
this._themeSource = themeSource;
|
|
453
482
|
return this;
|
|
454
483
|
}
|
|
455
484
|
|
|
@@ -461,6 +490,7 @@ class InquiryBuilder {
|
|
|
461
490
|
onCanceled: this._onCanceled,
|
|
462
491
|
onError: this._onError,
|
|
463
492
|
iosThemeObject: this._iosThemeObject,
|
|
493
|
+
themeSource: this._themeSource,
|
|
464
494
|
fields: this._fields
|
|
465
495
|
});
|
|
466
496
|
}
|
|
@@ -495,6 +525,8 @@ class TemplateBuilder {
|
|
|
495
525
|
|
|
496
526
|
_defineProperty(this, "_iosThemeObject", void 0);
|
|
497
527
|
|
|
528
|
+
_defineProperty(this, "_themeSource", ThemeSource.SERVER);
|
|
529
|
+
|
|
498
530
|
if (templateId != null) {
|
|
499
531
|
this._templateId = templateId;
|
|
500
532
|
} else if (templateVersion != null) {
|
|
@@ -552,9 +584,20 @@ class TemplateBuilder {
|
|
|
552
584
|
this._onError = callback;
|
|
553
585
|
return this;
|
|
554
586
|
}
|
|
587
|
+
/**
|
|
588
|
+
* @deprecated Use iosThemeToUse
|
|
589
|
+
*/
|
|
590
|
+
|
|
555
591
|
|
|
556
592
|
iosTheme(themeObject) {
|
|
557
593
|
this._iosThemeObject = themeObject;
|
|
594
|
+
this._themeSource = ThemeSource.CLIENT;
|
|
595
|
+
return this;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
iosThemeToUse(themeObject, themeSource) {
|
|
599
|
+
this._iosThemeObject = themeObject;
|
|
600
|
+
this._themeSource = themeSource;
|
|
558
601
|
return this;
|
|
559
602
|
}
|
|
560
603
|
|
|
@@ -571,6 +614,7 @@ class TemplateBuilder {
|
|
|
571
614
|
onCanceled: this._onCanceled,
|
|
572
615
|
onError: this._onError,
|
|
573
616
|
iosThemeObject: this._iosThemeObject,
|
|
617
|
+
themeSource: this._themeSource,
|
|
574
618
|
returnCollectedData: this._returnCollectedData
|
|
575
619
|
});
|
|
576
620
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["PersonaInquiry2","NativeModules","InvalidTemplateId","Error","InvalidTemplateVersion","InvalidInquiryId","InvalidAccountId","makeInquiryId","candidate","startsWith","makeTemplateId","makeTemplateVersion","makeAccountId","Environment","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","onComplete","onCanceled","onError","iosThemeObject","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","_inquiryId","_sessionToken","callback","_onComplete","_onCanceled","_onError","themeObject","_iosThemeObject","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\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\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}\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\n iosThemeObject?: Object | 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\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 }\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(Object.assign(new DocumentStepData(), stepDatum))\n break;\n case 'GovernmentIdStepData':\n translatedStepData.push(Object.assign(new GovernmentIdStepData(), stepDatum))\n break;\n case 'SelfieStepData':\n translatedStepData.push(Object.assign(new SelfieStepData(), stepDatum))\n break;\n case 'UiStepData':\n translatedStepData.push(Object.assign(new UiStepData(), stepDatum))\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData\n }\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData\n }\n\n 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 iosTheme: processThemeValues(this.iosThemeObject || {}),\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 _fields?: Fields;\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 iosTheme(themeObject: Object): InquiryBuilder {\n this._iosThemeObject = themeObject;\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 fields: this._fields,\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\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n\n // Customization\n private _iosThemeObject?: Object;\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 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 iosTheme(themeObject: Object): TemplateBuilder {\n this._iosThemeObject = themeObject;\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 returnCollectedData: this._returnCollectedData,\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","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","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","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\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\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\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\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(Object.assign(new DocumentStepData(), stepDatum))\n break;\n case 'GovernmentIdStepData':\n translatedStepData.push(Object.assign(new GovernmentIdStepData(), stepDatum))\n break;\n case 'SelfieStepData':\n translatedStepData.push(Object.assign(new SelfieStepData(), stepDatum))\n break;\n case 'UiStepData':\n translatedStepData.push(Object.assign(new UiStepData(), stepDatum))\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData\n }\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData\n }\n\n 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 });\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\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 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 });\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\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 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(themeObject: Object, themeSource: ThemeSource): 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 });\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"]}
|
package/lib/module/index.js
CHANGED
|
@@ -78,12 +78,22 @@ function makeAccountId(candidate) {
|
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
export let Environment;
|
|
81
|
+
/**
|
|
82
|
+
* An enum value which determines whether this sdk should use the theme values sent from the server.
|
|
83
|
+
*/
|
|
81
84
|
|
|
82
85
|
(function (Environment) {
|
|
83
86
|
Environment["SANDBOX"] = "sandbox";
|
|
84
87
|
Environment["PRODUCTION"] = "production";
|
|
85
88
|
})(Environment || (Environment = {}));
|
|
86
89
|
|
|
90
|
+
export let ThemeSource;
|
|
91
|
+
|
|
92
|
+
(function (ThemeSource) {
|
|
93
|
+
ThemeSource["SERVER"] = "server";
|
|
94
|
+
ThemeSource["CLIENT"] = "client";
|
|
95
|
+
})(ThemeSource || (ThemeSource = {}));
|
|
96
|
+
|
|
87
97
|
export class DocumentStepData {
|
|
88
98
|
constructor() {
|
|
89
99
|
_defineProperty(this, "stepName", void 0);
|
|
@@ -175,6 +185,8 @@ export class Inquiry {
|
|
|
175
185
|
|
|
176
186
|
_defineProperty(this, "iosThemeObject", void 0);
|
|
177
187
|
|
|
188
|
+
_defineProperty(this, "themeSource", void 0);
|
|
189
|
+
|
|
178
190
|
_defineProperty(this, "fields", void 0);
|
|
179
191
|
|
|
180
192
|
_defineProperty(this, "onComplete", void 0);
|
|
@@ -203,6 +215,7 @@ export class Inquiry {
|
|
|
203
215
|
this.onError = options.onError; // Theme object
|
|
204
216
|
|
|
205
217
|
this.iosThemeObject = options.iosThemeObject;
|
|
218
|
+
this.themeSource = options.themeSource;
|
|
206
219
|
}
|
|
207
220
|
|
|
208
221
|
clearListeners() {
|
|
@@ -351,6 +364,7 @@ export class Inquiry {
|
|
|
351
364
|
sessionToken: this.sessionToken,
|
|
352
365
|
fields: this.fields,
|
|
353
366
|
returnCollectedData: this.returnCollectedData,
|
|
367
|
+
themeSource: this.themeSource,
|
|
354
368
|
iosTheme: processThemeValues(this.iosThemeObject || {})
|
|
355
369
|
});
|
|
356
370
|
}
|
|
@@ -372,6 +386,8 @@ class InquiryBuilder {
|
|
|
372
386
|
|
|
373
387
|
_defineProperty(this, "_iosThemeObject", void 0);
|
|
374
388
|
|
|
389
|
+
_defineProperty(this, "_themeSource", ThemeSource.SERVER);
|
|
390
|
+
|
|
375
391
|
_defineProperty(this, "_fields", void 0);
|
|
376
392
|
|
|
377
393
|
this._inquiryId = inquiryId;
|
|
@@ -396,9 +412,20 @@ class InquiryBuilder {
|
|
|
396
412
|
this._onError = callback;
|
|
397
413
|
return this;
|
|
398
414
|
}
|
|
415
|
+
/**
|
|
416
|
+
* @deprecated Use iosThemeToUse
|
|
417
|
+
*/
|
|
418
|
+
|
|
399
419
|
|
|
400
420
|
iosTheme(themeObject) {
|
|
401
421
|
this._iosThemeObject = themeObject;
|
|
422
|
+
this._themeSource = ThemeSource.CLIENT;
|
|
423
|
+
return this;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
iosThemeToUse(themeObject, themeSource) {
|
|
427
|
+
this._iosThemeObject = themeObject;
|
|
428
|
+
this._themeSource = themeSource;
|
|
402
429
|
return this;
|
|
403
430
|
}
|
|
404
431
|
|
|
@@ -410,6 +437,7 @@ class InquiryBuilder {
|
|
|
410
437
|
onCanceled: this._onCanceled,
|
|
411
438
|
onError: this._onError,
|
|
412
439
|
iosThemeObject: this._iosThemeObject,
|
|
440
|
+
themeSource: this._themeSource,
|
|
413
441
|
fields: this._fields
|
|
414
442
|
});
|
|
415
443
|
}
|
|
@@ -444,6 +472,8 @@ class TemplateBuilder {
|
|
|
444
472
|
|
|
445
473
|
_defineProperty(this, "_iosThemeObject", void 0);
|
|
446
474
|
|
|
475
|
+
_defineProperty(this, "_themeSource", ThemeSource.SERVER);
|
|
476
|
+
|
|
447
477
|
if (templateId != null) {
|
|
448
478
|
this._templateId = templateId;
|
|
449
479
|
} else if (templateVersion != null) {
|
|
@@ -501,9 +531,20 @@ class TemplateBuilder {
|
|
|
501
531
|
this._onError = callback;
|
|
502
532
|
return this;
|
|
503
533
|
}
|
|
534
|
+
/**
|
|
535
|
+
* @deprecated Use iosThemeToUse
|
|
536
|
+
*/
|
|
537
|
+
|
|
504
538
|
|
|
505
539
|
iosTheme(themeObject) {
|
|
506
540
|
this._iosThemeObject = themeObject;
|
|
541
|
+
this._themeSource = ThemeSource.CLIENT;
|
|
542
|
+
return this;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
iosThemeToUse(themeObject, themeSource) {
|
|
546
|
+
this._iosThemeObject = themeObject;
|
|
547
|
+
this._themeSource = themeSource;
|
|
507
548
|
return this;
|
|
508
549
|
}
|
|
509
550
|
|
|
@@ -520,6 +561,7 @@ class TemplateBuilder {
|
|
|
520
561
|
onCanceled: this._onCanceled,
|
|
521
562
|
onError: this._onError,
|
|
522
563
|
iosThemeObject: this._iosThemeObject,
|
|
564
|
+
themeSource: this._themeSource,
|
|
523
565
|
returnCollectedData: this._returnCollectedData
|
|
524
566
|
});
|
|
525
567
|
}
|
package/lib/module/index.js.map
CHANGED
|
@@ -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","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","onComplete","onCanceled","onError","iosThemeObject","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","_inquiryId","_sessionToken","callback","_onComplete","_onCanceled","_onError","themeObject","_iosThemeObject","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\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\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}\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\n iosThemeObject?: Object | 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\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 }\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(Object.assign(new DocumentStepData(), stepDatum))\n break;\n case 'GovernmentIdStepData':\n translatedStepData.push(Object.assign(new GovernmentIdStepData(), stepDatum))\n break;\n case 'SelfieStepData':\n translatedStepData.push(Object.assign(new SelfieStepData(), stepDatum))\n break;\n case 'UiStepData':\n translatedStepData.push(Object.assign(new UiStepData(), stepDatum))\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData\n }\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData\n }\n\n 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 iosTheme: processThemeValues(this.iosThemeObject || {}),\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 _fields?: Fields;\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 iosTheme(themeObject: Object): InquiryBuilder {\n this._iosThemeObject = themeObject;\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 fields: this._fields,\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\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n\n // Customization\n private _iosThemeObject?: Object;\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 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 iosTheme(themeObject: Object): TemplateBuilder {\n this._iosThemeObject = themeObject;\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 returnCollectedData: this._returnCollectedData,\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","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","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","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\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\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\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\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(Object.assign(new DocumentStepData(), stepDatum))\n break;\n case 'GovernmentIdStepData':\n translatedStepData.push(Object.assign(new GovernmentIdStepData(), stepDatum))\n break;\n case 'SelfieStepData':\n translatedStepData.push(Object.assign(new SelfieStepData(), stepDatum))\n break;\n case 'UiStepData':\n translatedStepData.push(Object.assign(new UiStepData(), stepDatum))\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData\n }\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData\n }\n\n 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 });\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\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 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 });\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\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 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(themeObject: Object, themeSource: ThemeSource): 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 });\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"]}
|
|
@@ -26,6 +26,17 @@ export declare enum Environment {
|
|
|
26
26
|
SANDBOX = "sandbox",
|
|
27
27
|
PRODUCTION = "production"
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* An enum value which determines whether this sdk should use the theme values sent from the server.
|
|
31
|
+
*/
|
|
32
|
+
export declare enum ThemeSource {
|
|
33
|
+
SERVER = "server",
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated Client side theming is deprecated, please configure your theme inside
|
|
36
|
+
* the Persona Dashboard and use SERVER as the theme source.
|
|
37
|
+
*/
|
|
38
|
+
CLIENT = "client"
|
|
39
|
+
}
|
|
29
40
|
export interface InquiryOptions {
|
|
30
41
|
templateId?: TemplateId;
|
|
31
42
|
templateVersion?: TemplateVersion;
|
|
@@ -40,6 +51,7 @@ export interface InquiryOptions {
|
|
|
40
51
|
onCanceled?: OnCanceledCallback;
|
|
41
52
|
onError?: OnErrorCallback;
|
|
42
53
|
iosThemeObject?: Object | null;
|
|
54
|
+
themeSource?: ThemeSource | null;
|
|
43
55
|
}
|
|
44
56
|
declare type OnCompleteCallback = (inquiryId: string, status: string, fields: Fields, extraData: ExtraData) => void;
|
|
45
57
|
export interface ExtraData {
|
|
@@ -115,6 +127,7 @@ export declare class Inquiry {
|
|
|
115
127
|
sessionToken?: string;
|
|
116
128
|
returnCollectedData?: boolean;
|
|
117
129
|
iosThemeObject?: Object | null;
|
|
130
|
+
themeSource?: ThemeSource | null;
|
|
118
131
|
fields?: Fields | null;
|
|
119
132
|
private readonly onComplete?;
|
|
120
133
|
private readonly onCanceled?;
|
|
@@ -169,13 +182,18 @@ declare class InquiryBuilder {
|
|
|
169
182
|
private _onCanceled?;
|
|
170
183
|
private _onError?;
|
|
171
184
|
private _iosThemeObject?;
|
|
185
|
+
private _themeSource;
|
|
172
186
|
private _fields?;
|
|
173
187
|
constructor(inquiryId: InquiryId);
|
|
174
188
|
sessionToken(sessionToken: string): InquiryBuilder;
|
|
175
189
|
onComplete(callback: OnCompleteCallback): InquiryBuilder;
|
|
176
190
|
onCanceled(callback: OnCanceledCallback): InquiryBuilder;
|
|
177
191
|
onError(callback: OnErrorCallback): InquiryBuilder;
|
|
192
|
+
/**
|
|
193
|
+
* @deprecated Use iosThemeToUse
|
|
194
|
+
*/
|
|
178
195
|
iosTheme(themeObject: Object): InquiryBuilder;
|
|
196
|
+
iosThemeToUse(themeObject: Object, themeSource: ThemeSource): InquiryBuilder;
|
|
179
197
|
build(): Inquiry;
|
|
180
198
|
}
|
|
181
199
|
declare class TemplateBuilder {
|
|
@@ -191,6 +209,7 @@ declare class TemplateBuilder {
|
|
|
191
209
|
private _onCanceled?;
|
|
192
210
|
private _onError?;
|
|
193
211
|
private _iosThemeObject?;
|
|
212
|
+
private _themeSource;
|
|
194
213
|
constructor(templateId?: TemplateId | null, templateVersion?: TemplateVersion | null);
|
|
195
214
|
returnCollectedData(returnCollectedData: boolean): this;
|
|
196
215
|
referenceId(referenceId: string): TemplateBuilder;
|
|
@@ -201,7 +220,11 @@ declare class TemplateBuilder {
|
|
|
201
220
|
onComplete(callback: OnCompleteCallback): TemplateBuilder;
|
|
202
221
|
onCanceled(callback: OnCanceledCallback): TemplateBuilder;
|
|
203
222
|
onError(callback: OnErrorCallback): TemplateBuilder;
|
|
223
|
+
/**
|
|
224
|
+
* @deprecated Use iosThemeToUse
|
|
225
|
+
*/
|
|
204
226
|
iosTheme(themeObject: Object): TemplateBuilder;
|
|
227
|
+
iosThemeToUse(themeObject: Object, themeSource: ThemeSource): TemplateBuilder;
|
|
205
228
|
build(): Inquiry;
|
|
206
229
|
}
|
|
207
230
|
/**
|
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.
|
|
4
|
+
"version": "2.4.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
|
@@ -103,6 +103,18 @@ export enum Environment {
|
|
|
103
103
|
PRODUCTION = 'production',
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
+
/**
|
|
107
|
+
* An enum value which determines whether this sdk should use the theme values sent from the server.
|
|
108
|
+
*/
|
|
109
|
+
export enum ThemeSource {
|
|
110
|
+
SERVER = 'server',
|
|
111
|
+
/**
|
|
112
|
+
* @deprecated Client side theming is deprecated, please configure your theme inside
|
|
113
|
+
* the Persona Dashboard and use SERVER as the theme source.
|
|
114
|
+
*/
|
|
115
|
+
CLIENT = 'client',
|
|
116
|
+
}
|
|
117
|
+
|
|
106
118
|
export interface InquiryOptions {
|
|
107
119
|
templateId?: TemplateId;
|
|
108
120
|
templateVersion?: TemplateVersion;
|
|
@@ -123,6 +135,7 @@ export interface InquiryOptions {
|
|
|
123
135
|
|
|
124
136
|
// Customization
|
|
125
137
|
iosThemeObject?: Object | null;
|
|
138
|
+
themeSource?: ThemeSource | null;
|
|
126
139
|
}
|
|
127
140
|
|
|
128
141
|
type OnCompleteCallback = (
|
|
@@ -247,6 +260,7 @@ export class Inquiry {
|
|
|
247
260
|
returnCollectedData?: boolean;
|
|
248
261
|
|
|
249
262
|
iosThemeObject?: Object | null;
|
|
263
|
+
themeSource?: ThemeSource | null;
|
|
250
264
|
fields?: Fields | null;
|
|
251
265
|
|
|
252
266
|
private readonly onComplete?: OnCompleteCallback;
|
|
@@ -274,6 +288,7 @@ export class Inquiry {
|
|
|
274
288
|
|
|
275
289
|
// Theme object
|
|
276
290
|
this.iosThemeObject = options.iosThemeObject;
|
|
291
|
+
this.themeSource = options.themeSource;
|
|
277
292
|
}
|
|
278
293
|
|
|
279
294
|
private clearListeners() {
|
|
@@ -427,6 +442,7 @@ export class Inquiry {
|
|
|
427
442
|
sessionToken: this.sessionToken,
|
|
428
443
|
fields: this.fields,
|
|
429
444
|
returnCollectedData: this.returnCollectedData,
|
|
445
|
+
themeSource: this.themeSource,
|
|
430
446
|
iosTheme: processThemeValues(this.iosThemeObject || {}),
|
|
431
447
|
});
|
|
432
448
|
}
|
|
@@ -441,6 +457,7 @@ class InquiryBuilder {
|
|
|
441
457
|
private _onCanceled?: OnCanceledCallback;
|
|
442
458
|
private _onError?: OnErrorCallback;
|
|
443
459
|
private _iosThemeObject?: Object;
|
|
460
|
+
private _themeSource: ThemeSource = ThemeSource.SERVER;
|
|
444
461
|
private _fields?: Fields;
|
|
445
462
|
|
|
446
463
|
constructor(inquiryId: InquiryId) {
|
|
@@ -471,8 +488,19 @@ class InquiryBuilder {
|
|
|
471
488
|
return this;
|
|
472
489
|
}
|
|
473
490
|
|
|
491
|
+
/**
|
|
492
|
+
* @deprecated Use iosThemeToUse
|
|
493
|
+
*/
|
|
474
494
|
iosTheme(themeObject: Object): InquiryBuilder {
|
|
475
495
|
this._iosThemeObject = themeObject;
|
|
496
|
+
this._themeSource = ThemeSource.CLIENT;
|
|
497
|
+
|
|
498
|
+
return this;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
iosThemeToUse(themeObject: Object, themeSource: ThemeSource): InquiryBuilder {
|
|
502
|
+
this._iosThemeObject = themeObject;
|
|
503
|
+
this._themeSource = themeSource;
|
|
476
504
|
|
|
477
505
|
return this;
|
|
478
506
|
}
|
|
@@ -485,6 +513,7 @@ class InquiryBuilder {
|
|
|
485
513
|
onCanceled: this._onCanceled,
|
|
486
514
|
onError: this._onError,
|
|
487
515
|
iosThemeObject: this._iosThemeObject,
|
|
516
|
+
themeSource: this._themeSource,
|
|
488
517
|
fields: this._fields,
|
|
489
518
|
});
|
|
490
519
|
}
|
|
@@ -507,6 +536,7 @@ class TemplateBuilder {
|
|
|
507
536
|
|
|
508
537
|
// Customization
|
|
509
538
|
private _iosThemeObject?: Object;
|
|
539
|
+
private _themeSource: ThemeSource = ThemeSource.SERVER;
|
|
510
540
|
|
|
511
541
|
constructor(
|
|
512
542
|
templateId?: TemplateId | null,
|
|
@@ -580,8 +610,19 @@ class TemplateBuilder {
|
|
|
580
610
|
return this;
|
|
581
611
|
}
|
|
582
612
|
|
|
613
|
+
/**
|
|
614
|
+
* @deprecated Use iosThemeToUse
|
|
615
|
+
*/
|
|
583
616
|
iosTheme(themeObject: Object): TemplateBuilder {
|
|
584
617
|
this._iosThemeObject = themeObject;
|
|
618
|
+
this._themeSource = ThemeSource.CLIENT;
|
|
619
|
+
|
|
620
|
+
return this;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
iosThemeToUse(themeObject: Object, themeSource: ThemeSource): TemplateBuilder {
|
|
624
|
+
this._iosThemeObject = themeObject;
|
|
625
|
+
this._themeSource = themeSource;
|
|
585
626
|
|
|
586
627
|
return this;
|
|
587
628
|
}
|
|
@@ -599,6 +640,7 @@ class TemplateBuilder {
|
|
|
599
640
|
onCanceled: this._onCanceled,
|
|
600
641
|
onError: this._onError,
|
|
601
642
|
iosThemeObject: this._iosThemeObject,
|
|
643
|
+
themeSource: this._themeSource,
|
|
602
644
|
returnCollectedData: this._returnCollectedData,
|
|
603
645
|
});
|
|
604
646
|
}
|