Files
vaquant/src/utils/filters.ts
2020-03-15 17:26:35 +01:00

55 lines
1.2 KiB
TypeScript

import ICurrency from '@/models/ICurrency'
export const money = (
value: number,
currency: ICurrency | null | undefined,
country: string = 'fr-FR'
): string => {
if (!currency) {
return value.toString()
}
return new Intl.NumberFormat(country, {
style: 'currency',
currency: currency.code,
minimumFractionDigits: 2
}).format(value)
}
export const moneypad = (
value: number,
currency?: ICurrency | null,
withPadEnd: boolean = true
): string => {
const m = money(value, currency)
const s: string[] = m.split('\xa0')
let cur: string | undefined = s.pop()
if (withPadEnd) {
cur = (cur || '').padEnd(3, '\xa0')
}
const result = `${s.join('\xa0')}\xa0${cur || ''}`
return result
}
export const date = (value: string, country: string = 'fr-FR') => {
return new Intl.DateTimeFormat(country).format(new Date(value))
}
export const fulldate = (value: string, country: string = 'fr-FR') => {
return new Intl.DateTimeFormat(country, {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
}).format(new Date(value))
}
export default {
money,
moneypad,
date,
fulldate
} as { [key: string]: (...args: any[]) => any }