UNPKG

ice.fo.utils

Version:

39 lines (29 loc) 991 B
import _get from 'lodash/get' import { formatStringValue } from './StringUtils' import { formatTextCurrency, formatTextNumber } from './NumberUtils' import { makeFilterFunction } from './DateUtils' const parseFuncs = { currency: formatTextCurrency, number: formatTextNumber, date: makeFilterFunction('YYYY.MM.DD'), time: makeFilterFunction('HH:mm'), datetime: makeFilterFunction('YYYY-MM-DD HH:mm'), } export function parseDataMap ({ data, from, format }) { from = (from || '').trim() if (parseFuncs[format]) { return parseFuncs[format](_get(data, from)) } return format ? formatStringValue(data, format, parseFuncs) : _get(data, from) } export function parseDynamicString ({ pattern, context, patternPrefix }) { if (!pattern) { return '' } const prefix = '#{' const suffix = '}' if (patternPrefix) { pattern = pattern.replace(/#{[ ]{0,}/g, prefix + patternPrefix + '.') } return formatStringValue(context, pattern, {}, prefix, suffix) }