UNPKG

recoder-code

Version:

πŸš€ AI-powered development platform - Chat with 32+ models, build projects, automate workflows. Free models included!

229 lines (226 loc) β€’ 8.1 kB
function declension(scheme, count) { // scheme for count=1 exists if (scheme.one !== undefined && 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)); } } function buildLocalizeTokenFn(scheme) { return function (count, options) { if (options && options.addSuffix) { if (options.comparison && options.comparison > 0) { if (scheme.future) { return declension(scheme.future, count); } else { return 'Π·Π° ' + declension(scheme.regular, count); } } else { if (scheme.past) { return declension(scheme.past, count); } else { return declension(scheme.regular, count) + ' Ρ‚ΠΎΠΌΡƒ'; } } } else { return declension(scheme.regular, count); } }; } var halfAtMinute = function halfAtMinute(_, options) { if (options && options.addSuffix) { if (options.comparison && options.comparison > 0) { return 'Π·Π° ΠΏΡ–Π²Ρ…Π²ΠΈΠ»ΠΈΠ½ΠΈ'; } else { return 'ΠΏΡ–Π²Ρ…Π²ΠΈΠ»ΠΈΠ½ΠΈ Ρ‚ΠΎΠΌΡƒ'; } } return 'ΠΏΡ–Π²Ρ…Π²ΠΈΠ»ΠΈΠ½ΠΈ'; }; var formatDistanceLocale = { lessThanXSeconds: buildLocalizeTokenFn({ regular: { one: 'мСншС сСкунди', singularNominative: 'мСншС {{count}} сСкунди', singularGenitive: 'мСншС {{count}} сСкунд', pluralGenitive: 'мСншС {{count}} сСкунд' }, future: { one: 'мСншС, Π½Ρ–ΠΆ Π·Π° сСкунду', singularNominative: 'мСншС, Π½Ρ–ΠΆ Π·Π° {{count}} сСкунду', singularGenitive: 'мСншС, Π½Ρ–ΠΆ Π·Π° {{count}} сСкунди', pluralGenitive: 'мСншС, Π½Ρ–ΠΆ Π·Π° {{count}} сСкунд' } }), xSeconds: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} сСкунда', singularGenitive: '{{count}} сСкунди', pluralGenitive: '{{count}} сСкунд' }, past: { singularNominative: '{{count}} сСкунду Ρ‚ΠΎΠΌΡƒ', singularGenitive: '{{count}} сСкунди Ρ‚ΠΎΠΌΡƒ', pluralGenitive: '{{count}} сСкунд Ρ‚ΠΎΠΌΡƒ' }, future: { singularNominative: 'Π·Π° {{count}} сСкунду', singularGenitive: 'Π·Π° {{count}} сСкунди', pluralGenitive: 'Π·Π° {{count}} сСкунд' } }), halfAMinute: halfAtMinute, lessThanXMinutes: buildLocalizeTokenFn({ regular: { one: 'мСншС Ρ…Π²ΠΈΠ»ΠΈΠ½ΠΈ', singularNominative: 'мСншС {{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½ΠΈ', singularGenitive: 'мСншС {{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½', pluralGenitive: 'мСншС {{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½' }, future: { one: 'мСншС, Π½Ρ–ΠΆ Π·Π° Ρ…Π²ΠΈΠ»ΠΈΠ½Ρƒ', singularNominative: 'мСншС, Π½Ρ–ΠΆ Π·Π° {{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½Ρƒ', singularGenitive: 'мСншС, Π½Ρ–ΠΆ Π·Π° {{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½ΠΈ', pluralGenitive: 'мСншС, Π½Ρ–ΠΆ Π·Π° {{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½' } }), xMinutes: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½Π°', singularGenitive: '{{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½ΠΈ', pluralGenitive: '{{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½' }, past: { singularNominative: '{{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½Ρƒ Ρ‚ΠΎΠΌΡƒ', singularGenitive: '{{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½ΠΈ Ρ‚ΠΎΠΌΡƒ', pluralGenitive: '{{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½ Ρ‚ΠΎΠΌΡƒ' }, future: { singularNominative: 'Π·Π° {{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½Ρƒ', singularGenitive: 'Π·Π° {{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½ΠΈ', pluralGenitive: 'Π·Π° {{count}} Ρ…Π²ΠΈΠ»ΠΈΠ½' } }), aboutXHours: buildLocalizeTokenFn({ regular: { singularNominative: 'близько {{count}} Π³ΠΎΠ΄ΠΈΠ½ΠΈ', singularGenitive: 'близько {{count}} Π³ΠΎΠ΄ΠΈΠ½', pluralGenitive: 'близько {{count}} Π³ΠΎΠ΄ΠΈΠ½' }, future: { singularNominative: 'ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π·Π° {{count}} Π³ΠΎΠ΄ΠΈΠ½Ρƒ', singularGenitive: 'ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π·Π° {{count}} Π³ΠΎΠ΄ΠΈΠ½ΠΈ', pluralGenitive: 'ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π·Π° {{count}} Π³ΠΎΠ΄ΠΈΠ½' } }), xHours: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} Π³ΠΎΠ΄ΠΈΠ½Ρƒ', singularGenitive: '{{count}} Π³ΠΎΠ΄ΠΈΠ½ΠΈ', pluralGenitive: '{{count}} Π³ΠΎΠ΄ΠΈΠ½' } }), xDays: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} дСнь', singularGenitive: '{{count}} Π΄Π½i', pluralGenitive: '{{count}} Π΄Π½Ρ–Π²' } }), aboutXWeeks: buildLocalizeTokenFn({ regular: { singularNominative: 'близько {{count}} тиТня', singularGenitive: 'близько {{count}} Ρ‚ΠΈΠΆΠ½Ρ–Π²', pluralGenitive: 'близько {{count}} Ρ‚ΠΈΠΆΠ½Ρ–Π²' }, future: { singularNominative: 'ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π·Π° {{count}} Ρ‚ΠΈΠΆΠ΄Π΅Π½ΡŒ', singularGenitive: 'ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π·Π° {{count}} Ρ‚ΠΈΠΆΠ½Ρ–', pluralGenitive: 'ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π·Π° {{count}} Ρ‚ΠΈΠΆΠ½Ρ–Π²' } }), xWeeks: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} Ρ‚ΠΈΠΆΠ΄Π΅Π½ΡŒ', singularGenitive: '{{count}} Ρ‚ΠΈΠΆΠ½Ρ–', pluralGenitive: '{{count}} Ρ‚ΠΈΠΆΠ½Ρ–Π²' } }), aboutXMonths: buildLocalizeTokenFn({ regular: { singularNominative: 'близько {{count}} місяця', singularGenitive: 'близько {{count}} місяців', pluralGenitive: 'близько {{count}} місяців' }, future: { singularNominative: 'ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π·Π° {{count}} ΠΌΡ–ΡΡΡ†ΡŒ', singularGenitive: 'ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π·Π° {{count}} місяці', pluralGenitive: 'ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π·Π° {{count}} місяців' } }), xMonths: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} ΠΌΡ–ΡΡΡ†ΡŒ', singularGenitive: '{{count}} місяці', pluralGenitive: '{{count}} місяців' } }), aboutXYears: buildLocalizeTokenFn({ regular: { singularNominative: 'близько {{count}} Ρ€ΠΎΠΊΡƒ', singularGenitive: 'близько {{count}} Ρ€ΠΎΠΊΡ–Π²', pluralGenitive: 'близько {{count}} Ρ€ΠΎΠΊΡ–Π²' }, future: { singularNominative: 'ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π·Π° {{count}} Ρ€Ρ–ΠΊ', singularGenitive: 'ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π·Π° {{count}} Ρ€ΠΎΠΊΠΈ', pluralGenitive: 'ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·Π½ΠΎ Π·Π° {{count}} Ρ€ΠΎΠΊΡ–Π²' } }), xYears: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} Ρ€Ρ–ΠΊ', singularGenitive: '{{count}} Ρ€ΠΎΠΊΠΈ', pluralGenitive: '{{count}} Ρ€ΠΎΠΊΡ–Π²' } }), overXYears: buildLocalizeTokenFn({ regular: { singularNominative: 'Π±Ρ–Π»ΡŒΡˆΠ΅ {{count}} Ρ€ΠΎΠΊΡƒ', singularGenitive: 'Π±Ρ–Π»ΡŒΡˆΠ΅ {{count}} Ρ€ΠΎΠΊΡ–Π²', pluralGenitive: 'Π±Ρ–Π»ΡŒΡˆΠ΅ {{count}} Ρ€ΠΎΠΊΡ–Π²' }, future: { singularNominative: 'Π±Ρ–Π»ΡŒΡˆΠ΅, Π½Ρ–ΠΆ Π·Π° {{count}} Ρ€Ρ–ΠΊ', singularGenitive: 'Π±Ρ–Π»ΡŒΡˆΠ΅, Π½Ρ–ΠΆ Π·Π° {{count}} Ρ€ΠΎΠΊΠΈ', pluralGenitive: 'Π±Ρ–Π»ΡŒΡˆΠ΅, Π½Ρ–ΠΆ Π·Π° {{count}} Ρ€ΠΎΠΊΡ–Π²' } }), almostXYears: buildLocalizeTokenFn({ regular: { singularNominative: 'ΠΌΠ°ΠΉΠΆΠ΅ {{count}} Ρ€Ρ–ΠΊ', singularGenitive: 'ΠΌΠ°ΠΉΠΆΠ΅ {{count}} Ρ€ΠΎΠΊΠΈ', pluralGenitive: 'ΠΌΠ°ΠΉΠΆΠ΅ {{count}} Ρ€ΠΎΠΊΡ–Π²' }, future: { singularNominative: 'ΠΌΠ°ΠΉΠΆΠ΅ Π·Π° {{count}} Ρ€Ρ–ΠΊ', singularGenitive: 'ΠΌΠ°ΠΉΠΆΠ΅ Π·Π° {{count}} Ρ€ΠΎΠΊΠΈ', pluralGenitive: 'ΠΌΠ°ΠΉΠΆΠ΅ Π·Π° {{count}} Ρ€ΠΎΠΊΡ–Π²' } }) }; var formatDistance = function formatDistance(token, count, options) { options = options || {}; return formatDistanceLocale[token](count, options); }; export default formatDistance;