yummies 7.15.0 → 7.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assert.cjs +1 -1
- package/assert.js +1 -1
- package/{chunk-CVq3Gv4J.cjs → chunk-CZWwpsFl.cjs} +0 -7
- package/chunk-pbuEa-1d.js +13 -0
- package/css.cjs +1 -1
- package/date-time.cjs +886 -344
- package/date-time.cjs.map +1 -1
- package/date-time.d.ts +1 -1
- package/date-time.js +879 -337
- package/date-time.js.map +1 -1
- package/errors.cjs +1 -1
- package/format.cjs +1 -1
- package/format.js +1 -1
- package/html.cjs +1 -1
- package/id.cjs +1 -1
- package/imports.cjs +1 -1
- package/media.cjs +1 -1
- package/mobx.cjs +3 -2
- package/mobx.cjs.map +1 -1
- package/mobx.js +2 -1
- package/mobx.js.map +1 -1
- package/package.json +7 -7
- package/parser.cjs +1 -1
- package/parser.js +1 -1
- package/react.cjs +1 -1
- package/type-guard.cjs +1 -1
- package/type-guard.js +1 -1
- package/chunk-YKewjYmz.js +0 -37
package/date-time.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-time.cjs","names":[],"sources":["../node_modules/.pnpm/dayjs@1.11.20/node_modules/dayjs/plugin/duration.js","../node_modules/.pnpm/dayjs@1.11.20/node_modules/dayjs/plugin/relativeTime.js","../node_modules/.pnpm/dayjs@1.11.20/node_modules/dayjs/locale/ru.js","../src/date-time.ts"],"sourcesContent":["!function(t,s){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=s():\"function\"==typeof define&&define.amd?define(s):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_duration=s()}(this,(function(){\"use strict\";var t,s,n=1e3,i=6e4,e=36e5,r=864e5,o=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,d=2628e6,a=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,h={years:u,months:d,days:r,hours:e,minutes:i,seconds:n,milliseconds:1,weeks:6048e5},c=function(t){return t instanceof g},f=function(t,s,n){return new g(t,n,s.$l)},m=function(t){return s.p(t)+\"s\"},l=function(t){return t<0},$=function(t){return l(t)?Math.ceil(t):Math.floor(t)},y=function(t){return Math.abs(t)},v=function(t,s){return t?l(t)?{negative:!0,format:\"\"+y(t)+s}:{negative:!1,format:\"\"+t+s}:{negative:!1,format:\"\"}},g=function(){function l(t,s,n){var i=this;if(this.$d={},this.$l=n,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),s)return f(t*h[m(s)],this);if(\"number\"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if(\"object\"==typeof t)return Object.keys(t).forEach((function(s){i.$d[m(s)]=t[s]})),this.calMilliseconds(),this;if(\"string\"==typeof t){var e=t.match(a);if(e){var r=e.slice(2).map((function(t){return null!=t?Number(t):0}));return this.$d.years=r[0],this.$d.months=r[1],this.$d.weeks=r[2],this.$d.days=r[3],this.$d.hours=r[4],this.$d.minutes=r[5],this.$d.seconds=r[6],this.calMilliseconds(),this}}return this}var y=l.prototype;return y.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce((function(s,n){return s+(t.$d[n]||0)*h[n]}),0)},y.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=$(t/u),t%=u,this.$d.months=$(t/d),t%=d,this.$d.days=$(t/r),t%=r,this.$d.hours=$(t/e),t%=e,this.$d.minutes=$(t/i),t%=i,this.$d.seconds=$(t/n),t%=n,this.$d.milliseconds=t},y.toISOString=function(){var t=v(this.$d.years,\"Y\"),s=v(this.$d.months,\"M\"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var i=v(n,\"D\"),e=v(this.$d.hours,\"H\"),r=v(this.$d.minutes,\"M\"),o=this.$d.seconds||0;this.$d.milliseconds&&(o+=this.$d.milliseconds/1e3,o=Math.round(1e3*o)/1e3);var u=v(o,\"S\"),d=t.negative||s.negative||i.negative||e.negative||r.negative||u.negative,a=e.format||r.format||u.format?\"T\":\"\",h=(d?\"-\":\"\")+\"P\"+t.format+s.format+i.format+a+e.format+r.format+u.format;return\"P\"===h||\"-P\"===h?\"P0D\":h},y.toJSON=function(){return this.toISOString()},y.format=function(t){var n=t||\"YYYY-MM-DDTHH:mm:ss\",i={Y:this.$d.years,YY:s.s(this.$d.years,2,\"0\"),YYYY:s.s(this.$d.years,4,\"0\"),M:this.$d.months,MM:s.s(this.$d.months,2,\"0\"),D:this.$d.days,DD:s.s(this.$d.days,2,\"0\"),H:this.$d.hours,HH:s.s(this.$d.hours,2,\"0\"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,\"0\"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,\"0\"),SSS:s.s(this.$d.milliseconds,3,\"0\")};return n.replace(o,(function(t,s){return s||String(i[t])}))},y.as=function(t){return this.$ms/h[m(t)]},y.get=function(t){var s=this.$ms,n=m(t);return\"milliseconds\"===n?s%=1e3:s=\"weeks\"===n?$(s/h[n]):this.$d[n],s||0},y.add=function(t,s,n){var i;return i=s?t*h[m(s)]:c(t)?t.$ms:f(t,this).$ms,f(this.$ms+i*(n?-1:1),this)},y.subtract=function(t,s){return this.add(t,s,!0)},y.locale=function(t){var s=this.clone();return s.$l=t,s},y.clone=function(){return f(this.$ms,this)},y.humanize=function(s){return t().add(this.$ms,\"ms\").locale(this.$l).fromNow(!s)},y.valueOf=function(){return this.asMilliseconds()},y.milliseconds=function(){return this.get(\"milliseconds\")},y.asMilliseconds=function(){return this.as(\"milliseconds\")},y.seconds=function(){return this.get(\"seconds\")},y.asSeconds=function(){return this.as(\"seconds\")},y.minutes=function(){return this.get(\"minutes\")},y.asMinutes=function(){return this.as(\"minutes\")},y.hours=function(){return this.get(\"hours\")},y.asHours=function(){return this.as(\"hours\")},y.days=function(){return this.get(\"days\")},y.asDays=function(){return this.as(\"days\")},y.weeks=function(){return this.get(\"weeks\")},y.asWeeks=function(){return this.as(\"weeks\")},y.months=function(){return this.get(\"months\")},y.asMonths=function(){return this.as(\"months\")},y.years=function(){return this.get(\"years\")},y.asYears=function(){return this.as(\"years\")},l}(),p=function(t,s,n){return t.add(s.years()*n,\"y\").add(s.months()*n,\"M\").add(s.days()*n,\"d\").add(s.hours()*n,\"h\").add(s.minutes()*n,\"m\").add(s.seconds()*n,\"s\").add(s.milliseconds()*n,\"ms\")};return function(n,i,e){t=e,s=e().$utils(),e.duration=function(t,s){var n=e.locale();return f(t,{$l:n},s)},e.isDuration=c;var r=i.prototype.add,o=i.prototype.subtract;i.prototype.add=function(t,s){return c(t)?p(this,t,1):r.bind(this)(t,s)},i.prototype.subtract=function(t,s){return c(t)?p(this,t,-1):o.bind(this)(t,s)}}}));","!function(r,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(r=\"undefined\"!=typeof globalThis?globalThis:r||self).dayjs_plugin_relativeTime=e()}(this,(function(){\"use strict\";return function(r,e,t){r=r||{};var n=e.prototype,o={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:\"s\",r:44,d:\"second\"},{l:\"m\",r:89},{l:\"mm\",r:44,d:\"minute\"},{l:\"h\",r:89},{l:\"hh\",r:21,d:\"hour\"},{l:\"d\",r:35},{l:\"dd\",r:25,d:\"day\"},{l:\"M\",r:45},{l:\"MM\",r:10,d:\"month\"},{l:\"y\",r:17},{l:\"yy\",d:\"year\"}],m=h.length,c=0;c<m;c+=1){var y=h[c];y.d&&(f=d?t(e).diff(i,y.d,!0):i.diff(e,y.d,!0));var p=(r.rounding||Math.round)(Math.abs(f));if(s=f>0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","!function(_,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],t):(_=\"undefined\"!=typeof globalThis?globalThis:_||self).dayjs_locale_ru=t(_.dayjs)}(this,(function(_){\"use strict\";function t(_){return _&&\"object\"==typeof _&&\"default\"in _?_:{default:_}}var e=t(_),n=\"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря\".split(\"_\"),s=\"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь\".split(\"_\"),r=\"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.\".split(\"_\"),o=\"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.\".split(\"_\"),i=/D[oD]?(\\[[^[\\]]*\\]|\\s)+MMMM?/;function d(_,t,e){var n,s;return\"m\"===e?t?\"минута\":\"минуту\":_+\" \"+(n=+_,s={mm:t?\"минута_минуты_минут\":\"минуту_минуты_минут\",hh:\"час_часа_часов\",dd:\"день_дня_дней\",MM:\"месяц_месяца_месяцев\",yy:\"год_года_лет\"}[e].split(\"_\"),n%10==1&&n%100!=11?s[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?s[1]:s[2])}var u=function(_,t){return i.test(t)?n[_.month()]:s[_.month()]};u.s=s,u.f=n;var a=function(_,t){return i.test(t)?r[_.month()]:o[_.month()]};a.s=o,a.f=r;var m={name:\"ru\",weekdays:\"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота\".split(\"_\"),weekdaysShort:\"вск_пнд_втр_срд_чтв_птн_сбт\".split(\"_\"),weekdaysMin:\"вс_пн_вт_ср_чт_пт_сб\".split(\"_\"),months:u,monthsShort:a,weekStart:1,yearStart:4,formats:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY г.\",LLL:\"D MMMM YYYY г., H:mm\",LLLL:\"dddd, D MMMM YYYY г., H:mm\"},relativeTime:{future:\"через %s\",past:\"%s назад\",s:\"несколько секунд\",m:d,mm:d,h:\"час\",hh:d,d:\"день\",dd:d,M:\"месяц\",MM:d,y:\"год\",yy:d},ordinal:function(_){return _},meridiem:function(_){return _<4?\"ночи\":_<12?\"утра\":_<17?\"дня\":\"вечера\"}};return e.default.locale(m,null,!0),m}));","/**\n * ---header-docs-section---\n * # yummies/date-time\n *\n * ## Description\n *\n * Date and time formatting built on **dayjs** with locale plugins, human-readable presets, relative\n * phrases, and duration helpers tailored to UI copy. It composes with `yummies/format`, `yummies/ms`,\n * and `yummies/text` for declensions so timestamps read naturally in Russian-facing apps.\n *\n * ## Usage\n *\n * ```ts\n * import { formatDate } from \"yummies/date-time\";\n * ```\n */\n\nimport dayjs, { type Dayjs, type ManipulateType } from 'dayjs';\nimport duration from 'dayjs/plugin/duration.js';\nimport relativeTime from 'dayjs/plugin/relativeTime.js';\nimport { format } from 'yummies/format';\nimport { ms, unitsToMs } from 'yummies/ms';\nimport { declension } from 'yummies/text';\nimport { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/types';\n\nimport 'dayjs/locale/ru.js';\n\ndayjs.extend(relativeTime);\ndayjs.extend(duration);\ndayjs.locale('ru');\n\nconst toLibFormat = (value: Maybe<RawDateToFormat>): Dayjs | null => {\n let result: Maybe<Dayjs> = null;\n if (dayjs.isDayjs(value)) {\n result = value;\n } else if (value != null) {\n result = dayjs(value);\n }\n\n if (!result?.isValid()) {\n return null;\n }\n\n return result;\n};\n\nexport type RawDateToFormat = Date | string | number | Dayjs;\n\n/**\n * Formats a date-like value using predefined presets or a custom pattern.\n *\n * @example\n * ```ts\n * formatDate('2024-03-15', { format: 'time-short' });\n * ```\n */\nexport const formatDate = (\n value: Maybe<RawDateToFormat>,\n settings?: Maybe<{\n format?:\n | 'human'\n | 'full'\n | 'short'\n | 'day'\n | 'day-only'\n | 'date'\n | 'month'\n | 'spent-time'\n | 'time'\n | 'time-short';\n pattern?: string;\n asTime?: boolean;\n }>,\n) => {\n const dateFormat = settings?.format;\n const datePattern = settings?.pattern;\n const asTime = settings?.asTime;\n\n let libDate: duration.Duration | dayjs.Dayjs | null = null;\n\n if (asTime && typeGuard.isNumber(value)) {\n libDate = dayjs.duration(value);\n } else {\n libDate = toLibFormat(value);\n }\n\n if (!libDate) {\n return format.NO_VALUE;\n }\n\n if (datePattern) {\n return libDate.format(datePattern);\n }\n\n if (dateFormat === 'human' || dateFormat === 'spent-time') {\n if ('fromNow' in libDate) {\n return libDate.fromNow(dateFormat === 'spent-time');\n } else {\n return format.NO_VALUE;\n }\n }\n\n switch (dateFormat) {\n case 'full': {\n return libDate.format('DD MMM YYYY HH:mm:ss');\n }\n case 'short': {\n return libDate.format('DD MMM HH:mm');\n }\n case 'time': {\n return libDate.format('HH:mm:ss');\n }\n case 'time-short': {\n return libDate.format('HH:mm');\n }\n case 'day': {\n return libDate.format('DD MMM YYYY');\n }\n case 'month': {\n return libDate.format('MMMM YYYY');\n }\n default: {\n return libDate.format('DD.MM.YYYY');\n }\n }\n};\n\n/**\n * Splits a duration in milliseconds into day-based time parts.\n *\n * @example\n * ```ts\n * dayTimeDuration(ms(1, 'day') + ms(2, 'hour'));\n * ```\n */\nexport const dayTimeDuration = (timeInMs: number) => {\n let left = Math.max(timeInMs, 0);\n\n const days = Math.floor(left / unitsToMs.day);\n left = left % unitsToMs.day;\n\n const hours = Math.floor(left / unitsToMs.hour);\n left = left % unitsToMs.hour;\n\n const minutes = Math.floor(left / unitsToMs.min);\n left = left % unitsToMs.min;\n\n const seconds = Math.floor(left / unitsToMs.sec);\n left = left % unitsToMs.sec;\n\n const milliseconds = Math.floor(left);\n\n return {\n days,\n hours,\n minutes,\n seconds,\n milliseconds,\n };\n};\n\ntype DateChangeParam = [amount: number, unit?: Maybe<ManipulateType>];\n\n/**\n * Applies one or more date adjustments and returns a new `Date` instance.\n *\n * @example\n * ```ts\n * changeDate(new Date(), 1, 'day', 30, 'minute');\n * ```\n */\nexport const changeDate = (\n date: Maybe<RawDateToFormat>,\n ...args: [\n ...DateChangeParam,\n ...Partial<DateChangeParam>,\n ...Partial<DateChangeParam>,\n ...Partial<DateChangeParam>,\n ...Partial<DateChangeParam>,\n ...Partial<DateChangeParam>,\n ]\n) => {\n let wrappedDate = toLibFormat(date)!;\n\n for (let i = 0; i < args.length; i += 2) {\n const amount = args[i] as DateChangeParam[0];\n const unit = args[i + 1] as DateChangeParam[1];\n if (unit != null) {\n wrappedDate = wrappedDate.add(amount, unit);\n }\n }\n\n return wrappedDate.toDate();\n};\n\n/**\n * Converts milliseconds into hour-based time parts without keeping full days separately.\n *\n * @example\n * ```ts\n * timeDuration(ms(1, 'hour') + ms(30, 'min'));\n * ```\n */\nexport const timeDuration = (timeInMs: number) => {\n const { days, hours, milliseconds, minutes, seconds } =\n dayTimeDuration(timeInMs);\n\n return {\n hours: hours + unitsToMs.day * days,\n milliseconds,\n minutes,\n seconds,\n };\n};\n\nconst durationFormatLabels = {\n days: { compact: 'д', full: ['день', 'дня', 'дней'] },\n hours: { compact: 'ч', full: ['час', 'часа', 'часов'] },\n minutes: { compact: 'мин', full: ['минута', 'минуты', 'минут'] },\n seconds: { compact: 'сек', full: ['секунда', 'секунды', 'секунд'] },\n} as const;\n\n/**\n * Formats a duration either from milliseconds or between two dates.\n *\n * @example\n * ```ts\n * getFormatDuration(ms(2, 'hour') + ms(15, 'min'));\n * ```\n */\nexport function getFormatDuration(\n dateA: Date,\n dateB: Date,\n compact?: boolean,\n): string;\nexport function getFormatDuration(ms: number, compact?: boolean): string;\n\nexport function getFormatDuration(...args: any[]): string {\n let compact = false;\n let diff = 0;\n\n if (args[0] instanceof Date) {\n const startedDate = dayjs(args[0]);\n const endedDate = dayjs(args[1]);\n\n diff = endedDate.diff(startedDate, 'ms');\n compact = args[2] === true;\n } else {\n diff = args[0];\n compact = args[1] === true;\n }\n\n const { days, hours, minutes, seconds } = dayTimeDuration(diff);\n\n const formattedParts: string[] = [];\n\n if (days) {\n if (compact) {\n formattedParts.push(`${days} ${durationFormatLabels.days.compact}`);\n } else {\n formattedParts.push(\n `${days} ${declension(days, durationFormatLabels.days.full)}`,\n );\n }\n }\n\n if (hours) {\n if (compact) {\n formattedParts.push(`${hours} ${durationFormatLabels.hours.compact}`);\n } else {\n formattedParts.push(\n `${hours} ${declension(hours, durationFormatLabels.hours.full)}`,\n );\n }\n }\n\n if (minutes) {\n if (compact) {\n formattedParts.push(`${minutes} ${durationFormatLabels.minutes.compact}`);\n } else {\n formattedParts.push(\n `${minutes} ${declension(minutes, durationFormatLabels.minutes.full)}`,\n );\n }\n }\n\n if (seconds) {\n if (compact) {\n formattedParts.push(`${seconds} ${durationFormatLabels.seconds.compact}`);\n } else {\n formattedParts.push(\n `${seconds} ${declension(seconds, durationFormatLabels.seconds.full)}`,\n );\n }\n }\n\n return formattedParts.join(' ');\n}\n\nexport type TimeDiff = {\n minutes: number;\n seconds: number;\n total: {\n ms: number;\n hours: number;\n };\n};\n\n/**\n * Calculates the difference between two dates in minutes, seconds and total units.\n *\n * @example\n * ```ts\n * getTimeDiff(new Date('2024-03-15T12:30:00'), new Date('2024-03-15T12:00:00'));\n * ```\n */\nexport const getTimeDiff = (\n dateA: RawDateToFormat,\n dateB: RawDateToFormat,\n): TimeDiff => {\n const leftDate = toLibFormat(dateA)?.toDate();\n const rightDate = toLibFormat(dateB)?.toDate();\n\n if (!leftDate || !rightDate) {\n return {\n minutes: 0,\n seconds: 0,\n total: { ms: 0, hours: 0 },\n };\n }\n\n const msDiff = leftDate.getTime() - rightDate.getTime();\n\n return {\n minutes: Math.max(Math.floor(msDiff / ms(1, 'min')), 0),\n seconds: Math.max(Math.floor((msDiff % ms(1, 'min')) / 1000), 0),\n total: {\n hours: Math.round(msDiff / ms(1, 'hour')),\n ms: msDiff,\n },\n };\n};\n\n/**\n * Returns a new date shifted forward by the provided number of days.\n *\n * @example\n * ```ts\n * addDays(new Date('2024-03-15'), 7);\n * ```\n */\nexport const addDays = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.add(count, 'd').toDate();\n\n/**\n * Returns a new date shifted backward by the provided number of days.\n *\n * @example\n * ```ts\n * subtractDays(new Date('2024-03-15'), 7);\n * ```\n */\nexport const subtractDays = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.subtract(count, 'd').toDate();\n\n/**\n * Returns a new date shifted forward by the provided number of minutes.\n *\n * @example\n * ```ts\n * addMinutes(new Date('2024-03-15T12:00:00'), 15);\n * ```\n */\nexport const addMinutes = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.add(count, 'm').toDate();\n\n/**\n * Returns a new date with the minutes field replaced.\n *\n * @example\n * ```ts\n * setMinutes(new Date('2024-03-15T12:00:00'), 45);\n * ```\n */\nexport const setMinutes = (date: RawDateToFormat, minutes: number) =>\n toLibFormat(date)?.set('m', minutes).toDate();\n\n/**\n * Returns a new date with the hours field replaced.\n *\n * @example\n * ```ts\n * setHours(new Date('2024-03-15T12:00:00'), 9);\n * ```\n */\nexport const setHours = (date: RawDateToFormat, hours: number) =>\n toLibFormat(date)?.set('h', hours).toDate();\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-time.cjs","names":["C.M","prettyUnit","en","wrapper","U","C.REGEX_PARSE","C.INVALID_DATE_STRING","C.Y","C.M","C.W","C.DATE","C.H","C.MIN","C.S","C.MS","C.REGEX_FORMAT","C.MILLISECONDS_A_MINUTE","C.Q","C.MILLISECONDS_A_WEEK","C.MILLISECONDS_A_DAY","C.MILLISECONDS_A_HOUR","C.MILLISECONDS_A_SECOND"],"sources":["../node_modules/.pnpm/dayjs@1.11.20/node_modules/dayjs/esm/constant.js","../node_modules/.pnpm/dayjs@1.11.20/node_modules/dayjs/esm/locale/en.js","../node_modules/.pnpm/dayjs@1.11.20/node_modules/dayjs/esm/utils.js","../node_modules/.pnpm/dayjs@1.11.20/node_modules/dayjs/esm/index.js","../node_modules/.pnpm/dayjs@1.11.20/node_modules/dayjs/esm/plugin/duration/index.js","../node_modules/.pnpm/dayjs@1.11.20/node_modules/dayjs/esm/plugin/relativeTime/index.js","../node_modules/.pnpm/dayjs@1.11.20/node_modules/dayjs/esm/locale/ru.js","../src/date-time.ts"],"sourcesContent":["export var SECONDS_A_MINUTE = 60;\nexport var SECONDS_A_HOUR = SECONDS_A_MINUTE * 60;\nexport var SECONDS_A_DAY = SECONDS_A_HOUR * 24;\nexport var SECONDS_A_WEEK = SECONDS_A_DAY * 7;\nexport var MILLISECONDS_A_SECOND = 1e3;\nexport var MILLISECONDS_A_MINUTE = SECONDS_A_MINUTE * MILLISECONDS_A_SECOND;\nexport var MILLISECONDS_A_HOUR = SECONDS_A_HOUR * MILLISECONDS_A_SECOND;\nexport var MILLISECONDS_A_DAY = SECONDS_A_DAY * MILLISECONDS_A_SECOND;\nexport var MILLISECONDS_A_WEEK = SECONDS_A_WEEK * MILLISECONDS_A_SECOND; // English locales\n\nexport var MS = 'millisecond';\nexport var S = 'second';\nexport var MIN = 'minute';\nexport var H = 'hour';\nexport var D = 'day';\nexport var W = 'week';\nexport var M = 'month';\nexport var Q = 'quarter';\nexport var Y = 'year';\nexport var DATE = 'date';\nexport var FORMAT_DEFAULT = 'YYYY-MM-DDTHH:mm:ssZ';\nexport var INVALID_DATE_STRING = 'Invalid Date'; // regex\n\nexport var REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/;\nexport var REGEX_FORMAT = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g;","// English [en]\n// We don't need weekdaysShort, weekdaysMin, monthsShort in en.js locale\nexport default {\n name: 'en',\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n ordinal: function ordinal(n) {\n var s = ['th', 'st', 'nd', 'rd'];\n var v = n % 100;\n return \"[\" + n + (s[(v - 20) % 10] || s[v] || s[0]) + \"]\";\n }\n};","import * as C from './constant';\n\nvar padStart = function padStart(string, length, pad) {\n var s = String(string);\n if (!s || s.length >= length) return string;\n return \"\" + Array(length + 1 - s.length).join(pad) + string;\n};\n\nvar padZoneStr = function padZoneStr(instance) {\n var negMinutes = -instance.utcOffset();\n var minutes = Math.abs(negMinutes);\n var hourOffset = Math.floor(minutes / 60);\n var minuteOffset = minutes % 60;\n return \"\" + (negMinutes <= 0 ? '+' : '-') + padStart(hourOffset, 2, '0') + \":\" + padStart(minuteOffset, 2, '0');\n};\n\nvar monthDiff = function monthDiff(a, b) {\n // function from moment.js in order to keep the same result\n if (a.date() < b.date()) return -monthDiff(b, a);\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month());\n var anchor = a.clone().add(wholeMonthDiff, C.M);\n var c = b - anchor < 0;\n var anchor2 = a.clone().add(wholeMonthDiff + (c ? -1 : 1), C.M);\n return +(-(wholeMonthDiff + (b - anchor) / (c ? anchor - anchor2 : anchor2 - anchor)) || 0);\n};\n\nvar absFloor = function absFloor(n) {\n return n < 0 ? Math.ceil(n) || 0 : Math.floor(n);\n};\n\nvar prettyUnit = function prettyUnit(u) {\n var special = {\n M: C.M,\n y: C.Y,\n w: C.W,\n d: C.D,\n D: C.DATE,\n h: C.H,\n m: C.MIN,\n s: C.S,\n ms: C.MS,\n Q: C.Q\n };\n return special[u] || String(u || '').toLowerCase().replace(/s$/, '');\n};\n\nvar isUndefined = function isUndefined(s) {\n return s === undefined;\n};\n\nexport default {\n s: padStart,\n z: padZoneStr,\n m: monthDiff,\n a: absFloor,\n p: prettyUnit,\n u: isUndefined\n};","import * as C from './constant';\nimport en from './locale/en';\nimport U from './utils';\nvar L = 'en'; // global locale\n\nvar Ls = {}; // global loaded locale\n\nLs[L] = en;\nvar IS_DAYJS = '$isDayjsObject'; // eslint-disable-next-line no-use-before-define\n\nvar isDayjs = function isDayjs(d) {\n return d instanceof Dayjs || !!(d && d[IS_DAYJS]);\n};\n\nvar parseLocale = function parseLocale(preset, object, isLocal) {\n var l;\n if (!preset) return L;\n\n if (typeof preset === 'string') {\n var presetLower = preset.toLowerCase();\n\n if (Ls[presetLower]) {\n l = presetLower;\n }\n\n if (object) {\n Ls[presetLower] = object;\n l = presetLower;\n }\n\n var presetSplit = preset.split('-');\n\n if (!l && presetSplit.length > 1) {\n return parseLocale(presetSplit[0]);\n }\n } else {\n var name = preset.name;\n Ls[name] = preset;\n l = name;\n }\n\n if (!isLocal && l) L = l;\n return l || !isLocal && L;\n};\n\nvar dayjs = function dayjs(date, c) {\n if (isDayjs(date)) {\n return date.clone();\n } // eslint-disable-next-line no-nested-ternary\n\n\n var cfg = typeof c === 'object' ? c : {};\n cfg.date = date;\n cfg.args = arguments; // eslint-disable-line prefer-rest-params\n\n return new Dayjs(cfg); // eslint-disable-line no-use-before-define\n};\n\nvar wrapper = function wrapper(date, instance) {\n return dayjs(date, {\n locale: instance.$L,\n utc: instance.$u,\n x: instance.$x,\n $offset: instance.$offset // todo: refactor; do not use this.$offset in you code\n\n });\n};\n\nvar Utils = U; // for plugin use\n\nUtils.l = parseLocale;\nUtils.i = isDayjs;\nUtils.w = wrapper;\n\nvar parseDate = function parseDate(cfg) {\n var date = cfg.date,\n utc = cfg.utc;\n if (date === null) return new Date(NaN); // null is invalid\n\n if (Utils.u(date)) return new Date(); // today\n\n if (date instanceof Date) return new Date(date);\n\n if (typeof date === 'string' && !/Z$/i.test(date)) {\n var d = date.match(C.REGEX_PARSE);\n\n if (d) {\n var m = d[2] - 1 || 0;\n var ms = (d[7] || '0').substring(0, 3);\n\n if (utc) {\n return new Date(Date.UTC(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms));\n }\n\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n\n return new Date(date); // everything else\n};\n\nvar Dayjs = /*#__PURE__*/function () {\n function Dayjs(cfg) {\n this.$L = parseLocale(cfg.locale, null, true);\n this.parse(cfg); // for plugin\n\n this.$x = this.$x || cfg.x || {};\n this[IS_DAYJS] = true;\n }\n\n var _proto = Dayjs.prototype;\n\n _proto.parse = function parse(cfg) {\n this.$d = parseDate(cfg);\n this.init();\n };\n\n _proto.init = function init() {\n var $d = this.$d;\n this.$y = $d.getFullYear();\n this.$M = $d.getMonth();\n this.$D = $d.getDate();\n this.$W = $d.getDay();\n this.$H = $d.getHours();\n this.$m = $d.getMinutes();\n this.$s = $d.getSeconds();\n this.$ms = $d.getMilliseconds();\n } // eslint-disable-next-line class-methods-use-this\n ;\n\n _proto.$utils = function $utils() {\n return Utils;\n };\n\n _proto.isValid = function isValid() {\n return !(this.$d.toString() === C.INVALID_DATE_STRING);\n };\n\n _proto.isSame = function isSame(that, units) {\n var other = dayjs(that);\n return this.startOf(units) <= other && other <= this.endOf(units);\n };\n\n _proto.isAfter = function isAfter(that, units) {\n return dayjs(that) < this.startOf(units);\n };\n\n _proto.isBefore = function isBefore(that, units) {\n return this.endOf(units) < dayjs(that);\n };\n\n _proto.$g = function $g(input, get, set) {\n if (Utils.u(input)) return this[get];\n return this.set(set, input);\n };\n\n _proto.unix = function unix() {\n return Math.floor(this.valueOf() / 1000);\n };\n\n _proto.valueOf = function valueOf() {\n // timezone(hour) * 60 * 60 * 1000 => ms\n return this.$d.getTime();\n };\n\n _proto.startOf = function startOf(units, _startOf) {\n var _this = this;\n\n // startOf -> endOf\n var isStartOf = !Utils.u(_startOf) ? _startOf : true;\n var unit = Utils.p(units);\n\n var instanceFactory = function instanceFactory(d, m) {\n var ins = Utils.w(_this.$u ? Date.UTC(_this.$y, m, d) : new Date(_this.$y, m, d), _this);\n return isStartOf ? ins : ins.endOf(C.D);\n };\n\n var instanceFactorySet = function instanceFactorySet(method, slice) {\n var argumentStart = [0, 0, 0, 0];\n var argumentEnd = [23, 59, 59, 999];\n return Utils.w(_this.toDate()[method].apply( // eslint-disable-line prefer-spread\n _this.toDate('s'), (isStartOf ? argumentStart : argumentEnd).slice(slice)), _this);\n };\n\n var $W = this.$W,\n $M = this.$M,\n $D = this.$D;\n var utcPad = \"set\" + (this.$u ? 'UTC' : '');\n\n switch (unit) {\n case C.Y:\n return isStartOf ? instanceFactory(1, 0) : instanceFactory(31, 11);\n\n case C.M:\n return isStartOf ? instanceFactory(1, $M) : instanceFactory(0, $M + 1);\n\n case C.W:\n {\n var weekStart = this.$locale().weekStart || 0;\n var gap = ($W < weekStart ? $W + 7 : $W) - weekStart;\n return instanceFactory(isStartOf ? $D - gap : $D + (6 - gap), $M);\n }\n\n case C.D:\n case C.DATE:\n return instanceFactorySet(utcPad + \"Hours\", 0);\n\n case C.H:\n return instanceFactorySet(utcPad + \"Minutes\", 1);\n\n case C.MIN:\n return instanceFactorySet(utcPad + \"Seconds\", 2);\n\n case C.S:\n return instanceFactorySet(utcPad + \"Milliseconds\", 3);\n\n default:\n return this.clone();\n }\n };\n\n _proto.endOf = function endOf(arg) {\n return this.startOf(arg, false);\n };\n\n _proto.$set = function $set(units, _int) {\n var _C$D$C$DATE$C$M$C$Y$C;\n\n // private set\n var unit = Utils.p(units);\n var utcPad = \"set\" + (this.$u ? 'UTC' : '');\n var name = (_C$D$C$DATE$C$M$C$Y$C = {}, _C$D$C$DATE$C$M$C$Y$C[C.D] = utcPad + \"Date\", _C$D$C$DATE$C$M$C$Y$C[C.DATE] = utcPad + \"Date\", _C$D$C$DATE$C$M$C$Y$C[C.M] = utcPad + \"Month\", _C$D$C$DATE$C$M$C$Y$C[C.Y] = utcPad + \"FullYear\", _C$D$C$DATE$C$M$C$Y$C[C.H] = utcPad + \"Hours\", _C$D$C$DATE$C$M$C$Y$C[C.MIN] = utcPad + \"Minutes\", _C$D$C$DATE$C$M$C$Y$C[C.S] = utcPad + \"Seconds\", _C$D$C$DATE$C$M$C$Y$C[C.MS] = utcPad + \"Milliseconds\", _C$D$C$DATE$C$M$C$Y$C)[unit];\n var arg = unit === C.D ? this.$D + (_int - this.$W) : _int;\n\n if (unit === C.M || unit === C.Y) {\n // clone is for badMutable plugin\n var date = this.clone().set(C.DATE, 1);\n date.$d[name](arg);\n date.init();\n this.$d = date.set(C.DATE, Math.min(this.$D, date.daysInMonth())).$d;\n } else if (name) this.$d[name](arg);\n\n this.init();\n return this;\n };\n\n _proto.set = function set(string, _int2) {\n return this.clone().$set(string, _int2);\n };\n\n _proto.get = function get(unit) {\n return this[Utils.p(unit)]();\n };\n\n _proto.add = function add(number, units) {\n var _this2 = this,\n _C$MIN$C$H$C$S$unit;\n\n number = Number(number); // eslint-disable-line no-param-reassign\n\n var unit = Utils.p(units);\n\n var instanceFactorySet = function instanceFactorySet(n) {\n var d = dayjs(_this2);\n return Utils.w(d.date(d.date() + Math.round(n * number)), _this2);\n };\n\n if (unit === C.M) {\n return this.set(C.M, this.$M + number);\n }\n\n if (unit === C.Y) {\n return this.set(C.Y, this.$y + number);\n }\n\n if (unit === C.D) {\n return instanceFactorySet(1);\n }\n\n if (unit === C.W) {\n return instanceFactorySet(7);\n }\n\n var step = (_C$MIN$C$H$C$S$unit = {}, _C$MIN$C$H$C$S$unit[C.MIN] = C.MILLISECONDS_A_MINUTE, _C$MIN$C$H$C$S$unit[C.H] = C.MILLISECONDS_A_HOUR, _C$MIN$C$H$C$S$unit[C.S] = C.MILLISECONDS_A_SECOND, _C$MIN$C$H$C$S$unit)[unit] || 1; // ms\n\n var nextTimeStamp = this.$d.getTime() + number * step;\n return Utils.w(nextTimeStamp, this);\n };\n\n _proto.subtract = function subtract(number, string) {\n return this.add(number * -1, string);\n };\n\n _proto.format = function format(formatStr) {\n var _this3 = this;\n\n var locale = this.$locale();\n if (!this.isValid()) return locale.invalidDate || C.INVALID_DATE_STRING;\n var str = formatStr || C.FORMAT_DEFAULT;\n var zoneStr = Utils.z(this);\n var $H = this.$H,\n $m = this.$m,\n $M = this.$M;\n var weekdays = locale.weekdays,\n months = locale.months,\n meridiem = locale.meridiem;\n\n var getShort = function getShort(arr, index, full, length) {\n return arr && (arr[index] || arr(_this3, str)) || full[index].slice(0, length);\n };\n\n var get$H = function get$H(num) {\n return Utils.s($H % 12 || 12, num, '0');\n };\n\n var meridiemFunc = meridiem || function (hour, minute, isLowercase) {\n var m = hour < 12 ? 'AM' : 'PM';\n return isLowercase ? m.toLowerCase() : m;\n };\n\n var matches = function matches(match) {\n switch (match) {\n case 'YY':\n return String(_this3.$y).slice(-2);\n\n case 'YYYY':\n return Utils.s(_this3.$y, 4, '0');\n\n case 'M':\n return $M + 1;\n\n case 'MM':\n return Utils.s($M + 1, 2, '0');\n\n case 'MMM':\n return getShort(locale.monthsShort, $M, months, 3);\n\n case 'MMMM':\n return getShort(months, $M);\n\n case 'D':\n return _this3.$D;\n\n case 'DD':\n return Utils.s(_this3.$D, 2, '0');\n\n case 'd':\n return String(_this3.$W);\n\n case 'dd':\n return getShort(locale.weekdaysMin, _this3.$W, weekdays, 2);\n\n case 'ddd':\n return getShort(locale.weekdaysShort, _this3.$W, weekdays, 3);\n\n case 'dddd':\n return weekdays[_this3.$W];\n\n case 'H':\n return String($H);\n\n case 'HH':\n return Utils.s($H, 2, '0');\n\n case 'h':\n return get$H(1);\n\n case 'hh':\n return get$H(2);\n\n case 'a':\n return meridiemFunc($H, $m, true);\n\n case 'A':\n return meridiemFunc($H, $m, false);\n\n case 'm':\n return String($m);\n\n case 'mm':\n return Utils.s($m, 2, '0');\n\n case 's':\n return String(_this3.$s);\n\n case 'ss':\n return Utils.s(_this3.$s, 2, '0');\n\n case 'SSS':\n return Utils.s(_this3.$ms, 3, '0');\n\n case 'Z':\n return zoneStr;\n // 'ZZ' logic below\n\n default:\n break;\n }\n\n return null;\n };\n\n return str.replace(C.REGEX_FORMAT, function (match, $1) {\n return $1 || matches(match) || zoneStr.replace(':', '');\n }); // 'ZZ'\n };\n\n _proto.utcOffset = function utcOffset() {\n // Because a bug at FF24, we're rounding the timezone offset around 15 minutes\n // https://github.com/moment/moment/pull/1871\n return -Math.round(this.$d.getTimezoneOffset() / 15) * 15;\n };\n\n _proto.diff = function diff(input, units, _float) {\n var _this4 = this;\n\n var unit = Utils.p(units);\n var that = dayjs(input);\n var zoneDelta = (that.utcOffset() - this.utcOffset()) * C.MILLISECONDS_A_MINUTE;\n var diff = this - that;\n\n var getMonth = function getMonth() {\n return Utils.m(_this4, that);\n };\n\n var result;\n\n switch (unit) {\n case C.Y:\n result = getMonth() / 12;\n break;\n\n case C.M:\n result = getMonth();\n break;\n\n case C.Q:\n result = getMonth() / 3;\n break;\n\n case C.W:\n result = (diff - zoneDelta) / C.MILLISECONDS_A_WEEK;\n break;\n\n case C.D:\n result = (diff - zoneDelta) / C.MILLISECONDS_A_DAY;\n break;\n\n case C.H:\n result = diff / C.MILLISECONDS_A_HOUR;\n break;\n\n case C.MIN:\n result = diff / C.MILLISECONDS_A_MINUTE;\n break;\n\n case C.S:\n result = diff / C.MILLISECONDS_A_SECOND;\n break;\n\n default:\n result = diff; // milliseconds\n\n break;\n }\n\n return _float ? result : Utils.a(result);\n };\n\n _proto.daysInMonth = function daysInMonth() {\n return this.endOf(C.M).$D;\n };\n\n _proto.$locale = function $locale() {\n // get locale object\n return Ls[this.$L];\n };\n\n _proto.locale = function locale(preset, object) {\n if (!preset) return this.$L;\n var that = this.clone();\n var nextLocaleName = parseLocale(preset, object, true);\n if (nextLocaleName) that.$L = nextLocaleName;\n return that;\n };\n\n _proto.clone = function clone() {\n return Utils.w(this.$d, this);\n };\n\n _proto.toDate = function toDate() {\n return new Date(this.valueOf());\n };\n\n _proto.toJSON = function toJSON() {\n return this.isValid() ? this.toISOString() : null;\n };\n\n _proto.toISOString = function toISOString() {\n // ie 8 return\n // new Dayjs(this.valueOf() + this.$d.getTimezoneOffset() * 60000)\n // .format('YYYY-MM-DDTHH:mm:ss.SSS[Z]')\n return this.$d.toISOString();\n };\n\n _proto.toString = function toString() {\n return this.$d.toUTCString();\n };\n\n return Dayjs;\n}();\n\nvar proto = Dayjs.prototype;\ndayjs.prototype = proto;\n[['$ms', C.MS], ['$s', C.S], ['$m', C.MIN], ['$H', C.H], ['$W', C.D], ['$M', C.M], ['$y', C.Y], ['$D', C.DATE]].forEach(function (g) {\n proto[g[1]] = function (input) {\n return this.$g(input, g[0], g[1]);\n };\n});\n\ndayjs.extend = function (plugin, option) {\n if (!plugin.$i) {\n // install plugin only once\n plugin(option, Dayjs, dayjs);\n plugin.$i = true;\n }\n\n return dayjs;\n};\n\ndayjs.locale = parseLocale;\ndayjs.isDayjs = isDayjs;\n\ndayjs.unix = function (timestamp) {\n return dayjs(timestamp * 1e3);\n};\n\ndayjs.en = Ls[L];\ndayjs.Ls = Ls;\ndayjs.p = {};\nexport default dayjs;","import { MILLISECONDS_A_DAY, MILLISECONDS_A_HOUR, MILLISECONDS_A_MINUTE, MILLISECONDS_A_SECOND, MILLISECONDS_A_WEEK, REGEX_FORMAT } from '../../constant';\nvar MILLISECONDS_A_YEAR = MILLISECONDS_A_DAY * 365;\nvar MILLISECONDS_A_MONTH = MILLISECONDS_A_YEAR / 12;\nvar durationRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\nvar unitToMS = {\n years: MILLISECONDS_A_YEAR,\n months: MILLISECONDS_A_MONTH,\n days: MILLISECONDS_A_DAY,\n hours: MILLISECONDS_A_HOUR,\n minutes: MILLISECONDS_A_MINUTE,\n seconds: MILLISECONDS_A_SECOND,\n milliseconds: 1,\n weeks: MILLISECONDS_A_WEEK\n};\n\nvar isDuration = function isDuration(d) {\n return d instanceof Duration;\n}; // eslint-disable-line no-use-before-define\n\n\nvar $d;\nvar $u;\n\nvar wrapper = function wrapper(input, instance, unit) {\n return new Duration(input, unit, instance.$l);\n}; // eslint-disable-line no-use-before-define\n\n\nvar prettyUnit = function prettyUnit(unit) {\n return $u.p(unit) + \"s\";\n};\n\nvar isNegative = function isNegative(number) {\n return number < 0;\n};\n\nvar roundNumber = function roundNumber(number) {\n return isNegative(number) ? Math.ceil(number) : Math.floor(number);\n};\n\nvar absolute = function absolute(number) {\n return Math.abs(number);\n};\n\nvar getNumberUnitFormat = function getNumberUnitFormat(number, unit) {\n if (!number) {\n return {\n negative: false,\n format: ''\n };\n }\n\n if (isNegative(number)) {\n return {\n negative: true,\n format: \"\" + absolute(number) + unit\n };\n }\n\n return {\n negative: false,\n format: \"\" + number + unit\n };\n};\n\nvar Duration = /*#__PURE__*/function () {\n function Duration(input, unit, locale) {\n var _this = this;\n\n this.$d = {};\n this.$l = locale;\n\n if (input === undefined) {\n this.$ms = 0;\n this.parseFromMilliseconds();\n }\n\n if (unit) {\n return wrapper(input * unitToMS[prettyUnit(unit)], this);\n }\n\n if (typeof input === 'number') {\n this.$ms = input;\n this.parseFromMilliseconds();\n return this;\n }\n\n if (typeof input === 'object') {\n Object.keys(input).forEach(function (k) {\n _this.$d[prettyUnit(k)] = input[k];\n });\n this.calMilliseconds();\n return this;\n }\n\n if (typeof input === 'string') {\n var d = input.match(durationRegex);\n\n if (d) {\n var properties = d.slice(2);\n var numberD = properties.map(function (value) {\n return value != null ? Number(value) : 0;\n });\n this.$d.years = numberD[0];\n this.$d.months = numberD[1];\n this.$d.weeks = numberD[2];\n this.$d.days = numberD[3];\n this.$d.hours = numberD[4];\n this.$d.minutes = numberD[5];\n this.$d.seconds = numberD[6];\n this.calMilliseconds();\n return this;\n }\n }\n\n return this;\n }\n\n var _proto = Duration.prototype;\n\n _proto.calMilliseconds = function calMilliseconds() {\n var _this2 = this;\n\n this.$ms = Object.keys(this.$d).reduce(function (total, unit) {\n return total + (_this2.$d[unit] || 0) * unitToMS[unit];\n }, 0);\n };\n\n _proto.parseFromMilliseconds = function parseFromMilliseconds() {\n var $ms = this.$ms;\n this.$d.years = roundNumber($ms / MILLISECONDS_A_YEAR);\n $ms %= MILLISECONDS_A_YEAR;\n this.$d.months = roundNumber($ms / MILLISECONDS_A_MONTH);\n $ms %= MILLISECONDS_A_MONTH;\n this.$d.days = roundNumber($ms / MILLISECONDS_A_DAY);\n $ms %= MILLISECONDS_A_DAY;\n this.$d.hours = roundNumber($ms / MILLISECONDS_A_HOUR);\n $ms %= MILLISECONDS_A_HOUR;\n this.$d.minutes = roundNumber($ms / MILLISECONDS_A_MINUTE);\n $ms %= MILLISECONDS_A_MINUTE;\n this.$d.seconds = roundNumber($ms / MILLISECONDS_A_SECOND);\n $ms %= MILLISECONDS_A_SECOND;\n this.$d.milliseconds = $ms;\n };\n\n _proto.toISOString = function toISOString() {\n var Y = getNumberUnitFormat(this.$d.years, 'Y');\n var M = getNumberUnitFormat(this.$d.months, 'M');\n var days = +this.$d.days || 0;\n\n if (this.$d.weeks) {\n days += this.$d.weeks * 7;\n }\n\n var D = getNumberUnitFormat(days, 'D');\n var H = getNumberUnitFormat(this.$d.hours, 'H');\n var m = getNumberUnitFormat(this.$d.minutes, 'M');\n var seconds = this.$d.seconds || 0;\n\n if (this.$d.milliseconds) {\n seconds += this.$d.milliseconds / 1000;\n seconds = Math.round(seconds * 1000) / 1000;\n }\n\n var S = getNumberUnitFormat(seconds, 'S');\n var negativeMode = Y.negative || M.negative || D.negative || H.negative || m.negative || S.negative;\n var T = H.format || m.format || S.format ? 'T' : '';\n var P = negativeMode ? '-' : '';\n var result = P + \"P\" + Y.format + M.format + D.format + T + H.format + m.format + S.format;\n return result === 'P' || result === '-P' ? 'P0D' : result;\n };\n\n _proto.toJSON = function toJSON() {\n return this.toISOString();\n };\n\n _proto.format = function format(formatStr) {\n var str = formatStr || 'YYYY-MM-DDTHH:mm:ss';\n var matches = {\n Y: this.$d.years,\n YY: $u.s(this.$d.years, 2, '0'),\n YYYY: $u.s(this.$d.years, 4, '0'),\n M: this.$d.months,\n MM: $u.s(this.$d.months, 2, '0'),\n D: this.$d.days,\n DD: $u.s(this.$d.days, 2, '0'),\n H: this.$d.hours,\n HH: $u.s(this.$d.hours, 2, '0'),\n m: this.$d.minutes,\n mm: $u.s(this.$d.minutes, 2, '0'),\n s: this.$d.seconds,\n ss: $u.s(this.$d.seconds, 2, '0'),\n SSS: $u.s(this.$d.milliseconds, 3, '0')\n };\n return str.replace(REGEX_FORMAT, function (match, $1) {\n return $1 || String(matches[match]);\n });\n };\n\n _proto.as = function as(unit) {\n return this.$ms / unitToMS[prettyUnit(unit)];\n };\n\n _proto.get = function get(unit) {\n var base = this.$ms;\n var pUnit = prettyUnit(unit);\n\n if (pUnit === 'milliseconds') {\n base %= 1000;\n } else if (pUnit === 'weeks') {\n base = roundNumber(base / unitToMS[pUnit]);\n } else {\n base = this.$d[pUnit];\n }\n\n return base || 0; // a === 0 will be true on both 0 and -0\n };\n\n _proto.add = function add(input, unit, isSubtract) {\n var another;\n\n if (unit) {\n another = input * unitToMS[prettyUnit(unit)];\n } else if (isDuration(input)) {\n another = input.$ms;\n } else {\n another = wrapper(input, this).$ms;\n }\n\n return wrapper(this.$ms + another * (isSubtract ? -1 : 1), this);\n };\n\n _proto.subtract = function subtract(input, unit) {\n return this.add(input, unit, true);\n };\n\n _proto.locale = function locale(l) {\n var that = this.clone();\n that.$l = l;\n return that;\n };\n\n _proto.clone = function clone() {\n return wrapper(this.$ms, this);\n };\n\n _proto.humanize = function humanize(withSuffix) {\n return $d().add(this.$ms, 'ms').locale(this.$l).fromNow(!withSuffix);\n };\n\n _proto.valueOf = function valueOf() {\n return this.asMilliseconds();\n };\n\n _proto.milliseconds = function milliseconds() {\n return this.get('milliseconds');\n };\n\n _proto.asMilliseconds = function asMilliseconds() {\n return this.as('milliseconds');\n };\n\n _proto.seconds = function seconds() {\n return this.get('seconds');\n };\n\n _proto.asSeconds = function asSeconds() {\n return this.as('seconds');\n };\n\n _proto.minutes = function minutes() {\n return this.get('minutes');\n };\n\n _proto.asMinutes = function asMinutes() {\n return this.as('minutes');\n };\n\n _proto.hours = function hours() {\n return this.get('hours');\n };\n\n _proto.asHours = function asHours() {\n return this.as('hours');\n };\n\n _proto.days = function days() {\n return this.get('days');\n };\n\n _proto.asDays = function asDays() {\n return this.as('days');\n };\n\n _proto.weeks = function weeks() {\n return this.get('weeks');\n };\n\n _proto.asWeeks = function asWeeks() {\n return this.as('weeks');\n };\n\n _proto.months = function months() {\n return this.get('months');\n };\n\n _proto.asMonths = function asMonths() {\n return this.as('months');\n };\n\n _proto.years = function years() {\n return this.get('years');\n };\n\n _proto.asYears = function asYears() {\n return this.as('years');\n };\n\n return Duration;\n}();\n\nvar manipulateDuration = function manipulateDuration(date, duration, k) {\n return date.add(duration.years() * k, 'y').add(duration.months() * k, 'M').add(duration.days() * k, 'd').add(duration.hours() * k, 'h').add(duration.minutes() * k, 'm').add(duration.seconds() * k, 's').add(duration.milliseconds() * k, 'ms');\n};\n\nexport default (function (option, Dayjs, dayjs) {\n $d = dayjs;\n $u = dayjs().$utils();\n\n dayjs.duration = function (input, unit) {\n var $l = dayjs.locale();\n return wrapper(input, {\n $l: $l\n }, unit);\n };\n\n dayjs.isDuration = isDuration;\n var oldAdd = Dayjs.prototype.add;\n var oldSubtract = Dayjs.prototype.subtract;\n\n Dayjs.prototype.add = function (value, unit) {\n if (isDuration(value)) {\n return manipulateDuration(this, value, 1);\n }\n\n return oldAdd.bind(this)(value, unit);\n };\n\n Dayjs.prototype.subtract = function (value, unit) {\n if (isDuration(value)) {\n return manipulateDuration(this, value, -1);\n }\n\n return oldSubtract.bind(this)(value, unit);\n };\n});","import * as C from '../../constant';\nexport default (function (o, c, d) {\n o = o || {};\n var proto = c.prototype;\n var relObj = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n };\n d.en.relativeTime = relObj;\n\n proto.fromToBase = function (input, withoutSuffix, instance, isFrom, postFormat) {\n var loc = instance.$locale().relativeTime || relObj;\n var T = o.thresholds || [{\n l: 's',\n r: 44,\n d: C.S\n }, {\n l: 'm',\n r: 89\n }, {\n l: 'mm',\n r: 44,\n d: C.MIN\n }, {\n l: 'h',\n r: 89\n }, {\n l: 'hh',\n r: 21,\n d: C.H\n }, {\n l: 'd',\n r: 35\n }, {\n l: 'dd',\n r: 25,\n d: C.D\n }, {\n l: 'M',\n r: 45\n }, {\n l: 'MM',\n r: 10,\n d: C.M\n }, {\n l: 'y',\n r: 17\n }, {\n l: 'yy',\n d: C.Y\n }];\n var Tl = T.length;\n var result;\n var out;\n var isFuture;\n\n for (var i = 0; i < Tl; i += 1) {\n var t = T[i];\n\n if (t.d) {\n result = isFrom ? d(input).diff(instance, t.d, true) : instance.diff(input, t.d, true);\n }\n\n var abs = (o.rounding || Math.round)(Math.abs(result));\n isFuture = result > 0;\n\n if (abs <= t.r || !t.r) {\n if (abs <= 1 && i > 0) t = T[i - 1]; // 1 minutes -> a minute, 0 seconds -> 0 second\n\n var format = loc[t.l];\n\n if (postFormat) {\n abs = postFormat(\"\" + abs);\n }\n\n if (typeof format === 'string') {\n out = format.replace('%d', abs);\n } else {\n out = format(abs, withoutSuffix, t.l, isFuture);\n }\n\n break;\n }\n }\n\n if (withoutSuffix) return out;\n var pastOrFuture = isFuture ? loc.future : loc.past;\n\n if (typeof pastOrFuture === 'function') {\n return pastOrFuture(out);\n }\n\n return pastOrFuture.replace('%s', out);\n };\n\n function fromTo(input, withoutSuffix, instance, isFrom) {\n return proto.fromToBase(input, withoutSuffix, instance, isFrom);\n }\n\n proto.to = function (input, withoutSuffix) {\n return fromTo(input, withoutSuffix, this, true);\n };\n\n proto.from = function (input, withoutSuffix) {\n return fromTo(input, withoutSuffix, this);\n };\n\n var makeNow = function makeNow(thisDay) {\n return thisDay.$u ? d.utc() : d();\n };\n\n proto.toNow = function (withoutSuffix) {\n return this.to(makeNow(this), withoutSuffix);\n };\n\n proto.fromNow = function (withoutSuffix) {\n return this.from(makeNow(this), withoutSuffix);\n };\n});","// Russian [ru]\nimport dayjs from '../index';\nvar monthFormat = 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_');\nvar monthStandalone = 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_');\nvar monthShortFormat = 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_');\nvar monthShortStandalone = 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_');\nvar MONTHS_IN_FORMAT = /D[oD]?(\\[[^[\\]]*\\]|\\s)+MMMM?/;\n\nfunction plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]; // eslint-disable-line\n}\n\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n\n return number + \" \" + plural(format[key], +number);\n}\n\nvar months = function months(dayjsInstance, format) {\n if (MONTHS_IN_FORMAT.test(format)) {\n return monthFormat[dayjsInstance.month()];\n }\n\n return monthStandalone[dayjsInstance.month()];\n};\n\nmonths.s = monthStandalone;\nmonths.f = monthFormat;\n\nvar monthsShort = function monthsShort(dayjsInstance, format) {\n if (MONTHS_IN_FORMAT.test(format)) {\n return monthShortFormat[dayjsInstance.month()];\n }\n\n return monthShortStandalone[dayjsInstance.month()];\n};\n\nmonthsShort.s = monthShortStandalone;\nmonthsShort.f = monthShortFormat;\nvar locale = {\n name: 'ru',\n weekdays: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n weekdaysShort: 'вск_пнд_втр_срд_чтв_птн_сбт'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n months: months,\n monthsShort: monthsShort,\n weekStart: 1,\n yearStart: 4,\n formats: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm'\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural\n },\n ordinal: function ordinal(n) {\n return n;\n },\n meridiem: function meridiem(hour) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n }\n\n return 'вечера';\n }\n};\ndayjs.locale(locale, null, true);\nexport default locale;","/**\n * ---header-docs-section---\n * # yummies/date-time\n *\n * ## Description\n *\n * Date and time formatting built on **dayjs** with locale plugins, human-readable presets, relative\n * phrases, and duration helpers tailored to UI copy. It composes with `yummies/format`, `yummies/ms`,\n * and `yummies/text` for declensions so timestamps read naturally in Russian-facing apps.\n *\n * ## Usage\n *\n * ```ts\n * import { formatDate } from \"yummies/date-time\";\n * ```\n */\n\nimport dayjs, { type Dayjs, type ManipulateType } from 'dayjs/esm/index.js';\nimport duration from 'dayjs/esm/plugin/duration/index.js';\nimport relativeTime from 'dayjs/esm/plugin/relativeTime/index.js';\nimport { format } from 'yummies/format';\nimport { ms, unitsToMs } from 'yummies/ms';\nimport { declension } from 'yummies/text';\nimport { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/types';\n\nimport 'dayjs/esm/locale/ru.js';\n\ndayjs.extend(relativeTime);\ndayjs.extend(duration);\ndayjs.locale('ru');\n\nconst toLibFormat = (value: Maybe<RawDateToFormat>): Dayjs | null => {\n let result: Maybe<Dayjs> = null;\n if (dayjs.isDayjs(value)) {\n result = value;\n } else if (value != null) {\n result = dayjs(value);\n }\n\n if (!result?.isValid()) {\n return null;\n }\n\n return result;\n};\n\nexport type RawDateToFormat = Date | string | number | Dayjs;\n\n/**\n * Formats a date-like value using predefined presets or a custom pattern.\n *\n * @example\n * ```ts\n * formatDate('2024-03-15', { format: 'time-short' });\n * ```\n */\nexport const formatDate = (\n value: Maybe<RawDateToFormat>,\n settings?: Maybe<{\n format?:\n | 'human'\n | 'full'\n | 'short'\n | 'day'\n | 'day-only'\n | 'date'\n | 'month'\n | 'spent-time'\n | 'time'\n | 'time-short';\n pattern?: string;\n asTime?: boolean;\n }>,\n) => {\n const dateFormat = settings?.format;\n const datePattern = settings?.pattern;\n const asTime = settings?.asTime;\n\n let libDate: duration.Duration | dayjs.Dayjs | null = null;\n\n if (asTime && typeGuard.isNumber(value)) {\n libDate = dayjs.duration(value);\n } else {\n libDate = toLibFormat(value);\n }\n\n if (!libDate) {\n return format.NO_VALUE;\n }\n\n if (datePattern) {\n return libDate.format(datePattern);\n }\n\n if (dateFormat === 'human' || dateFormat === 'spent-time') {\n if ('fromNow' in libDate) {\n return libDate.fromNow(dateFormat === 'spent-time');\n } else {\n return format.NO_VALUE;\n }\n }\n\n switch (dateFormat) {\n case 'full': {\n return libDate.format('DD MMM YYYY HH:mm:ss');\n }\n case 'short': {\n return libDate.format('DD MMM HH:mm');\n }\n case 'time': {\n return libDate.format('HH:mm:ss');\n }\n case 'time-short': {\n return libDate.format('HH:mm');\n }\n case 'day': {\n return libDate.format('DD MMM YYYY');\n }\n case 'month': {\n return libDate.format('MMMM YYYY');\n }\n default: {\n return libDate.format('DD.MM.YYYY');\n }\n }\n};\n\n/**\n * Splits a duration in milliseconds into day-based time parts.\n *\n * @example\n * ```ts\n * dayTimeDuration(ms(1, 'day') + ms(2, 'hour'));\n * ```\n */\nexport const dayTimeDuration = (timeInMs: number) => {\n let left = Math.max(timeInMs, 0);\n\n const days = Math.floor(left / unitsToMs.day);\n left = left % unitsToMs.day;\n\n const hours = Math.floor(left / unitsToMs.hour);\n left = left % unitsToMs.hour;\n\n const minutes = Math.floor(left / unitsToMs.min);\n left = left % unitsToMs.min;\n\n const seconds = Math.floor(left / unitsToMs.sec);\n left = left % unitsToMs.sec;\n\n const milliseconds = Math.floor(left);\n\n return {\n days,\n hours,\n minutes,\n seconds,\n milliseconds,\n };\n};\n\ntype DateChangeParam = [amount: number, unit?: Maybe<ManipulateType>];\n\n/**\n * Applies one or more date adjustments and returns a new `Date` instance.\n *\n * @example\n * ```ts\n * changeDate(new Date(), 1, 'day', 30, 'minute');\n * ```\n */\nexport const changeDate = (\n date: Maybe<RawDateToFormat>,\n ...args: [\n ...DateChangeParam,\n ...Partial<DateChangeParam>,\n ...Partial<DateChangeParam>,\n ...Partial<DateChangeParam>,\n ...Partial<DateChangeParam>,\n ...Partial<DateChangeParam>,\n ]\n) => {\n let wrappedDate = toLibFormat(date)!;\n\n for (let i = 0; i < args.length; i += 2) {\n const amount = args[i] as DateChangeParam[0];\n const unit = args[i + 1] as DateChangeParam[1];\n if (unit != null) {\n wrappedDate = wrappedDate.add(amount, unit);\n }\n }\n\n return wrappedDate.toDate();\n};\n\n/**\n * Converts milliseconds into hour-based time parts without keeping full days separately.\n *\n * @example\n * ```ts\n * timeDuration(ms(1, 'hour') + ms(30, 'min'));\n * ```\n */\nexport const timeDuration = (timeInMs: number) => {\n const { days, hours, milliseconds, minutes, seconds } =\n dayTimeDuration(timeInMs);\n\n return {\n hours: hours + unitsToMs.day * days,\n milliseconds,\n minutes,\n seconds,\n };\n};\n\nconst durationFormatLabels = {\n days: { compact: 'д', full: ['день', 'дня', 'дней'] },\n hours: { compact: 'ч', full: ['час', 'часа', 'часов'] },\n minutes: { compact: 'мин', full: ['минута', 'минуты', 'минут'] },\n seconds: { compact: 'сек', full: ['секунда', 'секунды', 'секунд'] },\n} as const;\n\n/**\n * Formats a duration either from milliseconds or between two dates.\n *\n * @example\n * ```ts\n * getFormatDuration(ms(2, 'hour') + ms(15, 'min'));\n * ```\n */\nexport function getFormatDuration(\n dateA: Date,\n dateB: Date,\n compact?: boolean,\n): string;\nexport function getFormatDuration(ms: number, compact?: boolean): string;\n\nexport function getFormatDuration(...args: any[]): string {\n let compact = false;\n let diff = 0;\n\n if (args[0] instanceof Date) {\n const startedDate = dayjs(args[0]);\n const endedDate = dayjs(args[1]);\n\n diff = endedDate.diff(startedDate, 'ms');\n compact = args[2] === true;\n } else {\n diff = args[0];\n compact = args[1] === true;\n }\n\n const { days, hours, minutes, seconds } = dayTimeDuration(diff);\n\n const formattedParts: string[] = [];\n\n if (days) {\n if (compact) {\n formattedParts.push(`${days} ${durationFormatLabels.days.compact}`);\n } else {\n formattedParts.push(\n `${days} ${declension(days, durationFormatLabels.days.full)}`,\n );\n }\n }\n\n if (hours) {\n if (compact) {\n formattedParts.push(`${hours} ${durationFormatLabels.hours.compact}`);\n } else {\n formattedParts.push(\n `${hours} ${declension(hours, durationFormatLabels.hours.full)}`,\n );\n }\n }\n\n if (minutes) {\n if (compact) {\n formattedParts.push(`${minutes} ${durationFormatLabels.minutes.compact}`);\n } else {\n formattedParts.push(\n `${minutes} ${declension(minutes, durationFormatLabels.minutes.full)}`,\n );\n }\n }\n\n if (seconds) {\n if (compact) {\n formattedParts.push(`${seconds} ${durationFormatLabels.seconds.compact}`);\n } else {\n formattedParts.push(\n `${seconds} ${declension(seconds, durationFormatLabels.seconds.full)}`,\n );\n }\n }\n\n return formattedParts.join(' ');\n}\n\nexport type TimeDiff = {\n minutes: number;\n seconds: number;\n total: {\n ms: number;\n hours: number;\n };\n};\n\n/**\n * Calculates the difference between two dates in minutes, seconds and total units.\n *\n * @example\n * ```ts\n * getTimeDiff(new Date('2024-03-15T12:30:00'), new Date('2024-03-15T12:00:00'));\n * ```\n */\nexport const getTimeDiff = (\n dateA: RawDateToFormat,\n dateB: RawDateToFormat,\n): TimeDiff => {\n const leftDate = toLibFormat(dateA)?.toDate();\n const rightDate = toLibFormat(dateB)?.toDate();\n\n if (!leftDate || !rightDate) {\n return {\n minutes: 0,\n seconds: 0,\n total: { ms: 0, hours: 0 },\n };\n }\n\n const msDiff = leftDate.getTime() - rightDate.getTime();\n\n return {\n minutes: Math.max(Math.floor(msDiff / ms(1, 'min')), 0),\n seconds: Math.max(Math.floor((msDiff % ms(1, 'min')) / 1000), 0),\n total: {\n hours: Math.round(msDiff / ms(1, 'hour')),\n ms: msDiff,\n },\n };\n};\n\n/**\n * Returns a new date shifted forward by the provided number of days.\n *\n * @example\n * ```ts\n * addDays(new Date('2024-03-15'), 7);\n * ```\n */\nexport const addDays = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.add(count, 'd').toDate();\n\n/**\n * Returns a new date shifted backward by the provided number of days.\n *\n * @example\n * ```ts\n * subtractDays(new Date('2024-03-15'), 7);\n * ```\n */\nexport const subtractDays = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.subtract(count, 'd').toDate();\n\n/**\n * Returns a new date shifted forward by the provided number of minutes.\n *\n * @example\n * ```ts\n * addMinutes(new Date('2024-03-15T12:00:00'), 15);\n * ```\n */\nexport const addMinutes = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.add(count, 'm').toDate();\n\n/**\n * Returns a new date with the minutes field replaced.\n *\n * @example\n * ```ts\n * setMinutes(new Date('2024-03-15T12:00:00'), 45);\n * ```\n */\nexport const setMinutes = (date: RawDateToFormat, minutes: number) =>\n toLibFormat(date)?.set('m', minutes).toDate();\n\n/**\n * Returns a new date with the hours field replaced.\n *\n * @example\n * ```ts\n * setHours(new Date('2024-03-15T12:00:00'), 9);\n * ```\n */\nexport const setHours = (date: RawDateToFormat, hours: number) =>\n toLibFormat(date)?.set('h', hours).toDate();\n"],"x_google_ignoreList":[0,1,2,3,4,5,6],"mappings":"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"}
|
package/date-time.d.ts
CHANGED