UNPKG

@formatjs/intl-relativetimeformat

Version:

Formats JavaScript dates to relative time strings.

36 lines (35 loc) 977 B
import { invariant, Type, } from '@formatjs/ecma402-abstract'; /** * https://tc39.es/proposal-intl-relative-time/#sec-singularrelativetimeunit * @param unit */ export function SingularRelativeTimeUnit(unit) { invariant(Type(unit) === 'String', 'unit must be a string'); if (unit === 'seconds') return 'second'; if (unit === 'minutes') return 'minute'; if (unit === 'hours') return 'hour'; if (unit === 'days') return 'day'; if (unit === 'weeks') return 'week'; if (unit === 'months') return 'month'; if (unit === 'quarters') return 'quarter'; if (unit === 'years') return 'year'; if (unit !== 'second' && unit !== 'minute' && unit !== 'hour' && unit !== 'day' && unit !== 'week' && unit !== 'month' && unit !== 'quarter' && unit !== 'year') { throw new RangeError('invalid unit'); } return unit; }