import{c as O}from"./constructNow-Cf1joT6_.js";import{t as h,n as I,e as y,g as S,b as X,d as D,f as T}from"./en-US-DsJ0-K0a.js";import{d as b}from"./differenceInCalendarMonths-DnfRIrCK.js";import{e as w}from"./endOfDay-DfXidCUT.js";import{e as N}from"./endOfMonth-DO4kXUER.js";import{g as _}from"./getRoundingMethod-D0I6Z7xl.js";function M(a,r){const e=+h(a)-+h(r);return e<0?-1:e>0?1:e}function Y(a,r){return+h(a)-+h(r)}function v(a,r){const e=h(a,r==null?void 0:r.in);return+w(e,r)==+N(e,r)}function z(a,r,e){const[i,t,u]=I(e==null?void 0:e.in,a,a,r),c=M(t,u),n=Math.abs(b(t,u));if(n<1)return 0;t.getMonth()===1&&t.getDate()>27&&t.setDate(30),t.setMonth(t.getMonth()-c*n);let o=M(t,u)===-c;v(i)&&n===1&&M(i,u)===1&&(o=!1);const l=c*(n-+o);return l===0?0:l}function A(a,r,e){const i=Y(a,r)/1e3;return _(e==null?void 0:e.roundingMethod)(i)}function L(a,r,e){const i=T(),t=(e==null?void 0:e.locale)??i.locale??y,u=2520,c=M(a,r);if(isNaN(c))throw new RangeError("Invalid time value");const n=Object.assign({},e,{addSuffix:e==null?void 0:e.addSuffix,comparison:c}),[o,l]=I(e==null?void 0:e.in,...c>0?[r,a]:[a,r]),m=A(l,o),x=(S(l)-S(o))/1e3,s=Math.round((m-x)/60);let d;if(s<2)return e!=null&&e.includeSeconds?m<5?t.formatDistance("lessThanXSeconds",5,n):m<10?t.formatDistance("lessThanXSeconds",10,n):m<20?t.formatDistance("lessThanXSeconds",20,n):m<40?t.formatDistance("halfAMinute",0,n):m<60?t.formatDistance("lessThanXMinutes",1,n):t.formatDistance("xMinutes",1,n):s===0?t.formatDistance("lessThanXMinutes",1,n):t.formatDistance("xMinutes",s,n);if(s<45)return t.formatDistance("xMinutes",s,n);if(s<90)return t.formatDistance("aboutXHours",1,n);if(s<X){const f=Math.round(s/60);return t.formatDistance("aboutXHours",f,n)}else{if(s<u)return t.formatDistance("xDays",1,n);if(s<D){const f=Math.round(s/X);return t.formatDistance("xDays",f,n)}else if(s<D*2)return d=Math.round(s/D),t.formatDistance("aboutXMonths",d,n)}if(d=z(l,o),d<12){const f=Math.round(s/D);return t.formatDistance("xMonths",f,n)}else{const f=d%12,g=Math.trunc(d/12);return f<3?t.formatDistance("aboutXYears",g,n):f<9?t.formatDistance("overXYears",g,n):t.formatDistance("almostXYears",g+1,n)}}function F(a,r){return L(a,O(a),r)}export{F as f};