vue-timeago3
Advanced tools
Comparing version 1.0.1 to 2.0.0
@@ -1,1 +0,968 @@ | ||
import{h as t}from"vue";function e(t,e){if(e.length<t)throw new TypeError(t+" argument"+(t>1?"s":"")+" required, but only "+e.length+" present")}function n(t){e(1,arguments);var n=Object.prototype.toString.call(t);return t instanceof Date||"object"==typeof t&&"[object Date]"===n?new Date(t.getTime()):"number"==typeof t||"[object Number]"===n?new Date(t):("string"!=typeof t&&"[object String]"!==n||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn((new Error).stack)),new Date(NaN))}function a(t,a){e(2,arguments);var r=n(t),i=n(a),o=r.getTime()-i.getTime();return o<0?-1:o>0?1:o}function r(t,a){e(2,arguments);var r=n(t),i=n(a),o=r.getFullYear()-i.getFullYear(),u=r.getMonth()-i.getMonth();return 12*o+u}function i(t){e(1,arguments);var a=n(t);return a.setHours(23,59,59,999),a}function o(t){e(1,arguments);var a=n(t),r=a.getMonth();return a.setFullYear(a.getFullYear(),r+1,0),a.setHours(23,59,59,999),a}function u(t){e(1,arguments);var a=n(t);return i(a).getTime()===o(a).getTime()}function s(t,i){e(2,arguments);var o,s=n(t),d=n(i),l=a(s,d),h=Math.abs(r(s,d));if(h<1)o=0;else{1===s.getMonth()&&s.getDate()>27&&s.setDate(30),s.setMonth(s.getMonth()-l*h);var m=a(s,d)===-l;u(n(t))&&1===h&&1===a(t,d)&&(m=!1),o=l*(h-Number(m))}return 0===o?0:o}function d(t,a){return e(2,arguments),n(t).getTime()-n(a).getTime()}var l={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}};function h(t){return t?l[t]:l.trunc}function m(t,n,a){e(2,arguments);var r=d(t,n)/1e3;return h(null==a?void 0:a.roundingMethod)(r)}var c={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},f=function(t,e,n){var a,r=c[t];return a="string"==typeof r?r:1===e?r.one:r.other.replace("{{count}}",e.toString()),null!=n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function g(t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.width?String(e.width):t.defaultWidth,a=t.formats[n]||t.formats[t.defaultWidth];return a}}var v={date:g({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:g({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:g({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},p={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function y(t){return function(e,n){var a,r=n||{};if("formatting"===(r.context?String(r.context):"standalone")&&t.formattingValues){var i=t.defaultFormattingWidth||t.defaultWidth,o=r.width?String(r.width):i;a=t.formattingValues[o]||t.formattingValues[i]}else{var u=t.defaultWidth,s=r.width?String(r.width):t.defaultWidth;a=t.values[s]||t.values[u]}return a[t.argumentCallback?t.argumentCallback(e):e]}}function b(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=n.width,r=a&&t.matchPatterns[a]||t.matchPatterns[t.defaultMatchWidth],i=e.match(r);if(!i)return null;var o,u=i[0],s=a&&t.parsePatterns[a]||t.parsePatterns[t.defaultParseWidth],d=Array.isArray(s)?M(s,(function(t){return t.test(u)})):w(s,(function(t){return t.test(u)}));o=t.valueCallback?t.valueCallback(d):d,o=n.valueCallback?n.valueCallback(o):o;var l=e.slice(u.length);return{value:o,rest:l}}}function w(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e(t[n]))return n}function M(t,e){for(var n=0;n<t.length;n++)if(e(t[n]))return n}var D,T={code:"en-US",formatDistance:f,formatLong:v,formatRelative:function(t,e,n,a){return p[t]},localize:{ordinalNumber:function(t,e){var n=Number(t),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:y({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:y({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:y({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:y({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:y({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(D={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(t){return parseInt(t,10)}},function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.match(D.matchPattern);if(!n)return null;var a=n[0],r=t.match(D.parsePattern);if(!r)return null;var i=D.valueCallback?D.valueCallback(r[0]):r[0];i=e.valueCallback?e.valueCallback(i):i;var o=t.slice(a.length);return{value:i,rest:o}}),era:b({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:b({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:b({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:b({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:b({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function S(t){return function(t,e){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var n in e=e||{})Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}({},t)}function N(t){var e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),t.getTime()-e.getTime()}function W(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e(2,arguments);var o=i.locale||T;if(!o.formatDistance)throw new RangeError("locale must contain formatDistance property");var u=a(t,r);if(isNaN(u))throw new RangeError("Invalid time value");var d,l,h=S(i);h.addSuffix=Boolean(i.addSuffix),h.comparison=u,u>0?(d=n(r),l=n(t)):(d=n(t),l=n(r));var c,f=m(l,d),g=(N(l)-N(d))/1e3,v=Math.round((f-g)/60);if(v<2)return i.includeSeconds?f<5?o.formatDistance("lessThanXSeconds",5,h):f<10?o.formatDistance("lessThanXSeconds",10,h):f<20?o.formatDistance("lessThanXSeconds",20,h):f<40?o.formatDistance("halfAMinute",null,h):f<60?o.formatDistance("lessThanXMinutes",1,h):o.formatDistance("xMinutes",1,h):0===v?o.formatDistance("lessThanXMinutes",1,h):o.formatDistance("xMinutes",v,h);if(v<45)return o.formatDistance("xMinutes",v,h);if(v<90)return o.formatDistance("aboutXHours",1,h);if(v<1440){var p=Math.round(v/60);return o.formatDistance("aboutXHours",p,h)}if(v<2520)return o.formatDistance("xDays",1,h);if(v<43200){var y=Math.round(v/1440);return o.formatDistance("xDays",y,h)}if(v<86400)return c=Math.round(v/43200),o.formatDistance("aboutXMonths",c,h);if((c=s(l,d))<12){var b=Math.round(v/43200);return o.formatDistance("xMonths",b,h)}var w=c%12,M=Math.floor(c/12);return w<3?o.formatDistance("aboutXYears",M,h):w<9?o.formatDistance("overXYears",M,h):o.formatDistance("almostXYears",M+1,h)}function P(t){if(null===t||!0===t||!1===t)return NaN;var e=Number(t);return isNaN(e)?e:e<0?Math.ceil(e):Math.floor(e)}var C={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},U=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,x=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,k=/^([+-])(\d{2})(?::?(\d{2}))?$/;function j(t){var e,n={},a=t.split(C.dateTimeDelimiter);if(a.length>2)return n;if(/:/.test(a[0])?(n.date=null,e=a[0]):(n.date=a[0],e=a[1],C.timeZoneDelimiter.test(n.date)&&(n.date=t.split(C.timeZoneDelimiter)[0],e=t.substr(n.date.length,t.length))),e){var r=C.timezone.exec(e);r?(n.time=e.replace(r[1],""),n.timezone=r[1]):n.time=e}return n}function F(t,e){var n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),a=t.match(n);if(!a)return{year:null};var r=a[1]&&parseInt(a[1]),i=a[2]&&parseInt(a[2]);return{year:null==i?r:100*i,restDateString:t.slice((a[1]||a[2]).length)}}function X(t,e){if(null===e)return null;var n=t.match(U);if(!n)return null;var a=!!n[4],r=Y(n[1]),i=Y(n[2])-1,o=Y(n[3]),u=Y(n[4]),s=Y(n[5])-1;if(a)return function(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}(0,u,s)?function(t,e,n){var a=new Date(0);a.setUTCFullYear(t,0,4);var r=a.getUTCDay()||7,i=7*(e-1)+n+1-r;return a.setUTCDate(a.getUTCDate()+i),a}(e,u,s):new Date(NaN);var d=new Date(0);return function(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(z[e]||(E(t)?29:28))}(e,i,o)&&function(t,e){return e>=1&&e<=(E(t)?366:365)}(e,r)?(d.setUTCFullYear(e,i,Math.max(r,o)),d):new Date(NaN)}function Y(t){return t?parseInt(t):1}function A(t){var e=t.match(x);if(!e)return null;var n=O(e[1]),a=O(e[2]),r=O(e[3]);return function(t,e,n){if(24===t)return 0===e&&0===n;return n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}(n,a,r)?36e5*n+6e4*a+1e3*r:NaN}function O(t){return t&&parseFloat(t.replace(",","."))||0}function q(t){if("Z"===t)return 0;var e=t.match(k);if(!e)return 0;var n="+"===e[1]?-1:1,a=parseInt(e[2]),r=e[3]&&parseInt(e[3])||0;return function(t,e){return e>=0&&e<=59}(0,r)?n*(36e5*a+6e4*r):NaN}var z=[31,null,31,30,31,30,31,31,30,31,30,31];function E(t){return t%400==0||t%4==0&&t%100}var I=(t,n)=>{"string"==typeof t&&(t=function(t,n){e(1,arguments);var a=n||{},r=null==a.additionalDigits?2:P(a.additionalDigits);if(2!==r&&1!==r&&0!==r)throw new RangeError("additionalDigits must be 0, 1 or 2");if("string"!=typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var i,o=j(t);if(o.date){var u=F(o.date,r);i=X(u.restDateString,u.year)}if(isNaN(i)||!i)return new Date(NaN);var s,d=i.getTime(),l=0;if(o.time&&(l=A(o.time),isNaN(l)||null===l))return new Date(NaN);if(!o.timezone){var h=new Date(d+l),m=new Date(0);return m.setFullYear(h.getUTCFullYear(),h.getUTCMonth(),h.getUTCDate()),m.setHours(h.getUTCHours(),h.getUTCMinutes(),h.getUTCSeconds(),h.getUTCMilliseconds()),m}return s=q(o.timezone),isNaN(s)?new Date(NaN):new Date(d+l+s)}(t));const{includeSeconds:a,addSuffix:r=!0}=n;return function(t,n){return e(1,arguments),W(t,Date.now(),n)}(t,{includeSeconds:a,addSuffix:r})};const H=(e={})=>({name:e.name||"Timeago",props:{datetime:{required:!0},title:{type:[String,Boolean]},autoUpdate:{type:[Number,Boolean]},converter:{type:Function},converterOptions:{type:Object}},data(){return{timeago:this.getTimeago()}},mounted(){this.startUpdater()},beforeUnmount(){this.stopUpdater()},render(){return t("time",{attrs:{datetime:new Date(this.datetime).toISOString(),title:"string"==typeof this.title?this.title:!1===this.title?null:this.timeago}},[this.timeago])},methods:{getTimeago(t){return(this.converter||I)(t||this.datetime,this.converterOptions||{})},convert(t){this.timeago=this.getTimeago(t)},startUpdater(){if(this.autoUpdate){const t=!0===this.autoUpdate?60:this.autoUpdate;this.updater=setInterval((()=>{this.convert()}),1e3*t)}},stopUpdater(){this.updater&&(clearInterval(this.updater),this.updater=null)}},watch:{autoUpdate(t){this.stopUpdater(),t&&this.startUpdater()},datetime(){this.convert()},converter(){this.convert()},converterOptions:{handler(){this.convert()},deep:!0}}}),J=(t,e)=>{if(t.config.globalProperties.$timeago)return;const n=H(e);t.component(n.name,n)},B=I;export{B as converter,H as createTimeago,J as default,J as install}; | ||
import { defineComponent, ref, onBeforeMount, onBeforeUnmount, watch, h } from "vue"; | ||
function requiredArgs(required, args) { | ||
if (args.length < required) { | ||
throw new TypeError(required + " argument" + (required > 1 ? "s" : "") + " required, but only " + args.length + " present"); | ||
} | ||
} | ||
function toDate(argument) { | ||
requiredArgs(1, arguments); | ||
var argStr = Object.prototype.toString.call(argument); | ||
if (argument instanceof Date || typeof argument === "object" && argStr === "[object Date]") { | ||
return new Date(argument.getTime()); | ||
} else if (typeof argument === "number" || argStr === "[object Number]") { | ||
return new Date(argument); | ||
} else { | ||
if ((typeof argument === "string" || argStr === "[object String]") && typeof console !== "undefined") { | ||
console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"); | ||
console.warn(new Error().stack); | ||
} | ||
return new Date(NaN); | ||
} | ||
} | ||
function compareAsc(dirtyDateLeft, dirtyDateRight) { | ||
requiredArgs(2, arguments); | ||
var dateLeft = toDate(dirtyDateLeft); | ||
var dateRight = toDate(dirtyDateRight); | ||
var diff = dateLeft.getTime() - dateRight.getTime(); | ||
if (diff < 0) { | ||
return -1; | ||
} else if (diff > 0) { | ||
return 1; | ||
} else { | ||
return diff; | ||
} | ||
} | ||
function differenceInCalendarMonths(dirtyDateLeft, dirtyDateRight) { | ||
requiredArgs(2, arguments); | ||
var dateLeft = toDate(dirtyDateLeft); | ||
var dateRight = toDate(dirtyDateRight); | ||
var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear(); | ||
var monthDiff = dateLeft.getMonth() - dateRight.getMonth(); | ||
return yearDiff * 12 + monthDiff; | ||
} | ||
function endOfDay(dirtyDate) { | ||
requiredArgs(1, arguments); | ||
var date = toDate(dirtyDate); | ||
date.setHours(23, 59, 59, 999); | ||
return date; | ||
} | ||
function endOfMonth(dirtyDate) { | ||
requiredArgs(1, arguments); | ||
var date = toDate(dirtyDate); | ||
var month = date.getMonth(); | ||
date.setFullYear(date.getFullYear(), month + 1, 0); | ||
date.setHours(23, 59, 59, 999); | ||
return date; | ||
} | ||
function isLastDayOfMonth(dirtyDate) { | ||
requiredArgs(1, arguments); | ||
var date = toDate(dirtyDate); | ||
return endOfDay(date).getTime() === endOfMonth(date).getTime(); | ||
} | ||
function differenceInMonths(dirtyDateLeft, dirtyDateRight) { | ||
requiredArgs(2, arguments); | ||
var dateLeft = toDate(dirtyDateLeft); | ||
var dateRight = toDate(dirtyDateRight); | ||
var sign = compareAsc(dateLeft, dateRight); | ||
var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight)); | ||
var result; | ||
if (difference < 1) { | ||
result = 0; | ||
} else { | ||
if (dateLeft.getMonth() === 1 && dateLeft.getDate() > 27) { | ||
dateLeft.setDate(30); | ||
} | ||
dateLeft.setMonth(dateLeft.getMonth() - sign * difference); | ||
var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign; | ||
if (isLastDayOfMonth(toDate(dirtyDateLeft)) && difference === 1 && compareAsc(dirtyDateLeft, dateRight) === 1) { | ||
isLastMonthNotFull = false; | ||
} | ||
result = sign * (difference - Number(isLastMonthNotFull)); | ||
} | ||
return result === 0 ? 0 : result; | ||
} | ||
function differenceInMilliseconds(dateLeft, dateRight) { | ||
requiredArgs(2, arguments); | ||
return toDate(dateLeft).getTime() - toDate(dateRight).getTime(); | ||
} | ||
var roundingMap = { | ||
ceil: Math.ceil, | ||
round: Math.round, | ||
floor: Math.floor, | ||
trunc: function(value) { | ||
return value < 0 ? Math.ceil(value) : Math.floor(value); | ||
} | ||
}; | ||
var defaultRoundingMethod = "trunc"; | ||
function getRoundingMethod(method) { | ||
return method ? roundingMap[method] : roundingMap[defaultRoundingMethod]; | ||
} | ||
function differenceInSeconds(dateLeft, dateRight, options) { | ||
requiredArgs(2, arguments); | ||
var diff = differenceInMilliseconds(dateLeft, dateRight) / 1e3; | ||
return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff); | ||
} | ||
var formatDistanceLocale = { | ||
lessThanXSeconds: { | ||
one: "less than a second", | ||
other: "less than {{count}} seconds" | ||
}, | ||
xSeconds: { | ||
one: "1 second", | ||
other: "{{count}} seconds" | ||
}, | ||
halfAMinute: "half a minute", | ||
lessThanXMinutes: { | ||
one: "less than a minute", | ||
other: "less than {{count}} minutes" | ||
}, | ||
xMinutes: { | ||
one: "1 minute", | ||
other: "{{count}} minutes" | ||
}, | ||
aboutXHours: { | ||
one: "about 1 hour", | ||
other: "about {{count}} hours" | ||
}, | ||
xHours: { | ||
one: "1 hour", | ||
other: "{{count}} hours" | ||
}, | ||
xDays: { | ||
one: "1 day", | ||
other: "{{count}} days" | ||
}, | ||
aboutXWeeks: { | ||
one: "about 1 week", | ||
other: "about {{count}} weeks" | ||
}, | ||
xWeeks: { | ||
one: "1 week", | ||
other: "{{count}} weeks" | ||
}, | ||
aboutXMonths: { | ||
one: "about 1 month", | ||
other: "about {{count}} months" | ||
}, | ||
xMonths: { | ||
one: "1 month", | ||
other: "{{count}} months" | ||
}, | ||
aboutXYears: { | ||
one: "about 1 year", | ||
other: "about {{count}} years" | ||
}, | ||
xYears: { | ||
one: "1 year", | ||
other: "{{count}} years" | ||
}, | ||
overXYears: { | ||
one: "over 1 year", | ||
other: "over {{count}} years" | ||
}, | ||
almostXYears: { | ||
one: "almost 1 year", | ||
other: "almost {{count}} years" | ||
} | ||
}; | ||
var formatDistance$1 = function(token, count, options) { | ||
var result; | ||
var tokenValue = formatDistanceLocale[token]; | ||
if (typeof tokenValue === "string") { | ||
result = tokenValue; | ||
} else if (count === 1) { | ||
result = tokenValue.one; | ||
} else { | ||
result = tokenValue.other.replace("{{count}}", count.toString()); | ||
} | ||
if (options !== null && options !== void 0 && options.addSuffix) { | ||
if (options.comparison && options.comparison > 0) { | ||
return "in " + result; | ||
} else { | ||
return result + " ago"; | ||
} | ||
} | ||
return result; | ||
}; | ||
var formatDistance$2 = formatDistance$1; | ||
function buildFormatLongFn(args) { | ||
return function() { | ||
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; | ||
var width = options.width ? String(options.width) : args.defaultWidth; | ||
var format = args.formats[width] || args.formats[args.defaultWidth]; | ||
return format; | ||
}; | ||
} | ||
var dateFormats = { | ||
full: "EEEE, MMMM do, y", | ||
long: "MMMM do, y", | ||
medium: "MMM d, y", | ||
short: "MM/dd/yyyy" | ||
}; | ||
var timeFormats = { | ||
full: "h:mm:ss a zzzz", | ||
long: "h:mm:ss a z", | ||
medium: "h:mm:ss a", | ||
short: "h:mm a" | ||
}; | ||
var dateTimeFormats = { | ||
full: "{{date}} 'at' {{time}}", | ||
long: "{{date}} 'at' {{time}}", | ||
medium: "{{date}}, {{time}}", | ||
short: "{{date}}, {{time}}" | ||
}; | ||
var formatLong = { | ||
date: buildFormatLongFn({ | ||
formats: dateFormats, | ||
defaultWidth: "full" | ||
}), | ||
time: buildFormatLongFn({ | ||
formats: timeFormats, | ||
defaultWidth: "full" | ||
}), | ||
dateTime: buildFormatLongFn({ | ||
formats: dateTimeFormats, | ||
defaultWidth: "full" | ||
}) | ||
}; | ||
var formatLong$1 = formatLong; | ||
var formatRelativeLocale = { | ||
lastWeek: "'last' eeee 'at' p", | ||
yesterday: "'yesterday at' p", | ||
today: "'today at' p", | ||
tomorrow: "'tomorrow at' p", | ||
nextWeek: "eeee 'at' p", | ||
other: "P" | ||
}; | ||
var formatRelative = function(token, _date, _baseDate, _options) { | ||
return formatRelativeLocale[token]; | ||
}; | ||
var formatRelative$1 = formatRelative; | ||
function buildLocalizeFn(args) { | ||
return function(dirtyIndex, dirtyOptions) { | ||
var options = dirtyOptions || {}; | ||
var context = options.context ? String(options.context) : "standalone"; | ||
var valuesArray; | ||
if (context === "formatting" && args.formattingValues) { | ||
var defaultWidth = args.defaultFormattingWidth || args.defaultWidth; | ||
var width = options.width ? String(options.width) : defaultWidth; | ||
valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth]; | ||
} else { | ||
var _defaultWidth = args.defaultWidth; | ||
var _width = options.width ? String(options.width) : args.defaultWidth; | ||
valuesArray = args.values[_width] || args.values[_defaultWidth]; | ||
} | ||
var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex; | ||
return valuesArray[index]; | ||
}; | ||
} | ||
var eraValues = { | ||
narrow: ["B", "A"], | ||
abbreviated: ["BC", "AD"], | ||
wide: ["Before Christ", "Anno Domini"] | ||
}; | ||
var quarterValues = { | ||
narrow: ["1", "2", "3", "4"], | ||
abbreviated: ["Q1", "Q2", "Q3", "Q4"], | ||
wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"] | ||
}; | ||
var monthValues = { | ||
narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], | ||
abbreviated: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], | ||
wide: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] | ||
}; | ||
var dayValues = { | ||
narrow: ["S", "M", "T", "W", "T", "F", "S"], | ||
short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], | ||
abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], | ||
wide: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] | ||
}; | ||
var dayPeriodValues = { | ||
narrow: { | ||
am: "a", | ||
pm: "p", | ||
midnight: "mi", | ||
noon: "n", | ||
morning: "morning", | ||
afternoon: "afternoon", | ||
evening: "evening", | ||
night: "night" | ||
}, | ||
abbreviated: { | ||
am: "AM", | ||
pm: "PM", | ||
midnight: "midnight", | ||
noon: "noon", | ||
morning: "morning", | ||
afternoon: "afternoon", | ||
evening: "evening", | ||
night: "night" | ||
}, | ||
wide: { | ||
am: "a.m.", | ||
pm: "p.m.", | ||
midnight: "midnight", | ||
noon: "noon", | ||
morning: "morning", | ||
afternoon: "afternoon", | ||
evening: "evening", | ||
night: "night" | ||
} | ||
}; | ||
var formattingDayPeriodValues = { | ||
narrow: { | ||
am: "a", | ||
pm: "p", | ||
midnight: "mi", | ||
noon: "n", | ||
morning: "in the morning", | ||
afternoon: "in the afternoon", | ||
evening: "in the evening", | ||
night: "at night" | ||
}, | ||
abbreviated: { | ||
am: "AM", | ||
pm: "PM", | ||
midnight: "midnight", | ||
noon: "noon", | ||
morning: "in the morning", | ||
afternoon: "in the afternoon", | ||
evening: "in the evening", | ||
night: "at night" | ||
}, | ||
wide: { | ||
am: "a.m.", | ||
pm: "p.m.", | ||
midnight: "midnight", | ||
noon: "noon", | ||
morning: "in the morning", | ||
afternoon: "in the afternoon", | ||
evening: "in the evening", | ||
night: "at night" | ||
} | ||
}; | ||
var ordinalNumber = function(dirtyNumber, _options) { | ||
var number = Number(dirtyNumber); | ||
var rem100 = number % 100; | ||
if (rem100 > 20 || rem100 < 10) { | ||
switch (rem100 % 10) { | ||
case 1: | ||
return number + "st"; | ||
case 2: | ||
return number + "nd"; | ||
case 3: | ||
return number + "rd"; | ||
} | ||
} | ||
return number + "th"; | ||
}; | ||
var localize = { | ||
ordinalNumber, | ||
era: buildLocalizeFn({ | ||
values: eraValues, | ||
defaultWidth: "wide" | ||
}), | ||
quarter: buildLocalizeFn({ | ||
values: quarterValues, | ||
defaultWidth: "wide", | ||
argumentCallback: function(quarter) { | ||
return quarter - 1; | ||
} | ||
}), | ||
month: buildLocalizeFn({ | ||
values: monthValues, | ||
defaultWidth: "wide" | ||
}), | ||
day: buildLocalizeFn({ | ||
values: dayValues, | ||
defaultWidth: "wide" | ||
}), | ||
dayPeriod: buildLocalizeFn({ | ||
values: dayPeriodValues, | ||
defaultWidth: "wide", | ||
formattingValues: formattingDayPeriodValues, | ||
defaultFormattingWidth: "wide" | ||
}) | ||
}; | ||
var localize$1 = localize; | ||
function buildMatchFn(args) { | ||
return function(string) { | ||
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; | ||
var width = options.width; | ||
var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth]; | ||
var matchResult = string.match(matchPattern); | ||
if (!matchResult) { | ||
return null; | ||
} | ||
var matchedString = matchResult[0]; | ||
var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth]; | ||
var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function(pattern) { | ||
return pattern.test(matchedString); | ||
}) : findKey(parsePatterns, function(pattern) { | ||
return pattern.test(matchedString); | ||
}); | ||
var value; | ||
value = args.valueCallback ? args.valueCallback(key) : key; | ||
value = options.valueCallback ? options.valueCallback(value) : value; | ||
var rest = string.slice(matchedString.length); | ||
return { | ||
value, | ||
rest | ||
}; | ||
}; | ||
} | ||
function findKey(object, predicate) { | ||
for (var key in object) { | ||
if (object.hasOwnProperty(key) && predicate(object[key])) { | ||
return key; | ||
} | ||
} | ||
return void 0; | ||
} | ||
function findIndex(array, predicate) { | ||
for (var key = 0; key < array.length; key++) { | ||
if (predicate(array[key])) { | ||
return key; | ||
} | ||
} | ||
return void 0; | ||
} | ||
function buildMatchPatternFn(args) { | ||
return function(string) { | ||
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; | ||
var matchResult = string.match(args.matchPattern); | ||
if (!matchResult) | ||
return null; | ||
var matchedString = matchResult[0]; | ||
var parseResult = string.match(args.parsePattern); | ||
if (!parseResult) | ||
return null; | ||
var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0]; | ||
value = options.valueCallback ? options.valueCallback(value) : value; | ||
var rest = string.slice(matchedString.length); | ||
return { | ||
value, | ||
rest | ||
}; | ||
}; | ||
} | ||
var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; | ||
var parseOrdinalNumberPattern = /\d+/i; | ||
var matchEraPatterns = { | ||
narrow: /^(b|a)/i, | ||
abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, | ||
wide: /^(before christ|before common era|anno domini|common era)/i | ||
}; | ||
var parseEraPatterns = { | ||
any: [/^b/i, /^(a|c)/i] | ||
}; | ||
var matchQuarterPatterns = { | ||
narrow: /^[1234]/i, | ||
abbreviated: /^q[1234]/i, | ||
wide: /^[1234](th|st|nd|rd)? quarter/i | ||
}; | ||
var parseQuarterPatterns = { | ||
any: [/1/i, /2/i, /3/i, /4/i] | ||
}; | ||
var matchMonthPatterns = { | ||
narrow: /^[jfmasond]/i, | ||
abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i, | ||
wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i | ||
}; | ||
var parseMonthPatterns = { | ||
narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i], | ||
any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i] | ||
}; | ||
var matchDayPatterns = { | ||
narrow: /^[smtwf]/i, | ||
short: /^(su|mo|tu|we|th|fr|sa)/i, | ||
abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i, | ||
wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i | ||
}; | ||
var parseDayPatterns = { | ||
narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], | ||
any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i] | ||
}; | ||
var matchDayPeriodPatterns = { | ||
narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, | ||
any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i | ||
}; | ||
var parseDayPeriodPatterns = { | ||
any: { | ||
am: /^a/i, | ||
pm: /^p/i, | ||
midnight: /^mi/i, | ||
noon: /^no/i, | ||
morning: /morning/i, | ||
afternoon: /afternoon/i, | ||
evening: /evening/i, | ||
night: /night/i | ||
} | ||
}; | ||
var match = { | ||
ordinalNumber: buildMatchPatternFn({ | ||
matchPattern: matchOrdinalNumberPattern, | ||
parsePattern: parseOrdinalNumberPattern, | ||
valueCallback: function(value) { | ||
return parseInt(value, 10); | ||
} | ||
}), | ||
era: buildMatchFn({ | ||
matchPatterns: matchEraPatterns, | ||
defaultMatchWidth: "wide", | ||
parsePatterns: parseEraPatterns, | ||
defaultParseWidth: "any" | ||
}), | ||
quarter: buildMatchFn({ | ||
matchPatterns: matchQuarterPatterns, | ||
defaultMatchWidth: "wide", | ||
parsePatterns: parseQuarterPatterns, | ||
defaultParseWidth: "any", | ||
valueCallback: function(index) { | ||
return index + 1; | ||
} | ||
}), | ||
month: buildMatchFn({ | ||
matchPatterns: matchMonthPatterns, | ||
defaultMatchWidth: "wide", | ||
parsePatterns: parseMonthPatterns, | ||
defaultParseWidth: "any" | ||
}), | ||
day: buildMatchFn({ | ||
matchPatterns: matchDayPatterns, | ||
defaultMatchWidth: "wide", | ||
parsePatterns: parseDayPatterns, | ||
defaultParseWidth: "any" | ||
}), | ||
dayPeriod: buildMatchFn({ | ||
matchPatterns: matchDayPeriodPatterns, | ||
defaultMatchWidth: "any", | ||
parsePatterns: parseDayPeriodPatterns, | ||
defaultParseWidth: "any" | ||
}) | ||
}; | ||
var match$1 = match; | ||
var locale = { | ||
code: "en-US", | ||
formatDistance: formatDistance$2, | ||
formatLong: formatLong$1, | ||
formatRelative: formatRelative$1, | ||
localize: localize$1, | ||
match: match$1, | ||
options: { | ||
weekStartsOn: 0, | ||
firstWeekContainsDate: 1 | ||
} | ||
}; | ||
var defaultLocale = locale; | ||
function assign(target, dirtyObject) { | ||
if (target == null) { | ||
throw new TypeError("assign requires that input parameter not be null or undefined"); | ||
} | ||
dirtyObject = dirtyObject || {}; | ||
for (var property in dirtyObject) { | ||
if (Object.prototype.hasOwnProperty.call(dirtyObject, property)) { | ||
target[property] = dirtyObject[property]; | ||
} | ||
} | ||
return target; | ||
} | ||
function cloneObject(dirtyObject) { | ||
return assign({}, dirtyObject); | ||
} | ||
function getTimezoneOffsetInMilliseconds(date) { | ||
var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())); | ||
utcDate.setUTCFullYear(date.getFullYear()); | ||
return date.getTime() - utcDate.getTime(); | ||
} | ||
var MINUTES_IN_DAY = 1440; | ||
var MINUTES_IN_ALMOST_TWO_DAYS = 2520; | ||
var MINUTES_IN_MONTH = 43200; | ||
var MINUTES_IN_TWO_MONTHS = 86400; | ||
function formatDistance(dirtyDate, dirtyBaseDate) { | ||
var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; | ||
requiredArgs(2, arguments); | ||
var locale2 = options.locale || defaultLocale; | ||
if (!locale2.formatDistance) { | ||
throw new RangeError("locale must contain formatDistance property"); | ||
} | ||
var comparison = compareAsc(dirtyDate, dirtyBaseDate); | ||
if (isNaN(comparison)) { | ||
throw new RangeError("Invalid time value"); | ||
} | ||
var localizeOptions = cloneObject(options); | ||
localizeOptions.addSuffix = Boolean(options.addSuffix); | ||
localizeOptions.comparison = comparison; | ||
var dateLeft; | ||
var dateRight; | ||
if (comparison > 0) { | ||
dateLeft = toDate(dirtyBaseDate); | ||
dateRight = toDate(dirtyDate); | ||
} else { | ||
dateLeft = toDate(dirtyDate); | ||
dateRight = toDate(dirtyBaseDate); | ||
} | ||
var seconds = differenceInSeconds(dateRight, dateLeft); | ||
var offsetInSeconds = (getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft)) / 1e3; | ||
var minutes = Math.round((seconds - offsetInSeconds) / 60); | ||
var months; | ||
if (minutes < 2) { | ||
if (options.includeSeconds) { | ||
if (seconds < 5) { | ||
return locale2.formatDistance("lessThanXSeconds", 5, localizeOptions); | ||
} else if (seconds < 10) { | ||
return locale2.formatDistance("lessThanXSeconds", 10, localizeOptions); | ||
} else if (seconds < 20) { | ||
return locale2.formatDistance("lessThanXSeconds", 20, localizeOptions); | ||
} else if (seconds < 40) { | ||
return locale2.formatDistance("halfAMinute", null, localizeOptions); | ||
} else if (seconds < 60) { | ||
return locale2.formatDistance("lessThanXMinutes", 1, localizeOptions); | ||
} else { | ||
return locale2.formatDistance("xMinutes", 1, localizeOptions); | ||
} | ||
} else { | ||
if (minutes === 0) { | ||
return locale2.formatDistance("lessThanXMinutes", 1, localizeOptions); | ||
} else { | ||
return locale2.formatDistance("xMinutes", minutes, localizeOptions); | ||
} | ||
} | ||
} else if (minutes < 45) { | ||
return locale2.formatDistance("xMinutes", minutes, localizeOptions); | ||
} else if (minutes < 90) { | ||
return locale2.formatDistance("aboutXHours", 1, localizeOptions); | ||
} else if (minutes < MINUTES_IN_DAY) { | ||
var hours = Math.round(minutes / 60); | ||
return locale2.formatDistance("aboutXHours", hours, localizeOptions); | ||
} else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) { | ||
return locale2.formatDistance("xDays", 1, localizeOptions); | ||
} else if (minutes < MINUTES_IN_MONTH) { | ||
var days = Math.round(minutes / MINUTES_IN_DAY); | ||
return locale2.formatDistance("xDays", days, localizeOptions); | ||
} else if (minutes < MINUTES_IN_TWO_MONTHS) { | ||
months = Math.round(minutes / MINUTES_IN_MONTH); | ||
return locale2.formatDistance("aboutXMonths", months, localizeOptions); | ||
} | ||
months = differenceInMonths(dateRight, dateLeft); | ||
if (months < 12) { | ||
var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH); | ||
return locale2.formatDistance("xMonths", nearestMonth, localizeOptions); | ||
} else { | ||
var monthsSinceStartOfYear = months % 12; | ||
var years = Math.floor(months / 12); | ||
if (monthsSinceStartOfYear < 3) { | ||
return locale2.formatDistance("aboutXYears", years, localizeOptions); | ||
} else if (monthsSinceStartOfYear < 9) { | ||
return locale2.formatDistance("overXYears", years, localizeOptions); | ||
} else { | ||
return locale2.formatDistance("almostXYears", years + 1, localizeOptions); | ||
} | ||
} | ||
} | ||
function formatDistanceToNow(dirtyDate, dirtyOptions) { | ||
requiredArgs(1, arguments); | ||
return formatDistance(dirtyDate, Date.now(), dirtyOptions); | ||
} | ||
function toInteger(dirtyNumber) { | ||
if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) { | ||
return NaN; | ||
} | ||
var number = Number(dirtyNumber); | ||
if (isNaN(number)) { | ||
return number; | ||
} | ||
return number < 0 ? Math.ceil(number) : Math.floor(number); | ||
} | ||
var MILLISECONDS_IN_HOUR = 36e5; | ||
var MILLISECONDS_IN_MINUTE = 6e4; | ||
var DEFAULT_ADDITIONAL_DIGITS = 2; | ||
var patterns = { | ||
dateTimeDelimiter: /[T ]/, | ||
timeZoneDelimiter: /[Z ]/i, | ||
timezone: /([Z+-].*)$/ | ||
}; | ||
var dateRegex = /^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/; | ||
var timeRegex = /^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/; | ||
var timezoneRegex = /^([+-])(\d{2})(?::?(\d{2}))?$/; | ||
function parseISO(argument, dirtyOptions) { | ||
requiredArgs(1, arguments); | ||
var options = dirtyOptions || {}; | ||
var additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : toInteger(options.additionalDigits); | ||
if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) { | ||
throw new RangeError("additionalDigits must be 0, 1 or 2"); | ||
} | ||
if (!(typeof argument === "string" || Object.prototype.toString.call(argument) === "[object String]")) { | ||
return new Date(NaN); | ||
} | ||
var dateStrings = splitDateString(argument); | ||
var date; | ||
if (dateStrings.date) { | ||
var parseYearResult = parseYear(dateStrings.date, additionalDigits); | ||
date = parseDate(parseYearResult.restDateString, parseYearResult.year); | ||
} | ||
if (isNaN(date) || !date) { | ||
return new Date(NaN); | ||
} | ||
var timestamp = date.getTime(); | ||
var time = 0; | ||
var offset; | ||
if (dateStrings.time) { | ||
time = parseTime(dateStrings.time); | ||
if (isNaN(time) || time === null) { | ||
return new Date(NaN); | ||
} | ||
} | ||
if (dateStrings.timezone) { | ||
offset = parseTimezone(dateStrings.timezone); | ||
if (isNaN(offset)) { | ||
return new Date(NaN); | ||
} | ||
} else { | ||
var dirtyDate = new Date(timestamp + time); | ||
var result = new Date(0); | ||
result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate()); | ||
result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds()); | ||
return result; | ||
} | ||
return new Date(timestamp + time + offset); | ||
} | ||
function splitDateString(dateString) { | ||
var dateStrings = {}; | ||
var array = dateString.split(patterns.dateTimeDelimiter); | ||
var timeString; | ||
if (array.length > 2) { | ||
return dateStrings; | ||
} | ||
if (/:/.test(array[0])) { | ||
dateStrings.date = null; | ||
timeString = array[0]; | ||
} else { | ||
dateStrings.date = array[0]; | ||
timeString = array[1]; | ||
if (patterns.timeZoneDelimiter.test(dateStrings.date)) { | ||
dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0]; | ||
timeString = dateString.substr(dateStrings.date.length, dateString.length); | ||
} | ||
} | ||
if (timeString) { | ||
var token = patterns.timezone.exec(timeString); | ||
if (token) { | ||
dateStrings.time = timeString.replace(token[1], ""); | ||
dateStrings.timezone = token[1]; | ||
} else { | ||
dateStrings.time = timeString; | ||
} | ||
} | ||
return dateStrings; | ||
} | ||
function parseYear(dateString, additionalDigits) { | ||
var regex = new RegExp("^(?:(\\d{4}|[+-]\\d{" + (4 + additionalDigits) + "})|(\\d{2}|[+-]\\d{" + (2 + additionalDigits) + "})$)"); | ||
var captures = dateString.match(regex); | ||
if (!captures) | ||
return { | ||
year: null | ||
}; | ||
var year = captures[1] && parseInt(captures[1]); | ||
var century = captures[2] && parseInt(captures[2]); | ||
return { | ||
year: century == null ? year : century * 100, | ||
restDateString: dateString.slice((captures[1] || captures[2]).length) | ||
}; | ||
} | ||
function parseDate(dateString, year) { | ||
if (year === null) | ||
return null; | ||
var captures = dateString.match(dateRegex); | ||
if (!captures) | ||
return null; | ||
var isWeekDate = !!captures[4]; | ||
var dayOfYear = parseDateUnit(captures[1]); | ||
var month = parseDateUnit(captures[2]) - 1; | ||
var day = parseDateUnit(captures[3]); | ||
var week = parseDateUnit(captures[4]); | ||
var dayOfWeek = parseDateUnit(captures[5]) - 1; | ||
if (isWeekDate) { | ||
if (!validateWeekDate(year, week, dayOfWeek)) { | ||
return new Date(NaN); | ||
} | ||
return dayOfISOWeekYear(year, week, dayOfWeek); | ||
} else { | ||
var date = new Date(0); | ||
if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) { | ||
return new Date(NaN); | ||
} | ||
date.setUTCFullYear(year, month, Math.max(dayOfYear, day)); | ||
return date; | ||
} | ||
} | ||
function parseDateUnit(value) { | ||
return value ? parseInt(value) : 1; | ||
} | ||
function parseTime(timeString) { | ||
var captures = timeString.match(timeRegex); | ||
if (!captures) | ||
return null; | ||
var hours = parseTimeUnit(captures[1]); | ||
var minutes = parseTimeUnit(captures[2]); | ||
var seconds = parseTimeUnit(captures[3]); | ||
if (!validateTime(hours, minutes, seconds)) { | ||
return NaN; | ||
} | ||
return hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1e3; | ||
} | ||
function parseTimeUnit(value) { | ||
return value && parseFloat(value.replace(",", ".")) || 0; | ||
} | ||
function parseTimezone(timezoneString) { | ||
if (timezoneString === "Z") | ||
return 0; | ||
var captures = timezoneString.match(timezoneRegex); | ||
if (!captures) | ||
return 0; | ||
var sign = captures[1] === "+" ? -1 : 1; | ||
var hours = parseInt(captures[2]); | ||
var minutes = captures[3] && parseInt(captures[3]) || 0; | ||
if (!validateTimezone(hours, minutes)) { | ||
return NaN; | ||
} | ||
return sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE); | ||
} | ||
function dayOfISOWeekYear(isoWeekYear, week, day) { | ||
var date = new Date(0); | ||
date.setUTCFullYear(isoWeekYear, 0, 4); | ||
var fourthOfJanuaryDay = date.getUTCDay() || 7; | ||
var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay; | ||
date.setUTCDate(date.getUTCDate() + diff); | ||
return date; | ||
} | ||
var daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; | ||
function isLeapYearIndex(year) { | ||
return year % 400 === 0 || year % 4 === 0 && year % 100; | ||
} | ||
function validateDate(year, month, date) { | ||
return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28)); | ||
} | ||
function validateDayOfYearDate(year, dayOfYear) { | ||
return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365); | ||
} | ||
function validateWeekDate(_year, week, day) { | ||
return week >= 1 && week <= 53 && day >= 0 && day <= 6; | ||
} | ||
function validateTime(hours, minutes, seconds) { | ||
if (hours === 24) { | ||
return minutes === 0 && seconds === 0; | ||
} | ||
return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25; | ||
} | ||
function validateTimezone(_hours, minutes) { | ||
return minutes >= 0 && minutes <= 59; | ||
} | ||
var defaultConverter = (date, converterOptions) => { | ||
if (typeof date === "string") { | ||
date = parseISO(date); | ||
} | ||
const { includeSeconds, addSuffix = false } = converterOptions; | ||
return formatDistanceToNow(date, { | ||
includeSeconds, | ||
addSuffix | ||
}); | ||
}; | ||
const createTimeago = (opts = {}) => { | ||
const name = opts.name || "Timeago"; | ||
return defineComponent({ | ||
name, | ||
props: { | ||
datetime: { | ||
type: [String, Number, Date], | ||
required: true | ||
}, | ||
title: { | ||
type: [String, Boolean], | ||
required: false, | ||
default: null | ||
}, | ||
autoUpdate: { | ||
type: [Number, Boolean], | ||
required: false, | ||
default: null | ||
}, | ||
converter: { | ||
type: Function, | ||
required: false, | ||
default: null | ||
}, | ||
converterOptions: { | ||
type: Object, | ||
required: false, | ||
default: null | ||
} | ||
}, | ||
setup(props) { | ||
const updateTimer = ref(); | ||
onBeforeMount(() => { | ||
startUpdater(); | ||
}); | ||
onBeforeUnmount(() => { | ||
stopUpdater(); | ||
}); | ||
const getTimeago = (datetime) => { | ||
const converter = props.converter || defaultConverter; | ||
return converter(datetime || props.datetime, props.converterOptions || {}); | ||
}; | ||
const timeago = ref(getTimeago()); | ||
const convert = (datetime) => { | ||
timeago.value = getTimeago(datetime); | ||
}; | ||
const startUpdater = () => { | ||
if (props.autoUpdate) { | ||
const autoUpdate = props.autoUpdate === true ? 60 : props.autoUpdate; | ||
updateTimer.value = setInterval(() => { | ||
convert(props.datetime); | ||
}, autoUpdate * 1e3); | ||
} | ||
}; | ||
const stopUpdater = () => { | ||
if (updateTimer.value) { | ||
clearInterval(updateTimer.value); | ||
updateTimer.value = void 0; | ||
} | ||
}; | ||
watch(() => props.autoUpdate, (newValue) => { | ||
stopUpdater(); | ||
if (newValue) { | ||
startUpdater(); | ||
} | ||
}); | ||
watch(() => [props.datetime, props.converter], () => { | ||
convert(); | ||
}); | ||
watch(() => props.converterOptions, () => { | ||
convert(); | ||
}, { | ||
deep: true | ||
}); | ||
return { timeago }; | ||
}, | ||
render() { | ||
return h("timeago", { | ||
attrs: { | ||
datetime: new Date(this.datetime).toISOString(), | ||
title: typeof this.title === "string" ? this.title : this.title === false ? null : this.timeago | ||
} | ||
}, [this.timeago]); | ||
} | ||
}); | ||
}; | ||
var install = (app, options) => { | ||
if (app.config.globalProperties.$timeago) { | ||
return; | ||
} | ||
const version = Number(app.version.split(".")[0]); | ||
if (version < 3) { | ||
console.warn("[vue-timeago3] This plugin requires at least Vue version 3.0"); | ||
} | ||
const Component = createTimeago(options); | ||
app.component(Component.name, Component); | ||
}; | ||
export { install as default }; |
@@ -1,1 +0,1 @@ | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).VuePatternfly={},t.Vue)}(this,(function(t,e){"use strict";function n(t,e){if(e.length<t)throw new TypeError(t+" argument"+(t>1?"s":"")+" required, but only "+e.length+" present")}function a(t){n(1,arguments);var e=Object.prototype.toString.call(t);return t instanceof Date||"object"==typeof t&&"[object Date]"===e?new Date(t.getTime()):"number"==typeof t||"[object Number]"===e?new Date(t):("string"!=typeof t&&"[object String]"!==e||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn((new Error).stack)),new Date(NaN))}function r(t,e){n(2,arguments);var r=a(t),i=a(e),o=r.getTime()-i.getTime();return o<0?-1:o>0?1:o}function i(t,e){n(2,arguments);var r=a(t),i=a(e),o=r.getFullYear()-i.getFullYear(),u=r.getMonth()-i.getMonth();return 12*o+u}function o(t){n(1,arguments);var e=a(t);return e.setHours(23,59,59,999),e}function u(t){n(1,arguments);var e=a(t),r=e.getMonth();return e.setFullYear(e.getFullYear(),r+1,0),e.setHours(23,59,59,999),e}function s(t){n(1,arguments);var e=a(t);return o(e).getTime()===u(e).getTime()}function d(t,e){n(2,arguments);var o,u=a(t),d=a(e),l=r(u,d),h=Math.abs(i(u,d));if(h<1)o=0;else{1===u.getMonth()&&u.getDate()>27&&u.setDate(30),u.setMonth(u.getMonth()-l*h);var m=r(u,d)===-l;s(a(t))&&1===h&&1===r(t,d)&&(m=!1),o=l*(h-Number(m))}return 0===o?0:o}function l(t,e){return n(2,arguments),a(t).getTime()-a(e).getTime()}var h={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}};function m(t){return t?h[t]:h.trunc}function f(t,e,a){n(2,arguments);var r=l(t,e)/1e3;return m(null==a?void 0:a.roundingMethod)(r)}var c={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},g=function(t,e,n){var a,r=c[t];return a="string"==typeof r?r:1===e?r.one:r.other.replace("{{count}}",e.toString()),null!=n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function v(t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.width?String(e.width):t.defaultWidth,a=t.formats[n]||t.formats[t.defaultWidth];return a}}var p={date:v({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:v({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:v({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},y={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function b(t){return function(e,n){var a,r=n||{};if("formatting"===(r.context?String(r.context):"standalone")&&t.formattingValues){var i=t.defaultFormattingWidth||t.defaultWidth,o=r.width?String(r.width):i;a=t.formattingValues[o]||t.formattingValues[i]}else{var u=t.defaultWidth,s=r.width?String(r.width):t.defaultWidth;a=t.values[s]||t.values[u]}return a[t.argumentCallback?t.argumentCallback(e):e]}}function w(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=n.width,r=a&&t.matchPatterns[a]||t.matchPatterns[t.defaultMatchWidth],i=e.match(r);if(!i)return null;var o,u=i[0],s=a&&t.parsePatterns[a]||t.parsePatterns[t.defaultParseWidth],d=Array.isArray(s)?D(s,(function(t){return t.test(u)})):M(s,(function(t){return t.test(u)}));o=t.valueCallback?t.valueCallback(d):d,o=n.valueCallback?n.valueCallback(o):o;var l=e.slice(u.length);return{value:o,rest:l}}}function M(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e(t[n]))return n}function D(t,e){for(var n=0;n<t.length;n++)if(e(t[n]))return n}var T,S={code:"en-US",formatDistance:g,formatLong:p,formatRelative:function(t,e,n,a){return y[t]},localize:{ordinalNumber:function(t,e){var n=Number(t),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:b({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:b({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:b({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:b({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:b({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(T={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(t){return parseInt(t,10)}},function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.match(T.matchPattern);if(!n)return null;var a=n[0],r=t.match(T.parsePattern);if(!r)return null;var i=T.valueCallback?T.valueCallback(r[0]):r[0];i=e.valueCallback?e.valueCallback(i):i;var o=t.slice(a.length);return{value:i,rest:o}}),era:w({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:w({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:w({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:w({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:w({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function N(t){return function(t,e){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var n in e=e||{})Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}({},t)}function W(t){var e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),t.getTime()-e.getTime()}var P=1440,C=43200;function x(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n(2,arguments);var o=i.locale||S;if(!o.formatDistance)throw new RangeError("locale must contain formatDistance property");var u=r(t,e);if(isNaN(u))throw new RangeError("Invalid time value");var s,l,h=N(i);h.addSuffix=Boolean(i.addSuffix),h.comparison=u,u>0?(s=a(e),l=a(t)):(s=a(t),l=a(e));var m,c=f(l,s),g=(W(l)-W(s))/1e3,v=Math.round((c-g)/60);if(v<2)return i.includeSeconds?c<5?o.formatDistance("lessThanXSeconds",5,h):c<10?o.formatDistance("lessThanXSeconds",10,h):c<20?o.formatDistance("lessThanXSeconds",20,h):c<40?o.formatDistance("halfAMinute",null,h):c<60?o.formatDistance("lessThanXMinutes",1,h):o.formatDistance("xMinutes",1,h):0===v?o.formatDistance("lessThanXMinutes",1,h):o.formatDistance("xMinutes",v,h);if(v<45)return o.formatDistance("xMinutes",v,h);if(v<90)return o.formatDistance("aboutXHours",1,h);if(v<P){var p=Math.round(v/60);return o.formatDistance("aboutXHours",p,h)}if(v<2520)return o.formatDistance("xDays",1,h);if(v<C){var y=Math.round(v/P);return o.formatDistance("xDays",y,h)}if(v<86400)return m=Math.round(v/C),o.formatDistance("aboutXMonths",m,h);if((m=d(l,s))<12){var b=Math.round(v/C);return o.formatDistance("xMonths",b,h)}var w=m%12,M=Math.floor(m/12);return w<3?o.formatDistance("aboutXYears",M,h):w<9?o.formatDistance("overXYears",M,h):o.formatDistance("almostXYears",M+1,h)}function U(t){if(null===t||!0===t||!1===t)return NaN;var e=Number(t);return isNaN(e)?e:e<0?Math.ceil(e):Math.floor(e)}var j=36e5,k={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},F=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,X=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Y=/^([+-])(\d{2})(?::?(\d{2}))?$/;function O(t){var e,n={},a=t.split(k.dateTimeDelimiter);if(a.length>2)return n;if(/:/.test(a[0])?(n.date=null,e=a[0]):(n.date=a[0],e=a[1],k.timeZoneDelimiter.test(n.date)&&(n.date=t.split(k.timeZoneDelimiter)[0],e=t.substr(n.date.length,t.length))),e){var r=k.timezone.exec(e);r?(n.time=e.replace(r[1],""),n.timezone=r[1]):n.time=e}return n}function A(t,e){var n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),a=t.match(n);if(!a)return{year:null};var r=a[1]&&parseInt(a[1]),i=a[2]&&parseInt(a[2]);return{year:null==i?r:100*i,restDateString:t.slice((a[1]||a[2]).length)}}function q(t,e){if(null===e)return null;var n=t.match(F);if(!n)return null;var a=!!n[4],r=z(n[1]),i=z(n[2])-1,o=z(n[3]),u=z(n[4]),s=z(n[5])-1;if(a)return function(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}(0,u,s)?function(t,e,n){var a=new Date(0);a.setUTCFullYear(t,0,4);var r=a.getUTCDay()||7,i=7*(e-1)+n+1-r;return a.setUTCDate(a.getUTCDate()+i),a}(e,u,s):new Date(NaN);var d=new Date(0);return function(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(J[e]||(B(t)?29:28))}(e,i,o)&&function(t,e){return e>=1&&e<=(B(t)?366:365)}(e,r)?(d.setUTCFullYear(e,i,Math.max(r,o)),d):new Date(NaN)}function z(t){return t?parseInt(t):1}function E(t){var e=t.match(X);if(!e)return null;var n=I(e[1]),a=I(e[2]),r=I(e[3]);return function(t,e,n){if(24===t)return 0===e&&0===n;return n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}(n,a,r)?n*j+6e4*a+1e3*r:NaN}function I(t){return t&&parseFloat(t.replace(",","."))||0}function H(t){if("Z"===t)return 0;var e=t.match(Y);if(!e)return 0;var n="+"===e[1]?-1:1,a=parseInt(e[2]),r=e[3]&&parseInt(e[3])||0;return function(t,e){return e>=0&&e<=59}(0,r)?n*(a*j+6e4*r):NaN}var J=[31,null,31,30,31,30,31,31,30,31,30,31];function B(t){return t%400==0||t%4==0&&t%100}var V=(t,e)=>{"string"==typeof t&&(t=function(t,e){n(1,arguments);var a=e||{},r=null==a.additionalDigits?2:U(a.additionalDigits);if(2!==r&&1!==r&&0!==r)throw new RangeError("additionalDigits must be 0, 1 or 2");if("string"!=typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var i,o=O(t);if(o.date){var u=A(o.date,r);i=q(u.restDateString,u.year)}if(isNaN(i)||!i)return new Date(NaN);var s,d=i.getTime(),l=0;if(o.time&&(l=E(o.time),isNaN(l)||null===l))return new Date(NaN);if(!o.timezone){var h=new Date(d+l),m=new Date(0);return m.setFullYear(h.getUTCFullYear(),h.getUTCMonth(),h.getUTCDate()),m.setHours(h.getUTCHours(),h.getUTCMinutes(),h.getUTCSeconds(),h.getUTCMilliseconds()),m}return s=H(o.timezone),isNaN(s)?new Date(NaN):new Date(d+l+s)}(t));const{includeSeconds:a,addSuffix:r=!0}=e;return function(t,e){return n(1,arguments),x(t,Date.now(),e)}(t,{includeSeconds:a,addSuffix:r})};const Z=(t={})=>({name:t.name||"Timeago",props:{datetime:{required:!0},title:{type:[String,Boolean]},autoUpdate:{type:[Number,Boolean]},converter:{type:Function},converterOptions:{type:Object}},data(){return{timeago:this.getTimeago()}},mounted(){this.startUpdater()},beforeUnmount(){this.stopUpdater()},render(){return e.h("time",{attrs:{datetime:new Date(this.datetime).toISOString(),title:"string"==typeof this.title?this.title:!1===this.title?null:this.timeago}},[this.timeago])},methods:{getTimeago(t){return(this.converter||V)(t||this.datetime,this.converterOptions||{})},convert(t){this.timeago=this.getTimeago(t)},startUpdater(){if(this.autoUpdate){const t=!0===this.autoUpdate?60:this.autoUpdate;this.updater=setInterval((()=>{this.convert()}),1e3*t)}},stopUpdater(){this.updater&&(clearInterval(this.updater),this.updater=null)}},watch:{autoUpdate(t){this.stopUpdater(),t&&this.startUpdater()},datetime(){this.convert()},converter(){this.convert()},converterOptions:{handler(){this.convert()},deep:!0}}}),$=(t,e)=>{if(t.config.globalProperties.$timeago)return;const n=Z(e);t.component(n.name,n)},R=V;t.converter=R,t.createTimeago=Z,t.default=$,t.install=$,Object.defineProperty(t,"__esModule",{value:!0}),t[Symbol.toStringTag]="Module"})); | ||
(function(v,c){typeof exports=="object"&&typeof module!="undefined"?c(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],c):(v=typeof globalThis!="undefined"?globalThis:v||self,c(v.VueTimeago3={},v.Vue))})(this,function(v,c){"use strict";function h(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}function d(e){h(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):((typeof e=="string"||t==="[object String]")&&typeof console!="undefined"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn(new Error().stack)),new Date(NaN))}function b(e,t){h(2,arguments);var n=d(e),a=d(t),i=n.getTime()-a.getTime();return i<0?-1:i>0?1:i}function x(e,t){h(2,arguments);var n=d(e),a=d(t),i=n.getFullYear()-a.getFullYear(),r=n.getMonth()-a.getMonth();return i*12+r}function F(e){h(1,arguments);var t=d(e);return t.setHours(23,59,59,999),t}function _(e){h(1,arguments);var t=d(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}function A(e){h(1,arguments);var t=d(e);return F(t).getTime()===_(t).getTime()}function k(e,t){h(2,arguments);var n=d(e),a=d(t),i=b(n,a),r=Math.abs(x(n,a)),o;if(r<1)o=0;else{n.getMonth()===1&&n.getDate()>27&&n.setDate(30),n.setMonth(n.getMonth()-i*r);var s=b(n,a)===-i;A(d(e))&&r===1&&b(e,a)===1&&(s=!1),o=i*(r-Number(s))}return o===0?0:o}function Y(e,t){return h(2,arguments),d(e).getTime()-d(t).getTime()}var N={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)}},E="trunc";function j(e){return e?N[e]:N[E]}function R(e,t,n){h(2,arguments);var a=Y(e,t)/1e3;return j(n==null?void 0:n.roundingMethod)(a)}var X={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},z=function(e,t,n){var a,i=X[e];return typeof i=="string"?a=i:t===1?a=i.one:a=i.other.replace("{{count}}",t.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a},L=z;function D(e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.width?String(t.width):e.defaultWidth,a=e.formats[n]||e.formats[e.defaultWidth];return a}}var q={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},V={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},H={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},$={date:D({formats:q,defaultWidth:"full"}),time:D({formats:V,defaultWidth:"full"}),dateTime:D({formats:H,defaultWidth:"full"})},J=$,B={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Q=function(e,t,n,a){return B[e]},Z=Q;function g(e){return function(t,n){var a=n||{},i=a.context?String(a.context):"standalone",r;if(i==="formatting"&&e.formattingValues){var o=e.defaultFormattingWidth||e.defaultWidth,s=a.width?String(a.width):o;r=e.formattingValues[s]||e.formattingValues[o]}else{var f=e.defaultWidth,l=a.width?String(a.width):e.defaultWidth;r=e.values[l]||e.values[f]}var u=e.argumentCallback?e.argumentCallback(t):t;return r[u]}}var G={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},K={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ee={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},te={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},ne={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},ae={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},re=function(e,t){var n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},ie={ordinalNumber:re,era:g({values:G,defaultWidth:"wide"}),quarter:g({values:K,defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:g({values:ee,defaultWidth:"wide"}),day:g({values:te,defaultWidth:"wide"}),dayPeriod:g({values:ne,defaultWidth:"wide",formattingValues:ae,defaultFormattingWidth:"wide"})},oe=ie;function p(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=n.width,i=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],r=t.match(i);if(!r)return null;var o=r[0],s=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],f=Array.isArray(s)?se(s,function(m){return m.test(o)}):ue(s,function(m){return m.test(o)}),l;l=e.valueCallback?e.valueCallback(f):f,l=n.valueCallback?n.valueCallback(l):l;var u=t.slice(o.length);return{value:l,rest:u}}}function ue(e,t){for(var n in e)if(e.hasOwnProperty(n)&&t(e[n]))return n}function se(e,t){for(var n=0;n<e.length;n++)if(t(e[n]))return n}function le(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=t.match(e.matchPattern);if(!a)return null;var i=a[0],r=t.match(e.parsePattern);if(!r)return null;var o=e.valueCallback?e.valueCallback(r[0]):r[0];o=n.valueCallback?n.valueCallback(o):o;var s=t.slice(i.length);return{value:o,rest:s}}}var fe=/^(\d+)(th|st|nd|rd)?/i,de=/\d+/i,me={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},ce={any:[/^b/i,/^(a|c)/i]},he={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},ve={any:[/1/i,/2/i,/3/i,/4/i]},ge={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},pe={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Me={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},be={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},we={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},De={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},ye={ordinalNumber:le({matchPattern:fe,parsePattern:de,valueCallback:function(e){return parseInt(e,10)}}),era:p({matchPatterns:me,defaultMatchWidth:"wide",parsePatterns:ce,defaultParseWidth:"any"}),quarter:p({matchPatterns:he,defaultMatchWidth:"wide",parsePatterns:ve,defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:p({matchPatterns:ge,defaultMatchWidth:"wide",parsePatterns:pe,defaultParseWidth:"any"}),day:p({matchPatterns:Me,defaultMatchWidth:"wide",parsePatterns:be,defaultParseWidth:"any"}),dayPeriod:p({matchPatterns:we,defaultMatchWidth:"any",parsePatterns:De,defaultParseWidth:"any"})},Te=ye,Se={code:"en-US",formatDistance:L,formatLong:J,formatRelative:Z,localize:oe,match:Te,options:{weekStartsOn:0,firstWeekContainsDate:1}},Ne=Se;function Pe(e,t){if(e==null)throw new TypeError("assign requires that input parameter not be null or undefined");t=t||{};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}function We(e){return Pe({},e)}function P(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}var W=1440,Ie=2520,y=43200,Ce=86400;function Oe(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};h(2,arguments);var a=n.locale||Ne;if(!a.formatDistance)throw new RangeError("locale must contain formatDistance property");var i=b(e,t);if(isNaN(i))throw new RangeError("Invalid time value");var r=We(n);r.addSuffix=Boolean(n.addSuffix),r.comparison=i;var o,s;i>0?(o=d(t),s=d(e)):(o=d(e),s=d(t));var f=R(s,o),l=(P(s)-P(o))/1e3,u=Math.round((f-l)/60),m;if(u<2)return n.includeSeconds?f<5?a.formatDistance("lessThanXSeconds",5,r):f<10?a.formatDistance("lessThanXSeconds",10,r):f<20?a.formatDistance("lessThanXSeconds",20,r):f<40?a.formatDistance("halfAMinute",null,r):f<60?a.formatDistance("lessThanXMinutes",1,r):a.formatDistance("xMinutes",1,r):u===0?a.formatDistance("lessThanXMinutes",1,r):a.formatDistance("xMinutes",u,r);if(u<45)return a.formatDistance("xMinutes",u,r);if(u<90)return a.formatDistance("aboutXHours",1,r);if(u<W){var Ke=Math.round(u/60);return a.formatDistance("aboutXHours",Ke,r)}else{if(u<Ie)return a.formatDistance("xDays",1,r);if(u<y){var et=Math.round(u/W);return a.formatDistance("xDays",et,r)}else if(u<Ce)return m=Math.round(u/y),a.formatDistance("aboutXMonths",m,r)}if(m=k(s,o),m<12){var tt=Math.round(u/y);return a.formatDistance("xMonths",tt,r)}else{var U=m%12,S=Math.floor(m/12);return U<3?a.formatDistance("aboutXYears",S,r):U<9?a.formatDistance("overXYears",S,r):a.formatDistance("almostXYears",S+1,r)}}function Ue(e,t){return h(1,arguments),Oe(e,Date.now(),t)}function xe(e){if(e===null||e===!0||e===!1)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}var I=36e5,C=6e4,Fe=2,w={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},_e=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,Ae=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,ke=/^([+-])(\d{2})(?::?(\d{2}))?$/;function Ye(e,t){h(1,arguments);var n=t||{},a=n.additionalDigits==null?Fe:xe(n.additionalDigits);if(a!==2&&a!==1&&a!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(!(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]"))return new Date(NaN);var i=Ee(e),r;if(i.date){var o=je(i.date,a);r=Re(o.restDateString,o.year)}if(isNaN(r)||!r)return new Date(NaN);var s=r.getTime(),f=0,l;if(i.time&&(f=Xe(i.time),isNaN(f)||f===null))return new Date(NaN);if(i.timezone){if(l=ze(i.timezone),isNaN(l))return new Date(NaN)}else{var u=new Date(s+f),m=new Date(0);return m.setFullYear(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),m.setHours(u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds()),m}return new Date(s+f+l)}function Ee(e){var t={},n=e.split(w.dateTimeDelimiter),a;if(n.length>2)return t;if(/:/.test(n[0])?(t.date=null,a=n[0]):(t.date=n[0],a=n[1],w.timeZoneDelimiter.test(t.date)&&(t.date=e.split(w.timeZoneDelimiter)[0],a=e.substr(t.date.length,e.length))),a){var i=w.timezone.exec(a);i?(t.time=a.replace(i[1],""),t.timezone=i[1]):t.time=a}return t}function je(e,t){var n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),a=e.match(n);if(!a)return{year:null};var i=a[1]&&parseInt(a[1]),r=a[2]&&parseInt(a[2]);return{year:r==null?i:r*100,restDateString:e.slice((a[1]||a[2]).length)}}function Re(e,t){if(t===null)return null;var n=e.match(_e);if(!n)return null;var a=!!n[4],i=M(n[1]),r=M(n[2])-1,o=M(n[3]),s=M(n[4]),f=M(n[5])-1;if(a)return $e(t,s,f)?Le(t,s,f):new Date(NaN);var l=new Date(0);return!Ve(t,r,o)||!He(t,i)?new Date(NaN):(l.setUTCFullYear(t,r,Math.max(i,o)),l)}function M(e){return e?parseInt(e):1}function Xe(e){var t=e.match(Ae);if(!t)return null;var n=T(t[1]),a=T(t[2]),i=T(t[3]);return Je(n,a,i)?n*I+a*C+i*1e3:NaN}function T(e){return e&&parseFloat(e.replace(",","."))||0}function ze(e){if(e==="Z")return 0;var t=e.match(ke);if(!t)return 0;var n=t[1]==="+"?-1:1,a=parseInt(t[2]),i=t[3]&&parseInt(t[3])||0;return Be(a,i)?n*(a*I+i*C):NaN}function Le(e,t,n){var a=new Date(0);a.setUTCFullYear(e,0,4);var i=a.getUTCDay()||7,r=(t-1)*7+n+1-i;return a.setUTCDate(a.getUTCDate()+r),a}var qe=[31,null,31,30,31,30,31,31,30,31,30,31];function O(e){return e%400==0||e%4==0&&e%100}function Ve(e,t,n){return t>=0&&t<=11&&n>=1&&n<=(qe[t]||(O(e)?29:28))}function He(e,t){return t>=1&&t<=(O(e)?366:365)}function $e(e,t,n){return t>=1&&t<=53&&n>=0&&n<=6}function Je(e,t,n){return e===24?t===0&&n===0:n>=0&&n<60&&t>=0&&t<60&&e>=0&&e<25}function Be(e,t){return t>=0&&t<=59}var Qe=(e,t)=>{typeof e=="string"&&(e=Ye(e));const{includeSeconds:n,addSuffix:a=!1}=t;return Ue(e,{includeSeconds:n,addSuffix:a})};const Ze=(e={})=>{const t=e.name||"Timeago";return c.defineComponent({name:t,props:{datetime:{type:[String,Number,Date],required:!0},title:{type:[String,Boolean],required:!1,default:null},autoUpdate:{type:[Number,Boolean],required:!1,default:null},converter:{type:Function,required:!1,default:null},converterOptions:{type:Object,required:!1,default:null}},setup(n){const a=c.ref();c.onBeforeMount(()=>{s()}),c.onBeforeUnmount(()=>{f()});const i=l=>(n.converter||Qe)(l||n.datetime,n.converterOptions||{}),r=c.ref(i()),o=l=>{r.value=i(l)},s=()=>{if(n.autoUpdate){const l=n.autoUpdate===!0?60:n.autoUpdate;a.value=setInterval(()=>{o(n.datetime)},l*1e3)}},f=()=>{a.value&&(clearInterval(a.value),a.value=void 0)};return c.watch(()=>n.autoUpdate,l=>{f(),l&&s()}),c.watch(()=>[n.datetime,n.converter],()=>{o()}),c.watch(()=>n.converterOptions,()=>{o()},{deep:!0}),{timeago:r}},render(){return c.h("timeago",{attrs:{datetime:new Date(this.datetime).toISOString(),title:typeof this.title=="string"?this.title:this.title===!1?null:this.timeago}},[this.timeago])}})};var Ge=(e,t)=>{if(e.config.globalProperties.$timeago)return;Number(e.version.split(".")[0])<3&&console.warn("[vue-timeago3] This plugin requires at least Vue version 3.0");const a=Ze(t);e.component(a.name,a)};v.default=Ge,Object.defineProperty(v,"__esModule",{value:!0}),v[Symbol.toStringTag]="Module"}); |
{ | ||
"name": "vue-timeago3", | ||
"version": "1.0.1", | ||
"files": [ "dist" ], | ||
"version": "2.0.0", | ||
"files": [ | ||
"dist" | ||
], | ||
"main": "./dist/vue-timeago.umd.js", | ||
@@ -9,4 +11,4 @@ "module": "./dist/vue-timeago.es.js", | ||
".": { | ||
"import": "./dist/vue-timeago.es.js", | ||
"require": "./dist/vue-timeago.umd.js" | ||
"import": "./dist/vue-timeago.es.js", | ||
"require": "./dist/vue-timeago.umd.js" | ||
} | ||
@@ -22,22 +24,24 @@ }, | ||
}, | ||
"homepage": "https://github.com/MrDeerly/vue-timeago3", | ||
"homepage": "https://mrdeerly.github.io/vue-timeago3/", | ||
"keywords": [ | ||
"vue", | ||
"vue3", | ||
"time", | ||
"timeago", | ||
"timesince", | ||
"datepassed", | ||
"next", | ||
"datefns" | ||
"datefns", | ||
"date", | ||
"whileago", | ||
"currentTime", | ||
"distance", | ||
"time" | ||
], | ||
"scripts": { | ||
"dev": "vite", | ||
"dev": " vite build && npm --prefix ./dist pack && npm --prefix examples run dev", | ||
"build": "vue-tsc --noEmit && vite build", | ||
"serve": "vite preview", | ||
"lint": "eslint" | ||
"docs:dev": "vitepress dev docs", | ||
"docs:build": "vitepress build docs", | ||
"docs:serve": "vitepress serve docs" | ||
}, | ||
"dependencies": { | ||
"date-fns": "^2.24.0" | ||
"date-fns": "^2.26.0" | ||
}, | ||
@@ -48,12 +52,17 @@ "peerDependencies": { | ||
"devDependencies": { | ||
"@vitejs/plugin-vue": "^1.6.1", | ||
"@vue/compiler-sfc": "^3.2.6", | ||
"eslint": "^7.32.0", | ||
"@types/node": "^16.11.10", | ||
"@typescript-eslint/eslint-plugin": "^5.4.0", | ||
"@typescript-eslint/parser": "^5.4.0", | ||
"@vitejs/plugin-vue": "^1.10.1", | ||
"@vue/compiler-sfc": "^3.2.23", | ||
"eslint": "^8.3.0", | ||
"eslint-config-prettier": "^8.3.0", | ||
"eslint-plugin-vue": "^7.18.0", | ||
"prettier": "2.4.1", | ||
"typescript": "^4.3.2", | ||
"vite": "^2.5.4", | ||
"vue-tsc": "^0.2.2" | ||
"eslint-plugin-vue": "^8.1.1", | ||
"prettier": "2.5.0", | ||
"typescript": "^4.5.2", | ||
"vite": "^2.6.14", | ||
"vue-eslint-parser": "^8.0.1", | ||
"vue-tsc": "^0.29.6", | ||
"vitepress": "^0.20.1" | ||
} | ||
} |
@@ -1,2 +0,2 @@ | ||
# ⏳ vue-timeago3 ![Vue version](https://img.shields.io/badge/vue-3.2.6-brightgreen.svg) ![date-fns version](https://img.shields.io/npm/dependency-version/vue-timeago3/date-fns) [![NPM version](https://img.shields.io/npm/v/vue-timeago3.svg)](https://npmjs.com/package/vue-timeago3) [![NPM downloads](https://img.shields.io/npm/dm/vue-timeago3.svg)](https://npmjs.com/package/vue-timeago3) ![size](https://img.shields.io/bundlephobia/min/vue-timeago3) | ||
# ⏳ vue-timeago3 ![Vue version](https://img.shields.io/badge/vue-3.2.6-brightgreen.svg) ![date-fns version](https://img.shields.io/npm/dependency-version/vue-timeago3/date-fns) [![NPM version](https://img.shields.io/npm/v/vue-timeago3.svg)](https://npmjs.com/package/vue-timeago3) [![NPM downloads](https://img.shields.io/npm/dm/vue-timeago3.svg)](https://npmjs.com/package/vue-timeago3) ![size](https://img.shields.io/bundlephobia/min/vue-timeago3) [![vue-timeago3](https://circleci.com/gh/MrDeerly/vue-timeago3.svg?style=svg)](https://circleci.com/gh/MrDeerly/vue-timeago3) | ||
@@ -38,3 +38,3 @@ A time ago component for Vue.js 3 based on [vue-timeago for Vue 2 by egoist](https://github.com/egoist/vue-timeago). | ||
```javascript | ||
// src/main.js | ||
// src/main.ts | ||
import { createApp } from 'vue' | ||
@@ -54,3 +54,3 @@ import timeago from 'vue-timeago3' | ||
```javascript | ||
// src/main.js | ||
// src/main.ts | ||
import { createApp } from 'vue' | ||
@@ -77,3 +77,3 @@ import timeago from 'vue-timeago3' | ||
| **name** | `string` | Register the component with a custom name. Default is: `timeago` | | ||
| **converter** | `(date, locale, converterOptions) => string` | A **converter** that formats regular dates in `x Seconds ago`, or in `xxx` style. Check out the [default converter](ahttps://github.com/MrDeerly/vue-timeago3/blob/master/src/converter.js) which uses [date-fns formatDistanceToNow](https://date-fns.org/v2.24.0/docs/formatDistanceToNow) | | ||
| **converter** | `(date, locale, converterOptions) => string` | A **converter** that formats regular dates in `x Seconds ago`, or in `xxx` style. Check out the [default converter](ahttps://github.com/MrDeerly/vue-timeago3/blob/master/src/defaultConverter.js) which uses [date-fns formatDistanceToNow](https://date-fns.org/v2.24.0/docs/formatDistanceToNow) | | ||
| **converterOptions** | `Object` | Pass some extra settings to the default converter mentioned above. It supports the main options of `date-fns`, namingly: <br/><br/> `includeSeconds` - `boolean` - distances less than a minute are more detailed </br> `addSuffix` - `boolean` - results specifies if now is earlier or later than the date passed | | ||
@@ -80,0 +80,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
54547
1028
14
1
Updateddate-fns@^2.26.0