@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.
46 lines (45 loc) • 2.33 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] = "f90f26e8-8570-402a-88ce-799c7a10b17a", e._sentryDebugIdIdentifier = "sentry-dbid-f90f26e8-8570-402a-88ce-799c7a10b17a");
} catch (e) {}
function getTrustedFields(rootLegalEntity, apiMapping, provider) {
return parseTrustedFieldsIntoReadOnlyFields(getApiTrustedFields(rootLegalEntity, provider), apiMapping);
}
function getTrustedEntityAssociations(rootLegalEntity, provider) {
return parseTrustedEntityAssociationsFromApiFields(getApiTrustedFields(rootLegalEntity, provider));
}
function getTrustedFieldsProvider(rootLegalEntity) {
return rootLegalEntity.trustedFields?.[0].provider;
}
var getApiTrustedFields = (rootLegalEntity, provider) => rootLegalEntity.trustedFields?.find((tf) => provider ? tf.provider === provider : true)?.fields ?? [];
function parseTrustedFieldsIntoReadOnlyFields(trustedFields, mapping) {
const formFieldsMapped = [];
trustedFields.forEach((field) => {
for (const [key, value] of Object.entries(mapping)) if (value === field) formFieldsMapped.push(key);
});
const readOnlyFields = {};
formFieldsMapped.forEach((field) => {
const tokenizedField = field.split(".");
const formField = tokenizedField.pop();
const formId = tokenizedField.pop();
if (formField && formId) if (formId in readOnlyFields) readOnlyFields[formId].push(formField);
else readOnlyFields[formId] = [formField];
});
return readOnlyFields;
}
function parseTrustedEntityAssociationsFromApiFields(trustedApiFields) {
const rawTrustedEntityAssociations = trustedApiFields.filter((f) => f.startsWith("entityAssociations")) ?? [];
const leIdMap = {};
rawTrustedEntityAssociations.forEach((rtea) => {
const [_, role, leId] = rtea.split(".");
const trustedRole = role;
if (!leIdMap[leId]) leIdMap[leId] = { roles: [trustedRole] };
else leIdMap[leId] = { roles: [...leIdMap[leId].roles, trustedRole] };
});
return Object.keys(leIdMap).map((reference) => ({
reference,
types: leIdMap[reference].roles
}));
}
//#endregion
export { getTrustedFields as n, getTrustedFieldsProvider as r, getTrustedEntityAssociations as t };