date-fns
Version:
Modern JavaScript date utility library
137 lines (124 loc) • 2.93 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = formatDistance;
function futureSeconds(text) {
return text.replace(/sekuntia?/, 'sekunnin');
}
function futureMinutes(text) {
return text.replace(/minuuttia?/, 'minuutin');
}
function futureHours(text) {
return text.replace(/tuntia?/, 'tunnin');
}
function futureDays(text) {
return text.replace(/päivää?/, 'päivän');
}
function futureWeeks(text) {
return text.replace(/(viikko|viikkoa)/, 'viikon');
}
function futureMonths(text) {
return text.replace(/(kuukausi|kuukautta)/, 'kuukauden');
}
function futureYears(text) {
return text.replace(/(vuosi|vuotta)/, 'vuoden');
}
var formatDistanceLocale = {
lessThanXSeconds: {
one: 'alle sekunti',
other: 'alle {{count}} sekuntia',
futureTense: futureSeconds
},
xSeconds: {
one: 'sekunti',
other: '{{count}} sekuntia',
futureTense: futureSeconds
},
halfAMinute: {
one: 'puoli minuuttia',
other: 'puoli minuuttia',
futureTense: function (_text) {
return 'puolen minuutin';
}
},
lessThanXMinutes: {
one: 'alle minuutti',
other: 'alle {{count}} minuuttia',
futureTense: futureMinutes
},
xMinutes: {
one: 'minuutti',
other: '{{count}} minuuttia',
futureTense: futureMinutes
},
aboutXHours: {
one: 'noin tunti',
other: 'noin {{count}} tuntia',
futureTense: futureHours
},
xHours: {
one: 'tunti',
other: '{{count}} tuntia',
futureTense: futureHours
},
xDays: {
one: 'päivä',
other: '{{count}} päivää',
futureTense: futureDays
},
aboutXWeeks: {
one: 'noin viikko',
other: 'noin {{count}} viikkoa',
futureTense: futureWeeks
},
xWeeks: {
one: 'viikko',
other: '{{count}} viikkoa',
futureTense: futureWeeks
},
aboutXMonths: {
one: 'noin kuukausi',
other: 'noin {{count}} kuukautta',
futureTense: futureMonths
},
xMonths: {
one: 'kuukausi',
other: '{{count}} kuukautta',
futureTense: futureMonths
},
aboutXYears: {
one: 'noin vuosi',
other: 'noin {{count}} vuotta',
futureTense: futureYears
},
xYears: {
one: 'vuosi',
other: '{{count}} vuotta',
futureTense: futureYears
},
overXYears: {
one: 'yli vuosi',
other: 'yli {{count}} vuotta',
futureTense: futureYears
},
almostXYears: {
one: 'lähes vuosi',
other: 'lähes {{count}} vuotta',
futureTense: futureYears
}
};
function formatDistance(token, count, options) {
options = options || {};
var distance = formatDistanceLocale[token];
var result = count === 1 ? distance.one : distance.other.replace('{{count}}', count);
if (options.addSuffix) {
if (options.comparison > 0) {
return distance.futureTense(result) + ' kuluttua';
} else {
return result + ' sitten';
}
}
return result;
}
module.exports = exports.default;
;