UNPKG

date-fns

Version:

Modern JavaScript date utility library

327 lines (326 loc) 8.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; function isPluralType(val) { return val.one !== undefined; } var formatDistanceLocale = { lessThanXSeconds: { present: { one: 'manj kot {{count}} sekunda', two: 'manj kot {{count}} sekundi', few: 'manj kot {{count}} sekunde', other: 'manj kot {{count}} sekund' }, past: { one: 'manj kot {{count}} sekundo', two: 'manj kot {{count}} sekundama', few: 'manj kot {{count}} sekundami', other: 'manj kot {{count}} sekundami' }, future: { one: 'manj kot {{count}} sekundo', two: 'manj kot {{count}} sekundi', few: 'manj kot {{count}} sekunde', other: 'manj kot {{count}} sekund' } }, xSeconds: { present: { one: '{{count}} sekunda', two: '{{count}} sekundi', few: '{{count}} sekunde', other: '{{count}} sekund' }, past: { one: '{{count}} sekundo', two: '{{count}} sekundama', few: '{{count}} sekundami', other: '{{count}} sekundami' }, future: { one: '{{count}} sekundo', two: '{{count}} sekundi', few: '{{count}} sekunde', other: '{{count}} sekund' } }, halfAMinute: 'pol minute', lessThanXMinutes: { present: { one: 'manj kot {{count}} minuta', two: 'manj kot {{count}} minuti', few: 'manj kot {{count}} minute', other: 'manj kot {{count}} minut' }, past: { one: 'manj kot {{count}} minuto', two: 'manj kot {{count}} minutama', few: 'manj kot {{count}} minutami', other: 'manj kot {{count}} minutami' }, future: { one: 'manj kot {{count}} minuto', two: 'manj kot {{count}} minuti', few: 'manj kot {{count}} minute', other: 'manj kot {{count}} minut' } }, xMinutes: { present: { one: '{{count}} minuta', two: '{{count}} minuti', few: '{{count}} minute', other: '{{count}} minut' }, past: { one: '{{count}} minuto', two: '{{count}} minutama', few: '{{count}} minutami', other: '{{count}} minutami' }, future: { one: '{{count}} minuto', two: '{{count}} minuti', few: '{{count}} minute', other: '{{count}} minut' } }, aboutXHours: { present: { one: 'približno {{count}} ura', two: 'približno {{count}} uri', few: 'približno {{count}} ure', other: 'približno {{count}} ur' }, past: { one: 'približno {{count}} uro', two: 'približno {{count}} urama', few: 'približno {{count}} urami', other: 'približno {{count}} urami' }, future: { one: 'približno {{count}} uro', two: 'približno {{count}} uri', few: 'približno {{count}} ure', other: 'približno {{count}} ur' } }, xHours: { present: { one: '{{count}} ura', two: '{{count}} uri', few: '{{count}} ure', other: '{{count}} ur' }, past: { one: '{{count}} uro', two: '{{count}} urama', few: '{{count}} urami', other: '{{count}} urami' }, future: { one: '{{count}} uro', two: '{{count}} uri', few: '{{count}} ure', other: '{{count}} ur' } }, xDays: { present: { one: '{{count}} dan', two: '{{count}} dni', few: '{{count}} dni', other: '{{count}} dni' }, past: { one: '{{count}} dnem', two: '{{count}} dnevoma', few: '{{count}} dnevi', other: '{{count}} dnevi' }, future: { one: '{{count}} dan', two: '{{count}} dni', few: '{{count}} dni', other: '{{count}} dni' } }, // no tenses for weeks? aboutXWeeks: { one: 'približno {{count}} teden', two: 'približno {{count}} tedna', few: 'približno {{count}} tedne', other: 'približno {{count}} tednov' }, // no tenses for weeks? xWeeks: { one: '{{count}} teden', two: '{{count}} tedna', few: '{{count}} tedne', other: '{{count}} tednov' }, aboutXMonths: { present: { one: 'približno {{count}} mesec', two: 'približno {{count}} meseca', few: 'približno {{count}} mesece', other: 'približno {{count}} mesecev' }, past: { one: 'približno {{count}} mesecem', two: 'približno {{count}} mesecema', few: 'približno {{count}} meseci', other: 'približno {{count}} meseci' }, future: { one: 'približno {{count}} mesec', two: 'približno {{count}} meseca', few: 'približno {{count}} mesece', other: 'približno {{count}} mesecev' } }, xMonths: { present: { one: '{{count}} mesec', two: '{{count}} meseca', few: '{{count}} meseci', other: '{{count}} mesecev' }, past: { one: '{{count}} mesecem', two: '{{count}} mesecema', few: '{{count}} meseci', other: '{{count}} meseci' }, future: { one: '{{count}} mesec', two: '{{count}} meseca', few: '{{count}} mesece', other: '{{count}} mesecev' } }, aboutXYears: { present: { one: 'približno {{count}} leto', two: 'približno {{count}} leti', few: 'približno {{count}} leta', other: 'približno {{count}} let' }, past: { one: 'približno {{count}} letom', two: 'približno {{count}} letoma', few: 'približno {{count}} leti', other: 'približno {{count}} leti' }, future: { one: 'približno {{count}} leto', two: 'približno {{count}} leti', few: 'približno {{count}} leta', other: 'približno {{count}} let' } }, xYears: { present: { one: '{{count}} leto', two: '{{count}} leti', few: '{{count}} leta', other: '{{count}} let' }, past: { one: '{{count}} letom', two: '{{count}} letoma', few: '{{count}} leti', other: '{{count}} leti' }, future: { one: '{{count}} leto', two: '{{count}} leti', few: '{{count}} leta', other: '{{count}} let' } }, overXYears: { present: { one: 'več kot {{count}} leto', two: 'več kot {{count}} leti', few: 'več kot {{count}} leta', other: 'več kot {{count}} let' }, past: { one: 'več kot {{count}} letom', two: 'več kot {{count}} letoma', few: 'več kot {{count}} leti', other: 'več kot {{count}} leti' }, future: { one: 'več kot {{count}} leto', two: 'več kot {{count}} leti', few: 'več kot {{count}} leta', other: 'več kot {{count}} let' } }, almostXYears: { present: { one: 'skoraj {{count}} leto', two: 'skoraj {{count}} leti', few: 'skoraj {{count}} leta', other: 'skoraj {{count}} let' }, past: { one: 'skoraj {{count}} letom', two: 'skoraj {{count}} letoma', few: 'skoraj {{count}} leti', other: 'skoraj {{count}} leti' }, future: { one: 'skoraj {{count}} leto', two: 'skoraj {{count}} leti', few: 'skoraj {{count}} leta', other: 'skoraj {{count}} let' } } }; function getFormFromCount(count) { switch (count % 100) { case 1: return 'one'; case 2: return 'two'; case 3: case 4: return 'few'; default: return 'other'; } } var formatDistance = function formatDistance(token, count, options) { var result = ''; var tense = 'present'; if (options !== null && options !== void 0 && options.addSuffix) { if (options.comparison && options.comparison > 0) { tense = 'future'; result = 'čez '; } else { tense = 'past'; result = 'pred '; } } var tokenValue = formatDistanceLocale[token]; if (typeof tokenValue === 'string') { result += tokenValue; } else { var form = getFormFromCount(count); if (isPluralType(tokenValue)) { result += tokenValue[form].replace('{{count}}', String(count)); } else { result += tokenValue[tense][form].replace('{{count}}', String(count)); } } return result; }; var _default = formatDistance; exports.default = _default; module.exports = exports.default;