UNPKG

@eeacms/volto-block-style

Version:
20 lines (18 loc) 676 B
import isArray from 'lodash/isArray'; import isObject from 'lodash/isObject'; import isString from 'lodash/isString'; import { isInternalURL, flattenToAppURL } from '@plone/volto/helpers'; export const getFieldURL = (data) => { let url = data; const _isObject = data && isObject(data) && !isArray(data); if (_isObject && data['@type'] === 'URL') { url = data['value'] ?? data['url'] ?? data['href'] ?? data; } else if (_isObject) { url = data['@id'] ?? data['url'] ?? data['href'] ?? data; } if (isArray(data)) { url = data.map((item) => getFieldURL(item)); } if (isString(url) && isInternalURL(url)) return flattenToAppURL(url); return url; };