react-native-persona
Version:
Launch a mobile native implementation of the Persona inquiry flow from React Native.
103 lines (102 loc) • 3.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.InquiryField = exports.Fields = void 0;
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
let InquiryField = exports.InquiryField = void 0;
(function (_InquiryField) {
class Integer {
constructor(value) {
_defineProperty(this, "type", 'integer');
_defineProperty(this, "value", void 0);
this.value = value;
}
}
_InquiryField.Integer = Integer;
class String {
constructor(value) {
_defineProperty(this, "type", 'string');
_defineProperty(this, "value", void 0);
this.value = value;
}
}
_InquiryField.String = String;
class Boolean {
constructor(value) {
_defineProperty(this, "type", 'boolean');
_defineProperty(this, "value", void 0);
this.value = value;
}
}
_InquiryField.Boolean = Boolean;
class Unknown {
constructor(type) {
_defineProperty(this, "type", void 0);
this.type = type;
}
}
_InquiryField.Unknown = Unknown;
function parse({
type,
value
}) {
if (value == null) {
return null;
}
switch (type) {
case 'integer':
return new InquiryField.Integer(Number.parseInt(value));
case 'string':
return new InquiryField.String(value);
case 'boolean':
return new InquiryField.Boolean(JSON.parse(value));
case 'unknown':
return new InquiryField.Unknown(value);
default:
return new InquiryField.Unknown(type);
}
}
_InquiryField.parse = parse;
})(InquiryField || (exports.InquiryField = InquiryField = {}));
let Fields = exports.Fields = void 0;
(function (_Fields) {
function builder() {
return new Fields.Builder();
}
_Fields.builder = builder;
class Builder {
constructor() {
_defineProperty(this, "_fields", void 0);
this._fields = {};
}
integer(fieldKey, value) {
this._fields = {
...this._fields,
[fieldKey]: new InquiryField.Integer(value)
};
return this;
}
boolean(fieldKey, value) {
this._fields = {
...this._fields,
[fieldKey]: new InquiryField.Boolean(value)
};
return this;
}
string(fieldKey, value) {
this._fields = {
...this._fields,
[fieldKey]: new InquiryField.String(value)
};
return this;
}
build() {
return this._fields;
}
}
_Fields.Builder = Builder;
})(Fields || (exports.Fields = Fields = {}));
//# sourceMappingURL=fields.js.map