UNPKG

@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
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 };