decord/source/3458_formatDistance.js
2026-07-27 11:26:19 +00:00

129 lines
5.4 KiB
JavaScript

// Module ID: 3458
// Function ID: 26814
// Name: formatDistance
// Dependencies: [3386, 3408, 3413, 3456, 3210, 3459, 3460, 3373, 3211, 3215]
// Exports: default
// Module 3458 (formatDistance)
import compareAsc from "compareAsc";
import differenceInMonths from "differenceInMonths";
import differenceInSeconds from "differenceInSeconds";
import module_3456 from "module_3456";
import _typeof from "_typeof";
import cloneObject from "cloneObject";
import assign from "assign";
import getTimezoneOffsetInMilliseconds from "getTimezoneOffsetInMilliseconds";
import requiredArgs from "requiredArgs";
let c11 = 1440;
let c12 = 2520;
let c13 = 43200;
let c14 = 86400;
export default function formatDistance(defaultResult1, defaultResult2, locale) {
requiredArgs.default(2, arguments);
locale = undefined;
const defaultOptions = require(3215) /* getDefaultOptions */.getDefaultOptions();
if (null != locale) {
locale = locale.locale;
}
if (null === locale) {
locale = defaultOptions.locale;
}
if (null === locale) {
locale = module_3456.default;
}
if (locale.formatDistance) {
defaultResult1 = compareAsc.default(defaultResult1, defaultResult2);
const _isNaN = isNaN;
if (isNaN(defaultResult1)) {
const _RangeError2 = RangeError;
const rangeError = new RangeError("Invalid time value");
throw rangeError;
} else {
const obj = {};
let addSuffix;
if (null != locale) {
addSuffix = locale.addSuffix;
}
obj.addSuffix = Boolean(addSuffix);
obj.comparison = defaultResult1;
const defaultResult3 = assign.default(cloneObject.default(locale), obj);
if (defaultResult1 > 0) {
let defaultResult4 = _typeof.default(defaultResult2);
let defaultResult5 = _typeof.default(defaultResult1);
} else {
defaultResult4 = _typeof.default(defaultResult1);
defaultResult5 = _typeof.default(defaultResult2);
}
const defaultResult6 = differenceInSeconds.default(defaultResult5, defaultResult4);
defaultResult2 = cloneObject.default(locale);
const _Math = Math;
const rounded = Math.round((defaultResult6 - (getTimezoneOffsetInMilliseconds.default(defaultResult5) - getTimezoneOffsetInMilliseconds.default(defaultResult4)) / 1000) / 60);
if (rounded < 2) {
if (null != locale) {
if (locale.includeSeconds) {
if (defaultResult6 < 5) {
let formatDistanceResult = locale.formatDistance("lessThanXSeconds", 5, defaultResult3);
} else if (defaultResult6 < 10) {
formatDistanceResult = locale.formatDistance("lessThanXSeconds", 10, defaultResult3);
} else if (defaultResult6 < 20) {
formatDistanceResult = locale.formatDistance("lessThanXSeconds", 20, defaultResult3);
} else if (defaultResult6 < 40) {
formatDistanceResult = locale.formatDistance("halfAMinute", 0, defaultResult3);
} else if (defaultResult6 < 60) {
formatDistanceResult = locale.formatDistance("lessThanXMinutes", 1, defaultResult3);
} else {
formatDistanceResult = locale.formatDistance("xMinutes", 1, defaultResult3);
}
}
}
if (0 === rounded) {
let formatDistanceResult1 = locale.formatDistance("lessThanXMinutes", 1, defaultResult3);
} else {
formatDistanceResult1 = locale.formatDistance("xMinutes", rounded, defaultResult3);
}
return formatDistanceResult1;
} else if (rounded < 45) {
return locale.formatDistance("xMinutes", rounded, defaultResult3);
} else if (rounded < 90) {
return locale.formatDistance("aboutXHours", 1, defaultResult3);
} else if (rounded < c11) {
const _Math6 = Math;
return locale.formatDistance("aboutXHours", Math.round(rounded / 60), defaultResult3);
} else if (rounded < c12) {
return locale.formatDistance("xDays", 1, defaultResult3);
} else if (rounded < c13) {
const _Math5 = Math;
return locale.formatDistance("xDays", Math.round(rounded / c11), defaultResult3);
} else if (rounded < c14) {
const _Math4 = Math;
return locale.formatDistance("aboutXMonths", Math.round(rounded / c13), defaultResult3);
} else {
const defaultResult8 = differenceInMonths.default(defaultResult5, defaultResult4);
if (defaultResult8 < 12) {
const _Math3 = Math;
return locale.formatDistance("xMonths", Math.round(rounded / c13), defaultResult3);
} else {
const result = defaultResult8 % 12;
const _Math2 = Math;
const rounded1 = Math.floor(defaultResult8 / 12);
if (result < 3) {
let formatDistanceResult2 = locale.formatDistance("aboutXYears", rounded1, defaultResult3);
} else if (result < 9) {
formatDistanceResult2 = locale.formatDistance("overXYears", rounded1, defaultResult3);
} else {
formatDistanceResult2 = locale.formatDistance("almostXYears", rounded1 + 1, defaultResult3);
}
return formatDistanceResult2;
}
}
const defaultResult7 = getTimezoneOffsetInMilliseconds.default(defaultResult5);
}
} else {
const _RangeError = RangeError;
const rangeError1 = new RangeError("locale must contain formatDistance property");
throw rangeError1;
}
};
export default exports.default;