yummies 7.10.0 → 7.11.0
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/async.cjs +11 -11
- package/async.cjs.map +1 -1
- package/async.d.ts +9 -11
- package/async.js +11 -11
- package/async.js.map +1 -1
- package/complex.cjs +32 -8
- package/complex.cjs.map +1 -1
- package/complex.d.ts +133 -13
- package/complex.js +32 -8
- package/complex.js.map +1 -1
- package/css.cjs.map +1 -1
- package/css.d.ts +3 -3
- package/css.js.map +1 -1
- package/date-time.cjs.map +1 -1
- package/date-time.js.map +1 -1
- package/format.cjs.map +1 -1
- package/format.d.ts +89 -4
- package/format.js.map +1 -1
- package/html.cjs.map +1 -1
- package/html.d.ts +3 -3
- package/html.js.map +1 -1
- package/id.cjs.map +1 -1
- package/id.d.ts +10 -10
- package/id.js.map +1 -1
- package/imports.cjs.map +1 -1
- package/imports.d.ts +5 -4
- package/imports.js.map +1 -1
- package/math.cjs.map +1 -1
- package/math.d.ts +1 -1
- package/math.js.map +1 -1
- package/media.cjs.map +1 -1
- package/media.d.ts +1 -1
- package/media.js.map +1 -1
- package/mobx.cjs.map +1 -1
- package/mobx.d.ts +165 -6
- package/mobx.js.map +1 -1
- package/ms.cjs.map +1 -1
- package/ms.d.ts +1 -1
- package/ms.js.map +1 -1
- package/package.json +5 -5
- package/parser.cjs.map +1 -1
- package/parser.d.ts +63 -0
- package/parser.js.map +1 -1
- package/react.cjs.map +1 -1
- package/react.d.ts +407 -9
- package/react.js.map +1 -1
- package/sound.cjs.map +1 -1
- package/sound.d.ts +1 -1
- package/sound.js.map +1 -1
- package/storage.cjs.map +1 -1
- package/storage.d.ts +7 -6
- package/storage.js.map +1 -1
- package/text.cjs.map +1 -1
- package/text.d.ts +5 -5
- package/text.js.map +1 -1
- package/type-guard.cjs.map +1 -1
- package/type-guard.d.ts +199 -42
- package/type-guard.js.map +1 -1
- package/vibrate.cjs.map +1 -1
- package/vibrate.d.ts +1 -1
- package/vibrate.js.map +1 -1
package/css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","sources":["../src/css.ts"],"sourcesContent":["import { cva as cvaLib } from 'class-variance-authority';\nimport clsx, { type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\nimport type { Maybe } from 'yummies/types';\n\ntype ClassProp = {\n class?: ClassValue;\n className?: ClassValue;\n};\n\ntype StringToBoolean<T> = T extends 'true' | 'false' ? boolean : T;\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"css.js","sources":["../src/css.ts"],"sourcesContent":["import { cva as cvaLib } from 'class-variance-authority';\nimport clsx, { type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\nimport type { Maybe } from 'yummies/types';\n\ntype ClassProp = {\n class?: ClassValue;\n className?: ClassValue;\n};\n\ntype StringToBoolean<T> = T extends 'true' | 'false' ? boolean : T;\n\n/**\n * Converts a pixel value to a `rem` string.\n */\nexport const toRem = (px: number, remValue = 16) => `${px / remValue}rem`;\n\n/**\n * `classNames`/`clsx` with `tailwind-merge` support.\n */\nexport const cx = (...args: Parameters<typeof clsx>) => twMerge(clsx(...args));\n\ntype ConfigSchema = Record<string, Record<string, ClassValue>>;\ntype ConfigVariants<T extends ConfigSchema> = {\n [Variant in keyof T]?: StringToBoolean<keyof T[Variant]> | null | undefined;\n};\ntype ConfigVariantsMulti<T extends ConfigSchema> = {\n [Variant in keyof T]?:\n | StringToBoolean<keyof T[Variant]>\n | StringToBoolean<keyof T[Variant]>[]\n | undefined;\n};\ntype Config<T> = T extends ConfigSchema\n ? {\n variants?: T;\n defaultVariants?: ConfigVariants<T>;\n compoundVariants?: (T extends ConfigSchema\n ? (ConfigVariants<T> | ConfigVariantsMulti<T>) & ClassProp\n : ClassProp)[];\n }\n : never;\n\ntype Props<T> = T extends ConfigSchema\n ? ConfigVariants<T> & ClassProp\n : ClassProp;\n\n/**\n * `Class Variance Authority` with `tailwind-merge` support.\n *\n * https://cva.style/docs\n */\nexport const cva = ((...args: any[]) => {\n const schema = cvaLib(...args);\n return (...inputArgs: any[]) => twMerge(schema(...inputArgs));\n}) as any as <T>(\n base?: ClassValue,\n config?: Config<T>,\n) => (props?: Props<T>) => string;\n\nexport type { VariantProps } from 'class-variance-authority';\nexport type { ClassValue } from 'clsx';\n\n/**\n * Load CSS file by providing `url`.\n *\n * **NOTE:** If `id` is provided, it will remove the existing link element with the same `id` before creating a new one.\n */\nexport const loadCssFile = (url: string, attrubutes?: Record<string, any>) =>\n new Promise((resolve, reject) => {\n let link: Maybe<HTMLLinkElement>;\n\n if (attrubutes?.id) {\n link = document.getElementById(attrubutes.id) as HTMLLinkElement | null;\n\n if (link) {\n link.remove();\n }\n }\n\n link = document.createElement('link');\n\n const handleLoad = () => {\n resolve(undefined);\n link!.removeEventListener('load', handleLoad);\n link!.removeEventListener('error', handleError);\n };\n\n const handleError = () => {\n reject(undefined);\n link!.removeEventListener('load', handleLoad);\n link!.removeEventListener('error', handleError);\n };\n\n link.addEventListener('load', handleLoad);\n link.addEventListener('error', handleError);\n\n link.setAttribute('href', url);\n\n if (!attrubutes?.rel) {\n link.setAttribute('rel', 'stylesheet');\n }\n\n Object.entries(attrubutes || {}).forEach(([key, value]) => {\n link.setAttribute(key, value);\n });\n\n document.head.appendChild(link);\n });\n"],"names":["cvaLib"],"mappings":";;;AAeO,MAAM,QAAQ,CAAC,IAAY,WAAW,OAAO,GAAG,KAAK,QAAQ;AAK7D,MAAM,KAAK,IAAI,SAAkC,QAAQ,KAAK,GAAG,IAAI,CAAC;AA+BtE,MAAM,OAAO,IAAI,SAAgB;AACtC,QAAM,SAASA,MAAO,GAAG,IAAI;AAC7B,SAAO,IAAI,cAAqB,QAAQ,OAAO,GAAG,SAAS,CAAC;AAC9D;AAaO,MAAM,cAAc,CAAC,KAAa,eACvC,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC/B,MAAI;AAEJ,MAAI,YAAY,IAAI;AAClB,WAAO,SAAS,eAAe,WAAW,EAAE;AAE5C,QAAI,MAAM;AACR,WAAK,OAAA;AAAA,IACP;AAAA,EACF;AAEA,SAAO,SAAS,cAAc,MAAM;AAEpC,QAAM,aAAa,MAAM;AACvB,YAAQ,MAAS;AACjB,SAAM,oBAAoB,QAAQ,UAAU;AAC5C,SAAM,oBAAoB,SAAS,WAAW;AAAA,EAChD;AAEA,QAAM,cAAc,MAAM;AACxB,WAAO,MAAS;AAChB,SAAM,oBAAoB,QAAQ,UAAU;AAC5C,SAAM,oBAAoB,SAAS,WAAW;AAAA,EAChD;AAEA,OAAK,iBAAiB,QAAQ,UAAU;AACxC,OAAK,iBAAiB,SAAS,WAAW;AAE1C,OAAK,aAAa,QAAQ,GAAG;AAE7B,MAAI,CAAC,YAAY,KAAK;AACpB,SAAK,aAAa,OAAO,YAAY;AAAA,EACvC;AAEA,SAAO,QAAQ,cAAc,CAAA,CAAE,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACzD,SAAK,aAAa,KAAK,KAAK;AAAA,EAC9B,CAAC;AAED,WAAS,KAAK,YAAY,IAAI;AAChC,CAAC;"}
|
package/date-time.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-time.cjs","sources":["../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/duration.js","../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/relativeTime.js","../node_modules/.pnpm/dayjs@1.11.13/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}));","import 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\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\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\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\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\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};\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\nexport const addDays = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.add(count, 'd').toDate();\n\nexport const subtractDays = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.subtract(count, 'd').toDate();\n\nexport const addMinutes = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.add(count, 'm').toDate();\n\nexport const setMinutes = (date: RawDateToFormat, minutes: number) =>\n toLibFormat(date)?.set('m', minutes).toDate();\n\nexport const setHours = (date: RawDateToFormat, hours: number) =>\n toLibFormat(date)?.set('h', hours).toDate();\n"],"names":["module","this","t","s","n","l","i","e","r","y","o","u","d","a","h","require$$0","_","typeGuard","format","unitsToMs","declension","ms"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"date-time.cjs","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}));","import 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\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\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\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\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\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};\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\nexport const addDays = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.add(count, 'd').toDate();\n\nexport const subtractDays = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.subtract(count, 'd').toDate();\n\nexport const addMinutes = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.add(count, 'm').toDate();\n\nexport const setMinutes = (date: RawDateToFormat, minutes: number) =>\n toLibFormat(date)?.set('m', minutes).toDate();\n\nexport const setHours = (date: RawDateToFormat, hours: number) =>\n toLibFormat(date)?.set('h', hours).toDate();\n"],"names":["module","this","t","s","n","l","i","e","r","y","o","u","d","a","h","require$$0","_","typeGuard","format","unitsToMs","declension","ms"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
package/date-time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-time.js","sources":["../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/duration.js","../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/relativeTime.js","../node_modules/.pnpm/dayjs@1.11.13/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}));","import 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\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\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\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\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\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};\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\nexport const addDays = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.add(count, 'd').toDate();\n\nexport const subtractDays = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.subtract(count, 'd').toDate();\n\nexport const addMinutes = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.add(count, 'm').toDate();\n\nexport const setMinutes = (date: RawDateToFormat, minutes: number) =>\n toLibFormat(date)?.set('m', minutes).toDate();\n\nexport const setHours = (date: RawDateToFormat, hours: number) =>\n toLibFormat(date)?.set('h', hours).toDate();\n"],"names":["this","t","s","n","l","i","e","r","y","o","u","d","a","h","require$$0","_"],"mappings":";;;;;;;;;;;;;;;AAAA,MAAC,SAAS,GAAE,GAAE;AAAsD,aAAA,UAAe,EAAC;AAAA,IAAkI,GAAEA,aAAM,WAAU;AAAc,UAAI,GAAE,GAAE,IAAE,KAAI,IAAE,KAAI,IAAE,MAAK,IAAE,OAAM,IAAE,uFAAsF,IAAE,SAAQ,IAAE,QAAO,IAAE,uKAAsK,IAAE,EAAC,OAAM,GAAE,QAAO,GAAE,MAAK,GAAE,OAAM,GAAE,SAAQ,GAAE,SAAQ,GAAE,cAAa,GAAE,OAAM,OAAM,GAAE,IAAE,SAASC,IAAE;AAAC,eAAOA,cAAa;AAAA,MAAC,GAAE,IAAE,SAASA,IAAEC,IAAEC,IAAE;AAAC,eAAO,IAAI,EAAEF,IAAEE,IAAED,GAAE,EAAE;AAAA,MAAC,GAAE,IAAE,SAASD,IAAE;AAAC,eAAO,EAAE,EAAEA,EAAC,IAAE;AAAA,MAAG,GAAE,IAAE,SAASA,IAAE;AAAC,eAAOA,KAAE;AAAA,MAAC,GAAE,IAAE,SAASA,IAAE;AAAC,eAAO,EAAEA,EAAC,IAAE,KAAK,KAAKA,EAAC,IAAE,KAAK,MAAMA,EAAC;AAAA,MAAC,GAAE,IAAE,SAASA,IAAE;AAAC,eAAO,KAAK,IAAIA,EAAC;AAAA,MAAC,GAAE,IAAE,SAASA,IAAEC,IAAE;AAAC,eAAOD,KAAE,EAAEA,EAAC,IAAE,EAAC,UAAS,MAAG,QAAO,KAAG,EAAEA,EAAC,IAAEC,GAAC,IAAE,EAAC,UAAS,OAAG,QAAO,KAAGD,KAAEC,GAAC,IAAE,EAAC,UAAS,OAAG,QAAO,GAAE;AAAA,MAAC,GAAE,KAAE,WAAU;AAAC,iBAASE,GAAEH,IAAEC,IAAEC,IAAE;AAAC,cAAIE,KAAE;AAAK,cAAG,KAAK,KAAG,CAAA,GAAG,KAAK,KAAGF,IAAE,WAASF,OAAI,KAAK,MAAI,GAAE,KAAK,sBAAqB,IAAIC,GAAE,QAAO,EAAED,KAAE,EAAE,EAAEC,EAAC,CAAC,GAAE,IAAI;AAAE,cAAG,YAAU,OAAOD,GAAE,QAAO,KAAK,MAAIA,IAAE,KAAK,sBAAqB,GAAG;AAAK,cAAG,YAAU,OAAOA,GAAE,QAAO,OAAO,KAAKA,EAAC,EAAE,SAAS,SAASC,IAAE;AAAC,YAAAG,GAAE,GAAG,EAAEH,EAAC,CAAC,IAAED,GAAEC,EAAC;AAAA,UAAC,EAAC,GAAG,KAAK,gBAAe,GAAG;AAAK,cAAG,YAAU,OAAOD,IAAE;AAAC,gBAAIK,KAAEL,GAAE,MAAM,CAAC;AAAE,gBAAGK,IAAE;AAAC,kBAAIC,KAAED,GAAE,MAAM,CAAC,EAAE,KAAK,SAASL,IAAE;AAAC,uBAAO,QAAMA,KAAE,OAAOA,EAAC,IAAE;AAAA,cAAC,EAAC;AAAG,qBAAO,KAAK,GAAG,QAAMM,GAAE,CAAC,GAAE,KAAK,GAAG,SAAOA,GAAE,CAAC,GAAE,KAAK,GAAG,QAAMA,GAAE,CAAC,GAAE,KAAK,GAAG,OAAKA,GAAE,CAAC,GAAE,KAAK,GAAG,QAAMA,GAAE,CAAC,GAAE,KAAK,GAAG,UAAQA,GAAE,CAAC,GAAE,KAAK,GAAG,UAAQA,GAAE,CAAC,GAAE,KAAK,mBAAkB;AAAA,YAAI;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAI;AAAC,YAAIC,KAAEJ,GAAE;AAAU,eAAOI,GAAE,kBAAgB,WAAU;AAAC,cAAIP,KAAE;AAAK,eAAK,MAAI,OAAO,KAAK,KAAK,EAAE,EAAE,QAAQ,SAASC,IAAEC,IAAE;AAAC,mBAAOD,MAAGD,GAAE,GAAGE,EAAC,KAAG,KAAG,EAAEA,EAAC;AAAA,UAAC,IAAG,CAAC;AAAA,QAAC,GAAEK,GAAE,wBAAsB,WAAU;AAAC,cAAIP,KAAE,KAAK;AAAI,eAAK,GAAG,QAAM,EAAEA,KAAE,CAAC,GAAEA,MAAG,GAAE,KAAK,GAAG,SAAO,EAAEA,KAAE,CAAC,GAAEA,MAAG,GAAE,KAAK,GAAG,OAAK,EAAEA,KAAE,CAAC,GAAEA,MAAG,GAAE,KAAK,GAAG,QAAM,EAAEA,KAAE,CAAC,GAAEA,MAAG,GAAE,KAAK,GAAG,UAAQ,EAAEA,KAAE,CAAC,GAAEA,MAAG,GAAE,KAAK,GAAG,UAAQ,EAAEA,KAAE,CAAC,GAAEA,MAAG,GAAE,KAAK,GAAG,eAAaA;AAAA,QAAC,GAAEO,GAAE,cAAY,WAAU;AAAC,cAAIP,KAAE,EAAE,KAAK,GAAG,OAAM,GAAG,GAAEC,KAAE,EAAE,KAAK,GAAG,QAAO,GAAG,GAAEC,KAAE,CAAC,KAAK,GAAG,QAAM;AAAE,eAAK,GAAG,UAAQA,MAAG,IAAE,KAAK,GAAG;AAAO,cAAIE,KAAE,EAAEF,IAAE,GAAG,GAAEG,KAAE,EAAE,KAAK,GAAG,OAAM,GAAG,GAAEC,KAAE,EAAE,KAAK,GAAG,SAAQ,GAAG,GAAEE,KAAE,KAAK,GAAG,WAAS;AAAE,eAAK,GAAG,iBAAeA,MAAG,KAAK,GAAG,eAAa,KAAIA,KAAE,KAAK,MAAM,MAAIA,EAAC,IAAE;AAAK,cAAIC,KAAE,EAAED,IAAE,GAAG,GAAEE,KAAEV,GAAE,YAAUC,GAAE,YAAUG,GAAE,YAAUC,GAAE,YAAUC,GAAE,YAAUG,GAAE,UAASE,KAAEN,GAAE,UAAQC,GAAE,UAAQG,GAAE,SAAO,MAAI,IAAGG,MAAGF,KAAE,MAAI,MAAI,MAAIV,GAAE,SAAOC,GAAE,SAAOG,GAAE,SAAOO,KAAEN,GAAE,SAAOC,GAAE,SAAOG,GAAE;AAAO,iBAAM,QAAMG,MAAG,SAAOA,KAAE,QAAMA;AAAA,QAAC,GAAEL,GAAE,SAAO,WAAU;AAAC,iBAAO,KAAK,YAAW;AAAA,QAAE,GAAEA,GAAE,SAAO,SAASP,IAAE;AAAC,cAAIE,KAAEF,MAAG,uBAAsBI,KAAE,EAAC,GAAE,KAAK,GAAG,OAAM,IAAG,EAAE,EAAE,KAAK,GAAG,OAAM,GAAE,GAAG,GAAE,MAAK,EAAE,EAAE,KAAK,GAAG,OAAM,GAAE,GAAG,GAAE,GAAE,KAAK,GAAG,QAAO,IAAG,EAAE,EAAE,KAAK,GAAG,QAAO,GAAE,GAAG,GAAE,GAAE,KAAK,GAAG,MAAK,IAAG,EAAE,EAAE,KAAK,GAAG,MAAK,GAAE,GAAG,GAAE,GAAE,KAAK,GAAG,OAAM,IAAG,EAAE,EAAE,KAAK,GAAG,OAAM,GAAE,GAAG,GAAE,GAAE,KAAK,GAAG,SAAQ,IAAG,EAAE,EAAE,KAAK,GAAG,SAAQ,GAAE,GAAG,GAAE,GAAE,KAAK,GAAG,SAAQ,IAAG,EAAE,EAAE,KAAK,GAAG,SAAQ,GAAE,GAAG,GAAE,KAAI,EAAE,EAAE,KAAK,GAAG,cAAa,GAAE,GAAG,EAAC;AAAE,iBAAOF,GAAE,QAAQ,IAAG,SAASF,IAAEC,IAAE;AAAC,mBAAOA,MAAG,OAAOG,GAAEJ,EAAC,CAAC;AAAA,UAAC,EAAC;AAAA,QAAE,GAAEO,GAAE,KAAG,SAASP,IAAE;AAAC,iBAAO,KAAK,MAAI,EAAE,EAAEA,EAAC,CAAC;AAAA,QAAC,GAAEO,GAAE,MAAI,SAASP,IAAE;AAAC,cAAIC,KAAE,KAAK,KAAIC,KAAE,EAAEF,EAAC;AAAE,iBAAM,mBAAiBE,KAAED,MAAG,MAAIA,KAAE,YAAUC,KAAE,EAAED,KAAE,EAAEC,EAAC,CAAC,IAAE,KAAK,GAAGA,EAAC,GAAED,MAAG;AAAA,QAAC,GAAEM,GAAE,MAAI,SAASP,IAAEC,IAAEC,IAAE;AAAC,cAAIE;AAAE,iBAAOA,KAAEH,KAAED,KAAE,EAAE,EAAEC,EAAC,CAAC,IAAE,EAAED,EAAC,IAAEA,GAAE,MAAI,EAAEA,IAAE,IAAI,EAAE,KAAI,EAAE,KAAK,MAAII,MAAGF,KAAE,KAAG,IAAG,IAAI;AAAA,QAAC,GAAEK,GAAE,WAAS,SAASP,IAAEC,IAAE;AAAC,iBAAO,KAAK,IAAID,IAAEC,IAAE,IAAE;AAAA,QAAC,GAAEM,GAAE,SAAO,SAASP,IAAE;AAAC,cAAIC,KAAE,KAAK,MAAK;AAAG,iBAAOA,GAAE,KAAGD,IAAEC;AAAA,QAAC,GAAEM,GAAE,QAAM,WAAU;AAAC,iBAAO,EAAE,KAAK,KAAI,IAAI;AAAA,QAAC,GAAEA,GAAE,WAAS,SAASN,IAAE;AAAC,iBAAO,EAAC,EAAG,IAAI,KAAK,KAAI,IAAI,EAAE,OAAO,KAAK,EAAE,EAAE,QAAQ,CAACA,EAAC;AAAA,QAAC,GAAEM,GAAE,UAAQ,WAAU;AAAC,iBAAO,KAAK,eAAc;AAAA,QAAE,GAAEA,GAAE,eAAa,WAAU;AAAC,iBAAO,KAAK,IAAI,cAAc;AAAA,QAAC,GAAEA,GAAE,iBAAe,WAAU;AAAC,iBAAO,KAAK,GAAG,cAAc;AAAA,QAAC,GAAEA,GAAE,UAAQ,WAAU;AAAC,iBAAO,KAAK,IAAI,SAAS;AAAA,QAAC,GAAEA,GAAE,YAAU,WAAU;AAAC,iBAAO,KAAK,GAAG,SAAS;AAAA,QAAC,GAAEA,GAAE,UAAQ,WAAU;AAAC,iBAAO,KAAK,IAAI,SAAS;AAAA,QAAC,GAAEA,GAAE,YAAU,WAAU;AAAC,iBAAO,KAAK,GAAG,SAAS;AAAA,QAAC,GAAEA,GAAE,QAAM,WAAU;AAAC,iBAAO,KAAK,IAAI,OAAO;AAAA,QAAC,GAAEA,GAAE,UAAQ,WAAU;AAAC,iBAAO,KAAK,GAAG,OAAO;AAAA,QAAC,GAAEA,GAAE,OAAK,WAAU;AAAC,iBAAO,KAAK,IAAI,MAAM;AAAA,QAAC,GAAEA,GAAE,SAAO,WAAU;AAAC,iBAAO,KAAK,GAAG,MAAM;AAAA,QAAC,GAAEA,GAAE,QAAM,WAAU;AAAC,iBAAO,KAAK,IAAI,OAAO;AAAA,QAAC,GAAEA,GAAE,UAAQ,WAAU;AAAC,iBAAO,KAAK,GAAG,OAAO;AAAA,QAAC,GAAEA,GAAE,SAAO,WAAU;AAAC,iBAAO,KAAK,IAAI,QAAQ;AAAA,QAAC,GAAEA,GAAE,WAAS,WAAU;AAAC,iBAAO,KAAK,GAAG,QAAQ;AAAA,QAAC,GAAEA,GAAE,QAAM,WAAU;AAAC,iBAAO,KAAK,IAAI,OAAO;AAAA,QAAC,GAAEA,GAAE,UAAQ,WAAU;AAAC,iBAAO,KAAK,GAAG,OAAO;AAAA,QAAC,GAAEJ;AAAA,MAAC,GAAC,GAAG,IAAE,SAASH,IAAEC,IAAEC,IAAE;AAAC,eAAOF,GAAE,IAAIC,GAAE,MAAK,IAAGC,IAAE,GAAG,EAAE,IAAID,GAAE,OAAM,IAAGC,IAAE,GAAG,EAAE,IAAID,GAAE,KAAI,IAAGC,IAAE,GAAG,EAAE,IAAID,GAAE,MAAK,IAAGC,IAAE,GAAG,EAAE,IAAID,GAAE,QAAO,IAAGC,IAAE,GAAG,EAAE,IAAID,GAAE,QAAO,IAAGC,IAAE,GAAG,EAAE,IAAID,GAAE,aAAY,IAAGC,IAAE,IAAI;AAAA,MAAC;AAAE,aAAO,SAASA,IAAEE,IAAEC,IAAE;AAAC,YAAEA,IAAE,IAAEA,GAAC,EAAG,OAAM,GAAGA,GAAE,WAAS,SAASL,IAAEC,IAAE;AAAC,cAAIC,KAAEG,GAAE,OAAM;AAAG,iBAAO,EAAEL,IAAE,EAAC,IAAGE,GAAC,GAAED,EAAC;AAAA,QAAC,GAAEI,GAAE,aAAW;AAAE,YAAIC,KAAEF,GAAE,UAAU,KAAII,KAAEJ,GAAE,UAAU;AAAS,QAAAA,GAAE,UAAU,MAAI,SAASJ,IAAEC,IAAE;AAAC,iBAAO,EAAED,EAAC,IAAE,EAAE,MAAKA,IAAE,CAAC,IAAEM,GAAE,KAAK,IAAI,EAAEN,IAAEC,EAAC;AAAA,QAAC,GAAEG,GAAE,UAAU,WAAS,SAASJ,IAAEC,IAAE;AAAC,iBAAO,EAAED,EAAC,IAAE,EAAE,MAAKA,IAAE,EAAE,IAAEQ,GAAE,KAAK,IAAI,EAAER,IAAEC,EAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC,EAAC;AAAA;;;;;;;;;;;;ACA1uJ,MAAC,SAAS,GAAE,GAAE;AAAsD,aAAA,UAAe,EAAC;AAAA,IAAsI,GAAEF,iBAAM,WAAU;AAAc,aAAO,SAAS,GAAE,GAAE,GAAE;AAAC,YAAE,KAAG,CAAA;AAAG,YAAI,IAAE,EAAE,WAAU,IAAE,EAAC,QAAO,SAAQ,MAAK,UAAS,GAAE,iBAAgB,GAAE,YAAW,IAAG,cAAa,GAAE,WAAU,IAAG,YAAW,GAAE,SAAQ,IAAG,WAAU,GAAE,WAAU,IAAG,aAAY,GAAE,UAAS,IAAG,WAAU;AAAE,iBAAS,EAAEO,IAAED,IAAEL,IAAEQ,IAAE;AAAC,iBAAO,EAAE,WAAWF,IAAED,IAAEL,IAAEQ,EAAC;AAAA,QAAC;AAAC,UAAE,GAAG,eAAa,GAAE,EAAE,aAAW,SAASH,IAAEH,IAAEE,IAAEM,IAAE,GAAE;AAAC,mBAAQ,GAAE,GAAE,GAAE,IAAEN,GAAE,QAAO,EAAG,gBAAc,GAAE,IAAE,EAAE,cAAY,CAAC,EAAC,GAAE,KAAI,GAAE,IAAG,GAAE,SAAQ,GAAE,EAAC,GAAE,KAAI,GAAE,GAAE,GAAE,EAAC,GAAE,MAAK,GAAE,IAAG,GAAE,SAAQ,GAAE,EAAC,GAAE,KAAI,GAAE,GAAE,GAAE,EAAC,GAAE,MAAK,GAAE,IAAG,GAAE,OAAM,GAAE,EAAC,GAAE,KAAI,GAAE,GAAE,GAAE,EAAC,GAAE,MAAK,GAAE,IAAG,GAAE,MAAK,GAAE,EAAC,GAAE,KAAI,GAAE,GAAE,GAAE,EAAC,GAAE,MAAK,GAAE,IAAG,GAAE,QAAO,GAAE,EAAC,GAAE,KAAI,GAAE,GAAE,GAAE,EAAC,GAAE,MAAK,GAAE,OAAM,CAAC,GAAE,IAAE,EAAE,QAAO,IAAE,GAAE,IAAE,GAAE,KAAG,GAAE;AAAC,gBAAI,IAAE,EAAE,CAAC;AAAE,cAAE,MAAI,IAAEM,KAAE,EAAEL,EAAC,EAAE,KAAKD,IAAE,EAAE,GAAE,IAAE,IAAEA,GAAE,KAAKC,IAAE,EAAE,GAAE,IAAE;AAAG,gBAAI,KAAG,EAAE,YAAU,KAAK,OAAO,KAAK,IAAI,CAAC,CAAC;AAAE,gBAAG,IAAE,IAAE,GAAE,KAAG,EAAE,KAAG,CAAC,EAAE,GAAE;AAAC,mBAAG,KAAG,IAAE,MAAI,IAAE,EAAE,IAAE,CAAC;AAAG,kBAAI,IAAE,EAAE,EAAE,CAAC;AAAE,oBAAI,IAAE,EAAE,KAAG,CAAC,IAAG,IAAE,YAAU,OAAO,IAAE,EAAE,QAAQ,MAAK,CAAC,IAAE,EAAE,GAAEH,IAAE,EAAE,GAAE,CAAC;AAAE;AAAA,YAAK;AAAA,UAAC;AAAC,cAAGA,GAAE,QAAO;AAAE,cAAI,IAAE,IAAE,EAAE,SAAO,EAAE;AAAK,iBAAM,cAAY,OAAO,IAAE,EAAE,CAAC,IAAE,EAAE,QAAQ,MAAK,CAAC;AAAA,QAAC,GAAE,EAAE,KAAG,SAASI,IAAED,IAAE;AAAC,iBAAO,EAAEC,IAAED,IAAE,MAAK,IAAE;AAAA,QAAC,GAAE,EAAE,OAAK,SAASC,IAAED,IAAE;AAAC,iBAAO,EAAEC,IAAED,IAAE,IAAI;AAAA,QAAC;AAAE,YAAI,IAAE,SAASC,IAAE;AAAC,iBAAOA,GAAE,KAAG,EAAE,IAAG,IAAG,EAAC;AAAA,QAAE;AAAE,UAAE,QAAM,SAASA,IAAE;AAAC,iBAAO,KAAK,GAAG,EAAE,IAAI,GAAEA,EAAC;AAAA,QAAC,GAAE,EAAE,UAAQ,SAASA,IAAE;AAAC,iBAAO,KAAK,KAAK,EAAE,IAAI,GAAEA,EAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;;;;;;;;;;;;;ACA14C,MAAC,SAAS,GAAE,GAAE;AAAsD,aAAA,UAAe,EAAEO,KAAgB;AAAA,IAA4I,GAAEd,KAAM,SAAS,GAAE;AAAc,eAAS,EAAEe,IAAE;AAAC,eAAOA,MAAG,YAAU,OAAOA,MAAG,aAAYA,KAAEA,KAAE,EAAC,SAAQA,GAAC;AAAA,MAAC;AAAC,UAAI,IAAE,EAAE,CAAC,GAAE,IAAE,oFAAoF,MAAM,GAAG,GAAE,IAAE,kFAAkF,MAAM,GAAG,GAAE,IAAE,gEAAgE,MAAM,GAAG,GAAE,IAAE,gEAAgE,MAAM,GAAG,GAAE,IAAE;AAA+B,eAAS,EAAEA,IAAEd,IAAEK,IAAE;AAAC,YAAIH,IAAED;AAAE,eAAM,QAAMI,KAAEL,KAAE,WAAS,WAASc,KAAE,OAAKZ,KAAE,CAACY,IAAEb,KAAE,EAAC,IAAGD,KAAE,wBAAsB,uBAAsB,IAAG,kBAAiB,IAAG,iBAAgB,IAAG,wBAAuB,IAAG,eAAc,EAAEK,EAAC,EAAE,MAAM,GAAG,GAAEH,KAAE,MAAI,KAAGA,KAAE,OAAK,KAAGD,GAAE,CAAC,IAAEC,KAAE,MAAI,KAAGA,KAAE,MAAI,MAAIA,KAAE,MAAI,MAAIA,KAAE,OAAK,MAAID,GAAE,CAAC,IAAEA,GAAE,CAAC;AAAA,MAAE;AAAC,UAAI,IAAE,SAASa,IAAEd,IAAE;AAAC,eAAO,EAAE,KAAKA,EAAC,IAAE,EAAEc,GAAE,MAAK,CAAE,IAAE,EAAEA,GAAE,MAAK,CAAE;AAAA,MAAC;AAAE,QAAE,IAAE,GAAE,EAAE,IAAE;AAAE,UAAI,IAAE,SAASA,IAAEd,IAAE;AAAC,eAAO,EAAE,KAAKA,EAAC,IAAE,EAAEc,GAAE,MAAK,CAAE,IAAE,EAAEA,GAAE,MAAK,CAAE;AAAA,MAAC;AAAE,QAAE,IAAE,GAAE,EAAE,IAAE;AAAE,UAAI,IAAE,EAAC,MAAK,MAAK,UAAS,gEAAgE,MAAM,GAAG,GAAE,eAAc,8BAA8B,MAAM,GAAG,GAAE,aAAY,uBAAuB,MAAM,GAAG,GAAE,QAAO,GAAE,aAAY,GAAE,WAAU,GAAE,WAAU,GAAE,SAAQ,EAAC,IAAG,QAAO,KAAI,WAAU,GAAE,cAAa,IAAG,kBAAiB,KAAI,wBAAuB,MAAK,6BAA4B,GAAE,cAAa,EAAC,QAAO,YAAW,MAAK,YAAW,GAAE,oBAAmB,GAAE,GAAE,IAAG,GAAE,GAAE,OAAM,IAAG,GAAE,GAAE,QAAO,IAAG,GAAE,GAAE,SAAQ,IAAG,GAAE,GAAE,OAAM,IAAG,EAAC,GAAE,SAAQ,SAASA,IAAE;AAAC,eAAOA;AAAA,MAAC,GAAE,UAAS,SAASA,IAAE;AAAC,eAAOA,KAAE,IAAE,SAAOA,KAAE,KAAG,SAAOA,KAAE,KAAG,QAAM;AAAA,MAAQ,EAAC;AAAE,aAAO,EAAE,QAAQ,OAAO,GAAE,MAAK,IAAE,GAAE;AAAA,IAAC,EAAC;AAAA;;;;ACW9yD,MAAM,OAAO,YAAY;AACzB,MAAM,OAAO,QAAQ;AACrB,MAAM,OAAO,IAAI;AAEjB,MAAM,cAAc,CAAC,UAAgD;AACnE,MAAI,SAAuB;AAC3B,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,aAAS;AAAA,EACX,WAAW,SAAS,MAAM;AACxB,aAAS,MAAM,KAAK;AAAA,EACtB;AAEA,MAAI,CAAC,QAAQ,WAAW;AACtB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAIO,MAAM,aAAa,CACxB,OACA,aAeG;AACH,QAAM,aAAa,UAAU;AAC7B,QAAM,cAAc,UAAU;AAC9B,QAAM,SAAS,UAAU;AAEzB,MAAI,UAAkD;AAEtD,MAAI,UAAU,UAAU,SAAS,KAAK,GAAG;AACvC,cAAU,MAAM,SAAS,KAAK;AAAA,EAChC,OAAO;AACL,cAAU,YAAY,KAAK;AAAA,EAC7B;AAEA,MAAI,CAAC,SAAS;AACZ,WAAO,OAAO;AAAA,EAChB;AAEA,MAAI,aAAa;AACf,WAAO,QAAQ,OAAO,WAAW;AAAA,EACnC;AAEA,MAAI,eAAe,WAAW,eAAe,cAAc;AACzD,QAAI,aAAa,SAAS;AACxB,aAAO,QAAQ,QAAQ,eAAe,YAAY;AAAA,IACpD,OAAO;AACL,aAAO,OAAO;AAAA,IAChB;AAAA,EACF;AAEA,UAAQ,YAAA;AAAA,IACN,KAAK,QAAQ;AACX,aAAO,QAAQ,OAAO,sBAAsB;AAAA,IAC9C;AAAA,IACA,KAAK,SAAS;AACZ,aAAO,QAAQ,OAAO,cAAc;AAAA,IACtC;AAAA,IACA,KAAK,QAAQ;AACX,aAAO,QAAQ,OAAO,UAAU;AAAA,IAClC;AAAA,IACA,KAAK,cAAc;AACjB,aAAO,QAAQ,OAAO,OAAO;AAAA,IAC/B;AAAA,IACA,KAAK,OAAO;AACV,aAAO,QAAQ,OAAO,aAAa;AAAA,IACrC;AAAA,IACA,KAAK,SAAS;AACZ,aAAO,QAAQ,OAAO,WAAW;AAAA,IACnC;AAAA,IACA,SAAS;AACP,aAAO,QAAQ,OAAO,YAAY;AAAA,IACpC;AAAA,EAAA;AAEJ;AAEO,MAAM,kBAAkB,CAAC,aAAqB;AACnD,MAAI,OAAO,KAAK,IAAI,UAAU,CAAC;AAE/B,QAAM,OAAO,KAAK,MAAM,OAAO,UAAU,GAAG;AAC5C,SAAO,OAAO,UAAU;AAExB,QAAM,QAAQ,KAAK,MAAM,OAAO,UAAU,IAAI;AAC9C,SAAO,OAAO,UAAU;AAExB,QAAM,UAAU,KAAK,MAAM,OAAO,UAAU,GAAG;AAC/C,SAAO,OAAO,UAAU;AAExB,QAAM,UAAU,KAAK,MAAM,OAAO,UAAU,GAAG;AAC/C,SAAO,OAAO,UAAU;AAExB,QAAM,eAAe,KAAK,MAAM,IAAI;AAEpC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAIO,MAAM,aAAa,CACxB,SACG,SAQA;AACH,MAAI,cAAc,YAAY,IAAI;AAElC,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;AACvC,UAAM,SAAS,KAAK,CAAC;AACrB,UAAM,OAAO,KAAK,IAAI,CAAC;AACvB,QAAI,QAAQ,MAAM;AAChB,oBAAc,YAAY,IAAI,QAAQ,IAAI;AAAA,IAC5C;AAAA,EACF;AAEA,SAAO,YAAY,OAAA;AACrB;AAEO,MAAM,eAAe,CAAC,aAAqB;AAChD,QAAM,EAAE,MAAM,OAAO,cAAc,SAAS,QAAA,IAC1C,gBAAgB,QAAQ;AAE1B,SAAO;AAAA,IACL,OAAO,QAAQ,UAAU,MAAM;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,MAAM,uBAAuB;AAAA,EAC3B,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,QAAQ,OAAO,OAAO,EAAA;AAAA,EACnD,OAAO,EAAE,SAAS,KAAK,MAAM,CAAC,OAAO,QAAQ,OAAO,EAAA;AAAA,EACpD,SAAS,EAAE,SAAS,OAAO,MAAM,CAAC,UAAU,UAAU,OAAO,EAAA;AAAA,EAC7D,SAAS,EAAE,SAAS,OAAO,MAAM,CAAC,WAAW,WAAW,QAAQ,EAAA;AAClE;AASO,SAAS,qBAAqB,MAAqB;AACxD,MAAI,UAAU;AACd,MAAI,OAAO;AAEX,MAAI,KAAK,CAAC,aAAa,MAAM;AAC3B,UAAM,cAAc,MAAM,KAAK,CAAC,CAAC;AACjC,UAAM,YAAY,MAAM,KAAK,CAAC,CAAC;AAE/B,WAAO,UAAU,KAAK,aAAa,IAAI;AACvC,cAAU,KAAK,CAAC,MAAM;AAAA,EACxB,OAAO;AACL,WAAO,KAAK,CAAC;AACb,cAAU,KAAK,CAAC,MAAM;AAAA,EACxB;AAEA,QAAM,EAAE,MAAM,OAAO,SAAS,QAAA,IAAY,gBAAgB,IAAI;AAE9D,QAAM,iBAA2B,CAAA;AAEjC,MAAI,MAAM;AACR,QAAI,SAAS;AACX,qBAAe,KAAK,GAAG,IAAI,IAAI,qBAAqB,KAAK,OAAO,EAAE;AAAA,IACpE,OAAO;AACL,qBAAe;AAAA,QACb,GAAG,IAAI,IAAI,WAAW,MAAM,qBAAqB,KAAK,IAAI,CAAC;AAAA,MAAA;AAAA,IAE/D;AAAA,EACF;AAEA,MAAI,OAAO;AACT,QAAI,SAAS;AACX,qBAAe,KAAK,GAAG,KAAK,IAAI,qBAAqB,MAAM,OAAO,EAAE;AAAA,IACtE,OAAO;AACL,qBAAe;AAAA,QACb,GAAG,KAAK,IAAI,WAAW,OAAO,qBAAqB,MAAM,IAAI,CAAC;AAAA,MAAA;AAAA,IAElE;AAAA,EACF;AAEA,MAAI,SAAS;AACX,QAAI,SAAS;AACX,qBAAe,KAAK,GAAG,OAAO,IAAI,qBAAqB,QAAQ,OAAO,EAAE;AAAA,IAC1E,OAAO;AACL,qBAAe;AAAA,QACb,GAAG,OAAO,IAAI,WAAW,SAAS,qBAAqB,QAAQ,IAAI,CAAC;AAAA,MAAA;AAAA,IAExE;AAAA,EACF;AAEA,MAAI,SAAS;AACX,QAAI,SAAS;AACX,qBAAe,KAAK,GAAG,OAAO,IAAI,qBAAqB,QAAQ,OAAO,EAAE;AAAA,IAC1E,OAAO;AACL,qBAAe;AAAA,QACb,GAAG,OAAO,IAAI,WAAW,SAAS,qBAAqB,QAAQ,IAAI,CAAC;AAAA,MAAA;AAAA,IAExE;AAAA,EACF;AAEA,SAAO,eAAe,KAAK,GAAG;AAChC;AAUO,MAAM,cAAc,CACzB,OACA,UACa;AACb,QAAM,WAAW,YAAY,KAAK,GAAG,OAAA;AACrC,QAAM,YAAY,YAAY,KAAK,GAAG,OAAA;AAEtC,MAAI,CAAC,YAAY,CAAC,WAAW;AAC3B,WAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO,EAAE,IAAI,GAAG,OAAO,EAAA;AAAA,IAAE;AAAA,EAE7B;AAEA,QAAM,SAAS,SAAS,QAAA,IAAY,UAAU,QAAA;AAE9C,SAAO;AAAA,IACL,SAAS,KAAK,IAAI,KAAK,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;AAAA,IACtD,SAAS,KAAK,IAAI,KAAK,MAAO,SAAS,GAAG,GAAG,KAAK,IAAK,GAAI,GAAG,CAAC;AAAA,IAC/D,OAAO;AAAA,MACL,OAAO,KAAK,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC;AAAA,MACxC,IAAI;AAAA,IAAA;AAAA,EACN;AAEJ;AAEO,MAAM,UAAU,CAAC,MAAuB,UAC7C,YAAY,IAAI,GAAG,IAAI,OAAO,GAAG,EAAE,OAAA;AAE9B,MAAM,eAAe,CAAC,MAAuB,UAClD,YAAY,IAAI,GAAG,SAAS,OAAO,GAAG,EAAE,OAAA;AAEnC,MAAM,aAAa,CAAC,MAAuB,UAChD,YAAY,IAAI,GAAG,IAAI,OAAO,GAAG,EAAE,OAAA;AAE9B,MAAM,aAAa,CAAC,MAAuB,YAChD,YAAY,IAAI,GAAG,IAAI,KAAK,OAAO,EAAE,OAAA;AAEhC,MAAM,WAAW,CAAC,MAAuB,UAC9C,YAAY,IAAI,GAAG,IAAI,KAAK,KAAK,EAAE,OAAA;","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"date-time.js","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}));","import 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\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\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\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\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\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};\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\nexport const addDays = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.add(count, 'd').toDate();\n\nexport const subtractDays = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.subtract(count, 'd').toDate();\n\nexport const addMinutes = (date: RawDateToFormat, count: number) =>\n toLibFormat(date)?.add(count, 'm').toDate();\n\nexport const setMinutes = (date: RawDateToFormat, minutes: number) =>\n toLibFormat(date)?.set('m', minutes).toDate();\n\nexport const setHours = (date: RawDateToFormat, hours: number) =>\n toLibFormat(date)?.set('h', hours).toDate();\n"],"names":["this","t","s","n","l","i","e","r","y","o","u","d","a","h","require$$0","_"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
package/format.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.cjs","sources":["../src/format/constants.ts","../src/format/number.ts","../src/format/percent.ts","../src/format/skip-spaces.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"format.cjs","sources":["../src/format/constants.ts","../src/format/number.ts","../src/format/percent.ts","../src/format/skip-spaces.ts"],"sourcesContent":["/**\n * Placeholder shown when a formatter cannot produce a meaningful value.\n *\n * @example\n * ```ts\n * const fallback = NO_VALUE;\n * ```\n *\n * @example\n * ```ts\n * format.number(null, { emptyText: NO_VALUE });\n * ```\n */\nexport const NO_VALUE = '–'; // en-dash\n\n/**\n * Plain ASCII hyphen character.\n *\n * @example\n * ```ts\n * const separator = HYPHEN;\n * ```\n *\n * @example\n * ```ts\n * `foo${HYPHEN}bar`;\n * ```\n */\nexport const HYPHEN = '-';\n\n/**\n * Infinity symbol used by numeric formatters and UI output.\n *\n * @example\n * ```ts\n * const label = INFINITY;\n * ```\n *\n * @example\n * ```ts\n * `${INFINITY} items`;\n * ```\n */\nexport const INFINITY = '∞';\n","import { parser } from 'yummies/parser';\nimport { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/types';\nimport { NO_VALUE } from './constants.js';\n\nexport interface NumberFormatSettings {\n delimiter?: string;\n /**\n * digitsOnlyForFloat - Show digits after decimal point only if they are not zeros after converting to number.\n * Example: \"0.00\" -> \"0\", \"0.10\" -> \"0.1\", but \"0.003\" -> \"0.003\"\n *\n * @default true\n */\n digitsOnlyForFloat?: boolean;\n /**\n * Text which will be returned if the value is undefined, null, NaN, Infinity or empty string.\n * Example: \"–\" will be returned if the value is undefined and emptyText is \"–\".\n */\n emptyText?: string;\n /**\n * Text to append to the end of the formatted number.\n * Example: if value is 1000 and postfix is \"₽\", result will be \"1 000₽\".\n */\n postfix?: string;\n /**\n * Fixed number of digits after the decimal point (number.toFixed() method)\n * If set to false, the truncation is ignored!\n */\n digits?: number | false;\n /**\n * Remove trailing zeros from the end of the number\n * Example: 0.010000000000000000000000000000000000000000000 -> 0.01\n */\n cutZeros?: boolean;\n cropDigitsOnly?: boolean;\n}\n\n/**\n * Formats a numeric value with thousands separators, fractional digit control\n * and optional postfix text.\n *\n * Invalid, empty or unsupported values fall back to `emptyText`.\n *\n * @param rawValue Number or numeric string to format.\n * @param userSettings Formatting overrides merged with `number.defaultSettings`.\n * @returns Formatted number string or fallback text.\n *\n * @example\n * ```ts\n * number(12000); // '12 000'\n * ```\n *\n * @example\n * ```ts\n * number(12.5, { digits: 1, postfix: '%' }); // '12.5%'\n * ```\n */\nexport const number = (\n rawValue: Maybe<string | number>,\n userSettings?: Maybe<NumberFormatSettings>,\n): string => {\n const settings = {\n ...number.defaultSettings,\n ...userSettings,\n };\n\n const digits = settings.digits ?? 0;\n const cutZeros = settings?.cutZeros ?? false;\n const delimiter = settings.delimiter ?? ' ';\n const postfix = settings.postfix ?? '';\n const emptyText = settings.emptyText ?? NO_VALUE;\n const digitsOnlyForFloat = settings.digitsOnlyForFloat ?? true;\n\n let value: Maybe<number>;\n\n if (typeGuard.isString(rawValue)) {\n value = parser.number(value, { fallback: undefined });\n } else {\n value = rawValue;\n }\n\n if (typeGuard.isNumber(value)) {\n let raw: string = `${value}`;\n\n if (digits !== false) {\n if (settings.cropDigitsOnly) {\n const [integerPart, decimalPart] = `${raw}`.split('.');\n const leftPart = integerPart;\n const rightPart = (decimalPart || '')\n .slice(0, digits)\n .padEnd(digits, '0');\n\n if (rightPart) {\n raw = `${leftPart}.${rightPart}`;\n } else {\n raw = leftPart;\n }\n } else {\n raw = value.toFixed(digits);\n }\n }\n\n if (cutZeros) {\n raw = `${+raw}`;\n }\n\n const [integerPart, decimalPart] = raw.split('.', 2);\n\n let formattedIntegerPart = integerPart;\n let formattedDecimalPart = '';\n\n if (decimalPart && (!digitsOnlyForFloat || !/^0+$/.test(decimalPart))) {\n formattedDecimalPart = `.${decimalPart}`;\n }\n\n const rgx = /(\\d+)(\\d{3})/;\n\n while (rgx.test(formattedIntegerPart) && delimiter) {\n formattedIntegerPart = formattedIntegerPart.replace(\n rgx,\n `$1${delimiter}$2`,\n );\n }\n\n return formattedIntegerPart + formattedDecimalPart + postfix;\n }\n\n return emptyText;\n};\n\nnumber.defaultSettings = {} as NumberFormatSettings;\n","import { parser } from 'yummies/parser';\nimport { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/types';\n\nimport { NO_VALUE } from './constants.js';\n\nexport interface PercentFormatSettings\n extends Omit<parser.NumberParserSettings, 'fallback'> {\n divider?: string;\n delimiter?: string;\n symbol?: string;\n emptyText?: string;\n}\n\n/**\n * Formats a value as a percent string with configurable decimal precision,\n * decimal divider and suffix symbol.\n *\n * @param value Number or numeric string to format.\n * @param settings Parser and formatting options.\n * @returns Formatted percent string or fallback text for invalid values.\n *\n * @example\n * ```ts\n * percent(12.345); // '12.35%'\n * ```\n *\n * @example\n * ```ts\n * percent(12.345, { divider: ',', symbol: ' pct' }); // '12,35 pct'\n * ```\n */\nexport const percent = (\n value: Maybe<number | string>,\n settings?: PercentFormatSettings,\n) => {\n const numericValue = parser.number(value, {\n ...settings,\n digits: settings?.digits ?? 2,\n fallback: Number.NaN,\n });\n\n if (typeGuard.isNumber(numericValue)) {\n const divider = settings?.divider ?? '.';\n\n const formattedPercent =\n divider === '.' ? numericValue : `${numericValue}`.replace('.', divider);\n\n return `${formattedPercent}${settings?.delimiter ?? ''}${settings?.symbol ?? '%'}`;\n } else {\n return settings?.emptyText ?? NO_VALUE;\n }\n};\n","/**\n * Removes all whitespace characters from a string.\n *\n * @param value Source string.\n * @returns String without spaces, tabs and line breaks.\n *\n * @example\n * ```ts\n * skipSpaces('1 000 000'); // '1000000'\n * ```\n *\n * @example\n * ```ts\n * skipSpaces('a\\tb\\nc'); // 'abc'\n * ```\n */\nexport const skipSpaces = (value: string) => value.replaceAll(/\\s/g, '');\n"],"names":["typeGuard","parser","integerPart","decimalPart"],"mappings":";;;;AAaO,MAAM,WAAW;AAejB,MAAM,SAAS;AAef,MAAM,WAAW;ACcjB,MAAM,SAAS,CACpB,UACA,iBACW;AACX,QAAM,WAAW;AAAA,IACf,GAAG,OAAO;AAAA,IACV,GAAG;AAAA,EAAA;AAGL,QAAM,SAAS,SAAS,UAAU;AAClC,QAAM,WAAW,UAAU,YAAY;AACvC,QAAM,YAAY,SAAS,aAAa;AACxC,QAAM,UAAU,SAAS,WAAW;AACpC,QAAM,YAAY,SAAS,aAAa;AACxC,QAAM,qBAAqB,SAAS,sBAAsB;AAE1D,MAAI;AAEJ,MAAIA,UAAAA,UAAU,SAAS,QAAQ,GAAG;AAChC,YAAQC,OAAAA,OAAO,OAAO,OAAO,EAAE,UAAU,QAAW;AAAA,EACtD,OAAO;AACL,YAAQ;AAAA,EACV;AAEA,MAAID,UAAAA,UAAU,SAAS,KAAK,GAAG;AAC7B,QAAI,MAAc,GAAG,KAAK;AAE1B,QAAI,WAAW,OAAO;AACpB,UAAI,SAAS,gBAAgB;AAC3B,cAAM,CAACE,cAAaC,YAAW,IAAI,GAAG,GAAG,GAAG,MAAM,GAAG;AACrD,cAAM,WAAWD;AACjB,cAAM,aAAaC,gBAAe,IAC/B,MAAM,GAAG,MAAM,EACf,OAAO,QAAQ,GAAG;AAErB,YAAI,WAAW;AACb,gBAAM,GAAG,QAAQ,IAAI,SAAS;AAAA,QAChC,OAAO;AACL,gBAAM;AAAA,QACR;AAAA,MACF,OAAO;AACL,cAAM,MAAM,QAAQ,MAAM;AAAA,MAC5B;AAAA,IACF;AAEA,QAAI,UAAU;AACZ,YAAM,GAAG,CAAC,GAAG;AAAA,IACf;AAEA,UAAM,CAAC,aAAa,WAAW,IAAI,IAAI,MAAM,KAAK,CAAC;AAEnD,QAAI,uBAAuB;AAC3B,QAAI,uBAAuB;AAE3B,QAAI,gBAAgB,CAAC,sBAAsB,CAAC,OAAO,KAAK,WAAW,IAAI;AACrE,6BAAuB,IAAI,WAAW;AAAA,IACxC;AAEA,UAAM,MAAM;AAEZ,WAAO,IAAI,KAAK,oBAAoB,KAAK,WAAW;AAClD,6BAAuB,qBAAqB;AAAA,QAC1C;AAAA,QACA,KAAK,SAAS;AAAA,MAAA;AAAA,IAElB;AAEA,WAAO,uBAAuB,uBAAuB;AAAA,EACvD;AAEA,SAAO;AACT;AAEA,OAAO,kBAAkB,CAAA;AClGlB,MAAM,UAAU,CACrB,OACA,aACG;AACH,QAAM,eAAeF,OAAAA,OAAO,OAAO,OAAO;AAAA,IACxC,GAAG;AAAA,IACH,QAAQ,UAAU,UAAU;AAAA,IAC5B,UAAU,OAAO;AAAA,EAAA,CAClB;AAED,MAAID,UAAAA,UAAU,SAAS,YAAY,GAAG;AACpC,UAAM,UAAU,UAAU,WAAW;AAErC,UAAM,mBACJ,YAAY,MAAM,eAAe,GAAG,YAAY,GAAG,QAAQ,KAAK,OAAO;AAEzE,WAAO,GAAG,gBAAgB,GAAG,UAAU,aAAa,EAAE,GAAG,UAAU,UAAU,GAAG;AAAA,EAClF,OAAO;AACL,WAAO,UAAU,aAAa;AAAA,EAChC;AACF;ACpCO,MAAM,aAAa,CAAC,UAAkB,MAAM,WAAW,OAAO,EAAE;;;;;;;;;;;"}
|
package/format.d.ts
CHANGED
|
@@ -1,8 +1,47 @@
|
|
|
1
1
|
import { Maybe } from 'yummies/types';
|
|
2
2
|
import { parser } from 'yummies/parser';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Placeholder shown when a formatter cannot produce a meaningful value.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* const fallback = NO_VALUE;
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* format.number(null, { emptyText: NO_VALUE });
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
4
17
|
declare const NO_VALUE = "\u2013";
|
|
18
|
+
/**
|
|
19
|
+
* Plain ASCII hyphen character.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const separator = HYPHEN;
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* `foo${HYPHEN}bar`;
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
5
31
|
declare const HYPHEN = "-";
|
|
32
|
+
/**
|
|
33
|
+
* Infinity symbol used by numeric formatters and UI output.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* const label = INFINITY;
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* `${INFINITY} items`;
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
6
45
|
declare const INFINITY = "\u221E";
|
|
7
46
|
|
|
8
47
|
interface NumberFormatSettings {
|
|
@@ -36,6 +75,26 @@ interface NumberFormatSettings {
|
|
|
36
75
|
cutZeros?: boolean;
|
|
37
76
|
cropDigitsOnly?: boolean;
|
|
38
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Formats a numeric value with thousands separators, fractional digit control
|
|
80
|
+
* and optional postfix text.
|
|
81
|
+
*
|
|
82
|
+
* Invalid, empty or unsupported values fall back to `emptyText`.
|
|
83
|
+
*
|
|
84
|
+
* @param rawValue Number or numeric string to format.
|
|
85
|
+
* @param userSettings Formatting overrides merged with `number.defaultSettings`.
|
|
86
|
+
* @returns Formatted number string or fallback text.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```ts
|
|
90
|
+
* number(12000); // '12 000'
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```ts
|
|
95
|
+
* number(12.5, { digits: 1, postfix: '%' }); // '12.5%'
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
39
98
|
declare const number: {
|
|
40
99
|
(rawValue: Maybe<string | number>, userSettings?: Maybe<NumberFormatSettings>): string;
|
|
41
100
|
defaultSettings: NumberFormatSettings;
|
|
@@ -48,14 +107,40 @@ interface PercentFormatSettings extends Omit<parser.NumberParserSettings, 'fallb
|
|
|
48
107
|
emptyText?: string;
|
|
49
108
|
}
|
|
50
109
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
110
|
+
* Formats a value as a percent string with configurable decimal precision,
|
|
111
|
+
* decimal divider and suffix symbol.
|
|
112
|
+
*
|
|
113
|
+
* @param value Number or numeric string to format.
|
|
114
|
+
* @param settings Parser and formatting options.
|
|
115
|
+
* @returns Formatted percent string or fallback text for invalid values.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```ts
|
|
119
|
+
* percent(12.345); // '12.35%'
|
|
120
|
+
* ```
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```ts
|
|
124
|
+
* percent(12.345, { divider: ',', symbol: ' pct' }); // '12,35 pct'
|
|
125
|
+
* ```
|
|
54
126
|
*/
|
|
55
127
|
declare const percent: (value: Maybe<number | string>, settings?: PercentFormatSettings) => string;
|
|
56
128
|
|
|
57
129
|
/**
|
|
58
|
-
* Removes all
|
|
130
|
+
* Removes all whitespace characters from a string.
|
|
131
|
+
*
|
|
132
|
+
* @param value Source string.
|
|
133
|
+
* @returns String without spaces, tabs and line breaks.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```ts
|
|
137
|
+
* skipSpaces('1 000 000'); // '1000000'
|
|
138
|
+
* ```
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```ts
|
|
142
|
+
* skipSpaces('a\tb\nc'); // 'abc'
|
|
143
|
+
* ```
|
|
59
144
|
*/
|
|
60
145
|
declare const skipSpaces: (value: string) => string;
|
|
61
146
|
|
package/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sources":["../src/format/constants.ts","../src/format/number.ts","../src/format/percent.ts","../src/format/skip-spaces.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"format.js","sources":["../src/format/constants.ts","../src/format/number.ts","../src/format/percent.ts","../src/format/skip-spaces.ts"],"sourcesContent":["/**\n * Placeholder shown when a formatter cannot produce a meaningful value.\n *\n * @example\n * ```ts\n * const fallback = NO_VALUE;\n * ```\n *\n * @example\n * ```ts\n * format.number(null, { emptyText: NO_VALUE });\n * ```\n */\nexport const NO_VALUE = '–'; // en-dash\n\n/**\n * Plain ASCII hyphen character.\n *\n * @example\n * ```ts\n * const separator = HYPHEN;\n * ```\n *\n * @example\n * ```ts\n * `foo${HYPHEN}bar`;\n * ```\n */\nexport const HYPHEN = '-';\n\n/**\n * Infinity symbol used by numeric formatters and UI output.\n *\n * @example\n * ```ts\n * const label = INFINITY;\n * ```\n *\n * @example\n * ```ts\n * `${INFINITY} items`;\n * ```\n */\nexport const INFINITY = '∞';\n","import { parser } from 'yummies/parser';\nimport { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/types';\nimport { NO_VALUE } from './constants.js';\n\nexport interface NumberFormatSettings {\n delimiter?: string;\n /**\n * digitsOnlyForFloat - Show digits after decimal point only if they are not zeros after converting to number.\n * Example: \"0.00\" -> \"0\", \"0.10\" -> \"0.1\", but \"0.003\" -> \"0.003\"\n *\n * @default true\n */\n digitsOnlyForFloat?: boolean;\n /**\n * Text which will be returned if the value is undefined, null, NaN, Infinity or empty string.\n * Example: \"–\" will be returned if the value is undefined and emptyText is \"–\".\n */\n emptyText?: string;\n /**\n * Text to append to the end of the formatted number.\n * Example: if value is 1000 and postfix is \"₽\", result will be \"1 000₽\".\n */\n postfix?: string;\n /**\n * Fixed number of digits after the decimal point (number.toFixed() method)\n * If set to false, the truncation is ignored!\n */\n digits?: number | false;\n /**\n * Remove trailing zeros from the end of the number\n * Example: 0.010000000000000000000000000000000000000000000 -> 0.01\n */\n cutZeros?: boolean;\n cropDigitsOnly?: boolean;\n}\n\n/**\n * Formats a numeric value with thousands separators, fractional digit control\n * and optional postfix text.\n *\n * Invalid, empty or unsupported values fall back to `emptyText`.\n *\n * @param rawValue Number or numeric string to format.\n * @param userSettings Formatting overrides merged with `number.defaultSettings`.\n * @returns Formatted number string or fallback text.\n *\n * @example\n * ```ts\n * number(12000); // '12 000'\n * ```\n *\n * @example\n * ```ts\n * number(12.5, { digits: 1, postfix: '%' }); // '12.5%'\n * ```\n */\nexport const number = (\n rawValue: Maybe<string | number>,\n userSettings?: Maybe<NumberFormatSettings>,\n): string => {\n const settings = {\n ...number.defaultSettings,\n ...userSettings,\n };\n\n const digits = settings.digits ?? 0;\n const cutZeros = settings?.cutZeros ?? false;\n const delimiter = settings.delimiter ?? ' ';\n const postfix = settings.postfix ?? '';\n const emptyText = settings.emptyText ?? NO_VALUE;\n const digitsOnlyForFloat = settings.digitsOnlyForFloat ?? true;\n\n let value: Maybe<number>;\n\n if (typeGuard.isString(rawValue)) {\n value = parser.number(value, { fallback: undefined });\n } else {\n value = rawValue;\n }\n\n if (typeGuard.isNumber(value)) {\n let raw: string = `${value}`;\n\n if (digits !== false) {\n if (settings.cropDigitsOnly) {\n const [integerPart, decimalPart] = `${raw}`.split('.');\n const leftPart = integerPart;\n const rightPart = (decimalPart || '')\n .slice(0, digits)\n .padEnd(digits, '0');\n\n if (rightPart) {\n raw = `${leftPart}.${rightPart}`;\n } else {\n raw = leftPart;\n }\n } else {\n raw = value.toFixed(digits);\n }\n }\n\n if (cutZeros) {\n raw = `${+raw}`;\n }\n\n const [integerPart, decimalPart] = raw.split('.', 2);\n\n let formattedIntegerPart = integerPart;\n let formattedDecimalPart = '';\n\n if (decimalPart && (!digitsOnlyForFloat || !/^0+$/.test(decimalPart))) {\n formattedDecimalPart = `.${decimalPart}`;\n }\n\n const rgx = /(\\d+)(\\d{3})/;\n\n while (rgx.test(formattedIntegerPart) && delimiter) {\n formattedIntegerPart = formattedIntegerPart.replace(\n rgx,\n `$1${delimiter}$2`,\n );\n }\n\n return formattedIntegerPart + formattedDecimalPart + postfix;\n }\n\n return emptyText;\n};\n\nnumber.defaultSettings = {} as NumberFormatSettings;\n","import { parser } from 'yummies/parser';\nimport { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/types';\n\nimport { NO_VALUE } from './constants.js';\n\nexport interface PercentFormatSettings\n extends Omit<parser.NumberParserSettings, 'fallback'> {\n divider?: string;\n delimiter?: string;\n symbol?: string;\n emptyText?: string;\n}\n\n/**\n * Formats a value as a percent string with configurable decimal precision,\n * decimal divider and suffix symbol.\n *\n * @param value Number or numeric string to format.\n * @param settings Parser and formatting options.\n * @returns Formatted percent string or fallback text for invalid values.\n *\n * @example\n * ```ts\n * percent(12.345); // '12.35%'\n * ```\n *\n * @example\n * ```ts\n * percent(12.345, { divider: ',', symbol: ' pct' }); // '12,35 pct'\n * ```\n */\nexport const percent = (\n value: Maybe<number | string>,\n settings?: PercentFormatSettings,\n) => {\n const numericValue = parser.number(value, {\n ...settings,\n digits: settings?.digits ?? 2,\n fallback: Number.NaN,\n });\n\n if (typeGuard.isNumber(numericValue)) {\n const divider = settings?.divider ?? '.';\n\n const formattedPercent =\n divider === '.' ? numericValue : `${numericValue}`.replace('.', divider);\n\n return `${formattedPercent}${settings?.delimiter ?? ''}${settings?.symbol ?? '%'}`;\n } else {\n return settings?.emptyText ?? NO_VALUE;\n }\n};\n","/**\n * Removes all whitespace characters from a string.\n *\n * @param value Source string.\n * @returns String without spaces, tabs and line breaks.\n *\n * @example\n * ```ts\n * skipSpaces('1 000 000'); // '1000000'\n * ```\n *\n * @example\n * ```ts\n * skipSpaces('a\\tb\\nc'); // 'abc'\n * ```\n */\nexport const skipSpaces = (value: string) => value.replaceAll(/\\s/g, '');\n"],"names":["integerPart","decimalPart"],"mappings":";;AAaO,MAAM,WAAW;AAejB,MAAM,SAAS;AAef,MAAM,WAAW;ACcjB,MAAM,SAAS,CACpB,UACA,iBACW;AACX,QAAM,WAAW;AAAA,IACf,GAAG,OAAO;AAAA,IACV,GAAG;AAAA,EAAA;AAGL,QAAM,SAAS,SAAS,UAAU;AAClC,QAAM,WAAW,UAAU,YAAY;AACvC,QAAM,YAAY,SAAS,aAAa;AACxC,QAAM,UAAU,SAAS,WAAW;AACpC,QAAM,YAAY,SAAS,aAAa;AACxC,QAAM,qBAAqB,SAAS,sBAAsB;AAE1D,MAAI;AAEJ,MAAI,UAAU,SAAS,QAAQ,GAAG;AAChC,YAAQ,OAAO,OAAO,OAAO,EAAE,UAAU,QAAW;AAAA,EACtD,OAAO;AACL,YAAQ;AAAA,EACV;AAEA,MAAI,UAAU,SAAS,KAAK,GAAG;AAC7B,QAAI,MAAc,GAAG,KAAK;AAE1B,QAAI,WAAW,OAAO;AACpB,UAAI,SAAS,gBAAgB;AAC3B,cAAM,CAACA,cAAaC,YAAW,IAAI,GAAG,GAAG,GAAG,MAAM,GAAG;AACrD,cAAM,WAAWD;AACjB,cAAM,aAAaC,gBAAe,IAC/B,MAAM,GAAG,MAAM,EACf,OAAO,QAAQ,GAAG;AAErB,YAAI,WAAW;AACb,gBAAM,GAAG,QAAQ,IAAI,SAAS;AAAA,QAChC,OAAO;AACL,gBAAM;AAAA,QACR;AAAA,MACF,OAAO;AACL,cAAM,MAAM,QAAQ,MAAM;AAAA,MAC5B;AAAA,IACF;AAEA,QAAI,UAAU;AACZ,YAAM,GAAG,CAAC,GAAG;AAAA,IACf;AAEA,UAAM,CAAC,aAAa,WAAW,IAAI,IAAI,MAAM,KAAK,CAAC;AAEnD,QAAI,uBAAuB;AAC3B,QAAI,uBAAuB;AAE3B,QAAI,gBAAgB,CAAC,sBAAsB,CAAC,OAAO,KAAK,WAAW,IAAI;AACrE,6BAAuB,IAAI,WAAW;AAAA,IACxC;AAEA,UAAM,MAAM;AAEZ,WAAO,IAAI,KAAK,oBAAoB,KAAK,WAAW;AAClD,6BAAuB,qBAAqB;AAAA,QAC1C;AAAA,QACA,KAAK,SAAS;AAAA,MAAA;AAAA,IAElB;AAEA,WAAO,uBAAuB,uBAAuB;AAAA,EACvD;AAEA,SAAO;AACT;AAEA,OAAO,kBAAkB,CAAA;AClGlB,MAAM,UAAU,CACrB,OACA,aACG;AACH,QAAM,eAAe,OAAO,OAAO,OAAO;AAAA,IACxC,GAAG;AAAA,IACH,QAAQ,UAAU,UAAU;AAAA,IAC5B,UAAU,OAAO;AAAA,EAAA,CAClB;AAED,MAAI,UAAU,SAAS,YAAY,GAAG;AACpC,UAAM,UAAU,UAAU,WAAW;AAErC,UAAM,mBACJ,YAAY,MAAM,eAAe,GAAG,YAAY,GAAG,QAAQ,KAAK,OAAO;AAEzE,WAAO,GAAG,gBAAgB,GAAG,UAAU,aAAa,EAAE,GAAG,UAAU,UAAU,GAAG;AAAA,EAClF,OAAO;AACL,WAAO,UAAU,aAAa;AAAA,EAChC;AACF;ACpCO,MAAM,aAAa,CAAC,UAAkB,MAAM,WAAW,OAAO,EAAE;;;;;;;;;;"}
|
package/html.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.cjs","sources":["../src/html.ts"],"sourcesContent":["import DOMPurify, { type Config as DOMPurifyConfig } from 'dompurify';\nimport { blobToUrl } from 'yummies/media';\nimport type { Maybe } from 'yummies/types';\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"html.cjs","sources":["../src/html.ts"],"sourcesContent":["import DOMPurify, { type Config as DOMPurifyConfig } from 'dompurify';\nimport { blobToUrl } from 'yummies/media';\nimport type { Maybe } from 'yummies/types';\n\n/**\n * Extracts an RGB value from any valid CSS color.\n *\n * Not recommended for frequent use because it triggers a reflow.\n */\nexport const getComputedColor = (color?: string): string | null => {\n if (!color) return null;\n\n const d = document.createElement('div');\n d.style.color = color;\n document.body.append(d);\n const rgbcolor = globalThis.getComputedStyle(d).color;\n const match =\n /rgba?\\((\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*\\d+[.d+]*)*\\)/g.exec(rgbcolor);\n\n d.remove();\n\n if (!match) return null;\n\n return `${match[1]}, ${match[2]}, ${match[3]}`;\n};\n\nexport const downloadUsingAnchor = (\n urlOrBlob: string | Blob,\n fileName?: string,\n) => {\n const url = blobToUrl(urlOrBlob);\n\n const a = document.createElement('a');\n a.href = url;\n\n a.download = fileName ?? 'file';\n\n a.target = '_blank';\n\n document.body.append(a);\n\n a.click();\n\n a.remove();\n};\n\n/**\n * Surrounds string in an anchor tag\n */\nexport function wrapTextToTagLink(link: string) {\n const descr = String(link).replace(/^(https?:\\/{0,2})?(w{3}\\.)?/, 'www.');\n if (!/^https?:\\/{2}/.test(link)) link = `http://${link}`;\n return `<a href=${link} target=\"_blank\">${descr}</a>`;\n}\n\nexport const collectOffsetTop = (element: HTMLElement | null) => {\n let offsetTop = 0;\n let node = element;\n\n while (node != null) {\n offsetTop += node.offsetTop;\n node = node.parentElement;\n }\n\n return offsetTop;\n};\n\nexport const skipEvent = (e: Event) => {\n e.preventDefault();\n e.stopPropagation();\n\n return false;\n};\n\nexport const globalScrollIntoViewForY = (node: HTMLElement) => {\n const scrollContainer = document.body;\n const pageHeight = window.innerHeight;\n const nodeBounding = node.getBoundingClientRect();\n const scrollPagesCount = scrollContainer.scrollHeight / pageHeight;\n\n const scrollPageNumber = Math.min(\n Math.max(nodeBounding.top / pageHeight, 1),\n scrollPagesCount,\n );\n\n window.scroll({\n top: scrollPageNumber * pageHeight,\n behavior: 'smooth',\n });\n};\n\nconst sanitizeDefaults: DOMPurifyConfig = {\n ALLOWED_TAGS: [\n 'a',\n 'article',\n 'b',\n 'blockquote',\n 'br',\n 'caption',\n 'code',\n 'del',\n 'details',\n 'div',\n 'em',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'hr',\n 'i',\n 'img',\n 'ins',\n 'kbd',\n 'li',\n 'main',\n 'ol',\n 'p',\n 'pre',\n 'section',\n 'span',\n 'strong',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'th',\n 'thead',\n 'tr',\n 'u',\n 'ul',\n ],\n ALLOWED_ATTR: ['href', 'target', 'name', 'src', 'class'],\n};\n\nexport const sanitizeHtml = (html: Maybe<string>, config?: DOMPurifyConfig) => {\n return DOMPurify.sanitize(html || '', {\n ...sanitizeDefaults,\n ...config,\n });\n};\n\nexport const checkElementHasParent = (\n element: HTMLElement | null,\n parent: Maybe<HTMLElement>,\n) => {\n let node = element;\n\n if (!parent) return false;\n\n while (node != null) {\n if (node === parent) {\n return true;\n } else {\n node = node.parentElement;\n }\n }\n\n return false;\n};\n\n/**\n * Executes a function within a view transition if supported by the browser.\n *\n * @param {VoidFunction} fn - The function to be executed.\n * @returns {ViewTransition} - The result of the executed function.\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Document/startViewTransition | MDN: Document.startViewTransition}\n */\nexport const startViewTransitionSafety = (\n fn: VoidFunction,\n params?: { disabled?: boolean },\n) => {\n if (\n typeof document !== 'undefined' &&\n document.startViewTransition &&\n !params?.disabled\n ) {\n return document.startViewTransition(fn);\n }\n fn();\n};\n\n/**\n * Calculates the scrollbar width.\n */\nexport const calcScrollbarWidth = (elementToAppend = document.body) => {\n const outer = document.createElement('div');\n\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n outer.style.overflow = 'scroll';\n\n elementToAppend.append(outer);\n\n const inner = document.createElement('div');\n inner.style.width = '100%';\n\n outer.append(inner);\n\n const scrollbarWidth = outer.offsetWidth - inner.offsetWidth;\n\n outer.parentNode?.removeChild(outer);\n\n return scrollbarWidth;\n};\n\n/**\n * Calculates the inner height of an HTML element, accounting for padding.\n */\nexport function getElementInnerHeight(element: HTMLElement) {\n const { clientHeight } = element;\n const { paddingTop, paddingBottom } = getComputedStyle(element);\n return (\n clientHeight -\n Number.parseFloat(paddingTop) -\n Number.parseFloat(paddingBottom)\n );\n}\n\n/**\n * Calculates the inner width of an HTML element, accounting for padding.\n */\nexport function getElementInnerWidth(el: HTMLElement) {\n const { clientWidth } = el;\n const { paddingLeft, paddingRight } = getComputedStyle(el);\n return (\n clientWidth -\n Number.parseFloat(paddingLeft) -\n Number.parseFloat(paddingRight)\n );\n}\n\nexport const isPrefersDarkTheme = () =>\n !!globalThis.matchMedia?.('(prefers-color-scheme: dark)')?.matches;\n\nexport const isPrefersLightTheme = () =>\n !!globalThis.matchMedia?.('(prefers-color-scheme: light)')?.matches;\n"],"names":["blobToUrl"],"mappings":"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"}
|