date-fns
Version:
Modern JavaScript date utility library
327 lines (326 loc) • 8.25 kB
JavaScript
"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;