UNPKG

date-fns

Version:

Modern JavaScript date utility library

234 lines (230 loc) 7.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var formatDistanceLocale = { lessThanXSeconds: { regular: { one: '1 секундтан аз', singularNominative: '{{count}} секундтан аз', singularGenitive: '{{count}} секундтан аз', pluralGenitive: '{{count}} секундтан аз' }, future: { one: 'бір секундтан кейін', singularNominative: '{{count}} секундтан кейін', singularGenitive: '{{count}} секундтан кейін', pluralGenitive: '{{count}} секундтан кейін' } }, xSeconds: { regular: { singularNominative: '{{count}} секунд', singularGenitive: '{{count}} секунд', pluralGenitive: '{{count}} секунд' }, past: { singularNominative: '{{count}} секунд бұрын', singularGenitive: '{{count}} секунд бұрын', pluralGenitive: '{{count}} секунд бұрын' }, future: { singularNominative: '{{count}} секундтан кейін', singularGenitive: '{{count}} секундтан кейін', pluralGenitive: '{{count}} секундтан кейін' } }, halfAMinute: function halfAMinute(options) { if (options !== null && options !== void 0 && options.addSuffix) { if (options.comparison && options.comparison > 0) { return 'жарты минут ішінде'; } else { return 'жарты минут бұрын'; } } return 'жарты минут'; }, lessThanXMinutes: { regular: { one: '1 минуттан аз', singularNominative: '{{count}} минуттан аз', singularGenitive: '{{count}} минуттан аз', pluralGenitive: '{{count}} минуттан аз' }, future: { one: 'минуттан кем ', singularNominative: '{{count}} минуттан кем', singularGenitive: '{{count}} минуттан кем', pluralGenitive: '{{count}} минуттан кем' } }, xMinutes: { regular: { singularNominative: '{{count}} минут', singularGenitive: '{{count}} минут', pluralGenitive: '{{count}} минут' }, past: { singularNominative: '{{count}} минут бұрын', singularGenitive: '{{count}} минут бұрын', pluralGenitive: '{{count}} минут бұрын' }, future: { singularNominative: '{{count}} минуттан кейін', singularGenitive: '{{count}} минуттан кейін', pluralGenitive: '{{count}} минуттан кейін' } }, aboutXHours: { regular: { singularNominative: 'шамамен {{count}} сағат', singularGenitive: 'шамамен {{count}} сағат', pluralGenitive: 'шамамен {{count}} сағат' }, future: { singularNominative: 'шамамен {{count}} сағаттан кейін', singularGenitive: 'шамамен {{count}} сағаттан кейін', pluralGenitive: 'шамамен {{count}} сағаттан кейін' } }, xHours: { regular: { singularNominative: '{{count}} сағат', singularGenitive: '{{count}} сағат', pluralGenitive: '{{count}} сағат' } }, xDays: { regular: { singularNominative: '{{count}} күн', singularGenitive: '{{count}} күн', pluralGenitive: '{{count}} күн' }, future: { singularNominative: '{{count}} күннен кейін', singularGenitive: '{{count}} күннен кейін', pluralGenitive: '{{count}} күннен кейін' } }, aboutXWeeks: { type: 'weeks', one: 'шамамен 1 апта', other: 'шамамен {{count}} апта' }, xWeeks: { type: 'weeks', one: '1 апта', other: '{{count}} апта' }, aboutXMonths: { regular: { singularNominative: 'шамамен {{count}} ай', singularGenitive: 'шамамен {{count}} ай', pluralGenitive: 'шамамен {{count}} ай' }, future: { singularNominative: 'шамамен {{count}} айдан кейін', singularGenitive: 'шамамен {{count}} айдан кейін', pluralGenitive: 'шамамен {{count}} айдан кейін' } }, xMonths: { regular: { singularNominative: '{{count}} ай', singularGenitive: '{{count}} ай', pluralGenitive: '{{count}} ай' } }, aboutXYears: { regular: { singularNominative: 'шамамен {{count}} жыл', singularGenitive: 'шамамен {{count}} жыл', pluralGenitive: 'шамамен {{count}} жыл' }, future: { singularNominative: 'шамамен {{count}} жылдан кейін', singularGenitive: 'шамамен {{count}} жылдан кейін', pluralGenitive: 'шамамен {{count}} жылдан кейін' } }, xYears: { regular: { singularNominative: '{{count}} жыл', singularGenitive: '{{count}} жыл', pluralGenitive: '{{count}} жыл' }, future: { singularNominative: '{{count}} жылдан кейін', singularGenitive: '{{count}} жылдан кейін', pluralGenitive: '{{count}} жылдан кейін' } }, overXYears: { regular: { singularNominative: '{{count}} жылдан астам', singularGenitive: '{{count}} жылдан астам', pluralGenitive: '{{count}} жылдан астам' }, future: { singularNominative: '{{count}} жылдан астам', singularGenitive: '{{count}} жылдан астам', pluralGenitive: '{{count}} жылдан астам' } }, almostXYears: { regular: { singularNominative: '{{count}} жылға жақын', singularGenitive: '{{count}} жылға жақын', pluralGenitive: '{{count}} жылға жақын' }, future: { singularNominative: '{{count}} жылдан кейін', singularGenitive: '{{count}} жылдан кейін', pluralGenitive: '{{count}} жылдан кейін' } } }; function declension(scheme, count) { // scheme for count=1 exists if (scheme.one && count === 1) return scheme.one; var rem10 = count % 10; var rem100 = count % 100; // 1, 21, 31, ... if (rem10 === 1 && rem100 !== 11) { return scheme.singularNominative.replace('{{count}}', String(count)); // 2, 3, 4, 22, 23, 24, 32 ... } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) { return scheme.singularGenitive.replace('{{count}}', String(count)); // 5, 6, 7, 8, 9, 10, 11, ... } else { return scheme.pluralGenitive.replace('{{count}}', String(count)); } } var formatDistance = function formatDistance(token, count, options) { var tokenValue = formatDistanceLocale[token]; if (typeof tokenValue === 'function') return tokenValue(options); if (tokenValue.type === 'weeks') { return count === 1 ? tokenValue.one : tokenValue.other.replace('{{count}}', String(count)); } if (options !== null && options !== void 0 && options.addSuffix) { if (options.comparison && options.comparison > 0) { if (tokenValue.future) { return declension(tokenValue.future, count); } else { return declension(tokenValue.regular, count) + ' кейін'; } } else { if (tokenValue.past) { return declension(tokenValue.past, count); } else { return declension(tokenValue.regular, count) + ' бұрын'; } } } else { return declension(tokenValue.regular, count); } }; var _default = formatDistance; exports.default = _default; module.exports = exports.default;