1 line
1.8 KiB
JavaScript
1 line
1.8 KiB
JavaScript
|
|
import globalize from"./globalize.js";let units=[["year",31536e6],["month",2592e6],["week",6048e5],["day",864e5],["hour",36e5],["minute",6e4],["second",1e3]];function humane_date(date_str,isPastEvent){var date_str=new Date(Date.parse(date_str)).getTime()-Date.now(),elapsedMsAbs=Math.abs(date_str);let unit;for(let i=0,length=units.length;i<length&&!(elapsedMsAbs>=(unit=units[i])[1]);i++);let elapsedInUnit=Math.round(date_str/unit[1]);return!1!==isPastEvent&&-1<(elapsedInUnit=Math.min(elapsedInUnit,1))&&(elapsedInUnit=-1,unit=units[units.length-1]),new Intl.RelativeTimeFormat(globalize.getCurrentLocales()).format(elapsedInUnit,unit[0])}function numberToString(value,maximumFractionDigits){try{return new Intl.NumberFormat(globalize.getCurrentLocales(),{style:"decimal",maximumFractionDigits:null==maximumFractionDigits?1:maximumFractionDigits}).format(value)}catch(err){return console.log("Error in NumberFormat: "+err),value}}function sizeToString(size){var gb=1073741824;return gb<=size?numberToString(size/gb,1)+" GB":numberToString(size/1048576,1)+" MB"}function bitrateToString(value){return 1e3<(value/=1e3)?numberToString(value/=1e3,0)+" mbps":numberToString(parseInt(value))+" kbps"}function getResolutionText(item){var width,height;return"Video"!==item.MediaType?item.Width&&item.Height?item.Width+"x"+item.Height:null:(height=item.Height,(width=item.Width)&&height?3800<=width||2e3<=height?"4K":2500<=width||1400<=height?item.IsInterlaced?"1440i":"1440p":1800<=width||1e3<=height?item.IsInterlaced?"1080i":"1080p":1200<=width||700<=height?item.IsInterlaced?"720i":"720p":700<=width||400<=height?item.IsInterlaced?"480i":"480p":"SD":null)}export default{formatRelativeTime:humane_date,bitrateToString:bitrateToString,sizeToString:sizeToString,numberToString:numberToString,getResolutionText:getResolutionText};
|