onfido-sdk-ui
Version:
JavaScript SDK view layer for Onfido identity verification
79 lines (70 loc) • 2.2 kB
JavaScript
import { findKey } from '~utils/object'
import { upperCase } from '~utils/string'
// export type GroupType = 'identity' | 'proof_of_address'
/* export type DocumentOptionsType = {
icon: string,
label: string,
detail?: string,
warning?: string,
eStatements?: boolean,
checkAvailableInCountry?: (string) => boolean,
} */
export const idDocumentOptions = {
passport: {
labelKey: 'doc_select.button_passport',
detailKey: 'doc_select.button_passport_detail',
},
driving_licence: {
labelKey: 'doc_select.button_license',
detailKey: 'doc_select.button_license_detail',
},
national_identity_card: {
labelKey: 'doc_select.button_id',
detailKey: 'doc_select.button_id_detail',
},
residence_permit: {
labelKey: 'doc_select.button_permit',
detailKey: 'doc_select.button_permit_detail',
},
}
export const idDocumentTypes = Object.keys(idDocumentOptions)
const isUK = (code) => upperCase(code) === 'GBR'
const isNonUK = (code) => upperCase(code) !== 'GBR'
export const poaDocumentOptions = {
bank_building_society_statement: {
labelKey: 'doc_select.button_bank_statement',
eStatementsKey: 'doc_select.extra_estatements_ok',
},
utility_bill: {
labelKey: 'doc_select.button_bill',
detailKey: 'doc_select.button_bill_detail',
warningKey: 'doc_select.extra_no_mobile',
eStatementsKey: 'doc_select.extra_estatements_ok',
},
council_tax: {
labelKey: 'doc_select.button_tax_letter',
icon: 'icon-letter',
checkAvailableInCountry: isUK,
},
benefit_letters: {
labelKey: 'doc_select.button_benefits_letter',
detailKey: 'doc_select.button_benefits_letter_detail',
icon: 'icon-letter',
checkAvailableInCountry: isUK,
},
government_letter: {
labelKey: 'doc_select.button_government_letter',
detailKey: 'doc_select.button_government_letter_detail',
icon: 'icon-letter',
checkAvailableInCountry: isNonUK,
},
}
export const poaDocumentTypes = Object.keys(poaDocumentOptions)
export const getDocumentTypeGroup = (documentType) =>
findKey(
{
proof_of_address: poaDocumentTypes,
identity: idDocumentTypes,
},
(types) => types.includes(documentType)
)