react-native-persona 1.3.3 → 1.3.5
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/RNPersonaInquiry.podspec +1 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/withpersona/sdk/reactnative/PersonaInquiryModule.java +9 -0
- package/ios/PersonaInquiry.swift +9 -6
- package/lib/commonjs/index.js +24 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +24 -4
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/index.d.ts +6 -0
- package/package.json +1 -1
- package/src/index.ts +18 -0
- package/CHANGELOG.md +0 -294
package/RNPersonaInquiry.podspec
CHANGED
package/android/build.gradle
CHANGED
|
@@ -64,5 +64,5 @@ dependencies {
|
|
|
64
64
|
implementation "com.facebook.react:react-native:+" // From node_modules
|
|
65
65
|
|
|
66
66
|
// NOTE: After updating, please update the `sdkVersions.android` in example/package.json
|
|
67
|
-
implementation 'com.withpersona.sdk:inquiry:1.1.
|
|
67
|
+
implementation 'com.withpersona.sdk:inquiry:1.1.25'
|
|
68
68
|
}
|
|
@@ -43,6 +43,7 @@ public class PersonaInquiryModule extends ReactContextBaseJavaModule implements
|
|
|
43
43
|
private static final String REFERENCE_ID = "referenceId";
|
|
44
44
|
private static final String ACCESS_TOKEN = "accessToken";
|
|
45
45
|
private static final String ENVIRONMENT = "environment";
|
|
46
|
+
private static final String ROUTING_COUNTRY = "routingCountry";
|
|
46
47
|
private static final String FIELDS = "fields";
|
|
47
48
|
private static final String FIELD_NAME = "name";
|
|
48
49
|
private static final String FIELD_NAME_FIRST = "first";
|
|
@@ -168,6 +169,8 @@ public class PersonaInquiryModule extends ReactContextBaseJavaModule implements
|
|
|
168
169
|
String inquiryId = options.hasKey(INQUIRY_ID) ? options.getString(INQUIRY_ID) : null;
|
|
169
170
|
String templateId = options.hasKey(TEMPLATE_ID) ? options.getString(TEMPLATE_ID) : null;
|
|
170
171
|
|
|
172
|
+
String routingCountry = options.getString(ROUTING_COUNTRY);
|
|
173
|
+
|
|
171
174
|
if (inquiryId != null) {
|
|
172
175
|
InquiryBuilder builder = Inquiry.fromInquiry(inquiryId);
|
|
173
176
|
|
|
@@ -175,6 +178,9 @@ public class PersonaInquiryModule extends ReactContextBaseJavaModule implements
|
|
|
175
178
|
if (accessToken != null) {
|
|
176
179
|
builder = builder.accessToken(accessToken);
|
|
177
180
|
}
|
|
181
|
+
if (routingCountry != null) {
|
|
182
|
+
builder = builder.routingCountry(routingCountry);
|
|
183
|
+
}
|
|
178
184
|
|
|
179
185
|
if (currentActivity != null) {
|
|
180
186
|
builder.build().start(currentActivity, PERSONA_INQUIRY_REQUEST_CODE);
|
|
@@ -202,6 +208,9 @@ public class PersonaInquiryModule extends ReactContextBaseJavaModule implements
|
|
|
202
208
|
if (environment != null) {
|
|
203
209
|
builder = builder.environment(environment);
|
|
204
210
|
}
|
|
211
|
+
if (routingCountry != null) {
|
|
212
|
+
builder = builder.routingCountry(routingCountry);
|
|
213
|
+
}
|
|
205
214
|
|
|
206
215
|
ReadableMap fields = options.hasKey(FIELDS) ? options.getMap(FIELDS) : null;
|
|
207
216
|
if (fields != null) {
|
package/ios/PersonaInquiry.swift
CHANGED
|
@@ -35,6 +35,7 @@ class PersonaInquiry: RCTEventEmitter {
|
|
|
35
35
|
let accessToken = options["accessToken"] as? String
|
|
36
36
|
let themeObject = options["iosTheme"] as? [String: String]
|
|
37
37
|
let fieldsObject = options["fields"] as? [String: Any]
|
|
38
|
+
let routingCountry = options["routingCountry"] as? String
|
|
38
39
|
|
|
39
40
|
do {
|
|
40
41
|
let config = try createConfig(
|
|
@@ -45,7 +46,8 @@ class PersonaInquiry: RCTEventEmitter {
|
|
|
45
46
|
accountId: accountId,
|
|
46
47
|
environment: Environment.from(rawValue: environment),
|
|
47
48
|
theme: themeFrom(themeObject),
|
|
48
|
-
fields: fieldsFrom(fieldsObject)
|
|
49
|
+
fields: fieldsFrom(fieldsObject),
|
|
50
|
+
routingCountry: routingCountry
|
|
49
51
|
)
|
|
50
52
|
DispatchQueue.main.async {
|
|
51
53
|
guard let rootViewController = UIApplication.shared.keyWindow?.rootViewController else {
|
|
@@ -103,13 +105,14 @@ extension PersonaInquiry {
|
|
|
103
105
|
accountId: String? = nil,
|
|
104
106
|
environment: Environment? = .production,
|
|
105
107
|
theme: InquiryTheme? = nil,
|
|
106
|
-
fields: Persona.Fields? = nil
|
|
108
|
+
fields: Persona.Fields? = nil,
|
|
109
|
+
routingCountry: String? = nil) throws -> InquiryConfiguration {
|
|
107
110
|
|
|
108
111
|
// If we have an inquiry ID there is only one path to take
|
|
109
112
|
if let inquiryId = inquiryId {
|
|
110
113
|
// TODO: Move to this once it's enabled
|
|
111
114
|
// return InquiryConfiguration(inquiryId: inquiryId, accessToken: accessToken, theme: theme, fields: fields)
|
|
112
|
-
return InquiryConfiguration(inquiryId: inquiryId, accessToken: accessToken, theme: theme)
|
|
115
|
+
return InquiryConfiguration(inquiryId: inquiryId, accessToken: accessToken, theme: theme, routingCountry: routingCountry)
|
|
113
116
|
}
|
|
114
117
|
|
|
115
118
|
// From here on out we need a template ID
|
|
@@ -119,15 +122,15 @@ extension PersonaInquiry {
|
|
|
119
122
|
|
|
120
123
|
// Use the account ID if we have it
|
|
121
124
|
if let accountId = accountId {
|
|
122
|
-
return InquiryConfiguration(templateId: templateId, accountId: accountId, environment: environment, fields: fields, theme: theme)
|
|
125
|
+
return InquiryConfiguration(templateId: templateId, accountId: accountId, environment: environment, fields: fields, theme: theme, routingCountry: routingCountry)
|
|
123
126
|
}
|
|
124
127
|
|
|
125
128
|
// Use the reference ID if we have it
|
|
126
129
|
if let referenceId = referenceId {
|
|
127
|
-
return InquiryConfiguration(templateId: templateId, referenceId: referenceId, environment: environment, fields: fields, theme: theme)
|
|
130
|
+
return InquiryConfiguration(templateId: templateId, referenceId: referenceId, environment: environment, fields: fields, theme: theme, routingCountry: routingCountry)
|
|
128
131
|
}
|
|
129
132
|
|
|
130
|
-
return InquiryConfiguration(templateId: templateId, environment: environment, fields: fields, theme: theme)
|
|
133
|
+
return InquiryConfiguration(templateId: templateId, environment: environment, fields: fields, theme: theme, routingCountry: routingCountry)
|
|
131
134
|
}
|
|
132
135
|
|
|
133
136
|
/// Converts a dictionary into a theme
|
package/lib/commonjs/index.js
CHANGED
|
@@ -197,6 +197,8 @@ class Inquiry {
|
|
|
197
197
|
|
|
198
198
|
_defineProperty(this, "accessToken", void 0);
|
|
199
199
|
|
|
200
|
+
_defineProperty(this, "routingCountry", void 0);
|
|
201
|
+
|
|
200
202
|
_defineProperty(this, "iosThemeObject", void 0);
|
|
201
203
|
|
|
202
204
|
_defineProperty(this, "fields", void 0);
|
|
@@ -223,7 +225,8 @@ class Inquiry {
|
|
|
223
225
|
this.accountId = options.accountId;
|
|
224
226
|
this.environment = options.environment;
|
|
225
227
|
this.accessToken = options.accessToken;
|
|
226
|
-
this.fields = options.fields;
|
|
228
|
+
this.fields = options.fields;
|
|
229
|
+
this.routingCountry = options.routingCountry; // Callbacks
|
|
227
230
|
|
|
228
231
|
this.onSuccess = options.onSuccess;
|
|
229
232
|
this.onCancelled = options.onCancelled;
|
|
@@ -281,7 +284,8 @@ class Inquiry {
|
|
|
281
284
|
environment: this.environment,
|
|
282
285
|
accessToken: this.accessToken,
|
|
283
286
|
fields: this.fields,
|
|
284
|
-
iosTheme: (0, _util.processThemeValues)(this.iosThemeObject || {})
|
|
287
|
+
iosTheme: (0, _util.processThemeValues)(this.iosThemeObject || {}),
|
|
288
|
+
routingCountry: this.routingCountry
|
|
285
289
|
});
|
|
286
290
|
}
|
|
287
291
|
|
|
@@ -296,6 +300,8 @@ class InquiryBuilder {
|
|
|
296
300
|
|
|
297
301
|
_defineProperty(this, "_accessToken", void 0);
|
|
298
302
|
|
|
303
|
+
_defineProperty(this, "_routingCountry", void 0);
|
|
304
|
+
|
|
299
305
|
_defineProperty(this, "_onSuccess", void 0);
|
|
300
306
|
|
|
301
307
|
_defineProperty(this, "_onCancelled", void 0);
|
|
@@ -341,6 +347,11 @@ class InquiryBuilder {
|
|
|
341
347
|
return this;
|
|
342
348
|
}
|
|
343
349
|
|
|
350
|
+
routingCountry(routingCountry) {
|
|
351
|
+
this._routingCountry = routingCountry;
|
|
352
|
+
return this;
|
|
353
|
+
}
|
|
354
|
+
|
|
344
355
|
build() {
|
|
345
356
|
return new Inquiry({
|
|
346
357
|
inquiryId: this._inquiryId,
|
|
@@ -350,7 +361,8 @@ class InquiryBuilder {
|
|
|
350
361
|
onFailed: this._onFailed,
|
|
351
362
|
onError: this._onError,
|
|
352
363
|
iosThemeObject: this._iosThemeObject,
|
|
353
|
-
fields: this._fields
|
|
364
|
+
fields: this._fields,
|
|
365
|
+
routingCountry: this._routingCountry
|
|
354
366
|
});
|
|
355
367
|
}
|
|
356
368
|
|
|
@@ -372,6 +384,8 @@ class TemplateBuilder {
|
|
|
372
384
|
|
|
373
385
|
_defineProperty(this, "_accessToken", void 0);
|
|
374
386
|
|
|
387
|
+
_defineProperty(this, "_routingCountry", void 0);
|
|
388
|
+
|
|
375
389
|
_defineProperty(this, "_onSuccess", void 0);
|
|
376
390
|
|
|
377
391
|
_defineProperty(this, "_onCancelled", void 0);
|
|
@@ -438,6 +452,11 @@ class TemplateBuilder {
|
|
|
438
452
|
return this;
|
|
439
453
|
}
|
|
440
454
|
|
|
455
|
+
routingCountry(routingCountry) {
|
|
456
|
+
this._routingCountry = routingCountry;
|
|
457
|
+
return this;
|
|
458
|
+
}
|
|
459
|
+
|
|
441
460
|
build() {
|
|
442
461
|
return new Inquiry({
|
|
443
462
|
templateId: this._templateId,
|
|
@@ -450,7 +469,8 @@ class TemplateBuilder {
|
|
|
450
469
|
onCancelled: this._onCancelled,
|
|
451
470
|
onFailed: this._onFailed,
|
|
452
471
|
onError: this._onError,
|
|
453
|
-
iosThemeObject: this._iosThemeObject
|
|
472
|
+
iosThemeObject: this._iosThemeObject,
|
|
473
|
+
routingCountry: this._routingCountry
|
|
454
474
|
});
|
|
455
475
|
}
|
|
456
476
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["PersonaInquiry","NativeModules","InvalidTemplateId","Error","InvalidInquiryId","InvalidAccountId","makeInquiryId","candidate","startsWith","makeTemplateId","makeAccountId","Builder","name","_name","address","_address","birthdate","date","_birthdate","emailAddress","email","_emailAddress","phoneNumber","_phoneNumber","field","fieldKey","value","_fields","build","toISOString","additionalFields","builder","Fields","Environment","eventEmitter","NativeEventEmitter","Inquiry","constructor","options","templateId","inquiryId","referenceId","accountId","environment","accessToken","fields","onSuccess","onCancelled","onFailed","onError","iosThemeObject","clearListeners","onSuccessListener","remove","onCancelledListener","onFailedListener","onErrorListener","start","addListener","attributes","Date","error","errorMessage","startInquiry","iosTheme","InquiryBuilder","_inquiryId","_accessToken","callback","_onSuccess","_onCancelled","_onFailed","_onError","themeObject","_iosThemeObject","TemplateBuilder","_templateId","_accountId","undefined","_referenceId","_environment","fromInquiry","fromTemplate","InquiryBuilders"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n EventSubscription,\n} from 'react-native';\nimport { processThemeValues } from './util';\n\nconst { PersonaInquiry } = 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 InquiryId = Opaque<string, 'InquiryId'>;\ntype AccountId = Opaque<string, 'AccountId'>;\n\nexport class InvalidTemplateId extends Error {}\nexport class InvalidInquiryId extends Error {}\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('tmpl_') || candidate.startsWith('blu_')) {\n return candidate as TemplateId;\n }\n\n throw new InvalidTemplateId(\n `Valid template IDs start with \"tmpl_\". 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}\nexport namespace Fields {\n class Builder {\n private _name?: NameField | null = null;\n private _address?: AddressField | null = null;\n private _birthdate?: Date | null = null;\n private _emailAddress?: string | null = null;\n private _phoneNumber?: string | null = null;\n private _fields: { [fieldKey: string]: number | string | boolean } = {};\n\n name(name: NameField) {\n this._name = name;\n\n return this;\n }\n\n /**\n * Returns the Field.Builder instance\n *\n * @param address - The address object\n */\n address(address: AddressField) {\n this._address = address;\n\n return this;\n }\n\n /**\n * @param date {Date}\n */\n birthdate(date: Date) {\n this._birthdate = date;\n\n return this;\n }\n\n /**\n * @param date {string}\n */\n emailAddress(email: string) {\n this._emailAddress = email;\n\n return this;\n }\n\n phoneNumber(phoneNumber: string) {\n this._phoneNumber = phoneNumber;\n\n return this;\n }\n\n field(fieldKey: string, value: number | string | boolean) {\n this._fields = {\n ...this._fields,\n [fieldKey]: value,\n };\n\n return this;\n }\n\n build(): FieldsPayload {\n return {\n name: this._name,\n address: this._address,\n emailAddress: this._emailAddress,\n phoneNumber: this._phoneNumber,\n birthdate: this._birthdate?.toISOString(),\n additionalFields: this._fields,\n };\n }\n }\n\n export function builder() {\n return new Builder();\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 inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n accessToken?: string;\n\n // Fields\n fields?: FieldsPayload;\n\n // Callbacks\n onSuccess?: OnSuccessCallback;\n onCancelled?: OnCancelledCallback;\n onFailed?: OnFailedCallback;\n onError?: OnErrorCallback;\n\n // Customization\n iosThemeObject?: Object | null;\n}\nexport interface InquiryAttributes {\n birthdate: Date | null;\n name: {\n first: string | null;\n middle: string | null;\n last: string | null;\n } | null;\n address: {\n street1: string | null;\n street2: string | null;\n city: string | null;\n subdivision: string | null;\n subdivisionAbbr: string | null;\n postalCode: string | null;\n countryCode: string | null;\n } | null;\n}\n\nexport interface BridgeInquiryAttributes {\n birthdate: string | null;\n name: {\n first: string | null;\n middle: string | null;\n last: string | null;\n } | null;\n address: {\n street1: string | null;\n street2: string | null;\n city: string | null;\n subdivision: string | null;\n subdivisionAbbr: string | null;\n postalCode: string | null;\n countryCode: string | null;\n } | null;\n}\n\ninterface BridgeOnSuccessCallbackParams {\n inquiryId: string;\n attributes: InquiryAttributes;\n}\n\ninterface BridgeOnFailedCallbackParams {\n inquiryId: string;\n}\n\ninterface BridgeOnErrorCallbackParams {\n error: string;\n}\n\ntype OnSuccessCallback = (\n inquiryId: string,\n attributes: InquiryAttributes\n) => void;\ntype OnCancelledCallback = () => void;\ntype OnFailedCallback = (inquiryId: string) => void;\ntype OnErrorCallback = (error: Error) => void;\n\nconst eventEmitter = new NativeEventEmitter(PersonaInquiry);\n\nexport class Inquiry {\n templateId?: TemplateId;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n accessToken?: string;\n\n iosThemeObject?: Object | null;\n fields?: FieldsPayload | null;\n\n private onSuccess?: OnSuccessCallback;\n private onCancelled?: OnCancelledCallback;\n private onFailed?: OnFailedCallback;\n private onError?: OnErrorCallback;\n\n private onSuccessListener?: EventSubscription;\n private onCancelledListener?: EventSubscription;\n private onFailedListener?: 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.accessToken = options.accessToken;\n this.fields = options.fields;\n\n // Callbacks\n this.onSuccess = options.onSuccess;\n this.onCancelled = options.onCancelled;\n this.onFailed = options.onFailed;\n this.onError = options.onError;\n\n // Theme object\n this.iosThemeObject = options.iosThemeObject;\n }\n\n private clearListeners() {\n if (this.onSuccessListener) this.onSuccessListener.remove();\n if (this.onCancelledListener) this.onCancelledListener.remove();\n if (this.onFailedListener) this.onFailedListener.remove();\n if (this.onErrorListener) this.onErrorListener.remove();\n }\n\n start() {\n this.onSuccessListener = eventEmitter.addListener(\n 'onSuccess',\n ({\n inquiryId: inquiryId,\n attributes: attributes,\n }: BridgeOnSuccessCallbackParams) => {\n // Native Brige sends an ISO 8601 Date. Convert this to a JS Date\n if (typeof attributes.birthdate === 'string') {\n attributes.birthdate = new Date(attributes.birthdate);\n }\n if (this.onSuccess) this.onSuccess(inquiryId, attributes);\n this.clearListeners();\n }\n );\n\n this.onCancelledListener = eventEmitter.addListener('onCancelled', () => {\n if (this.onCancelled) this.onCancelled();\n this.clearListeners();\n });\n\n this.onFailedListener = eventEmitter.addListener(\n 'onFailed',\n ({ inquiryId: inquiryId }: BridgeOnFailedCallbackParams) => {\n if (this.onFailed) this.onFailed(inquiryId);\n this.clearListeners();\n }\n );\n\n this.onErrorListener = eventEmitter.addListener(\n 'onError',\n ({ error: errorMessage }: BridgeOnErrorCallbackParams) => {\n if (this.onError) this.onError(new Error(errorMessage));\n this.clearListeners();\n }\n );\n\n PersonaInquiry.startInquiry({\n templateId: this.templateId,\n inquiryId: this.inquiryId,\n referenceId: this.referenceId,\n accountId: this.accountId,\n environment: this.environment,\n accessToken: this.accessToken,\n fields: this.fields,\n iosTheme: processThemeValues(this.iosThemeObject || {}),\n });\n }\n}\n\ninterface NameField {\n first?: string;\n middle?: string;\n last?: string;\n}\n\ninterface AddressField {\n street1?: string;\n street2?: string;\n city?: string;\n subdivision?: string;\n postalCode?: string;\n countryCode?: string;\n}\n\ninterface FieldsPayload {\n name?: NameField | null;\n address?: AddressField | null;\n birthdate?: string | null;\n emailAddress?: string | null;\n phoneNumber?: string | null;\n additionalFields?: Object | null;\n}\n\nclass InquiryBuilder {\n private _inquiryId: InquiryId;\n private _accessToken?: string;\n\n // Callbacks\n private _onSuccess?: OnSuccessCallback;\n private _onCancelled?: OnCancelledCallback;\n private _onFailed?: OnFailedCallback;\n private _onError?: OnErrorCallback;\n private _iosThemeObject?: Object;\n private _fields?: FieldsPayload;\n\n constructor(inquiryId: InquiryId) {\n this._inquiryId = inquiryId;\n }\n\n accessToken(accessToken: string): InquiryBuilder {\n this._accessToken = accessToken;\n\n return this;\n }\n\n onSuccess(callback: OnSuccessCallback): InquiryBuilder {\n this._onSuccess = callback;\n\n return this;\n }\n\n onCancelled(callback: OnCancelledCallback): InquiryBuilder {\n this._onCancelled = callback;\n\n return this;\n }\n\n onFailed(callback: OnFailedCallback): InquiryBuilder {\n this._onFailed = 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 accessToken: this._accessToken,\n onSuccess: this._onSuccess,\n onCancelled: this._onCancelled,\n onFailed: this._onFailed,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n fields: this._fields,\n });\n }\n}\n\nclass TemplateBuilder {\n private _templateId: TemplateId;\n private _accountId?: AccountId;\n private _referenceId?: string;\n private _environment?: Environment;\n private _fields?: FieldsPayload;\n private _accessToken?: string;\n\n // Callbacks\n private _onSuccess?: OnSuccessCallback;\n private _onCancelled?: OnCancelledCallback;\n private _onFailed?: OnFailedCallback;\n private _onError?: OnErrorCallback;\n\n // Customization\n private _iosThemeObject?: Object;\n\n constructor(templateId: TemplateId) {\n this._templateId = templateId;\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 accessToken(accessToken: string): TemplateBuilder {\n this._accessToken = accessToken;\n\n return this;\n }\n\n fields(fields: FieldsPayload): TemplateBuilder {\n this._fields = fields;\n\n return this;\n }\n\n onSuccess(callback: OnSuccessCallback): TemplateBuilder {\n this._onSuccess = callback;\n\n return this;\n }\n\n onCancelled(callback: OnCancelledCallback): TemplateBuilder {\n this._onCancelled = callback;\n\n return this;\n }\n\n onFailed(callback: OnFailedCallback): TemplateBuilder {\n this._onFailed = 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 accountId: this._accountId,\n referenceId: this._referenceId,\n environment: this._environment,\n accessToken: this._accessToken,\n fields: this._fields,\n onSuccess: this._onSuccess,\n onCancelled: this._onCancelled,\n onFailed: this._onFailed,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n });\n }\n}\n\nnamespace InquiryBuilders {\n export function fromInquiry(inquiryId: string) {\n return new InquiryBuilder(makeInquiryId(inquiryId));\n }\n\n export function fromTemplate(templateId: string) {\n return new TemplateBuilder(makeTemplateId(templateId));\n }\n}\n\nexport default InquiryBuilders;\n"]}
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["PersonaInquiry","NativeModules","InvalidTemplateId","Error","InvalidInquiryId","InvalidAccountId","makeInquiryId","candidate","startsWith","makeTemplateId","makeAccountId","Builder","name","_name","address","_address","birthdate","date","_birthdate","emailAddress","email","_emailAddress","phoneNumber","_phoneNumber","field","fieldKey","value","_fields","build","toISOString","additionalFields","builder","Fields","Environment","eventEmitter","NativeEventEmitter","Inquiry","constructor","options","templateId","inquiryId","referenceId","accountId","environment","accessToken","fields","routingCountry","onSuccess","onCancelled","onFailed","onError","iosThemeObject","clearListeners","onSuccessListener","remove","onCancelledListener","onFailedListener","onErrorListener","start","addListener","attributes","Date","error","errorMessage","startInquiry","iosTheme","InquiryBuilder","_inquiryId","_accessToken","callback","_onSuccess","_onCancelled","_onFailed","_onError","themeObject","_iosThemeObject","_routingCountry","TemplateBuilder","_templateId","_accountId","undefined","_referenceId","_environment","fromInquiry","fromTemplate","InquiryBuilders"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n EventSubscription,\n} from 'react-native';\nimport { processThemeValues } from './util';\n\nconst { PersonaInquiry } = 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 InquiryId = Opaque<string, 'InquiryId'>;\ntype AccountId = Opaque<string, 'AccountId'>;\n\nexport class InvalidTemplateId extends Error {}\nexport class InvalidInquiryId extends Error {}\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('tmpl_') || candidate.startsWith('blu_')) {\n return candidate as TemplateId;\n }\n\n throw new InvalidTemplateId(\n `Valid template IDs start with \"tmpl_\". 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}\nexport namespace Fields {\n class Builder {\n private _name?: NameField | null = null;\n private _address?: AddressField | null = null;\n private _birthdate?: Date | null = null;\n private _emailAddress?: string | null = null;\n private _phoneNumber?: string | null = null;\n private _fields: { [fieldKey: string]: number | string | boolean } = {};\n\n name(name: NameField) {\n this._name = name;\n\n return this;\n }\n\n /**\n * Returns the Field.Builder instance\n *\n * @param address - The address object\n */\n address(address: AddressField) {\n this._address = address;\n\n return this;\n }\n\n /**\n * @param date {Date}\n */\n birthdate(date: Date) {\n this._birthdate = date;\n\n return this;\n }\n\n /**\n * @param date {string}\n */\n emailAddress(email: string) {\n this._emailAddress = email;\n\n return this;\n }\n\n phoneNumber(phoneNumber: string) {\n this._phoneNumber = phoneNumber;\n\n return this;\n }\n\n field(fieldKey: string, value: number | string | boolean) {\n this._fields = {\n ...this._fields,\n [fieldKey]: value,\n };\n\n return this;\n }\n\n build(): FieldsPayload {\n return {\n name: this._name,\n address: this._address,\n emailAddress: this._emailAddress,\n phoneNumber: this._phoneNumber,\n birthdate: this._birthdate?.toISOString(),\n additionalFields: this._fields,\n };\n }\n }\n\n export function builder() {\n return new Builder();\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 inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n accessToken?: string;\n routingCountry?: string;\n\n // Fields\n fields?: FieldsPayload;\n\n // Callbacks\n onSuccess?: OnSuccessCallback;\n onCancelled?: OnCancelledCallback;\n onFailed?: OnFailedCallback;\n onError?: OnErrorCallback;\n\n // Customization\n iosThemeObject?: Object | null;\n}\nexport interface InquiryAttributes {\n birthdate: Date | null;\n name: {\n first: string | null;\n middle: string | null;\n last: string | null;\n } | null;\n address: {\n street1: string | null;\n street2: string | null;\n city: string | null;\n subdivision: string | null;\n subdivisionAbbr: string | null;\n postalCode: string | null;\n countryCode: string | null;\n } | null;\n}\n\nexport interface BridgeInquiryAttributes {\n birthdate: string | null;\n name: {\n first: string | null;\n middle: string | null;\n last: string | null;\n } | null;\n address: {\n street1: string | null;\n street2: string | null;\n city: string | null;\n subdivision: string | null;\n subdivisionAbbr: string | null;\n postalCode: string | null;\n countryCode: string | null;\n } | null;\n}\n\ninterface BridgeOnSuccessCallbackParams {\n inquiryId: string;\n attributes: InquiryAttributes;\n}\n\ninterface BridgeOnFailedCallbackParams {\n inquiryId: string;\n}\n\ninterface BridgeOnErrorCallbackParams {\n error: string;\n}\n\ntype OnSuccessCallback = (\n inquiryId: string,\n attributes: InquiryAttributes\n) => void;\ntype OnCancelledCallback = () => void;\ntype OnFailedCallback = (inquiryId: string) => void;\ntype OnErrorCallback = (error: Error) => void;\n\nconst eventEmitter = new NativeEventEmitter(PersonaInquiry);\n\nexport class Inquiry {\n templateId?: TemplateId;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n accessToken?: string;\n routingCountry?: string;\n\n iosThemeObject?: Object | null;\n fields?: FieldsPayload | null;\n\n private onSuccess?: OnSuccessCallback;\n private onCancelled?: OnCancelledCallback;\n private onFailed?: OnFailedCallback;\n private onError?: OnErrorCallback;\n\n private onSuccessListener?: EventSubscription;\n private onCancelledListener?: EventSubscription;\n private onFailedListener?: 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.accessToken = options.accessToken;\n this.fields = options.fields;\n this.routingCountry = options.routingCountry;\n\n // Callbacks\n this.onSuccess = options.onSuccess;\n this.onCancelled = options.onCancelled;\n this.onFailed = options.onFailed;\n this.onError = options.onError;\n\n // Theme object\n this.iosThemeObject = options.iosThemeObject;\n }\n\n private clearListeners() {\n if (this.onSuccessListener) this.onSuccessListener.remove();\n if (this.onCancelledListener) this.onCancelledListener.remove();\n if (this.onFailedListener) this.onFailedListener.remove();\n if (this.onErrorListener) this.onErrorListener.remove();\n }\n\n start() {\n this.onSuccessListener = eventEmitter.addListener(\n 'onSuccess',\n ({\n inquiryId: inquiryId,\n attributes: attributes,\n }: BridgeOnSuccessCallbackParams) => {\n // Native Brige sends an ISO 8601 Date. Convert this to a JS Date\n if (typeof attributes.birthdate === 'string') {\n attributes.birthdate = new Date(attributes.birthdate);\n }\n if (this.onSuccess) this.onSuccess(inquiryId, attributes);\n this.clearListeners();\n }\n );\n\n this.onCancelledListener = eventEmitter.addListener('onCancelled', () => {\n if (this.onCancelled) this.onCancelled();\n this.clearListeners();\n });\n\n this.onFailedListener = eventEmitter.addListener(\n 'onFailed',\n ({ inquiryId: inquiryId }: BridgeOnFailedCallbackParams) => {\n if (this.onFailed) this.onFailed(inquiryId);\n this.clearListeners();\n }\n );\n\n this.onErrorListener = eventEmitter.addListener(\n 'onError',\n ({ error: errorMessage }: BridgeOnErrorCallbackParams) => {\n if (this.onError) this.onError(new Error(errorMessage));\n this.clearListeners();\n }\n );\n\n PersonaInquiry.startInquiry({\n templateId: this.templateId,\n inquiryId: this.inquiryId,\n referenceId: this.referenceId,\n accountId: this.accountId,\n environment: this.environment,\n accessToken: this.accessToken,\n fields: this.fields,\n iosTheme: processThemeValues(this.iosThemeObject || {}),\n routingCountry: this.routingCountry,\n });\n }\n}\n\ninterface NameField {\n first?: string;\n middle?: string;\n last?: string;\n}\n\ninterface AddressField {\n street1?: string;\n street2?: string;\n city?: string;\n subdivision?: string;\n postalCode?: string;\n countryCode?: string;\n}\n\ninterface FieldsPayload {\n name?: NameField | null;\n address?: AddressField | null;\n birthdate?: string | null;\n emailAddress?: string | null;\n phoneNumber?: string | null;\n additionalFields?: Object | null;\n}\n\nclass InquiryBuilder {\n private _inquiryId: InquiryId;\n private _accessToken?: string;\n private _routingCountry?: string;\n\n // Callbacks\n private _onSuccess?: OnSuccessCallback;\n private _onCancelled?: OnCancelledCallback;\n private _onFailed?: OnFailedCallback;\n private _onError?: OnErrorCallback;\n private _iosThemeObject?: Object;\n private _fields?: FieldsPayload;\n\n constructor(inquiryId: InquiryId) {\n this._inquiryId = inquiryId;\n }\n\n accessToken(accessToken: string): InquiryBuilder {\n this._accessToken = accessToken;\n\n return this;\n }\n\n onSuccess(callback: OnSuccessCallback): InquiryBuilder {\n this._onSuccess = callback;\n\n return this;\n }\n\n onCancelled(callback: OnCancelledCallback): InquiryBuilder {\n this._onCancelled = callback;\n\n return this;\n }\n\n onFailed(callback: OnFailedCallback): InquiryBuilder {\n this._onFailed = 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 routingCountry(routingCountry: string): InquiryBuilder {\n this._routingCountry = routingCountry;\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n inquiryId: this._inquiryId,\n accessToken: this._accessToken,\n onSuccess: this._onSuccess,\n onCancelled: this._onCancelled,\n onFailed: this._onFailed,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n fields: this._fields,\n routingCountry: this._routingCountry,\n });\n }\n}\n\nclass TemplateBuilder {\n private _templateId: TemplateId;\n private _accountId?: AccountId;\n private _referenceId?: string;\n private _environment?: Environment;\n private _fields?: FieldsPayload;\n private _accessToken?: string;\n private _routingCountry?: string;\n\n // Callbacks\n private _onSuccess?: OnSuccessCallback;\n private _onCancelled?: OnCancelledCallback;\n private _onFailed?: OnFailedCallback;\n private _onError?: OnErrorCallback;\n\n // Customization\n private _iosThemeObject?: Object;\n\n constructor(templateId: TemplateId) {\n this._templateId = templateId;\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 accessToken(accessToken: string): TemplateBuilder {\n this._accessToken = accessToken;\n\n return this;\n }\n\n fields(fields: FieldsPayload): TemplateBuilder {\n this._fields = fields;\n\n return this;\n }\n\n onSuccess(callback: OnSuccessCallback): TemplateBuilder {\n this._onSuccess = callback;\n\n return this;\n }\n\n onCancelled(callback: OnCancelledCallback): TemplateBuilder {\n this._onCancelled = callback;\n\n return this;\n }\n\n onFailed(callback: OnFailedCallback): TemplateBuilder {\n this._onFailed = 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 routingCountry(routingCountry: string): TemplateBuilder {\n this._routingCountry = routingCountry;\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n templateId: this._templateId,\n accountId: this._accountId,\n referenceId: this._referenceId,\n environment: this._environment,\n accessToken: this._accessToken,\n fields: this._fields,\n onSuccess: this._onSuccess,\n onCancelled: this._onCancelled,\n onFailed: this._onFailed,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n routingCountry: this._routingCountry,\n });\n }\n}\n\nnamespace InquiryBuilders {\n export function fromInquiry(inquiryId: string) {\n return new InquiryBuilder(makeInquiryId(inquiryId));\n }\n\n export function fromTemplate(templateId: string) {\n return new TemplateBuilder(makeTemplateId(templateId));\n }\n}\n\nexport default InquiryBuilders;\n"]}
|
package/lib/module/index.js
CHANGED
|
@@ -175,6 +175,8 @@ export class Inquiry {
|
|
|
175
175
|
|
|
176
176
|
_defineProperty(this, "accessToken", void 0);
|
|
177
177
|
|
|
178
|
+
_defineProperty(this, "routingCountry", void 0);
|
|
179
|
+
|
|
178
180
|
_defineProperty(this, "iosThemeObject", void 0);
|
|
179
181
|
|
|
180
182
|
_defineProperty(this, "fields", void 0);
|
|
@@ -201,7 +203,8 @@ export class Inquiry {
|
|
|
201
203
|
this.accountId = options.accountId;
|
|
202
204
|
this.environment = options.environment;
|
|
203
205
|
this.accessToken = options.accessToken;
|
|
204
|
-
this.fields = options.fields;
|
|
206
|
+
this.fields = options.fields;
|
|
207
|
+
this.routingCountry = options.routingCountry; // Callbacks
|
|
205
208
|
|
|
206
209
|
this.onSuccess = options.onSuccess;
|
|
207
210
|
this.onCancelled = options.onCancelled;
|
|
@@ -259,7 +262,8 @@ export class Inquiry {
|
|
|
259
262
|
environment: this.environment,
|
|
260
263
|
accessToken: this.accessToken,
|
|
261
264
|
fields: this.fields,
|
|
262
|
-
iosTheme: processThemeValues(this.iosThemeObject || {})
|
|
265
|
+
iosTheme: processThemeValues(this.iosThemeObject || {}),
|
|
266
|
+
routingCountry: this.routingCountry
|
|
263
267
|
});
|
|
264
268
|
}
|
|
265
269
|
|
|
@@ -272,6 +276,8 @@ class InquiryBuilder {
|
|
|
272
276
|
|
|
273
277
|
_defineProperty(this, "_accessToken", void 0);
|
|
274
278
|
|
|
279
|
+
_defineProperty(this, "_routingCountry", void 0);
|
|
280
|
+
|
|
275
281
|
_defineProperty(this, "_onSuccess", void 0);
|
|
276
282
|
|
|
277
283
|
_defineProperty(this, "_onCancelled", void 0);
|
|
@@ -317,6 +323,11 @@ class InquiryBuilder {
|
|
|
317
323
|
return this;
|
|
318
324
|
}
|
|
319
325
|
|
|
326
|
+
routingCountry(routingCountry) {
|
|
327
|
+
this._routingCountry = routingCountry;
|
|
328
|
+
return this;
|
|
329
|
+
}
|
|
330
|
+
|
|
320
331
|
build() {
|
|
321
332
|
return new Inquiry({
|
|
322
333
|
inquiryId: this._inquiryId,
|
|
@@ -326,7 +337,8 @@ class InquiryBuilder {
|
|
|
326
337
|
onFailed: this._onFailed,
|
|
327
338
|
onError: this._onError,
|
|
328
339
|
iosThemeObject: this._iosThemeObject,
|
|
329
|
-
fields: this._fields
|
|
340
|
+
fields: this._fields,
|
|
341
|
+
routingCountry: this._routingCountry
|
|
330
342
|
});
|
|
331
343
|
}
|
|
332
344
|
|
|
@@ -348,6 +360,8 @@ class TemplateBuilder {
|
|
|
348
360
|
|
|
349
361
|
_defineProperty(this, "_accessToken", void 0);
|
|
350
362
|
|
|
363
|
+
_defineProperty(this, "_routingCountry", void 0);
|
|
364
|
+
|
|
351
365
|
_defineProperty(this, "_onSuccess", void 0);
|
|
352
366
|
|
|
353
367
|
_defineProperty(this, "_onCancelled", void 0);
|
|
@@ -414,6 +428,11 @@ class TemplateBuilder {
|
|
|
414
428
|
return this;
|
|
415
429
|
}
|
|
416
430
|
|
|
431
|
+
routingCountry(routingCountry) {
|
|
432
|
+
this._routingCountry = routingCountry;
|
|
433
|
+
return this;
|
|
434
|
+
}
|
|
435
|
+
|
|
417
436
|
build() {
|
|
418
437
|
return new Inquiry({
|
|
419
438
|
templateId: this._templateId,
|
|
@@ -426,7 +445,8 @@ class TemplateBuilder {
|
|
|
426
445
|
onCancelled: this._onCancelled,
|
|
427
446
|
onFailed: this._onFailed,
|
|
428
447
|
onError: this._onError,
|
|
429
|
-
iosThemeObject: this._iosThemeObject
|
|
448
|
+
iosThemeObject: this._iosThemeObject,
|
|
449
|
+
routingCountry: this._routingCountry
|
|
430
450
|
});
|
|
431
451
|
}
|
|
432
452
|
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["NativeModules","NativeEventEmitter","processThemeValues","PersonaInquiry","InvalidTemplateId","Error","InvalidInquiryId","InvalidAccountId","makeInquiryId","candidate","startsWith","makeTemplateId","makeAccountId","Builder","name","_name","address","_address","birthdate","date","_birthdate","emailAddress","email","_emailAddress","phoneNumber","_phoneNumber","field","fieldKey","value","_fields","build","toISOString","additionalFields","builder","Fields","Environment","eventEmitter","Inquiry","constructor","options","templateId","inquiryId","referenceId","accountId","environment","accessToken","fields","onSuccess","onCancelled","onFailed","onError","iosThemeObject","clearListeners","onSuccessListener","remove","onCancelledListener","onFailedListener","onErrorListener","start","addListener","attributes","Date","error","errorMessage","startInquiry","iosTheme","InquiryBuilder","_inquiryId","_accessToken","callback","_onSuccess","_onCancelled","_onFailed","_onError","themeObject","_iosThemeObject","TemplateBuilder","_templateId","_accountId","undefined","_referenceId","_environment","fromInquiry","fromTemplate","InquiryBuilders"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n EventSubscription,\n} from 'react-native';\nimport { processThemeValues } from './util';\n\nconst { PersonaInquiry } = 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 InquiryId = Opaque<string, 'InquiryId'>;\ntype AccountId = Opaque<string, 'AccountId'>;\n\nexport class InvalidTemplateId extends Error {}\nexport class InvalidInquiryId extends Error {}\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('tmpl_') || candidate.startsWith('blu_')) {\n return candidate as TemplateId;\n }\n\n throw new InvalidTemplateId(\n `Valid template IDs start with \"tmpl_\". 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}\nexport namespace Fields {\n class Builder {\n private _name?: NameField | null = null;\n private _address?: AddressField | null = null;\n private _birthdate?: Date | null = null;\n private _emailAddress?: string | null = null;\n private _phoneNumber?: string | null = null;\n private _fields: { [fieldKey: string]: number | string | boolean } = {};\n\n name(name: NameField) {\n this._name = name;\n\n return this;\n }\n\n /**\n * Returns the Field.Builder instance\n *\n * @param address - The address object\n */\n address(address: AddressField) {\n this._address = address;\n\n return this;\n }\n\n /**\n * @param date {Date}\n */\n birthdate(date: Date) {\n this._birthdate = date;\n\n return this;\n }\n\n /**\n * @param date {string}\n */\n emailAddress(email: string) {\n this._emailAddress = email;\n\n return this;\n }\n\n phoneNumber(phoneNumber: string) {\n this._phoneNumber = phoneNumber;\n\n return this;\n }\n\n field(fieldKey: string, value: number | string | boolean) {\n this._fields = {\n ...this._fields,\n [fieldKey]: value,\n };\n\n return this;\n }\n\n build(): FieldsPayload {\n return {\n name: this._name,\n address: this._address,\n emailAddress: this._emailAddress,\n phoneNumber: this._phoneNumber,\n birthdate: this._birthdate?.toISOString(),\n additionalFields: this._fields,\n };\n }\n }\n\n export function builder() {\n return new Builder();\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 inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n accessToken?: string;\n\n // Fields\n fields?: FieldsPayload;\n\n // Callbacks\n onSuccess?: OnSuccessCallback;\n onCancelled?: OnCancelledCallback;\n onFailed?: OnFailedCallback;\n onError?: OnErrorCallback;\n\n // Customization\n iosThemeObject?: Object | null;\n}\nexport interface InquiryAttributes {\n birthdate: Date | null;\n name: {\n first: string | null;\n middle: string | null;\n last: string | null;\n } | null;\n address: {\n street1: string | null;\n street2: string | null;\n city: string | null;\n subdivision: string | null;\n subdivisionAbbr: string | null;\n postalCode: string | null;\n countryCode: string | null;\n } | null;\n}\n\nexport interface BridgeInquiryAttributes {\n birthdate: string | null;\n name: {\n first: string | null;\n middle: string | null;\n last: string | null;\n } | null;\n address: {\n street1: string | null;\n street2: string | null;\n city: string | null;\n subdivision: string | null;\n subdivisionAbbr: string | null;\n postalCode: string | null;\n countryCode: string | null;\n } | null;\n}\n\ninterface BridgeOnSuccessCallbackParams {\n inquiryId: string;\n attributes: InquiryAttributes;\n}\n\ninterface BridgeOnFailedCallbackParams {\n inquiryId: string;\n}\n\ninterface BridgeOnErrorCallbackParams {\n error: string;\n}\n\ntype OnSuccessCallback = (\n inquiryId: string,\n attributes: InquiryAttributes\n) => void;\ntype OnCancelledCallback = () => void;\ntype OnFailedCallback = (inquiryId: string) => void;\ntype OnErrorCallback = (error: Error) => void;\n\nconst eventEmitter = new NativeEventEmitter(PersonaInquiry);\n\nexport class Inquiry {\n templateId?: TemplateId;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n accessToken?: string;\n\n iosThemeObject?: Object | null;\n fields?: FieldsPayload | null;\n\n private onSuccess?: OnSuccessCallback;\n private onCancelled?: OnCancelledCallback;\n private onFailed?: OnFailedCallback;\n private onError?: OnErrorCallback;\n\n private onSuccessListener?: EventSubscription;\n private onCancelledListener?: EventSubscription;\n private onFailedListener?: 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.accessToken = options.accessToken;\n this.fields = options.fields;\n\n // Callbacks\n this.onSuccess = options.onSuccess;\n this.onCancelled = options.onCancelled;\n this.onFailed = options.onFailed;\n this.onError = options.onError;\n\n // Theme object\n this.iosThemeObject = options.iosThemeObject;\n }\n\n private clearListeners() {\n if (this.onSuccessListener) this.onSuccessListener.remove();\n if (this.onCancelledListener) this.onCancelledListener.remove();\n if (this.onFailedListener) this.onFailedListener.remove();\n if (this.onErrorListener) this.onErrorListener.remove();\n }\n\n start() {\n this.onSuccessListener = eventEmitter.addListener(\n 'onSuccess',\n ({\n inquiryId: inquiryId,\n attributes: attributes,\n }: BridgeOnSuccessCallbackParams) => {\n // Native Brige sends an ISO 8601 Date. Convert this to a JS Date\n if (typeof attributes.birthdate === 'string') {\n attributes.birthdate = new Date(attributes.birthdate);\n }\n if (this.onSuccess) this.onSuccess(inquiryId, attributes);\n this.clearListeners();\n }\n );\n\n this.onCancelledListener = eventEmitter.addListener('onCancelled', () => {\n if (this.onCancelled) this.onCancelled();\n this.clearListeners();\n });\n\n this.onFailedListener = eventEmitter.addListener(\n 'onFailed',\n ({ inquiryId: inquiryId }: BridgeOnFailedCallbackParams) => {\n if (this.onFailed) this.onFailed(inquiryId);\n this.clearListeners();\n }\n );\n\n this.onErrorListener = eventEmitter.addListener(\n 'onError',\n ({ error: errorMessage }: BridgeOnErrorCallbackParams) => {\n if (this.onError) this.onError(new Error(errorMessage));\n this.clearListeners();\n }\n );\n\n PersonaInquiry.startInquiry({\n templateId: this.templateId,\n inquiryId: this.inquiryId,\n referenceId: this.referenceId,\n accountId: this.accountId,\n environment: this.environment,\n accessToken: this.accessToken,\n fields: this.fields,\n iosTheme: processThemeValues(this.iosThemeObject || {}),\n });\n }\n}\n\ninterface NameField {\n first?: string;\n middle?: string;\n last?: string;\n}\n\ninterface AddressField {\n street1?: string;\n street2?: string;\n city?: string;\n subdivision?: string;\n postalCode?: string;\n countryCode?: string;\n}\n\ninterface FieldsPayload {\n name?: NameField | null;\n address?: AddressField | null;\n birthdate?: string | null;\n emailAddress?: string | null;\n phoneNumber?: string | null;\n additionalFields?: Object | null;\n}\n\nclass InquiryBuilder {\n private _inquiryId: InquiryId;\n private _accessToken?: string;\n\n // Callbacks\n private _onSuccess?: OnSuccessCallback;\n private _onCancelled?: OnCancelledCallback;\n private _onFailed?: OnFailedCallback;\n private _onError?: OnErrorCallback;\n private _iosThemeObject?: Object;\n private _fields?: FieldsPayload;\n\n constructor(inquiryId: InquiryId) {\n this._inquiryId = inquiryId;\n }\n\n accessToken(accessToken: string): InquiryBuilder {\n this._accessToken = accessToken;\n\n return this;\n }\n\n onSuccess(callback: OnSuccessCallback): InquiryBuilder {\n this._onSuccess = callback;\n\n return this;\n }\n\n onCancelled(callback: OnCancelledCallback): InquiryBuilder {\n this._onCancelled = callback;\n\n return this;\n }\n\n onFailed(callback: OnFailedCallback): InquiryBuilder {\n this._onFailed = 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 accessToken: this._accessToken,\n onSuccess: this._onSuccess,\n onCancelled: this._onCancelled,\n onFailed: this._onFailed,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n fields: this._fields,\n });\n }\n}\n\nclass TemplateBuilder {\n private _templateId: TemplateId;\n private _accountId?: AccountId;\n private _referenceId?: string;\n private _environment?: Environment;\n private _fields?: FieldsPayload;\n private _accessToken?: string;\n\n // Callbacks\n private _onSuccess?: OnSuccessCallback;\n private _onCancelled?: OnCancelledCallback;\n private _onFailed?: OnFailedCallback;\n private _onError?: OnErrorCallback;\n\n // Customization\n private _iosThemeObject?: Object;\n\n constructor(templateId: TemplateId) {\n this._templateId = templateId;\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 accessToken(accessToken: string): TemplateBuilder {\n this._accessToken = accessToken;\n\n return this;\n }\n\n fields(fields: FieldsPayload): TemplateBuilder {\n this._fields = fields;\n\n return this;\n }\n\n onSuccess(callback: OnSuccessCallback): TemplateBuilder {\n this._onSuccess = callback;\n\n return this;\n }\n\n onCancelled(callback: OnCancelledCallback): TemplateBuilder {\n this._onCancelled = callback;\n\n return this;\n }\n\n onFailed(callback: OnFailedCallback): TemplateBuilder {\n this._onFailed = 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 accountId: this._accountId,\n referenceId: this._referenceId,\n environment: this._environment,\n accessToken: this._accessToken,\n fields: this._fields,\n onSuccess: this._onSuccess,\n onCancelled: this._onCancelled,\n onFailed: this._onFailed,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n });\n }\n}\n\nnamespace InquiryBuilders {\n export function fromInquiry(inquiryId: string) {\n return new InquiryBuilder(makeInquiryId(inquiryId));\n }\n\n export function fromTemplate(templateId: string) {\n return new TemplateBuilder(makeTemplateId(templateId));\n }\n}\n\nexport default InquiryBuilders;\n"]}
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["NativeModules","NativeEventEmitter","processThemeValues","PersonaInquiry","InvalidTemplateId","Error","InvalidInquiryId","InvalidAccountId","makeInquiryId","candidate","startsWith","makeTemplateId","makeAccountId","Builder","name","_name","address","_address","birthdate","date","_birthdate","emailAddress","email","_emailAddress","phoneNumber","_phoneNumber","field","fieldKey","value","_fields","build","toISOString","additionalFields","builder","Fields","Environment","eventEmitter","Inquiry","constructor","options","templateId","inquiryId","referenceId","accountId","environment","accessToken","fields","routingCountry","onSuccess","onCancelled","onFailed","onError","iosThemeObject","clearListeners","onSuccessListener","remove","onCancelledListener","onFailedListener","onErrorListener","start","addListener","attributes","Date","error","errorMessage","startInquiry","iosTheme","InquiryBuilder","_inquiryId","_accessToken","callback","_onSuccess","_onCancelled","_onFailed","_onError","themeObject","_iosThemeObject","_routingCountry","TemplateBuilder","_templateId","_accountId","undefined","_referenceId","_environment","fromInquiry","fromTemplate","InquiryBuilders"],"mappings":"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","sourcesContent":["import {\n NativeModules,\n NativeEventEmitter,\n EventSubscription,\n} from 'react-native';\nimport { processThemeValues } from './util';\n\nconst { PersonaInquiry } = 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 InquiryId = Opaque<string, 'InquiryId'>;\ntype AccountId = Opaque<string, 'AccountId'>;\n\nexport class InvalidTemplateId extends Error {}\nexport class InvalidInquiryId extends Error {}\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('tmpl_') || candidate.startsWith('blu_')) {\n return candidate as TemplateId;\n }\n\n throw new InvalidTemplateId(\n `Valid template IDs start with \"tmpl_\". 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}\nexport namespace Fields {\n class Builder {\n private _name?: NameField | null = null;\n private _address?: AddressField | null = null;\n private _birthdate?: Date | null = null;\n private _emailAddress?: string | null = null;\n private _phoneNumber?: string | null = null;\n private _fields: { [fieldKey: string]: number | string | boolean } = {};\n\n name(name: NameField) {\n this._name = name;\n\n return this;\n }\n\n /**\n * Returns the Field.Builder instance\n *\n * @param address - The address object\n */\n address(address: AddressField) {\n this._address = address;\n\n return this;\n }\n\n /**\n * @param date {Date}\n */\n birthdate(date: Date) {\n this._birthdate = date;\n\n return this;\n }\n\n /**\n * @param date {string}\n */\n emailAddress(email: string) {\n this._emailAddress = email;\n\n return this;\n }\n\n phoneNumber(phoneNumber: string) {\n this._phoneNumber = phoneNumber;\n\n return this;\n }\n\n field(fieldKey: string, value: number | string | boolean) {\n this._fields = {\n ...this._fields,\n [fieldKey]: value,\n };\n\n return this;\n }\n\n build(): FieldsPayload {\n return {\n name: this._name,\n address: this._address,\n emailAddress: this._emailAddress,\n phoneNumber: this._phoneNumber,\n birthdate: this._birthdate?.toISOString(),\n additionalFields: this._fields,\n };\n }\n }\n\n export function builder() {\n return new Builder();\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 inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n accessToken?: string;\n routingCountry?: string;\n\n // Fields\n fields?: FieldsPayload;\n\n // Callbacks\n onSuccess?: OnSuccessCallback;\n onCancelled?: OnCancelledCallback;\n onFailed?: OnFailedCallback;\n onError?: OnErrorCallback;\n\n // Customization\n iosThemeObject?: Object | null;\n}\nexport interface InquiryAttributes {\n birthdate: Date | null;\n name: {\n first: string | null;\n middle: string | null;\n last: string | null;\n } | null;\n address: {\n street1: string | null;\n street2: string | null;\n city: string | null;\n subdivision: string | null;\n subdivisionAbbr: string | null;\n postalCode: string | null;\n countryCode: string | null;\n } | null;\n}\n\nexport interface BridgeInquiryAttributes {\n birthdate: string | null;\n name: {\n first: string | null;\n middle: string | null;\n last: string | null;\n } | null;\n address: {\n street1: string | null;\n street2: string | null;\n city: string | null;\n subdivision: string | null;\n subdivisionAbbr: string | null;\n postalCode: string | null;\n countryCode: string | null;\n } | null;\n}\n\ninterface BridgeOnSuccessCallbackParams {\n inquiryId: string;\n attributes: InquiryAttributes;\n}\n\ninterface BridgeOnFailedCallbackParams {\n inquiryId: string;\n}\n\ninterface BridgeOnErrorCallbackParams {\n error: string;\n}\n\ntype OnSuccessCallback = (\n inquiryId: string,\n attributes: InquiryAttributes\n) => void;\ntype OnCancelledCallback = () => void;\ntype OnFailedCallback = (inquiryId: string) => void;\ntype OnErrorCallback = (error: Error) => void;\n\nconst eventEmitter = new NativeEventEmitter(PersonaInquiry);\n\nexport class Inquiry {\n templateId?: TemplateId;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n accessToken?: string;\n routingCountry?: string;\n\n iosThemeObject?: Object | null;\n fields?: FieldsPayload | null;\n\n private onSuccess?: OnSuccessCallback;\n private onCancelled?: OnCancelledCallback;\n private onFailed?: OnFailedCallback;\n private onError?: OnErrorCallback;\n\n private onSuccessListener?: EventSubscription;\n private onCancelledListener?: EventSubscription;\n private onFailedListener?: 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.accessToken = options.accessToken;\n this.fields = options.fields;\n this.routingCountry = options.routingCountry;\n\n // Callbacks\n this.onSuccess = options.onSuccess;\n this.onCancelled = options.onCancelled;\n this.onFailed = options.onFailed;\n this.onError = options.onError;\n\n // Theme object\n this.iosThemeObject = options.iosThemeObject;\n }\n\n private clearListeners() {\n if (this.onSuccessListener) this.onSuccessListener.remove();\n if (this.onCancelledListener) this.onCancelledListener.remove();\n if (this.onFailedListener) this.onFailedListener.remove();\n if (this.onErrorListener) this.onErrorListener.remove();\n }\n\n start() {\n this.onSuccessListener = eventEmitter.addListener(\n 'onSuccess',\n ({\n inquiryId: inquiryId,\n attributes: attributes,\n }: BridgeOnSuccessCallbackParams) => {\n // Native Brige sends an ISO 8601 Date. Convert this to a JS Date\n if (typeof attributes.birthdate === 'string') {\n attributes.birthdate = new Date(attributes.birthdate);\n }\n if (this.onSuccess) this.onSuccess(inquiryId, attributes);\n this.clearListeners();\n }\n );\n\n this.onCancelledListener = eventEmitter.addListener('onCancelled', () => {\n if (this.onCancelled) this.onCancelled();\n this.clearListeners();\n });\n\n this.onFailedListener = eventEmitter.addListener(\n 'onFailed',\n ({ inquiryId: inquiryId }: BridgeOnFailedCallbackParams) => {\n if (this.onFailed) this.onFailed(inquiryId);\n this.clearListeners();\n }\n );\n\n this.onErrorListener = eventEmitter.addListener(\n 'onError',\n ({ error: errorMessage }: BridgeOnErrorCallbackParams) => {\n if (this.onError) this.onError(new Error(errorMessage));\n this.clearListeners();\n }\n );\n\n PersonaInquiry.startInquiry({\n templateId: this.templateId,\n inquiryId: this.inquiryId,\n referenceId: this.referenceId,\n accountId: this.accountId,\n environment: this.environment,\n accessToken: this.accessToken,\n fields: this.fields,\n iosTheme: processThemeValues(this.iosThemeObject || {}),\n routingCountry: this.routingCountry,\n });\n }\n}\n\ninterface NameField {\n first?: string;\n middle?: string;\n last?: string;\n}\n\ninterface AddressField {\n street1?: string;\n street2?: string;\n city?: string;\n subdivision?: string;\n postalCode?: string;\n countryCode?: string;\n}\n\ninterface FieldsPayload {\n name?: NameField | null;\n address?: AddressField | null;\n birthdate?: string | null;\n emailAddress?: string | null;\n phoneNumber?: string | null;\n additionalFields?: Object | null;\n}\n\nclass InquiryBuilder {\n private _inquiryId: InquiryId;\n private _accessToken?: string;\n private _routingCountry?: string;\n\n // Callbacks\n private _onSuccess?: OnSuccessCallback;\n private _onCancelled?: OnCancelledCallback;\n private _onFailed?: OnFailedCallback;\n private _onError?: OnErrorCallback;\n private _iosThemeObject?: Object;\n private _fields?: FieldsPayload;\n\n constructor(inquiryId: InquiryId) {\n this._inquiryId = inquiryId;\n }\n\n accessToken(accessToken: string): InquiryBuilder {\n this._accessToken = accessToken;\n\n return this;\n }\n\n onSuccess(callback: OnSuccessCallback): InquiryBuilder {\n this._onSuccess = callback;\n\n return this;\n }\n\n onCancelled(callback: OnCancelledCallback): InquiryBuilder {\n this._onCancelled = callback;\n\n return this;\n }\n\n onFailed(callback: OnFailedCallback): InquiryBuilder {\n this._onFailed = 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 routingCountry(routingCountry: string): InquiryBuilder {\n this._routingCountry = routingCountry;\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n inquiryId: this._inquiryId,\n accessToken: this._accessToken,\n onSuccess: this._onSuccess,\n onCancelled: this._onCancelled,\n onFailed: this._onFailed,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n fields: this._fields,\n routingCountry: this._routingCountry,\n });\n }\n}\n\nclass TemplateBuilder {\n private _templateId: TemplateId;\n private _accountId?: AccountId;\n private _referenceId?: string;\n private _environment?: Environment;\n private _fields?: FieldsPayload;\n private _accessToken?: string;\n private _routingCountry?: string;\n\n // Callbacks\n private _onSuccess?: OnSuccessCallback;\n private _onCancelled?: OnCancelledCallback;\n private _onFailed?: OnFailedCallback;\n private _onError?: OnErrorCallback;\n\n // Customization\n private _iosThemeObject?: Object;\n\n constructor(templateId: TemplateId) {\n this._templateId = templateId;\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 accessToken(accessToken: string): TemplateBuilder {\n this._accessToken = accessToken;\n\n return this;\n }\n\n fields(fields: FieldsPayload): TemplateBuilder {\n this._fields = fields;\n\n return this;\n }\n\n onSuccess(callback: OnSuccessCallback): TemplateBuilder {\n this._onSuccess = callback;\n\n return this;\n }\n\n onCancelled(callback: OnCancelledCallback): TemplateBuilder {\n this._onCancelled = callback;\n\n return this;\n }\n\n onFailed(callback: OnFailedCallback): TemplateBuilder {\n this._onFailed = 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 routingCountry(routingCountry: string): TemplateBuilder {\n this._routingCountry = routingCountry;\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n templateId: this._templateId,\n accountId: this._accountId,\n referenceId: this._referenceId,\n environment: this._environment,\n accessToken: this._accessToken,\n fields: this._fields,\n onSuccess: this._onSuccess,\n onCancelled: this._onCancelled,\n onFailed: this._onFailed,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n routingCountry: this._routingCountry,\n });\n }\n}\n\nnamespace InquiryBuilders {\n export function fromInquiry(inquiryId: string) {\n return new InquiryBuilder(makeInquiryId(inquiryId));\n }\n\n export function fromTemplate(templateId: string) {\n return new TemplateBuilder(makeTemplateId(templateId));\n }\n}\n\nexport default InquiryBuilders;\n"]}
|
|
@@ -56,6 +56,7 @@ export interface InquiryOptions {
|
|
|
56
56
|
accountId?: AccountId;
|
|
57
57
|
environment?: Environment;
|
|
58
58
|
accessToken?: string;
|
|
59
|
+
routingCountry?: string;
|
|
59
60
|
fields?: FieldsPayload;
|
|
60
61
|
onSuccess?: OnSuccessCallback;
|
|
61
62
|
onCancelled?: OnCancelledCallback;
|
|
@@ -108,6 +109,7 @@ export declare class Inquiry {
|
|
|
108
109
|
accountId?: AccountId;
|
|
109
110
|
environment?: Environment;
|
|
110
111
|
accessToken?: string;
|
|
112
|
+
routingCountry?: string;
|
|
111
113
|
iosThemeObject?: Object | null;
|
|
112
114
|
fields?: FieldsPayload | null;
|
|
113
115
|
private onSuccess?;
|
|
@@ -146,6 +148,7 @@ interface FieldsPayload {
|
|
|
146
148
|
declare class InquiryBuilder {
|
|
147
149
|
private _inquiryId;
|
|
148
150
|
private _accessToken?;
|
|
151
|
+
private _routingCountry?;
|
|
149
152
|
private _onSuccess?;
|
|
150
153
|
private _onCancelled?;
|
|
151
154
|
private _onFailed?;
|
|
@@ -159,6 +162,7 @@ declare class InquiryBuilder {
|
|
|
159
162
|
onFailed(callback: OnFailedCallback): InquiryBuilder;
|
|
160
163
|
onError(callback: OnErrorCallback): InquiryBuilder;
|
|
161
164
|
iosTheme(themeObject: Object): InquiryBuilder;
|
|
165
|
+
routingCountry(routingCountry: string): InquiryBuilder;
|
|
162
166
|
build(): Inquiry;
|
|
163
167
|
}
|
|
164
168
|
declare class TemplateBuilder {
|
|
@@ -168,6 +172,7 @@ declare class TemplateBuilder {
|
|
|
168
172
|
private _environment?;
|
|
169
173
|
private _fields?;
|
|
170
174
|
private _accessToken?;
|
|
175
|
+
private _routingCountry?;
|
|
171
176
|
private _onSuccess?;
|
|
172
177
|
private _onCancelled?;
|
|
173
178
|
private _onFailed?;
|
|
@@ -184,6 +189,7 @@ declare class TemplateBuilder {
|
|
|
184
189
|
onFailed(callback: OnFailedCallback): TemplateBuilder;
|
|
185
190
|
onError(callback: OnErrorCallback): TemplateBuilder;
|
|
186
191
|
iosTheme(themeObject: Object): TemplateBuilder;
|
|
192
|
+
routingCountry(routingCountry: string): TemplateBuilder;
|
|
187
193
|
build(): Inquiry;
|
|
188
194
|
}
|
|
189
195
|
declare namespace InquiryBuilders {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-persona",
|
|
3
3
|
"title": "React Native Persona",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.5",
|
|
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
|
@@ -157,6 +157,7 @@ export interface InquiryOptions {
|
|
|
157
157
|
accountId?: AccountId;
|
|
158
158
|
environment?: Environment;
|
|
159
159
|
accessToken?: string;
|
|
160
|
+
routingCountry?: string;
|
|
160
161
|
|
|
161
162
|
// Fields
|
|
162
163
|
fields?: FieldsPayload;
|
|
@@ -236,6 +237,7 @@ export class Inquiry {
|
|
|
236
237
|
accountId?: AccountId;
|
|
237
238
|
environment?: Environment;
|
|
238
239
|
accessToken?: string;
|
|
240
|
+
routingCountry?: string;
|
|
239
241
|
|
|
240
242
|
iosThemeObject?: Object | null;
|
|
241
243
|
fields?: FieldsPayload | null;
|
|
@@ -258,6 +260,7 @@ export class Inquiry {
|
|
|
258
260
|
this.environment = options.environment;
|
|
259
261
|
this.accessToken = options.accessToken;
|
|
260
262
|
this.fields = options.fields;
|
|
263
|
+
this.routingCountry = options.routingCountry;
|
|
261
264
|
|
|
262
265
|
// Callbacks
|
|
263
266
|
this.onSuccess = options.onSuccess;
|
|
@@ -322,6 +325,7 @@ export class Inquiry {
|
|
|
322
325
|
accessToken: this.accessToken,
|
|
323
326
|
fields: this.fields,
|
|
324
327
|
iosTheme: processThemeValues(this.iosThemeObject || {}),
|
|
328
|
+
routingCountry: this.routingCountry,
|
|
325
329
|
});
|
|
326
330
|
}
|
|
327
331
|
}
|
|
@@ -353,6 +357,7 @@ interface FieldsPayload {
|
|
|
353
357
|
class InquiryBuilder {
|
|
354
358
|
private _inquiryId: InquiryId;
|
|
355
359
|
private _accessToken?: string;
|
|
360
|
+
private _routingCountry?: string;
|
|
356
361
|
|
|
357
362
|
// Callbacks
|
|
358
363
|
private _onSuccess?: OnSuccessCallback;
|
|
@@ -402,6 +407,11 @@ class InquiryBuilder {
|
|
|
402
407
|
return this;
|
|
403
408
|
}
|
|
404
409
|
|
|
410
|
+
routingCountry(routingCountry: string): InquiryBuilder {
|
|
411
|
+
this._routingCountry = routingCountry;
|
|
412
|
+
return this;
|
|
413
|
+
}
|
|
414
|
+
|
|
405
415
|
build(): Inquiry {
|
|
406
416
|
return new Inquiry({
|
|
407
417
|
inquiryId: this._inquiryId,
|
|
@@ -412,6 +422,7 @@ class InquiryBuilder {
|
|
|
412
422
|
onError: this._onError,
|
|
413
423
|
iosThemeObject: this._iosThemeObject,
|
|
414
424
|
fields: this._fields,
|
|
425
|
+
routingCountry: this._routingCountry,
|
|
415
426
|
});
|
|
416
427
|
}
|
|
417
428
|
}
|
|
@@ -423,6 +434,7 @@ class TemplateBuilder {
|
|
|
423
434
|
private _environment?: Environment;
|
|
424
435
|
private _fields?: FieldsPayload;
|
|
425
436
|
private _accessToken?: string;
|
|
437
|
+
private _routingCountry?: string;
|
|
426
438
|
|
|
427
439
|
// Callbacks
|
|
428
440
|
private _onSuccess?: OnSuccessCallback;
|
|
@@ -501,6 +513,11 @@ class TemplateBuilder {
|
|
|
501
513
|
return this;
|
|
502
514
|
}
|
|
503
515
|
|
|
516
|
+
routingCountry(routingCountry: string): TemplateBuilder {
|
|
517
|
+
this._routingCountry = routingCountry;
|
|
518
|
+
return this;
|
|
519
|
+
}
|
|
520
|
+
|
|
504
521
|
build(): Inquiry {
|
|
505
522
|
return new Inquiry({
|
|
506
523
|
templateId: this._templateId,
|
|
@@ -514,6 +531,7 @@ class TemplateBuilder {
|
|
|
514
531
|
onFailed: this._onFailed,
|
|
515
532
|
onError: this._onError,
|
|
516
533
|
iosThemeObject: this._iosThemeObject,
|
|
534
|
+
routingCountry: this._routingCountry,
|
|
517
535
|
});
|
|
518
536
|
}
|
|
519
537
|
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,294 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres
|
|
6
|
-
to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
-
|
|
8
|
-
## Unreleased
|
|
9
|
-
|
|
10
|
-
## [v1.3.3] - 2022-11-30
|
|
11
|
-
|
|
12
|
-
- Upgrade to iOS Inquiry SDK 1.1.28
|
|
13
|
-
- Upgrade to Android Inquiry SDK 1.1.23
|
|
14
|
-
|
|
15
|
-
## [v1.3.2] - 2022-10-18
|
|
16
|
-
|
|
17
|
-
### Changed
|
|
18
|
-
|
|
19
|
-
- Upgrade to Android Inquiry SDK 1.1.21
|
|
20
|
-
- Upgrade to iOS Inquiry SDK 1.1.27
|
|
21
|
-
|
|
22
|
-
## [v1.3.1] - 2022-03-02
|
|
23
|
-
|
|
24
|
-
### Fixed
|
|
25
|
-
|
|
26
|
-
- Re-added `persona-tool` which was removed by accident in a refactor
|
|
27
|
-
|
|
28
|
-
## [v1.3.0] - 2022-02-16
|
|
29
|
-
|
|
30
|
-
### Changed
|
|
31
|
-
|
|
32
|
-
- Upgrade to Android Inquiry SDK 1.1.19
|
|
33
|
-
- Updated structure to work alongside React Native Inquiry SDK 2.2.0
|
|
34
|
-
|
|
35
|
-
### Fixed
|
|
36
|
-
|
|
37
|
-
- Library now works with Gradle >= 7 on Android
|
|
38
|
-
|
|
39
|
-
## [v1.2.11] - 2022-01-19
|
|
40
|
-
|
|
41
|
-
### Changed
|
|
42
|
-
|
|
43
|
-
- Upgrade to iOS Inquiry SDK 1.1.25
|
|
44
|
-
|
|
45
|
-
## [v1.2.10] - 2022-01-14
|
|
46
|
-
|
|
47
|
-
### Changed
|
|
48
|
-
|
|
49
|
-
- Upgrade to iOS Inquiry SDK 1.1.24
|
|
50
|
-
|
|
51
|
-
## [v1.2.9] - 2022-01-03
|
|
52
|
-
|
|
53
|
-
### Changed
|
|
54
|
-
|
|
55
|
-
- Upgrade to iOS Inquiry SDK 1.1.23
|
|
56
|
-
|
|
57
|
-
## [v1.2.8] - 2021-12-07
|
|
58
|
-
|
|
59
|
-
### Changed
|
|
60
|
-
|
|
61
|
-
- Added iOS passthroughs for camera text color/size/font and footnote text size
|
|
62
|
-
- Added Android passthroughs for camera text color/size/font and footnote text size
|
|
63
|
-
- Added iOS/Android passthroughs for button text size
|
|
64
|
-
- Upgrade to iOS Inquiry SDK 1.1.22
|
|
65
|
-
- Upgrade to Android Inquiry SDK 1.1.17
|
|
66
|
-
|
|
67
|
-
## [v1.2.7] - 2021-10-20
|
|
68
|
-
|
|
69
|
-
### Changed
|
|
70
|
-
|
|
71
|
-
- Applied button text color and border radius theming to `buttonStyleSecondary`
|
|
72
|
-
- Upgrade to iOS Inquiry SDK 1.1.20
|
|
73
|
-
|
|
74
|
-
## [v1.2.6] - 2021-09-20
|
|
75
|
-
|
|
76
|
-
### Changed
|
|
77
|
-
|
|
78
|
-
- Added passthrough for title and body text sizes
|
|
79
|
-
|
|
80
|
-
## [v1.2.5] - 2021-09-10
|
|
81
|
-
|
|
82
|
-
### Changed
|
|
83
|
-
|
|
84
|
-
- Update React peer dependency to allow React 17
|
|
85
|
-
- Added iOS passthrough for `titleTextAlignment` and `bodyTextAlignment`
|
|
86
|
-
- Upgrade to iOS Inquiry SDK 1.1.18
|
|
87
|
-
- Upgrade to Android Inquiry SDK 1.1.13
|
|
88
|
-
- Support Selfie config to skip the start/biometrics consent screen
|
|
89
|
-
|
|
90
|
-
## [v1.2.4] - 2021-08-26
|
|
91
|
-
|
|
92
|
-
### Changed
|
|
93
|
-
|
|
94
|
-
- Added passthrough to hide iOS button icons
|
|
95
|
-
- Added passthrough for iOS camera instructions text color and font
|
|
96
|
-
- Upgrade to iOS Inquiry SDK 1.1.17
|
|
97
|
-
- Upgrade to Android Inquiry SDK 1.1.12
|
|
98
|
-
|
|
99
|
-
## [v1.2.3] - 2021-08-16
|
|
100
|
-
|
|
101
|
-
### Changed
|
|
102
|
-
|
|
103
|
-
- Upgrade to iOS Inquiry SDK 1.1.15
|
|
104
|
-
- Upgrade to Android Inquiry SDK 1.1.10
|
|
105
|
-
|
|
106
|
-
## [v1.2.2] - 2021-07-20
|
|
107
|
-
|
|
108
|
-
### Changed
|
|
109
|
-
|
|
110
|
-
- Added passthrough for custom selfie animations
|
|
111
|
-
- Upgrade to Android Inquiry SDK 1.1.8
|
|
112
|
-
- Upgrade to iOS Inquiry SDK 1.1.13
|
|
113
|
-
|
|
114
|
-
## [v1.2.1] - 2021-07-12
|
|
115
|
-
|
|
116
|
-
### Changed
|
|
117
|
-
|
|
118
|
-
- Upgrade to Android Inquiry SDK 1.1.7
|
|
119
|
-
- Upgrade to iOS Inquiry SDK 1.1.12
|
|
120
|
-
|
|
121
|
-
## [v1.2.0] - 2021-05-26
|
|
122
|
-
|
|
123
|
-
### Changed
|
|
124
|
-
|
|
125
|
-
- Upgrade to Android Inquiry SDK 1.1.3
|
|
126
|
-
- Upgrade to iOS Inquiry SDK 1.1.7
|
|
127
|
-
- Increase the React Native dependency to `>=0.62.2`
|
|
128
|
-
|
|
129
|
-
## [v1.1.1] - 2021-03-13
|
|
130
|
-
|
|
131
|
-
### Changed
|
|
132
|
-
|
|
133
|
-
- Upgrade to Android Inquiry SDK 1.1.1
|
|
134
|
-
- Upgrade to iOS Inquiry SDK 1.1.1
|
|
135
|
-
- Rename National ID to State ID
|
|
136
|
-
|
|
137
|
-
## [v1.1.0] - 2021-02-26
|
|
138
|
-
|
|
139
|
-
### Changed
|
|
140
|
-
|
|
141
|
-
- Upgrade to Android Inquiry SDK 1.1.0
|
|
142
|
-
- Upgrade to iOS Inquiry SDK 1.1.0
|
|
143
|
-
- Decreased Android SDK size by removing bundled ML Kit library
|
|
144
|
-
- Update translations for pt-BR
|
|
145
|
-
|
|
146
|
-
### Added
|
|
147
|
-
|
|
148
|
-
- Prefill Phone verification with phone number from the Inquiry
|
|
149
|
-
- Prefill Database verification with phone number, name, and address from the Inquiry
|
|
150
|
-
|
|
151
|
-
## [v1.0.10] - 2021-02-19
|
|
152
|
-
|
|
153
|
-
### Fixed
|
|
154
|
-
|
|
155
|
-
- iOS
|
|
156
|
-
- Fixed theme passthrough in bridge for:
|
|
157
|
-
- buttonDisabledBackgroundColor
|
|
158
|
-
- buttonTouchedBackgroundColor
|
|
159
|
-
- cancelButtonBackgroundColor
|
|
160
|
-
- progressColor
|
|
161
|
-
|
|
162
|
-
## [v1.0.9] - 2021-02-16
|
|
163
|
-
|
|
164
|
-
### Fixed
|
|
165
|
-
|
|
166
|
-
- iOS
|
|
167
|
-
- Fixed theme passthrough in bridge for buttonCornerRadius
|
|
168
|
-
|
|
169
|
-
## [v1.0.8] - 2021
|
|
170
|
-
|
|
171
|
-
### Added
|
|
172
|
-
|
|
173
|
-
- Support PDF417 barcode capture
|
|
174
|
-
- Support passport signature capture
|
|
175
|
-
|
|
176
|
-
### Changed
|
|
177
|
-
|
|
178
|
-
- Upgrade iOS SDK to 1.0.7
|
|
179
|
-
|
|
180
|
-
## [v1.0.7] - 2021-01-28
|
|
181
|
-
|
|
182
|
-
### Fixed
|
|
183
|
-
|
|
184
|
-
- Fixed invalid color filtering in persona-tool
|
|
185
|
-
|
|
186
|
-
### Changed
|
|
187
|
-
|
|
188
|
-
- Upgrade Android SDK to 1.0.11
|
|
189
|
-
|
|
190
|
-
## [v1.0.6] - 2021-01-07
|
|
191
|
-
|
|
192
|
-
### Added
|
|
193
|
-
|
|
194
|
-
- Return addressSubdivisionAbbr in Attributes
|
|
195
|
-
- Added support of custom strings for completion and failure screens
|
|
196
|
-
|
|
197
|
-
### Changed
|
|
198
|
-
|
|
199
|
-
- Android
|
|
200
|
-
- Upgrade Android SDK to 1.0.9
|
|
201
|
-
- Update default theme to Base.Persona.Inquiry.Theme.Light
|
|
202
|
-
- iOS
|
|
203
|
-
- Upgrade iOS SDK to 1.0.6
|
|
204
|
-
- Removed the cancel button from completion screen.
|
|
205
|
-
|
|
206
|
-
## [v1.0.5] - 2020-12-31
|
|
207
|
-
|
|
208
|
-
### Fixed
|
|
209
|
-
|
|
210
|
-
- Fixed empty birthdate on iOS
|
|
211
|
-
|
|
212
|
-
### Changed
|
|
213
|
-
|
|
214
|
-
- Updated Android SDK to 1.0.8
|
|
215
|
-
|
|
216
|
-
## [v1.0.4] - 2020-12-08
|
|
217
|
-
|
|
218
|
-
### Changed
|
|
219
|
-
|
|
220
|
-
- Now target iOS Native SDK 1.0.3 and Android Native SDK 1.0.4
|
|
221
|
-
- Updated selfie verification experience to match web flow
|
|
222
|
-
- Changed react ios dependency from 'React' to 'React-Core'
|
|
223
|
-
|
|
224
|
-
## [v1.0.3] - 2020-12-01
|
|
225
|
-
|
|
226
|
-
### Fixed
|
|
227
|
-
|
|
228
|
-
- Fix validation check that rejected valid account id parameter
|
|
229
|
-
|
|
230
|
-
### Changed
|
|
231
|
-
|
|
232
|
-
- Now target iOS Native SDK 1.0.3 and Android Native SDK 1.0.4
|
|
233
|
-
|
|
234
|
-
## [v1.0.2] - 2020-10-21
|
|
235
|
-
|
|
236
|
-
### Fixed
|
|
237
|
-
|
|
238
|
-
- Workaround for failing to build for ios simulators on CocoaPods < 1.10
|
|
239
|
-
- Fixed inquiryId parameter name in onFailed callback
|
|
240
|
-
- Renamed FileProvider to avoid conflicts with other dependencies in React Native
|
|
241
|
-
|
|
242
|
-
## [v1.0.1] - 2020-10-13
|
|
243
|
-
|
|
244
|
-
### Fixed
|
|
245
|
-
|
|
246
|
-
- Fixed crash when resuming inquiry with access token on Android.
|
|
247
|
-
|
|
248
|
-
## [v1.0.0] - 2020-09-24
|
|
249
|
-
|
|
250
|
-
### Fixed
|
|
251
|
-
|
|
252
|
-
- Fixed default font sizes and font weights when using Android theming
|
|
253
|
-
|
|
254
|
-
### Changed
|
|
255
|
-
|
|
256
|
-
- Now targets iOS Native SDK 1.0.0 and Android Native SDK 1.0.0
|
|
257
|
-
|
|
258
|
-
### Added
|
|
259
|
-
|
|
260
|
-
- Support for Inquiry Fields when using the Template builder
|
|
261
|
-
- Support for passing an access token for resuming an inquiry.
|
|
262
|
-
|
|
263
|
-
## [v0.12.5] - 2020-09-11
|
|
264
|
-
|
|
265
|
-
### Changed
|
|
266
|
-
|
|
267
|
-
- Now targets iOS Native SDK 0.12.4
|
|
268
|
-
- Now targets Android Native SDK 0.12.4
|
|
269
|
-
- Includes threading fix for selfie auto-capture
|
|
270
|
-
|
|
271
|
-
## [v0.12.4] - 2020-09-09
|
|
272
|
-
|
|
273
|
-
### Fixed
|
|
274
|
-
|
|
275
|
-
- Include `.js` files in the published application.
|
|
276
|
-
|
|
277
|
-
## [v0.12.3] - 2020-09-09
|
|
278
|
-
|
|
279
|
-
### Added
|
|
280
|
-
|
|
281
|
-
- Improved theme support for Android and iOS. iOS now supports more themeable keys from the underlying native SDK.
|
|
282
|
-
Android styles resource generation now supports more themeable keys. All of this is still available
|
|
283
|
-
through `persona-tool`.
|
|
284
|
-
|
|
285
|
-
### Fixed
|
|
286
|
-
|
|
287
|
-
- Pass the Android `onError` event through to React Native `onError` event
|
|
288
|
-
|
|
289
|
-
## [v0.12.2] - 2020-09-04
|
|
290
|
-
|
|
291
|
-
### Changed
|
|
292
|
-
|
|
293
|
-
- Now targets iOS Native SDK 0.12.3
|
|
294
|
-
- Now targets Android Native SDK 0.12.3
|