UNPKG

svelte-ux

Version:

- Increment version in `package.json` and commit as `Version bump to x.y.z` - `npm run publish`

20 lines (19 loc) 828 B
import { isFunction } from 'lodash-es'; import { formatDate, PeriodType } from './date'; import { formatNumberAsStyle } from './number'; /** * Generic format which can handle Dates, Numbers, or custom format function */ export function format(value, format, ...extraFuncArgs) { let formattedValue = value !== null && value !== void 0 ? value : ''; // Do not render `null` if (isFunction(format)) { formattedValue = format(value, ...extraFuncArgs); } else if (format in PeriodType) { formattedValue = formatDate(value, format); } else if (typeof value === 'number') { formattedValue = formatNumberAsStyle(value, format); } return formattedValue !== null && formattedValue !== void 0 ? formattedValue : ''; // return empty string so Svelte doesn't render `null` string; }