UNPKG

react-native-persona

Version:

Launch a mobile native implementation of the Persona inquiry flow from React Native.

101 lines (100 loc) 3.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.callOnCanceledCallback = callOnCanceledCallback; exports.callOnCompleteCallback = callOnCompleteCallback; exports.callOnErrorCallback = callOnErrorCallback; exports.callOnReadyCallback = callOnReadyCallback; exports.processThemeValues = processThemeValues; var _fields = require("./fields"); var _StepData = require("./StepData"); const HEX_REGEX = /^[a-fA-F0-9]{6}$/; function processThemeValues(themeObject) { const result = {}; for (const [key, value] of Object.entries(themeObject)) { if (value === null) { continue; } if (key.includes('Color')) { let colorValue = value; if (value[0] === '#') { colorValue = value.slice(1); } if (HEX_REGEX.test(colorValue)) { result[key] = `#${colorValue}`; } else { continue; } } else { result[key] = value.toString(); } } return result; } function callOnCompleteCallback(event, callback) { if (callback) { var _event$collectedData; let fields = {}; for (let key of Object.keys(event.fields || {})) { let field = event.fields[key]; if (field == undefined) { fields[key] = new _fields.InquiryField.Unknown('null'); continue; } switch (field.type) { case 'integer': fields[key] = new _fields.InquiryField.Integer(Number.parseInt(field.value)); break; case 'boolean': fields[key] = new _fields.InquiryField.Boolean(field.value); break; case 'string': fields[key] = new _fields.InquiryField.String(field.value); break; default: fields[key] = new _fields.InquiryField.Unknown(field.type); break; } } let collectedData = null; let stepData = (_event$collectedData = event.collectedData) === null || _event$collectedData === void 0 ? void 0 : _event$collectedData.stepData; if (stepData != null) { // Translate the step data from JSON to actual class objects let translatedStepData = []; for (let stepDatum of stepData) { switch (stepDatum.type) { case 'DocumentStepData': translatedStepData.push(Object.assign(new _StepData.DocumentStepData(), stepDatum)); break; case 'GovernmentIdStepData': translatedStepData.push(Object.assign(new _StepData.GovernmentIdStepData(), stepDatum)); break; case 'SelfieStepData': translatedStepData.push(Object.assign(new _StepData.SelfieStepData(), stepDatum)); break; case 'UiStepData': translatedStepData.push(Object.assign(new _StepData.UiStepData(), stepDatum)); break; } } collectedData = { stepData: translatedStepData }; } let extraData = { collectedData: collectedData }; callback(event.inquiryId, event.status, fields, extraData); } } function callOnCanceledCallback(event, callback) { if (callback) callback(event.inquiryId, event.sessionToken); } function callOnErrorCallback(event, callback) { if (callback) callback(new Error(event.debugMessage), event.errorCode); } function callOnReadyCallback(callback) { if (callback) callback(); } //# sourceMappingURL=util.js.map