@adyen/kyc-components
Version:
This guide assumes that you have already an account with Adyen. A legalEntity needs to be created, and you need to have a `legalEntityId` to instatiate a Component.
40 lines (39 loc) • 2.12 kB
JavaScript
try {
let e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "9bbb31ec-51e6-4929-86ae-c80de42310ee", e._sentryDebugIdIdentifier = "sentry-dbid-9bbb31ec-51e6-4929-86ae-c80de42310ee");
} catch (e) {}
import { r as useTranslation } from "./translation-BFxyJ1c5.js";
import { C as EntityTypes, T as DATA_MISSING_DECISION_MAKER_ERROR_CODE_MAPPING } from "./processCapabilities-DlZY9-Jc.js";
import { p as TaskTypes } from "./entityAssociationUtil-BEzUdPbm.js";
import { useMemo } from "preact/hooks";
//#region src/hooks/useDataMissingRemediations.ts
/**
* @description A hook that parses a legal entities capability problems and maps its verification error codes to task specific remediation messages
*
* @param legalEntityId - ID of an exisiting LegalEntity
* @param problems - Capability problems on exisiting LegalEntity
* @returns A record of TaskTypes to a remediation message
*/
function useDataMissingRemediations({ legalEntityId, problems }) {
const { t } = useTranslation("common");
const decisionMakersRemediationMessage = useMemo(() => {
const remediationCodes = problems[EntityTypes.LEGAL_ENTITY]?.[legalEntityId]?.missingData?.reduce((remediations, error) => {
const remediation = DATA_MISSING_DECISION_MAKER_ERROR_CODE_MAPPING[error.code];
return remediation ? [...remediations, remediation] : remediations;
}, []);
const uniqueRemediations = [...new Set(remediationCodes)];
switch (uniqueRemediations?.length) {
case void 0:
case 0: return;
case 1: return uniqueRemediations[0] ? t(($) => $[`remediationMessage_${uniqueRemediations[0]}`]) : t(($) => $["missingMultipleDecisionMakers"]);
default: return t(($) => $["missingMultipleDecisionMakers"]);
}
}, [
problems,
t,
legalEntityId
]);
return { remediationMessages: { [TaskTypes.DECISION_MAKER]: decisionMakersRemediationMessage } };
}
//#endregion
export { useDataMissingRemediations as t };