wix-style-react
Version:
wix-style-react
33 lines • 1.45 kB
JavaScript
const ISOFormatHoursIndex = 11;
const ISOFormatMinutesIndex = 14;
const ISOFormatMinutesSingleDigitIndex = 15;
const ISOFormatHoursLength = 8;
const ISOFormatMinutesLength = 5;
const ISOFormatMinutesSingleDigitLength = 4;
export const MAX_SECONDS = 8640000000000; // https://262.ecma-international.org/5.1/#sec-15.9.1.1
const validSeconds = seconds => {
return seconds > MAX_SECONDS ? 0 : seconds;
};
export const secondsToISO = (seconds, isLoaded, duration) => {
if (!isLoaded) {
return '--:--';
}
try {
const durationMinutes = Math.floor(duration / 60);
const durationHours = Math.floor(durationMinutes / 60);
const secondsInISOFormat = new Date(validSeconds(seconds) * 1000).toISOString();
if (durationHours > 0) {
return secondsInISOFormat.substr(ISOFormatHoursIndex, ISOFormatHoursLength);
}
if (durationMinutes > 9) {
return secondsInISOFormat.substr(ISOFormatMinutesIndex, ISOFormatMinutesLength);
}
return secondsInISOFormat.substr(ISOFormatMinutesSingleDigitIndex, ISOFormatMinutesSingleDigitLength);
}
catch (ex) {
return '--:--';
}
};
export const positionToSeconds = (positionInPercentage, durationInSeconds) => (positionInPercentage / 100) * durationInSeconds;
export const secondsToPosition = (seekInSeconds, durationInSeconds) => (seekInSeconds / durationInSeconds) * 100;
//# sourceMappingURL=utils.js.map