@herowcode/utils 1.5.1 → 1.5.3

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.
Files changed (87) hide show
  1. package/dist/api/{index.d.mts → index.d.cts} +1 -1
  2. package/dist/chunk-6IYD4APX.js +28 -0
  3. package/dist/chunk-6IYD4APX.js.map +1 -0
  4. package/dist/chunk-7X4LRL26.js +103 -0
  5. package/dist/chunk-7X4LRL26.js.map +1 -0
  6. package/dist/chunk-D3RLXVKJ.cjs +30 -0
  7. package/dist/chunk-D3RLXVKJ.cjs.map +1 -0
  8. package/dist/{chunk-AQZBHMTO.js → chunk-DVHDU327.js} +16 -26
  9. package/dist/chunk-DVHDU327.js.map +1 -0
  10. package/dist/chunk-KWMJV4VK.cjs +110 -0
  11. package/dist/chunk-KWMJV4VK.cjs.map +1 -0
  12. package/dist/{chunk-UXEUYHBD.cjs → chunk-LN36GFUC.cjs} +12 -12
  13. package/dist/chunk-LN36GFUC.cjs.map +1 -0
  14. package/dist/{chunk-SLYUARZG.cjs → chunk-SLDBIYI4.cjs} +16 -26
  15. package/dist/chunk-SLDBIYI4.cjs.map +1 -0
  16. package/dist/{chunk-QRXVUXGJ.js → chunk-VQMAN6EZ.js} +12 -12
  17. package/dist/chunk-VQMAN6EZ.js.map +1 -0
  18. package/dist/date/index.cjs +13 -13
  19. package/dist/date/index.js +1 -1
  20. package/dist/download-url-BQ1RPHKW.d.cts +3 -0
  21. package/dist/download-url-BQ1RPHKW.d.ts +3 -0
  22. package/dist/{files/index.node.d.mts → file-exists-ZCP2yARf.d.cts} +1 -3
  23. package/dist/file-exists-ZCP2yARf.d.ts +5 -0
  24. package/dist/files/index.browser.cjs +16 -7
  25. package/dist/files/index.browser.cjs.map +1 -1
  26. package/dist/files/index.browser.d.cts +8 -0
  27. package/dist/files/index.browser.d.ts +5 -11
  28. package/dist/files/index.browser.js +13 -2
  29. package/dist/files/index.browser.js.map +1 -1
  30. package/dist/files/index.cjs +8 -8
  31. package/dist/files/index.d.cts +3 -0
  32. package/dist/files/index.d.ts +3 -3
  33. package/dist/files/index.js +2 -2
  34. package/dist/files/index.node.cjs +11 -3
  35. package/dist/files/index.node.cjs.map +1 -1
  36. package/dist/files/index.node.d.cts +6 -0
  37. package/dist/files/index.node.d.ts +4 -5
  38. package/dist/files/index.node.js +8 -1
  39. package/dist/files/index.node.js.map +1 -1
  40. package/dist/{files/index.browser.d.mts → format-bytes-B0QeE7As.d.cts} +2 -4
  41. package/dist/format-bytes-B0QeE7As.d.ts +12 -0
  42. package/dist/function/{index.d.mts → index.d.cts} +1 -1
  43. package/dist/index.cjs +21 -21
  44. package/dist/index.d.cts +12 -0
  45. package/dist/index.d.ts +4 -4
  46. package/dist/index.js +3 -3
  47. package/dist/nextjs/index.browser.cjs +5 -103
  48. package/dist/nextjs/index.browser.cjs.map +1 -1
  49. package/dist/nextjs/index.browser.js +1 -101
  50. package/dist/nextjs/index.browser.js.map +1 -1
  51. package/dist/nextjs/index.cjs +12 -0
  52. package/dist/nextjs/index.cjs.map +1 -0
  53. package/dist/nextjs/index.d.cts +3 -0
  54. package/dist/nextjs/index.d.ts +3 -0
  55. package/dist/nextjs/index.js +3 -0
  56. package/dist/nextjs/index.js.map +1 -0
  57. package/dist/{youtube/index.node.d.mts → validate-youtube-link-Bfr2jQY8.d.cts} +1 -1
  58. package/dist/validate-youtube-link-Bfr2jQY8.d.ts +49 -0
  59. package/dist/youtube/index.browser.d.cts +2 -0
  60. package/dist/youtube/index.browser.d.ts +1 -1
  61. package/dist/youtube/{index.d.mts → index.d.cts} +1 -1
  62. package/dist/youtube/index.d.ts +1 -1
  63. package/dist/youtube/index.node.cjs +10 -0
  64. package/dist/youtube/index.node.cjs.map +1 -1
  65. package/dist/youtube/index.node.d.cts +7 -0
  66. package/dist/youtube/index.node.d.ts +4 -46
  67. package/dist/youtube/index.node.js +12 -0
  68. package/dist/youtube/index.node.js.map +1 -1
  69. package/package.json +41 -31
  70. package/dist/chunk-AQZBHMTO.js.map +0 -1
  71. package/dist/chunk-GRSF4RY2.cjs +0 -20
  72. package/dist/chunk-GRSF4RY2.cjs.map +0 -1
  73. package/dist/chunk-O7SH3E3T.js +0 -18
  74. package/dist/chunk-O7SH3E3T.js.map +0 -1
  75. package/dist/chunk-QRXVUXGJ.js.map +0 -1
  76. package/dist/chunk-SLYUARZG.cjs.map +0 -1
  77. package/dist/chunk-UXEUYHBD.cjs.map +0 -1
  78. package/dist/files/index.d.mts +0 -3
  79. package/dist/format-bytes-BGjeDnvM.d.mts +0 -3
  80. package/dist/format-bytes-BGjeDnvM.d.ts +0 -3
  81. package/dist/index.d.mts +0 -12
  82. package/dist/youtube/index.browser.d.mts +0 -2
  83. /package/dist/array/{index.d.mts → index.d.cts} +0 -0
  84. /package/dist/date/{index.d.mts → index.d.cts} +0 -0
  85. /package/dist/nextjs/{index.browser.d.mts → index.browser.d.cts} +0 -0
  86. /package/dist/string/{index.d.mts → index.d.cts} +0 -0
  87. /package/dist/{try-catch-B7WzqcPU.d.mts → try-catch-B7WzqcPU.d.cts} +0 -0
package/package.json CHANGED
@@ -1,140 +1,149 @@
1
1
  {
2
2
  "name": "@herowcode/utils",
3
- "version": "1.5.1",
3
+ "version": "1.5.3",
4
4
  "description": "A lightweight collection of utility functions for everyday JavaScript/TypeScript development",
5
+ "type": "module",
5
6
  "main": "dist/index.cjs",
6
7
  "module": "dist/index.js",
7
8
  "types": "dist/index.d.ts",
8
9
  "exports": {
9
10
  ".": {
10
11
  "import": {
11
- "types": "./dist/index.d.mts",
12
+ "types": "./dist/index.d.ts",
12
13
  "default": "./dist/index.js"
13
14
  },
14
15
  "require": {
15
- "types": "./dist/index.d.ts",
16
+ "types": "./dist/index.d.cts",
16
17
  "default": "./dist/index.cjs"
17
18
  }
18
19
  },
19
20
  "./api": {
20
21
  "import": {
21
- "types": "./dist/api/index.d.mts",
22
+ "types": "./dist/api/index.d.ts",
22
23
  "default": "./dist/api/index.js"
23
24
  },
24
25
  "require": {
25
- "types": "./dist/api/index.d.ts",
26
+ "types": "./dist/api/index.d.cts",
26
27
  "default": "./dist/api/index.cjs"
27
28
  }
28
29
  },
29
30
  "./array": {
30
31
  "import": {
31
- "types": "./dist/array/index.d.mts",
32
+ "types": "./dist/array/index.d.ts",
32
33
  "default": "./dist/array/index.js"
33
34
  },
34
35
  "require": {
35
- "types": "./dist/array/index.d.ts",
36
+ "types": "./dist/array/index.d.cts",
36
37
  "default": "./dist/array/index.cjs"
37
38
  }
38
39
  },
39
40
  "./date": {
40
41
  "import": {
41
- "types": "./dist/date/index.d.mts",
42
+ "types": "./dist/date/index.d.ts",
42
43
  "default": "./dist/date/index.js"
43
44
  },
44
45
  "require": {
45
- "types": "./dist/date/index.d.ts",
46
+ "types": "./dist/date/index.d.cts",
46
47
  "default": "./dist/date/index.cjs"
47
48
  }
48
49
  },
49
50
  "./files": {
50
51
  "browser": {
51
52
  "import": {
52
- "types": "./dist/files/index.browser.d.mts",
53
+ "types": "./dist/files/index.browser.d.ts",
53
54
  "default": "./dist/files/index.browser.js"
54
55
  },
55
56
  "require": {
56
- "types": "./dist/files/index.browser.d.ts",
57
+ "types": "./dist/files/index.browser.d.cts",
57
58
  "default": "./dist/files/index.browser.cjs"
58
59
  }
59
60
  },
60
61
  "node": {
61
62
  "import": {
62
- "types": "./dist/files/index.node.d.mts",
63
+ "types": "./dist/files/index.node.d.ts",
63
64
  "default": "./dist/files/index.node.js"
64
65
  },
65
66
  "require": {
66
- "types": "./dist/files/index.node.d.ts",
67
+ "types": "./dist/files/index.node.d.cts",
67
68
  "default": "./dist/files/index.node.cjs"
68
69
  }
69
70
  },
70
71
  "import": {
71
- "types": "./dist/files/index.d.mts",
72
+ "types": "./dist/files/index.d.ts",
72
73
  "default": "./dist/files/index.js"
73
74
  },
74
75
  "require": {
75
- "types": "./dist/files/index.d.ts",
76
+ "types": "./dist/files/index.d.cts",
76
77
  "default": "./dist/files/index.cjs"
77
78
  }
78
79
  },
79
80
  "./function": {
80
81
  "import": {
81
- "types": "./dist/function/index.d.mts",
82
+ "types": "./dist/function/index.d.ts",
82
83
  "default": "./dist/function/index.js"
83
84
  },
84
85
  "require": {
85
- "types": "./dist/function/index.d.ts",
86
+ "types": "./dist/function/index.d.cts",
86
87
  "default": "./dist/function/index.cjs"
87
88
  }
88
89
  },
89
90
  "./nextjs": {
90
91
  "browser": {
91
92
  "import": {
92
- "types": "./dist/nextjs/index.browser.d.mts",
93
+ "types": "./dist/nextjs/index.browser.d.ts",
93
94
  "default": "./dist/nextjs/index.browser.js"
94
95
  },
95
96
  "require": {
96
- "types": "./dist/nextjs/index.browser.d.ts",
97
+ "types": "./dist/nextjs/index.browser.d.cts",
97
98
  "default": "./dist/nextjs/index.browser.cjs"
98
99
  }
100
+ },
101
+ "import": {
102
+ "types": "./dist/nextjs/index.d.ts",
103
+ "default": "./dist/nextjs/index.js"
104
+ },
105
+ "require": {
106
+ "types": "./dist/nextjs/index.d.cts",
107
+ "default": "./dist/nextjs/index.cjs"
99
108
  }
100
109
  },
101
110
  "./string": {
102
111
  "import": {
103
- "types": "./dist/string/index.d.mts",
112
+ "types": "./dist/string/index.d.ts",
104
113
  "default": "./dist/string/index.js"
105
114
  },
106
115
  "require": {
107
- "types": "./dist/string/index.d.ts",
116
+ "types": "./dist/string/index.d.cts",
108
117
  "default": "./dist/string/index.cjs"
109
118
  }
110
119
  },
111
120
  "./youtube": {
112
121
  "browser": {
113
122
  "import": {
114
- "types": "./dist/youtube/index.browser.d.mts",
123
+ "types": "./dist/youtube/index.browser.d.ts",
115
124
  "default": "./dist/youtube/index.browser.js"
116
125
  },
117
126
  "require": {
118
- "types": "./dist/youtube/index.browser.d.ts",
127
+ "types": "./dist/youtube/index.browser.d.cts",
119
128
  "default": "./dist/youtube/index.browser.cjs"
120
129
  }
121
130
  },
122
131
  "node": {
123
132
  "import": {
124
- "types": "./dist/youtube/index.node.d.mts",
133
+ "types": "./dist/youtube/index.node.d.ts",
125
134
  "default": "./dist/youtube/index.node.js"
126
135
  },
127
136
  "require": {
128
- "types": "./dist/youtube/index.node.d.ts",
137
+ "types": "./dist/youtube/index.node.d.cts",
129
138
  "default": "./dist/youtube/index.node.cjs"
130
139
  }
131
140
  },
132
141
  "import": {
133
- "types": "./dist/youtube/index.d.mts",
142
+ "types": "./dist/youtube/index.d.ts",
134
143
  "default": "./dist/youtube/index.js"
135
144
  },
136
145
  "require": {
137
- "types": "./dist/youtube/index.d.ts",
146
+ "types": "./dist/youtube/index.d.cts",
138
147
  "default": "./dist/youtube/index.cjs"
139
148
  }
140
149
  }
@@ -148,11 +157,12 @@
148
157
  "test": "vitest",
149
158
  "test:ui": "vitest --ui",
150
159
  "test:run": "vitest run",
160
+ "test:exports": "node scripts/verify-exports.cjs",
151
161
  "test:coverage": "vitest run --coverage",
152
- "prepublishOnly": "pnpm lint && pnpm test:run && pnpm build",
153
- "version:patch": "pnpm lint && pnpm test:run && pnpm build && npm version patch && git push && git push --tags",
154
- "version:minor": "pnpm lint && pnpm test:run && pnpm build && npm version minor && git push && git push --tags",
155
- "version:major": "pnpm lint && pnpm test:run && pnpm build && npm version major && git push && git push --tags"
162
+ "prepublishOnly": "pnpm lint && pnpm test:run && pnpm build && pnpm test:exports",
163
+ "version:patch": "pnpm lint && pnpm test:run && pnpm build && pnpm test:exports && npm version patch && git push && git push --tags",
164
+ "version:minor": "pnpm lint && pnpm test:run && pnpm build && pnpm test:exports && npm version minor && git push && git push --tags",
165
+ "version:major": "pnpm lint && pnpm test:run && pnpm build && pnpm test:exports && npm version major && git push && git push --tags"
156
166
  },
157
167
  "keywords": [
158
168
  "utils",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/files/compress-image.ts","../src/files/download-url.ts"],"names":[],"mappings":"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","file":"chunk-AQZBHMTO.js","sourcesContent":["interface ICompressImageParams {\n file: File\n maxWidth?: number\n maxHeight?: number\n quality?: number\n allowedFileTypes?: string[]\n}\n\nfunction convertToWebp(filename: string): string {\n const lastDotIndex = filename.lastIndexOf(\".\")\n\n if (lastDotIndex === -1) {\n return `${filename}.webp`\n }\n\n return `${filename.substring(0, lastDotIndex)}.webp`\n}\n\nexport function compressImage({\n file,\n maxWidth = Number.POSITIVE_INFINITY,\n maxHeight = Number.POSITIVE_INFINITY,\n quality = 1,\n allowedFileTypes = [\"image/jpg\", \"image/jpeg\", \"image/png\", \"image/webp\"],\n}: ICompressImageParams) {\n if (!allowedFileTypes.includes(file.type)) {\n throw new Error(\"Image format not supported\")\n }\n\n return new Promise<File>((resolve, reject) => {\n const reader = new FileReader()\n\n reader.onload = (event) => {\n const compressed = new Image()\n\n compressed.onload = () => {\n const canvas = document.createElement(\"canvas\")\n\n let width = compressed.width\n let height = compressed.height\n\n if (width > height) {\n if (width > maxWidth) {\n height *= maxWidth / width\n width = maxWidth\n }\n } else {\n if (height > maxHeight) {\n width *= maxHeight / height\n height = maxHeight\n }\n }\n\n canvas.width = width\n canvas.height = height\n\n const context = canvas.getContext(\"2d\")\n\n if (!context) {\n reject(new Error(\"Failed to get canvas context\"))\n return\n }\n\n context.drawImage(compressed, 0, 0, width, height)\n\n canvas.toBlob(\n (blob) => {\n if (!blob) {\n reject(new Error(\"Failed to compress image.\"))\n return\n }\n\n const compressedFile = new File([blob], convertToWebp(file.name), {\n type: \"image/webp\",\n lastModified: Date.now(),\n })\n\n resolve(compressedFile)\n },\n \"image/webp\",\n quality,\n )\n }\n\n compressed.src = event.target?.result as string\n }\n\n reader.readAsDataURL(file)\n })\n}\n","export const downloadUrl = async (url: string): Promise<boolean> => {\n try {\n const urlObj = new URL(url)\n const pathname = urlObj.pathname\n const segments = pathname.split(\"/\").filter((segment) => segment.length > 0)\n const filename = segments.length > 0 ? segments[segments.length - 1] : null\n\n if (!filename || !filename.includes(\".\")) {\n throw new Error(\"URL does not contain a valid filename\")\n }\n\n const response = await fetch(url, { mode: \"cors\" })\n const blob = await response.blob()\n\n const link = document.createElement(\"a\")\n link.href = window.URL.createObjectURL(blob)\n link.download = filename\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n return true\n } catch (error) {\n console.error(\"Error downloading the file\", error)\n return false\n }\n}\n"]}
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- // src/files/format-bytes.ts
4
- function formatBytes(bytes) {
5
- if (bytes < 0) {
6
- throw new Error("Size in bytes cannot be negative");
7
- }
8
- const units = ["B", "KB", "MB", "GB", "TB", "PB"];
9
- let size = bytes;
10
- let index = 0;
11
- while (size >= 1024 && index < units.length - 1) {
12
- size /= 1024;
13
- index++;
14
- }
15
- return `${size.toFixed(2)} ${units[index]}`;
16
- }
17
-
18
- exports.formatBytes = formatBytes;
19
- //# sourceMappingURL=chunk-GRSF4RY2.cjs.map
20
- //# sourceMappingURL=chunk-GRSF4RY2.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/files/format-bytes.ts"],"names":[],"mappings":";;;AAAO,SAAS,YAAY,KAAA,EAAuB;AACjD,EAAA,IAAI,QAAQ,CAAA,EAAG;AACb,IAAA,MAAM,IAAI,MAAM,kCAAkC,CAAA;AAAA,EACpD;AAEA,EAAA,MAAM,QAAQ,CAAC,GAAA,EAAK,MAAM,IAAA,EAAM,IAAA,EAAM,MAAM,IAAI,CAAA;AAChD,EAAA,IAAI,IAAA,GAAO,KAAA;AACX,EAAA,IAAI,KAAA,GAAQ,CAAA;AAEZ,EAAA,OAAO,IAAA,IAAQ,IAAA,IAAQ,KAAA,GAAQ,KAAA,CAAM,SAAS,CAAA,EAAG;AAC/C,IAAA,IAAA,IAAQ,IAAA;AACR,IAAA,KAAA,EAAA;AAAA,EACF;AAEA,EAAA,OAAO,CAAA,EAAG,KAAK,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAC3C","file":"chunk-GRSF4RY2.cjs","sourcesContent":["export function formatBytes(bytes: number): string {\n if (bytes < 0) {\n throw new Error(\"Size in bytes cannot be negative\")\n }\n\n const units = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"]\n let size = bytes\n let index = 0\n\n while (size >= 1024 && index < units.length - 1) {\n size /= 1024\n index++\n }\n\n return `${size.toFixed(2)} ${units[index]}`\n}\n"]}
@@ -1,18 +0,0 @@
1
- // src/files/format-bytes.ts
2
- function formatBytes(bytes) {
3
- if (bytes < 0) {
4
- throw new Error("Size in bytes cannot be negative");
5
- }
6
- const units = ["B", "KB", "MB", "GB", "TB", "PB"];
7
- let size = bytes;
8
- let index = 0;
9
- while (size >= 1024 && index < units.length - 1) {
10
- size /= 1024;
11
- index++;
12
- }
13
- return `${size.toFixed(2)} ${units[index]}`;
14
- }
15
-
16
- export { formatBytes };
17
- //# sourceMappingURL=chunk-O7SH3E3T.js.map
18
- //# sourceMappingURL=chunk-O7SH3E3T.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/files/format-bytes.ts"],"names":[],"mappings":";AAAO,SAAS,YAAY,KAAA,EAAuB;AACjD,EAAA,IAAI,QAAQ,CAAA,EAAG;AACb,IAAA,MAAM,IAAI,MAAM,kCAAkC,CAAA;AAAA,EACpD;AAEA,EAAA,MAAM,QAAQ,CAAC,GAAA,EAAK,MAAM,IAAA,EAAM,IAAA,EAAM,MAAM,IAAI,CAAA;AAChD,EAAA,IAAI,IAAA,GAAO,KAAA;AACX,EAAA,IAAI,KAAA,GAAQ,CAAA;AAEZ,EAAA,OAAO,IAAA,IAAQ,IAAA,IAAQ,KAAA,GAAQ,KAAA,CAAM,SAAS,CAAA,EAAG;AAC/C,IAAA,IAAA,IAAQ,IAAA;AACR,IAAA,KAAA,EAAA;AAAA,EACF;AAEA,EAAA,OAAO,CAAA,EAAG,KAAK,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAC3C","file":"chunk-O7SH3E3T.js","sourcesContent":["export function formatBytes(bytes: number): string {\n if (bytes < 0) {\n throw new Error(\"Size in bytes cannot be negative\")\n }\n\n const units = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"]\n let size = bytes\n let index = 0\n\n while (size >= 1024 && index < units.length - 1) {\n size /= 1024\n index++\n }\n\n return `${size.toFixed(2)} ${units[index]}`\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/date/dayjs.ts","../src/date/fix-timezone-offset.ts","../src/date/format-date.ts","../src/date/get-current-date-in-utc.ts","../src/date/get-date-in-utc.ts","../src/date/get-relative-time.ts","../src/date/parse-time-spent.ts"],"names":["formatIntl","toIntlFormatter","workingInstance","intlConfig"],"mappings":";;;;;;;;;;;;;AAyBA,IAAM,mBAAA,GAAgD;AAAA,EACpD,MAAA,EAAQ,OAAA;AAAA,EACR,OAAA,EAAS;AAAA,IACP,KAAA,EAAO,MAAA;AAAA,IACP,GAAA,EAAK,SAAA;AAAA,IACL,IAAA,EAAM;AAAA;AAEV,CAAA;AAEA,IAAI,gBAAA,GAA6C;AAAA,EAC/C,QAAQ,mBAAA,CAAoB,MAAA;AAAA,EAC5B,OAAA,EAAS,EAAE,GAAG,mBAAA,CAAoB,OAAA;AACpC,CAAA;AAEA,SAAS,gBAAA,CACP,MACA,QAAA,EAC0B;AA1C5B,EAAA,IAAA,EAAA;AA2CE,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,OAAO;AAAA,MACL,QAAQ,IAAA,CAAK,MAAA;AAAA,MACb,OAAA,EAAS,EAAE,GAAG,IAAA,CAAK,OAAA;AAAQ,KAC7B;AAAA,EACF;AAEA,EAAA,MAAM,YAAA,GAAA,CAAe,EAAA,GAAA,QAAA,CAAS,MAAA,KAAT,IAAA,GAAA,EAAA,GAAmB,IAAA,CAAK,MAAA;AAC7C,EAAA,MAAM,aAAA,GAA4C,EAAE,GAAG,IAAA,CAAK,OAAA,EAAQ;AAEpE,EAAA,IAAI,SAAS,OAAA,EAAS;AACpB,IAAA,KAAA,MAAW,GAAA,IAAO,MAAA,CAAO,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA,EAE3C;AACD,MAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,OAAA,CAAQ,GAAG,CAAA;AAElC,MAAA,IAAI,KAAA,KAAU,MAAA,IAAa,KAAA,KAAU,IAAA,EAAM;AACzC,QAAA,OAAO,cAAc,GAAG,CAAA;AAAA,MAC1B,CAAA,MAAO;AACL,QAAA,aAAA,CAAc,GAAG,CAAA,GAAI,KAAA;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,MAAA,EAAQ,YAAA;AAAA,IACR,OAAA,EAAS;AAAA,GACX;AACF;AAEA,IAAM,UAAA,GAAuD,CAC3D,YAAA,EACA,UAAA,KACG;AACH,EAAA,IAAI,YAAA,EAAc;AAChB,IAAA,gBAAA,GAAmB,gBAAA,CAAiB,kBAAkB,YAAY,CAAA;AAAA,EACpE;AAEA,EAAA,MAAM,UAAA,GAAa,SAASA,WAAAA,CAE1B,MAAA,EACQ;AACR,IAAA,MAAM,QAAA,GAAW,gBAAA,CAAiB,gBAAA,EAAkB,MAAM,CAAA;AAC1D,IAAA,OAAO,IAAI,IAAA,CAAK,cAAA,CAAe,SAAS,MAAA,EAAQ,QAAA,CAAS,OAAO,CAAA,CAAE,MAAA;AAAA,MAChE,KAAK,MAAA;AAAO,KACd;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,SAASC,gBAAAA,CAE/B,MAAA,EACqB;AACrB,IAAA,MAAM,QAAA,GAAW,gBAAA,CAAiB,gBAAA,EAAkB,MAAM,CAAA;AAC1D,IAAA,OAAO,IAAI,IAAA,CAAK,cAAA,CAAe,QAAA,CAAS,MAAA,EAAQ,SAAS,OAAO,CAAA;AAAA,EAClE,CAAA;AAEA,EAAA,MAAA,CAAO,cAAA,CAAe,UAAA,CAAW,SAAA,EAAW,YAAA,EAAc;AAAA,IACxD,KAAA,EAAO,UAAA;AAAA,IACP,YAAA,EAAc;AAAA,GACf,CAAA;AAED,EAAA,MAAA,CAAO,cAAA,CAAe,UAAA,CAAW,SAAA,EAAW,iBAAA,EAAmB;AAAA,IAC7D,KAAA,EAAO,eAAA;AAAA,IACP,YAAA,EAAc;AAAA,GACf,CAAA;AACH,CAAA;AAEO,SAAS,kBAAA,GAA+C;AAC7D,EAAA,OAAO;AAAA,IACL,QAAQ,gBAAA,CAAiB,MAAA;AAAA,IACzB,OAAA,EAAS,EAAE,GAAG,gBAAA,CAAiB,OAAA;AAAQ,GACzC;AACF;AAEO,SAAS,mBACd,MAAA,EAC0B;AAC1B,EAAA,gBAAA,GAAmB,gBAAA,CAAiB,kBAAkB,MAAM,CAAA;AAC5D,EAAA,OAAO,kBAAA,EAAmB;AAC5B;AAEO,SAAS,oBAAA,GAAiD;AAC/D,EAAA,gBAAA,GAAmB;AAAA,IACjB,QAAQ,mBAAA,CAAoB,MAAA;AAAA,IAC5B,OAAA,EAAS,EAAE,GAAG,mBAAA,CAAoB,OAAA;AAAQ,GAC5C;AACA,EAAA,OAAO,kBAAA,EAAmB;AAC5B;AAEO,SAAS,mBAAA,CACd,QACA,QAAA,EACG;AACH,EAAA,MAAM,WAAW,kBAAA,EAAmB;AACpC,EAAA,gBAAA,GAAmB,gBAAA,CAAiB,kBAAkB,MAAM,CAAA;AAE5D,EAAA,IAAI;AACF,IAAA,OAAO,QAAA,EAAS;AAAA,EAClB,CAAA,SAAE;AACA,IAAA,gBAAA,GAAmB;AAAA,MACjB,QAAQ,QAAA,CAAS,MAAA;AAAA,MACjB,OAAA,EAAS,EAAE,GAAG,QAAA,CAAS,OAAA;AAAQ,KACjC;AAAA,EACF;AACF;AAEO,SAAS,uBACd,MAAA,EAC0B;AAC1B,EAAA,OAAO,gBAAA,CAAiB,kBAAkB,MAAM,CAAA;AAClD;AAEA,KAAA,CAAM,OAAO,GAAG,CAAA;AAChB,KAAA,CAAM,OAAO,iBAAiB,CAAA;AAC9B,KAAA,CAAM,OAAO,cAAc,CAAA;AAC3B,KAAA,CAAM,OAAO,QAAQ,CAAA;AACrB,KAAA,CAAM,OAAO,eAAe,CAAA;AAC5B,KAAA,CAAM,OAAO,YAAY,CAAA;AACzB,KAAA,CAAM,OAAO,UAAU,CAAA;AAEhB,IAAM,KAAA,GAAQ;;;AC/Jd,SAAS,kBAAkB,OAAA,EAA+B;AAC/D,EAAA,MAAM,MAAA,GAAS,IAAI,IAAA,CAAK,OAAO,EAAE,iBAAA,EAAkB;AACnD,EAAA,OAAO,KAAA,CAAM,OAAO,CAAA,CAAE,GAAA,CAAI,QAAQ,QAAQ,CAAA;AAC5C;;;ACiBA,SAAS,mBACP,KAAA,EAC4B;AAC5B,EAAA,OAAO,OAAA,CAAQ,KAAK,CAAA,IAAK,OAAO,UAAU,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA;AAC5E;AAEA,SAAS,iBAAiB,KAAA,EAAwB;AAChD,EAAA,IACE,OAAO,IAAA,KAAS,WAAA,IAChB,OAAO,IAAA,CAAK,wBAAwB,UAAA,EACpC;AACA,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,oBAAoB,KAAK,CAAA;AAC9B,MAAA,OAAO,IAAA;AAAA,IACT,CAAA,CAAA,OAAQ,CAAA,EAAA;AACN,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AAEA,EAAA,OAAO,oCAAA,CAAqC,KAAK,KAAK,CAAA;AACxD;AAEA,SAAS,cACP,MAAA,EAIoB;AACpB,EAAA,IAAI,CAAC,QAAQ,OAAO,MAAA;AACpB,EAAA,MAAM,QAAQ,KAAA,CAAM,OAAA,CAAQ,MAAM,CAAA,GAC7B,MAAA,CAAO,CAAC,CAAA,GACR,MAAA;AACL,EAAA,OAAO,OAAO,KAAA,KAAU,QAAA,GAAW,KAAA,GAAQ,OAAO,KAAK,CAAA;AACzD;AAEO,SAAS,WACd,IAAA,EACA,cAAA,GAAkC,kBAAA,EAAmB,CAAE,QACvD,IAAA,EACQ;AA/DV,EAAA,IAAA,EAAA;AAgEE,EAAA,MAAM,QAAA,GAAW,MAAM,IAAI,CAAA;AAE3B,EAAA,IAAI,CAAC,QAAA,CAAS,OAAA,EAAQ,EAAG;AACvB,IAAA,MAAM,IAAI,WAAW,oBAAoB,CAAA;AAAA,EAC3C;AAEA,EAAA,IAAI,kBAAA,CAAmB,cAAc,CAAA,EAAG;AACtC,IAAA,MAAM,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,SAAQ,GAAI,cAAA;AAC1C,IAAA,MAAM,UAAA,GAAa,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,aAAA,CAAc,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAM,CAAA;AACvD,IAAA,MAAMC,gBAAAA,GAAkB,UAAA,GAAa,QAAA,CAAS,MAAA,CAAO,UAAU,CAAA,GAAI,QAAA;AAEnE,IAAA,IAAI,MAAA,IAAU,CAAC,OAAA,EAAS;AACtB,MAAA,OAAOA,gBAAAA,CAAgB,OAAO,MAAM,CAAA;AAAA,IACtC;AAEA,IAAA,MAAMC,cAA2C,IAAA,GAC7C;AAAA,MACE,MAAA,EAAA,CAAQ,EAAA,GAAA,IAAA,CAAK,MAAA,KAAL,IAAA,GAAA,EAAA,GAAe,UAAA;AAAA,MACvB,SAAS,IAAA,CAAK;AAAA,QAEhB,UAAA,GACE;AAAA,MACE,MAAA,EAAQ;AAAA,KACV,GACA,MAAA;AAEN,IAAA,OAAOD,gBAAAA,CAAgB,WAAWC,WAAU,CAAA;AAAA,EAC9C;AAEA,EAAA,IAAI,OAAO,cAAA,KAAmB,QAAA,IAAY,IAAA,KAAS,MAAA,EAAW;AAC5D,IAAA,IAAI,CAAC,gBAAA,CAAiB,cAAc,CAAA,EAAG;AACrC,MAAA,OAAO,QAAA,CAAS,OAAO,cAAc,CAAA;AAAA,IACvC;AAAA,EACF;AAEA,EAAA,MAAM,cAAA,GAAiB,cAAc,cAAc,CAAA;AACnD,EAAA,MAAM,eAAA,GAAkB,cAAA,GACpB,QAAA,CAAS,MAAA,CAAO,cAAc,CAAA,GAC9B,QAAA;AAEJ,EAAA,MAAM,UAAA,GACJ,cAAA,KAAmB,MAAA,IAAa,IAAA,KAAS,MAAA,GACrC;AAAA,IACE,MAAA,EAAQ,cAAA;AAAA,IACR,OAAA,EAAS;AAAA,GACX,GACA,MAAA;AAEN,EAAA,OAAO,eAAA,CAAgB,WAAW,UAAU,CAAA;AAC9C;;;AC7GO,SAAS,mBAAA,GAA6B;AAC3C,EAAA,OAAO,KAAA,GAAQ,GAAA,EAAI;AACrB;;;ACFO,SAAS,aAAa,IAAA,EAAmB;AAC9C,EAAA,OAAO,KAAA,CAAM,IAAI,CAAA,CAAE,GAAA,EAAI;AACzB;;;ACHO,SAAS,eAAA,CAAgB,IAAA,EAAkB,OAAA,GAAU,KAAA,EAAM,EAAW;AAC3E,EAAA,OAAO,KAAA,CAAM,IAAI,CAAA,CAAE,IAAA,CAAK,OAAO,CAAA;AACjC;;;ACuBA,IAAM,OAAA,GAA+C;AAAA,EACnD,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,EAAE,QAAA,EAAU,KAAA,EAAO,QAAQ,MAAA,EAAO;AAAA,IACxC,KAAA,EAAO,EAAE,QAAA,EAAU,QAAA,EAAO,QAAQ,OAAA,EAAQ;AAAA,IAC1C,GAAA,EAAK,EAAE,QAAA,EAAU,KAAA,EAAO,QAAQ,MAAA,EAAO;AAAA,IACvC,IAAA,EAAM,EAAE,QAAA,EAAU,MAAA,EAAQ,QAAQ,OAAA,EAAQ;AAAA,IAC1C,MAAA,EAAQ,EAAE,QAAA,EAAU,QAAA,EAAU,QAAQ,SAAA,EAAU;AAAA,IAChD,MAAA,EAAQ,EAAE,QAAA,EAAU,SAAA,EAAW,QAAQ,UAAA,EAAW;AAAA,IAClD,UAAA,EAAY,CAAC,KAAA,KAAU;AACrB,MAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,EAAA;AAC/B,MAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,MAAM,CAAC,CAAA;AACtC,MAAA,MAAM,QAAA,GAAW,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAC,CAAA;AACvC,MAAA,MAAM,UAAA,GAAa,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA;AACpC,MAAA,OAAO,GAAG,UAAA,CAAW,IAAA,CAAK,IAAI,CAAC,MAAM,QAAQ,CAAA,CAAA;AAAA,IAC/C,CAAA;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAM,GAAA;AAAA,MACN,KAAA,EAAO,GAAA;AAAA,MACP,GAAA,EAAK,GAAA;AAAA,MACL,IAAA,EAAM,GAAA;AAAA,MACN,MAAA,EAAQ,KAAA;AAAA,MACR,MAAA,EAAQ;AAAA;AACV,GACF;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,EAAE,QAAA,EAAU,MAAA,EAAQ,QAAQ,OAAA,EAAQ;AAAA,IAC1C,KAAA,EAAO,EAAE,QAAA,EAAU,OAAA,EAAS,QAAQ,QAAA,EAAS;AAAA,IAC7C,GAAA,EAAK,EAAE,QAAA,EAAU,KAAA,EAAO,QAAQ,MAAA,EAAO;AAAA,IACvC,IAAA,EAAM,EAAE,QAAA,EAAU,MAAA,EAAQ,QAAQ,OAAA,EAAQ;AAAA,IAC1C,MAAA,EAAQ,EAAE,QAAA,EAAU,QAAA,EAAU,QAAQ,SAAA,EAAU;AAAA,IAChD,MAAA,EAAQ,EAAE,QAAA,EAAU,QAAA,EAAU,QAAQ,SAAA,EAAU;AAAA,IAChD,UAAA,EAAY,CAAC,KAAA,KAAU;AACrB,MAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,EAAA;AAC/B,MAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,MAAM,CAAC,CAAA;AACtC,MAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,CAAA,EAAG,KAAA,CAAM,CAAC,CAAC,CAAA,KAAA,EAAQ,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AAC1D,MAAA,OAAO,CAAA,EAAG,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA,CAAE,IAAA,CAAK,IAAI,CAAC,CAAA,MAAA,EAAS,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAC,CAAC,CAAA,CAAA;AAAA,IACzE,CAAA;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAM,GAAA;AAAA,MACN,KAAA,EAAO,IAAA;AAAA,MACP,GAAA,EAAK,GAAA;AAAA,MACL,IAAA,EAAM,GAAA;AAAA,MACN,MAAA,EAAQ,GAAA;AAAA,MACR,MAAA,EAAQ;AAAA;AACV,GACF;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,EAAE,QAAA,EAAU,QAAA,EAAO,QAAQ,SAAA,EAAO;AAAA,IACxC,KAAA,EAAO,EAAE,QAAA,EAAU,KAAA,EAAO,QAAQ,OAAA,EAAQ;AAAA,IAC1C,GAAA,EAAK,EAAE,QAAA,EAAU,QAAA,EAAO,QAAQ,SAAA,EAAO;AAAA,IACvC,IAAA,EAAM,EAAE,QAAA,EAAU,MAAA,EAAQ,QAAQ,OAAA,EAAQ;AAAA,IAC1C,MAAA,EAAQ,EAAE,QAAA,EAAU,QAAA,EAAU,QAAQ,SAAA,EAAU;AAAA,IAChD,MAAA,EAAQ,EAAE,QAAA,EAAU,SAAA,EAAW,QAAQ,UAAA,EAAW;AAAA,IAClD,UAAA,EAAY,CAAC,KAAA,KAAU;AACrB,MAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,EAAA;AAC/B,MAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,MAAM,CAAC,CAAA;AACtC,MAAA,MAAM,QAAA,GAAW,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAC,CAAA;AACvC,MAAA,MAAM,UAAA,GAAa,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA;AACpC,MAAA,OAAO,GAAG,UAAA,CAAW,IAAA,CAAK,IAAI,CAAC,MAAM,QAAQ,CAAA,CAAA;AAAA,IAC/C,CAAA;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAM,GAAA;AAAA,MACN,KAAA,EAAO,KAAA;AAAA,MACP,GAAA,EAAK,GAAA;AAAA,MACL,IAAA,EAAM,GAAA;AAAA,MACN,MAAA,EAAQ,KAAA;AAAA,MACR,MAAA,EAAQ;AAAA;AACV,GACF;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,EAAE,QAAA,EAAU,IAAA,EAAM,QAAQ,KAAA,EAAM;AAAA,IACtC,KAAA,EAAO,EAAE,QAAA,EAAU,MAAA,EAAQ,QAAQ,MAAA,EAAO;AAAA,IAC1C,GAAA,EAAK,EAAE,QAAA,EAAU,MAAA,EAAQ,QAAQ,OAAA,EAAQ;AAAA,IACzC,IAAA,EAAM,EAAE,QAAA,EAAU,OAAA,EAAS,QAAQ,QAAA,EAAS;AAAA,IAC5C,MAAA,EAAQ,EAAE,QAAA,EAAU,QAAA,EAAU,QAAQ,SAAA,EAAU;AAAA,IAChD,MAAA,EAAQ,EAAE,QAAA,EAAU,SAAA,EAAW,QAAQ,UAAA,EAAW;AAAA,IAClD,UAAA,EAAY,CAAC,KAAA,KAAU;AACrB,MAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,EAAA;AAC/B,MAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,MAAM,CAAC,CAAA;AACtC,MAAA,MAAM,QAAA,GAAW,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAC,CAAA;AACvC,MAAA,MAAM,UAAA,GAAa,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA;AACpC,MAAA,OAAO,GAAG,UAAA,CAAW,IAAA,CAAK,IAAI,CAAC,OAAO,QAAQ,CAAA,CAAA;AAAA,IAChD,CAAA;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAM,GAAA;AAAA,MACN,KAAA,EAAO,GAAA;AAAA,MACP,GAAA,EAAK,GAAA;AAAA,MACL,IAAA,EAAM,GAAA;AAAA,MACN,MAAA,EAAQ,KAAA;AAAA,MACR,MAAA,EAAQ;AAAA;AACV;AAEJ,CAAA;AAcO,SAAS,cAAA,CACd,WAAA,EACA,SAAA,EACA,MAAA,GAAS,SACT,OAAA,EACY;AA3Id,EAAA,IAAA,EAAA,EAAA,EAAA;AA4IE,EAAA,MAAM,KAAA,GAAQ,kBAAkB,SAAS,CAAA;AACzC,EAAA,MAAM,OAAA,GAAU,kBAAkB,WAAW,CAAA;AAE7C,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,IAAA,CAAK,OAAA,EAAS,MAAM,CAAA;AACxC,EAAA,MAAM,MAAA,GAAS,MAAM,IAAA,CAAK,OAAA,CAAQ,IAAI,KAAA,EAAO,MAAM,GAAG,OAAO,CAAA;AAC7D,EAAA,MAAM,OAAO,KAAA,CAAM,IAAA;AAAA,IACjB,QAAQ,GAAA,CAAI,KAAA,EAAO,MAAM,CAAA,CAAE,GAAA,CAAI,QAAQ,OAAO,CAAA;AAAA,IAC9C;AAAA,GACF;AACA,EAAA,MAAM,QAAQ,KAAA,CAAM,IAAA;AAAA,IAClB,OAAA,CAAQ,GAAA,CAAI,KAAA,EAAO,MAAM,CAAA,CAAE,GAAA,CAAI,MAAA,EAAQ,OAAO,CAAA,CAAE,GAAA,CAAI,IAAA,EAAM,KAAK,CAAA;AAAA,IAC/D;AAAA,GACF;AACA,EAAA,MAAM,UAAU,KAAA,CAAM,IAAA;AAAA,IACpB,OAAA,CACG,GAAA,CAAI,KAAA,EAAO,MAAM,EACjB,GAAA,CAAI,MAAA,EAAQ,OAAO,CAAA,CACnB,IAAI,IAAA,EAAM,KAAK,CAAA,CACf,GAAA,CAAI,OAAO,MAAM,CAAA;AAAA,IACpB;AAAA,GACF;AACA,EAAA,MAAM,UAAU,KAAA,CAAM,IAAA;AAAA,IACpB,QACG,GAAA,CAAI,KAAA,EAAO,MAAM,CAAA,CACjB,GAAA,CAAI,QAAQ,OAAO,CAAA,CACnB,IAAI,IAAA,EAAM,KAAK,EACf,GAAA,CAAI,KAAA,EAAO,MAAM,CAAA,CACjB,GAAA,CAAI,SAAS,QAAQ,CAAA;AAAA,IACxB;AAAA,GACF;AAGA,EAAA,MAAM,YAAA,GAAe,OAAA,CAAQ,MAAM,CAAA,IAAK,QAAQ,OAAO,CAAA;AAGvD,EAAA,MAAM,eAAyB,EAAC;AAChC,EAAA,IAAI,QAAQ,CAAA,EAAG;AACb,IAAA,MAAM,OACJ,KAAA,KAAU,CAAA,GAAI,aAAa,IAAA,CAAK,QAAA,GAAW,aAAa,IAAA,CAAK,MAAA;AAC/D,IAAA,YAAA,CAAa,IAAA,CAAK,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAA;AAAA,EACtC;AACA,EAAA,IAAI,SAAS,CAAA,EAAG;AACd,IAAA,MAAM,OACJ,MAAA,KAAW,CAAA,GAAI,aAAa,KAAA,CAAM,QAAA,GAAW,aAAa,KAAA,CAAM,MAAA;AAClE,IAAA,YAAA,CAAa,IAAA,CAAK,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAA;AAAA,EACvC;AACA,EAAA,IAAI,OAAO,CAAA,EAAG;AACZ,IAAA,MAAM,OACJ,IAAA,KAAS,CAAA,GAAI,aAAa,GAAA,CAAI,QAAA,GAAW,aAAa,GAAA,CAAI,MAAA;AAC5D,IAAA,YAAA,CAAa,IAAA,CAAK,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAA;AAAA,EACrC;AACA,EAAA,IAAI,QAAQ,CAAA,EAAG;AACb,IAAA,MAAM,OACJ,KAAA,KAAU,CAAA,GAAI,aAAa,IAAA,CAAK,QAAA,GAAW,aAAa,IAAA,CAAK,MAAA;AAC/D,IAAA,YAAA,CAAa,IAAA,CAAK,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAA;AAAA,EACtC;AACA,EAAA,IAAI,UAAU,CAAA,EAAG;AACf,IAAA,MAAM,OACJ,OAAA,KAAY,CAAA,GAAI,aAAa,MAAA,CAAO,QAAA,GAAW,aAAa,MAAA,CAAO,MAAA;AACrE,IAAA,YAAA,CAAa,IAAA,CAAK,CAAA,EAAG,OAAO,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAA;AAAA,EACxC;AACA,EAAA,IAAI,UAAU,CAAA,EAAG;AACf,IAAA,MAAM,OACJ,OAAA,KAAY,CAAA,GAAI,aAAa,MAAA,CAAO,QAAA,GAAW,aAAa,MAAA,CAAO,MAAA;AACrE,IAAA,YAAA,CAAa,IAAA,CAAK,CAAA,EAAG,OAAO,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAA;AAAA,EACxC;AAGA,EAAA,MAAM,gBAA0B,EAAC;AACjC,EAAA,IAAI,KAAA,GAAQ,CAAA;AACV,IAAA,aAAA,CAAc,KAAK,CAAA,EAAG,KAAK,GAAG,YAAA,CAAa,aAAA,CAAc,IAAI,CAAA,CAAE,CAAA;AACjE,EAAA,IAAI,MAAA,GAAS,CAAA;AACX,IAAA,aAAA,CAAc,KAAK,CAAA,EAAG,MAAM,GAAG,YAAA,CAAa,aAAA,CAAc,KAAK,CAAA,CAAE,CAAA;AACnE,EAAA,IAAI,IAAA,GAAO,CAAA,EAAG,aAAA,CAAc,IAAA,CAAK,CAAA,EAAG,IAAI,CAAA,EAAG,YAAA,CAAa,aAAA,CAAc,GAAG,CAAA,CAAE,CAAA;AAC3E,EAAA,IAAI,KAAA,GAAQ,CAAA;AACV,IAAA,aAAA,CAAc,KAAK,CAAA,EAAG,KAAK,GAAG,YAAA,CAAa,aAAA,CAAc,IAAI,CAAA,CAAE,CAAA;AACjE,EAAA,IAAI,OAAA,GAAU,CAAA;AACZ,IAAA,aAAA,CAAc,KAAK,CAAA,EAAG,OAAO,GAAG,YAAA,CAAa,aAAA,CAAc,MAAM,CAAA,CAAE,CAAA;AACrE,EAAA,IAAI,OAAA,GAAU,CAAA;AACZ,IAAA,aAAA,CAAc,KAAK,CAAA,EAAG,OAAO,GAAG,YAAA,CAAa,aAAA,CAAc,MAAM,CAAA,CAAE,CAAA;AAErE,EAAA,MAAM,MAAA,GAAA,CAAS,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,MAAA,KAAT,IAAA,GAAA,EAAA,GAAmB,SAAA;AAClC,EAAA,MAAM,OAAA,GAAA,CAAU,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,OAAA,KAAT,IAAA,GAAA,EAAA,GAAoB,KAAA;AAEpC,EAAA,IAAI,SAAA,GAAY,EAAA;AAChB,EAAA,IAAI,WAAW,SAAA,EAAW;AACxB,IAAA,IAAI,aAAA,CAAc,WAAW,CAAA,EAAG;AAC9B,MAAA,SAAA,GAAY,EAAA;AAAA,IACd,WAAW,OAAA,EAAS;AAClB,MAAA,SAAA,GAAY,cAAc,CAAC,CAAA;AAAA,IAC7B,CAAA,MAAO;AACL,MAAA,SAAA,GAAY,aAAA,CAAc,KAAK,EAAE,CAAA;AAAA,IACnC;AAAA,EACF,CAAA,MAAO;AAEL,IAAA,IAAI,YAAA,CAAa,WAAW,CAAA,EAAG;AAC7B,MAAA,SAAA,GAAY,EAAA;AAAA,IACd,WAAW,OAAA,EAAS;AAClB,MAAA,SAAA,GAAY,aAAa,CAAC,CAAA;AAAA,IAC5B,CAAA,MAAO;AACL,MAAA,SAAA,GAAY,YAAA,CAAa,WAAW,YAAY,CAAA;AAAA,IAClD;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,KAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-QRXVUXGJ.js","sourcesContent":["import type { Dayjs as DayjsInstance, PluginFunc } from \"dayjs\"\nimport dayJs from \"dayjs\"\nimport advancedFormat from \"dayjs/plugin/advancedFormat\"\nimport customParseFormat from \"dayjs/plugin/customParseFormat\"\nimport localizedFormat from \"dayjs/plugin/localizedFormat\"\nimport relativeTime from \"dayjs/plugin/relativeTime\"\nimport timezone from \"dayjs/plugin/timezone\"\nimport utc from \"dayjs/plugin/utc\"\nimport \"dayjs/locale/en\"\nimport \"dayjs/locale/es\"\nimport \"dayjs/locale/fr\"\nimport \"dayjs/locale/pt-br\"\n// Ensure TS sees Dayjs instance augmentation wherever this module is imported\nimport type {} from \"../types/dayjs-intl\"\n\nexport interface IDayjsIntlConfig {\n locale?: Intl.LocalesArgument\n options?: Intl.DateTimeFormatOptions\n}\n\nexport interface IDayjsIntlResolvedConfig {\n locale: Intl.LocalesArgument\n options: Intl.DateTimeFormatOptions\n}\n\nconst DEFAULT_INTL_CONFIG: IDayjsIntlResolvedConfig = {\n locale: \"pt-BR\",\n options: {\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n },\n}\n\nlet globalIntlConfig: IDayjsIntlResolvedConfig = {\n locale: DEFAULT_INTL_CONFIG.locale,\n options: { ...DEFAULT_INTL_CONFIG.options },\n}\n\nfunction mergeIntlConfigs(\n base: IDayjsIntlResolvedConfig,\n override?: IDayjsIntlConfig,\n): IDayjsIntlResolvedConfig {\n if (!override) {\n return {\n locale: base.locale,\n options: { ...base.options },\n }\n }\n\n const mergedLocale = override.locale ?? base.locale\n const mergedOptions: Intl.DateTimeFormatOptions = { ...base.options }\n\n if (override.options) {\n for (const key of Object.keys(override.options) as Array<\n keyof Intl.DateTimeFormatOptions\n >) {\n const value = override.options[key]\n\n if (value === undefined || value === null) {\n delete mergedOptions[key]\n } else {\n mergedOptions[key] = value as never\n }\n }\n }\n\n return {\n locale: mergedLocale,\n options: mergedOptions,\n }\n}\n\nconst intlPlugin: PluginFunc<IDayjsIntlConfig | undefined> = (\n pluginConfig,\n DayjsClass,\n) => {\n if (pluginConfig) {\n globalIntlConfig = mergeIntlConfigs(globalIntlConfig, pluginConfig)\n }\n\n const formatIntl = function formatIntl(\n this: DayjsInstance,\n config?: IDayjsIntlConfig,\n ): string {\n const resolved = mergeIntlConfigs(globalIntlConfig, config)\n return new Intl.DateTimeFormat(resolved.locale, resolved.options).format(\n this.toDate(),\n )\n }\n\n const toIntlFormatter = function toIntlFormatter(\n this: DayjsInstance,\n config?: IDayjsIntlConfig,\n ): Intl.DateTimeFormat {\n const resolved = mergeIntlConfigs(globalIntlConfig, config)\n return new Intl.DateTimeFormat(resolved.locale, resolved.options)\n }\n\n Object.defineProperty(DayjsClass.prototype, \"formatIntl\", {\n value: formatIntl,\n configurable: true,\n })\n\n Object.defineProperty(DayjsClass.prototype, \"toIntlFormatter\", {\n value: toIntlFormatter,\n configurable: true,\n })\n}\n\nexport function getDayjsGlobalIntl(): IDayjsIntlResolvedConfig {\n return {\n locale: globalIntlConfig.locale,\n options: { ...globalIntlConfig.options },\n }\n}\n\nexport function setDayjsGlobalIntl(\n config: IDayjsIntlConfig,\n): IDayjsIntlResolvedConfig {\n globalIntlConfig = mergeIntlConfigs(globalIntlConfig, config)\n return getDayjsGlobalIntl()\n}\n\nexport function resetDayjsGlobalIntl(): IDayjsIntlResolvedConfig {\n globalIntlConfig = {\n locale: DEFAULT_INTL_CONFIG.locale,\n options: { ...DEFAULT_INTL_CONFIG.options },\n }\n return getDayjsGlobalIntl()\n}\n\nexport function withDayjsGlobalIntl<T>(\n config: IDayjsIntlConfig,\n callback: () => T,\n): T {\n const previous = getDayjsGlobalIntl()\n globalIntlConfig = mergeIntlConfigs(globalIntlConfig, config)\n\n try {\n return callback()\n } finally {\n globalIntlConfig = {\n locale: previous.locale,\n options: { ...previous.options },\n }\n }\n}\n\nexport function resolveDayjsIntlConfig(\n config?: IDayjsIntlConfig,\n): IDayjsIntlResolvedConfig {\n return mergeIntlConfigs(globalIntlConfig, config)\n}\n\ndayJs.extend(utc)\ndayJs.extend(customParseFormat)\ndayJs.extend(advancedFormat)\ndayJs.extend(timezone)\ndayJs.extend(localizedFormat)\ndayJs.extend(relativeTime)\ndayJs.extend(intlPlugin)\n\nexport const dayjs = dayJs\n","import type { Dayjs } from \"dayjs\"\n\nimport { dayjs } from \"./dayjs\"\n\nexport function fixTimezoneOffset(utcDate: Date | string): Dayjs {\n const offset = new Date(utcDate).getTimezoneOffset()\n return dayjs(utcDate).add(offset, \"minute\")\n}\n","import type { IDayjsIntlConfig } from \"./dayjs\"\nimport { dayjs, getDayjsGlobalIntl } from \"./dayjs\"\n\nexport interface IFormatDateConfig {\n /** Optional locale override applied to the underlying dayjs instance */\n locale?: string\n /**\n * When provided, format using dayjs tokens (e.g. \"DD/MM/YYYY\").\n * Unless `useIntl` is true, this takes precedence over Intl formatting.\n */\n format?: string\n /**\n * Intl configuration used when formatting through `Intl.DateTimeFormat`.\n * Values are merged on top of the global Intl configuration.\n */\n intl?: IDayjsIntlConfig\n /**\n * Forces the use of Intl formatting even if a format string is supplied.\n */\n useIntl?: boolean\n}\n\ntype TLocaleOrConfig = Intl.LocalesArgument | IFormatDateConfig\n\nfunction isFormatDateConfig(\n value: TLocaleOrConfig,\n): value is IFormatDateConfig {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value)\n}\n\nfunction isValidLocaleTag(value: string): boolean {\n if (\n typeof Intl !== \"undefined\" &&\n typeof Intl.getCanonicalLocales === \"function\"\n ) {\n try {\n Intl.getCanonicalLocales(value)\n return true\n } catch {\n return false\n }\n }\n\n return /^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$/.test(value)\n}\n\nfunction toDayjsLocale(\n locale?:\n | Intl.LocalesArgument\n | Intl.Locale\n | readonly (string | Intl.Locale)[],\n): string | undefined {\n if (!locale) return undefined\n const first = Array.isArray(locale)\n ? (locale[0] as string | Intl.Locale)\n : (locale as string | Intl.Locale)\n return typeof first === \"string\" ? first : String(first)\n}\n\nexport function formatDate(\n date: Date | string | number,\n localeOrConfig: TLocaleOrConfig = getDayjsGlobalIntl().locale,\n opts?: Intl.DateTimeFormatOptions,\n): string {\n const instance = dayjs(date)\n\n if (!instance.isValid()) {\n throw new RangeError(\"Invalid time value\")\n }\n\n if (isFormatDateConfig(localeOrConfig)) {\n const { format, locale, intl, useIntl } = localeOrConfig\n const baseLocale = locale ?? toDayjsLocale(intl?.locale)\n const workingInstance = baseLocale ? instance.locale(baseLocale) : instance\n\n if (format && !useIntl) {\n return workingInstance.format(format)\n }\n\n const intlConfig: IDayjsIntlConfig | undefined = intl\n ? {\n locale: intl.locale ?? baseLocale,\n options: intl.options,\n }\n : baseLocale\n ? {\n locale: baseLocale,\n }\n : undefined\n\n return workingInstance.formatIntl(intlConfig)\n }\n\n if (typeof localeOrConfig === \"string\" && opts === undefined) {\n if (!isValidLocaleTag(localeOrConfig)) {\n return instance.format(localeOrConfig)\n }\n }\n\n const localeForDayjs = toDayjsLocale(localeOrConfig)\n const workingInstance = localeForDayjs\n ? instance.locale(localeForDayjs)\n : instance\n\n const intlConfig: IDayjsIntlConfig | undefined =\n localeOrConfig !== undefined || opts !== undefined\n ? {\n locale: localeOrConfig,\n options: opts,\n }\n : undefined\n\n return workingInstance.formatIntl(intlConfig)\n}\n","import type { Dayjs } from \"dayjs\"\n\nimport { dayjs } from \"./dayjs\"\n\nexport function getCurrentDateInUTC(): Dayjs {\n return dayjs().utc()\n}\n","import type { Dayjs } from \"dayjs\"\n\nimport { dayjs } from \"./dayjs\"\n\nexport function getDateInUTC(date: Date): Dayjs {\n return dayjs(date).utc()\n}\n","import type { ConfigType } from \"dayjs\"\nimport { dayjs } from \"./dayjs\"\n\nexport function getRelativeTime(date: ConfigType, dateNow = dayjs()): string {\n return dayjs(date).from(dateNow)\n}\n","import { fixTimezoneOffset } from \"./fix-timezone-offset\"\n\ninterface IUnitTranslation {\n singular: string\n plural: string\n}\n\ninterface ILocaleTranslations {\n year: IUnitTranslation\n month: IUnitTranslation\n day: IUnitTranslation\n hour: IUnitTranslation\n minute: IUnitTranslation\n second: IUnitTranslation\n // function to format verbose list (e.g. \"1 ano, 2 meses e 3 dias\")\n formatList: (parts: string[]) => string\n // tokens used for compact formatting (e.g. \"1a2m3d\")\n compactTokens: {\n year: string\n month: string\n day: string\n hour: string\n minute: string\n second: string\n }\n}\n\n// Supported locales and their translations\nconst locales: Record<string, ILocaleTranslations> = {\n \"pt-BR\": {\n year: { singular: \"ano\", plural: \"anos\" },\n month: { singular: \"mês\", plural: \"meses\" },\n day: { singular: \"dia\", plural: \"dias\" },\n hour: { singular: \"hora\", plural: \"horas\" },\n minute: { singular: \"minuto\", plural: \"minutos\" },\n second: { singular: \"segundo\", plural: \"segundos\" },\n formatList: (parts) => {\n if (parts.length === 0) return \"\"\n if (parts.length === 1) return parts[0]\n const lastPart = parts[parts.length - 1]\n const otherParts = parts.slice(0, -1)\n return `${otherParts.join(\", \")} e ${lastPart}`\n },\n compactTokens: {\n year: \"a\",\n month: \"m\",\n day: \"d\",\n hour: \"h\",\n minute: \"min\",\n second: \"s\",\n },\n },\n \"en-US\": {\n year: { singular: \"year\", plural: \"years\" },\n month: { singular: \"month\", plural: \"months\" },\n day: { singular: \"day\", plural: \"days\" },\n hour: { singular: \"hour\", plural: \"hours\" },\n minute: { singular: \"minute\", plural: \"minutes\" },\n second: { singular: \"second\", plural: \"seconds\" },\n formatList: (parts) => {\n if (parts.length === 0) return \"\"\n if (parts.length === 1) return parts[0]\n if (parts.length === 2) return `${parts[0]} and ${parts[1]}`\n return `${parts.slice(0, -1).join(\", \")}, and ${parts[parts.length - 1]}`\n },\n compactTokens: {\n year: \"y\",\n month: \"mo\",\n day: \"d\",\n hour: \"h\",\n minute: \"m\",\n second: \"s\",\n },\n },\n \"es-ES\": {\n year: { singular: \"año\", plural: \"años\" },\n month: { singular: \"mes\", plural: \"meses\" },\n day: { singular: \"día\", plural: \"días\" },\n hour: { singular: \"hora\", plural: \"horas\" },\n minute: { singular: \"minuto\", plural: \"minutos\" },\n second: { singular: \"segundo\", plural: \"segundos\" },\n formatList: (parts) => {\n if (parts.length === 0) return \"\"\n if (parts.length === 1) return parts[0]\n const lastPart = parts[parts.length - 1]\n const otherParts = parts.slice(0, -1)\n return `${otherParts.join(\", \")} y ${lastPart}`\n },\n compactTokens: {\n year: \"a\",\n month: \"mes\",\n day: \"d\",\n hour: \"h\",\n minute: \"min\",\n second: \"s\",\n },\n },\n \"fr-FR\": {\n year: { singular: \"an\", plural: \"ans\" },\n month: { singular: \"mois\", plural: \"mois\" },\n day: { singular: \"jour\", plural: \"jours\" },\n hour: { singular: \"heure\", plural: \"heures\" },\n minute: { singular: \"minute\", plural: \"minutes\" },\n second: { singular: \"seconde\", plural: \"secondes\" },\n formatList: (parts) => {\n if (parts.length === 0) return \"\"\n if (parts.length === 1) return parts[0]\n const lastPart = parts[parts.length - 1]\n const otherParts = parts.slice(0, -1)\n return `${otherParts.join(\", \")} et ${lastPart}`\n },\n compactTokens: {\n year: \"a\",\n month: \"m\",\n day: \"j\",\n hour: \"h\",\n minute: \"min\",\n second: \"s\",\n },\n },\n}\n\n// Return shape\nexport interface ITimeSpent {\n years: number\n months: number\n days: number\n hours: number\n minutes: number\n seconds: number\n formatted: string\n}\n\n// options: format -> 'verbose' | 'compact', minimal -> show only largest non-zero unit\nexport function parseTimeSpent(\n initialDate: string | Date,\n finalDate: string | Date,\n locale = \"pt-BR\", // Default to Portuguese for backward compatibility\n options?: { format?: \"verbose\" | \"compact\"; minimal?: boolean },\n): ITimeSpent {\n const final = fixTimezoneOffset(finalDate)\n const initial = fixTimezoneOffset(initialDate)\n\n const years = final.diff(initial, \"year\")\n const months = final.diff(initial.add(years, \"year\"), \"month\")\n const days = final.diff(\n initial.add(years, \"year\").add(months, \"month\"),\n \"day\",\n )\n const hours = final.diff(\n initial.add(years, \"year\").add(months, \"month\").add(days, \"day\"),\n \"hour\",\n )\n const minutes = final.diff(\n initial\n .add(years, \"year\")\n .add(months, \"month\")\n .add(days, \"day\")\n .add(hours, \"hour\"),\n \"minute\",\n )\n const seconds = final.diff(\n initial\n .add(years, \"year\")\n .add(months, \"month\")\n .add(days, \"day\")\n .add(hours, \"hour\")\n .add(minutes, \"minute\"),\n \"second\",\n )\n\n // Use default locale if the requested one isn't supported\n const translations = locales[locale] || locales[\"pt-BR\"]\n\n // Build verbose parts (localized words)\n const verboseParts: string[] = []\n if (years > 0) {\n const unit =\n years === 1 ? translations.year.singular : translations.year.plural\n verboseParts.push(`${years} ${unit}`)\n }\n if (months > 0) {\n const unit =\n months === 1 ? translations.month.singular : translations.month.plural\n verboseParts.push(`${months} ${unit}`)\n }\n if (days > 0) {\n const unit =\n days === 1 ? translations.day.singular : translations.day.plural\n verboseParts.push(`${days} ${unit}`)\n }\n if (hours > 0) {\n const unit =\n hours === 1 ? translations.hour.singular : translations.hour.plural\n verboseParts.push(`${hours} ${unit}`)\n }\n if (minutes > 0) {\n const unit =\n minutes === 1 ? translations.minute.singular : translations.minute.plural\n verboseParts.push(`${minutes} ${unit}`)\n }\n if (seconds > 0) {\n const unit =\n seconds === 1 ? translations.second.singular : translations.second.plural\n verboseParts.push(`${seconds} ${unit}`)\n }\n\n // Build compact parts (e.g. \"1a2m3d\")\n const compactPieces: string[] = []\n if (years > 0)\n compactPieces.push(`${years}${translations.compactTokens.year}`)\n if (months > 0)\n compactPieces.push(`${months}${translations.compactTokens.month}`)\n if (days > 0) compactPieces.push(`${days}${translations.compactTokens.day}`)\n if (hours > 0)\n compactPieces.push(`${hours}${translations.compactTokens.hour}`)\n if (minutes > 0)\n compactPieces.push(`${minutes}${translations.compactTokens.minute}`)\n if (seconds > 0)\n compactPieces.push(`${seconds}${translations.compactTokens.second}`)\n\n const format = options?.format ?? \"verbose\"\n const minimal = options?.minimal ?? false\n\n let formatted = \"\"\n if (format === \"compact\") {\n if (compactPieces.length === 0) {\n formatted = \"\"\n } else if (minimal) {\n formatted = compactPieces[0]\n } else {\n formatted = compactPieces.join(\"\")\n }\n } else {\n // verbose\n if (verboseParts.length === 0) {\n formatted = \"\"\n } else if (minimal) {\n formatted = verboseParts[0]\n } else {\n formatted = translations.formatList(verboseParts)\n }\n }\n\n return {\n years,\n months,\n days,\n hours,\n minutes,\n seconds,\n formatted,\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/files/compress-image.ts","../src/files/download-url.ts"],"names":[],"mappings":"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","file":"chunk-SLYUARZG.cjs","sourcesContent":["interface ICompressImageParams {\n file: File\n maxWidth?: number\n maxHeight?: number\n quality?: number\n allowedFileTypes?: string[]\n}\n\nfunction convertToWebp(filename: string): string {\n const lastDotIndex = filename.lastIndexOf(\".\")\n\n if (lastDotIndex === -1) {\n return `${filename}.webp`\n }\n\n return `${filename.substring(0, lastDotIndex)}.webp`\n}\n\nexport function compressImage({\n file,\n maxWidth = Number.POSITIVE_INFINITY,\n maxHeight = Number.POSITIVE_INFINITY,\n quality = 1,\n allowedFileTypes = [\"image/jpg\", \"image/jpeg\", \"image/png\", \"image/webp\"],\n}: ICompressImageParams) {\n if (!allowedFileTypes.includes(file.type)) {\n throw new Error(\"Image format not supported\")\n }\n\n return new Promise<File>((resolve, reject) => {\n const reader = new FileReader()\n\n reader.onload = (event) => {\n const compressed = new Image()\n\n compressed.onload = () => {\n const canvas = document.createElement(\"canvas\")\n\n let width = compressed.width\n let height = compressed.height\n\n if (width > height) {\n if (width > maxWidth) {\n height *= maxWidth / width\n width = maxWidth\n }\n } else {\n if (height > maxHeight) {\n width *= maxHeight / height\n height = maxHeight\n }\n }\n\n canvas.width = width\n canvas.height = height\n\n const context = canvas.getContext(\"2d\")\n\n if (!context) {\n reject(new Error(\"Failed to get canvas context\"))\n return\n }\n\n context.drawImage(compressed, 0, 0, width, height)\n\n canvas.toBlob(\n (blob) => {\n if (!blob) {\n reject(new Error(\"Failed to compress image.\"))\n return\n }\n\n const compressedFile = new File([blob], convertToWebp(file.name), {\n type: \"image/webp\",\n lastModified: Date.now(),\n })\n\n resolve(compressedFile)\n },\n \"image/webp\",\n quality,\n )\n }\n\n compressed.src = event.target?.result as string\n }\n\n reader.readAsDataURL(file)\n })\n}\n","export const downloadUrl = async (url: string): Promise<boolean> => {\n try {\n const urlObj = new URL(url)\n const pathname = urlObj.pathname\n const segments = pathname.split(\"/\").filter((segment) => segment.length > 0)\n const filename = segments.length > 0 ? segments[segments.length - 1] : null\n\n if (!filename || !filename.includes(\".\")) {\n throw new Error(\"URL does not contain a valid filename\")\n }\n\n const response = await fetch(url, { mode: \"cors\" })\n const blob = await response.blob()\n\n const link = document.createElement(\"a\")\n link.href = window.URL.createObjectURL(blob)\n link.download = filename\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n return true\n } catch (error) {\n console.error(\"Error downloading the file\", error)\n return false\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/date/dayjs.ts","../src/date/fix-timezone-offset.ts","../src/date/format-date.ts","../src/date/get-current-date-in-utc.ts","../src/date/get-date-in-utc.ts","../src/date/get-relative-time.ts","../src/date/parse-time-spent.ts"],"names":["formatIntl","toIntlFormatter","dayJs","utc","customParseFormat","advancedFormat","timezone","localizedFormat","relativeTime","workingInstance","intlConfig"],"mappings":"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","file":"chunk-UXEUYHBD.cjs","sourcesContent":["import type { Dayjs as DayjsInstance, PluginFunc } from \"dayjs\"\nimport dayJs from \"dayjs\"\nimport advancedFormat from \"dayjs/plugin/advancedFormat\"\nimport customParseFormat from \"dayjs/plugin/customParseFormat\"\nimport localizedFormat from \"dayjs/plugin/localizedFormat\"\nimport relativeTime from \"dayjs/plugin/relativeTime\"\nimport timezone from \"dayjs/plugin/timezone\"\nimport utc from \"dayjs/plugin/utc\"\nimport \"dayjs/locale/en\"\nimport \"dayjs/locale/es\"\nimport \"dayjs/locale/fr\"\nimport \"dayjs/locale/pt-br\"\n// Ensure TS sees Dayjs instance augmentation wherever this module is imported\nimport type {} from \"../types/dayjs-intl\"\n\nexport interface IDayjsIntlConfig {\n locale?: Intl.LocalesArgument\n options?: Intl.DateTimeFormatOptions\n}\n\nexport interface IDayjsIntlResolvedConfig {\n locale: Intl.LocalesArgument\n options: Intl.DateTimeFormatOptions\n}\n\nconst DEFAULT_INTL_CONFIG: IDayjsIntlResolvedConfig = {\n locale: \"pt-BR\",\n options: {\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n },\n}\n\nlet globalIntlConfig: IDayjsIntlResolvedConfig = {\n locale: DEFAULT_INTL_CONFIG.locale,\n options: { ...DEFAULT_INTL_CONFIG.options },\n}\n\nfunction mergeIntlConfigs(\n base: IDayjsIntlResolvedConfig,\n override?: IDayjsIntlConfig,\n): IDayjsIntlResolvedConfig {\n if (!override) {\n return {\n locale: base.locale,\n options: { ...base.options },\n }\n }\n\n const mergedLocale = override.locale ?? base.locale\n const mergedOptions: Intl.DateTimeFormatOptions = { ...base.options }\n\n if (override.options) {\n for (const key of Object.keys(override.options) as Array<\n keyof Intl.DateTimeFormatOptions\n >) {\n const value = override.options[key]\n\n if (value === undefined || value === null) {\n delete mergedOptions[key]\n } else {\n mergedOptions[key] = value as never\n }\n }\n }\n\n return {\n locale: mergedLocale,\n options: mergedOptions,\n }\n}\n\nconst intlPlugin: PluginFunc<IDayjsIntlConfig | undefined> = (\n pluginConfig,\n DayjsClass,\n) => {\n if (pluginConfig) {\n globalIntlConfig = mergeIntlConfigs(globalIntlConfig, pluginConfig)\n }\n\n const formatIntl = function formatIntl(\n this: DayjsInstance,\n config?: IDayjsIntlConfig,\n ): string {\n const resolved = mergeIntlConfigs(globalIntlConfig, config)\n return new Intl.DateTimeFormat(resolved.locale, resolved.options).format(\n this.toDate(),\n )\n }\n\n const toIntlFormatter = function toIntlFormatter(\n this: DayjsInstance,\n config?: IDayjsIntlConfig,\n ): Intl.DateTimeFormat {\n const resolved = mergeIntlConfigs(globalIntlConfig, config)\n return new Intl.DateTimeFormat(resolved.locale, resolved.options)\n }\n\n Object.defineProperty(DayjsClass.prototype, \"formatIntl\", {\n value: formatIntl,\n configurable: true,\n })\n\n Object.defineProperty(DayjsClass.prototype, \"toIntlFormatter\", {\n value: toIntlFormatter,\n configurable: true,\n })\n}\n\nexport function getDayjsGlobalIntl(): IDayjsIntlResolvedConfig {\n return {\n locale: globalIntlConfig.locale,\n options: { ...globalIntlConfig.options },\n }\n}\n\nexport function setDayjsGlobalIntl(\n config: IDayjsIntlConfig,\n): IDayjsIntlResolvedConfig {\n globalIntlConfig = mergeIntlConfigs(globalIntlConfig, config)\n return getDayjsGlobalIntl()\n}\n\nexport function resetDayjsGlobalIntl(): IDayjsIntlResolvedConfig {\n globalIntlConfig = {\n locale: DEFAULT_INTL_CONFIG.locale,\n options: { ...DEFAULT_INTL_CONFIG.options },\n }\n return getDayjsGlobalIntl()\n}\n\nexport function withDayjsGlobalIntl<T>(\n config: IDayjsIntlConfig,\n callback: () => T,\n): T {\n const previous = getDayjsGlobalIntl()\n globalIntlConfig = mergeIntlConfigs(globalIntlConfig, config)\n\n try {\n return callback()\n } finally {\n globalIntlConfig = {\n locale: previous.locale,\n options: { ...previous.options },\n }\n }\n}\n\nexport function resolveDayjsIntlConfig(\n config?: IDayjsIntlConfig,\n): IDayjsIntlResolvedConfig {\n return mergeIntlConfigs(globalIntlConfig, config)\n}\n\ndayJs.extend(utc)\ndayJs.extend(customParseFormat)\ndayJs.extend(advancedFormat)\ndayJs.extend(timezone)\ndayJs.extend(localizedFormat)\ndayJs.extend(relativeTime)\ndayJs.extend(intlPlugin)\n\nexport const dayjs = dayJs\n","import type { Dayjs } from \"dayjs\"\n\nimport { dayjs } from \"./dayjs\"\n\nexport function fixTimezoneOffset(utcDate: Date | string): Dayjs {\n const offset = new Date(utcDate).getTimezoneOffset()\n return dayjs(utcDate).add(offset, \"minute\")\n}\n","import type { IDayjsIntlConfig } from \"./dayjs\"\nimport { dayjs, getDayjsGlobalIntl } from \"./dayjs\"\n\nexport interface IFormatDateConfig {\n /** Optional locale override applied to the underlying dayjs instance */\n locale?: string\n /**\n * When provided, format using dayjs tokens (e.g. \"DD/MM/YYYY\").\n * Unless `useIntl` is true, this takes precedence over Intl formatting.\n */\n format?: string\n /**\n * Intl configuration used when formatting through `Intl.DateTimeFormat`.\n * Values are merged on top of the global Intl configuration.\n */\n intl?: IDayjsIntlConfig\n /**\n * Forces the use of Intl formatting even if a format string is supplied.\n */\n useIntl?: boolean\n}\n\ntype TLocaleOrConfig = Intl.LocalesArgument | IFormatDateConfig\n\nfunction isFormatDateConfig(\n value: TLocaleOrConfig,\n): value is IFormatDateConfig {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value)\n}\n\nfunction isValidLocaleTag(value: string): boolean {\n if (\n typeof Intl !== \"undefined\" &&\n typeof Intl.getCanonicalLocales === \"function\"\n ) {\n try {\n Intl.getCanonicalLocales(value)\n return true\n } catch {\n return false\n }\n }\n\n return /^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$/.test(value)\n}\n\nfunction toDayjsLocale(\n locale?:\n | Intl.LocalesArgument\n | Intl.Locale\n | readonly (string | Intl.Locale)[],\n): string | undefined {\n if (!locale) return undefined\n const first = Array.isArray(locale)\n ? (locale[0] as string | Intl.Locale)\n : (locale as string | Intl.Locale)\n return typeof first === \"string\" ? first : String(first)\n}\n\nexport function formatDate(\n date: Date | string | number,\n localeOrConfig: TLocaleOrConfig = getDayjsGlobalIntl().locale,\n opts?: Intl.DateTimeFormatOptions,\n): string {\n const instance = dayjs(date)\n\n if (!instance.isValid()) {\n throw new RangeError(\"Invalid time value\")\n }\n\n if (isFormatDateConfig(localeOrConfig)) {\n const { format, locale, intl, useIntl } = localeOrConfig\n const baseLocale = locale ?? toDayjsLocale(intl?.locale)\n const workingInstance = baseLocale ? instance.locale(baseLocale) : instance\n\n if (format && !useIntl) {\n return workingInstance.format(format)\n }\n\n const intlConfig: IDayjsIntlConfig | undefined = intl\n ? {\n locale: intl.locale ?? baseLocale,\n options: intl.options,\n }\n : baseLocale\n ? {\n locale: baseLocale,\n }\n : undefined\n\n return workingInstance.formatIntl(intlConfig)\n }\n\n if (typeof localeOrConfig === \"string\" && opts === undefined) {\n if (!isValidLocaleTag(localeOrConfig)) {\n return instance.format(localeOrConfig)\n }\n }\n\n const localeForDayjs = toDayjsLocale(localeOrConfig)\n const workingInstance = localeForDayjs\n ? instance.locale(localeForDayjs)\n : instance\n\n const intlConfig: IDayjsIntlConfig | undefined =\n localeOrConfig !== undefined || opts !== undefined\n ? {\n locale: localeOrConfig,\n options: opts,\n }\n : undefined\n\n return workingInstance.formatIntl(intlConfig)\n}\n","import type { Dayjs } from \"dayjs\"\n\nimport { dayjs } from \"./dayjs\"\n\nexport function getCurrentDateInUTC(): Dayjs {\n return dayjs().utc()\n}\n","import type { Dayjs } from \"dayjs\"\n\nimport { dayjs } from \"./dayjs\"\n\nexport function getDateInUTC(date: Date): Dayjs {\n return dayjs(date).utc()\n}\n","import type { ConfigType } from \"dayjs\"\nimport { dayjs } from \"./dayjs\"\n\nexport function getRelativeTime(date: ConfigType, dateNow = dayjs()): string {\n return dayjs(date).from(dateNow)\n}\n","import { fixTimezoneOffset } from \"./fix-timezone-offset\"\n\ninterface IUnitTranslation {\n singular: string\n plural: string\n}\n\ninterface ILocaleTranslations {\n year: IUnitTranslation\n month: IUnitTranslation\n day: IUnitTranslation\n hour: IUnitTranslation\n minute: IUnitTranslation\n second: IUnitTranslation\n // function to format verbose list (e.g. \"1 ano, 2 meses e 3 dias\")\n formatList: (parts: string[]) => string\n // tokens used for compact formatting (e.g. \"1a2m3d\")\n compactTokens: {\n year: string\n month: string\n day: string\n hour: string\n minute: string\n second: string\n }\n}\n\n// Supported locales and their translations\nconst locales: Record<string, ILocaleTranslations> = {\n \"pt-BR\": {\n year: { singular: \"ano\", plural: \"anos\" },\n month: { singular: \"mês\", plural: \"meses\" },\n day: { singular: \"dia\", plural: \"dias\" },\n hour: { singular: \"hora\", plural: \"horas\" },\n minute: { singular: \"minuto\", plural: \"minutos\" },\n second: { singular: \"segundo\", plural: \"segundos\" },\n formatList: (parts) => {\n if (parts.length === 0) return \"\"\n if (parts.length === 1) return parts[0]\n const lastPart = parts[parts.length - 1]\n const otherParts = parts.slice(0, -1)\n return `${otherParts.join(\", \")} e ${lastPart}`\n },\n compactTokens: {\n year: \"a\",\n month: \"m\",\n day: \"d\",\n hour: \"h\",\n minute: \"min\",\n second: \"s\",\n },\n },\n \"en-US\": {\n year: { singular: \"year\", plural: \"years\" },\n month: { singular: \"month\", plural: \"months\" },\n day: { singular: \"day\", plural: \"days\" },\n hour: { singular: \"hour\", plural: \"hours\" },\n minute: { singular: \"minute\", plural: \"minutes\" },\n second: { singular: \"second\", plural: \"seconds\" },\n formatList: (parts) => {\n if (parts.length === 0) return \"\"\n if (parts.length === 1) return parts[0]\n if (parts.length === 2) return `${parts[0]} and ${parts[1]}`\n return `${parts.slice(0, -1).join(\", \")}, and ${parts[parts.length - 1]}`\n },\n compactTokens: {\n year: \"y\",\n month: \"mo\",\n day: \"d\",\n hour: \"h\",\n minute: \"m\",\n second: \"s\",\n },\n },\n \"es-ES\": {\n year: { singular: \"año\", plural: \"años\" },\n month: { singular: \"mes\", plural: \"meses\" },\n day: { singular: \"día\", plural: \"días\" },\n hour: { singular: \"hora\", plural: \"horas\" },\n minute: { singular: \"minuto\", plural: \"minutos\" },\n second: { singular: \"segundo\", plural: \"segundos\" },\n formatList: (parts) => {\n if (parts.length === 0) return \"\"\n if (parts.length === 1) return parts[0]\n const lastPart = parts[parts.length - 1]\n const otherParts = parts.slice(0, -1)\n return `${otherParts.join(\", \")} y ${lastPart}`\n },\n compactTokens: {\n year: \"a\",\n month: \"mes\",\n day: \"d\",\n hour: \"h\",\n minute: \"min\",\n second: \"s\",\n },\n },\n \"fr-FR\": {\n year: { singular: \"an\", plural: \"ans\" },\n month: { singular: \"mois\", plural: \"mois\" },\n day: { singular: \"jour\", plural: \"jours\" },\n hour: { singular: \"heure\", plural: \"heures\" },\n minute: { singular: \"minute\", plural: \"minutes\" },\n second: { singular: \"seconde\", plural: \"secondes\" },\n formatList: (parts) => {\n if (parts.length === 0) return \"\"\n if (parts.length === 1) return parts[0]\n const lastPart = parts[parts.length - 1]\n const otherParts = parts.slice(0, -1)\n return `${otherParts.join(\", \")} et ${lastPart}`\n },\n compactTokens: {\n year: \"a\",\n month: \"m\",\n day: \"j\",\n hour: \"h\",\n minute: \"min\",\n second: \"s\",\n },\n },\n}\n\n// Return shape\nexport interface ITimeSpent {\n years: number\n months: number\n days: number\n hours: number\n minutes: number\n seconds: number\n formatted: string\n}\n\n// options: format -> 'verbose' | 'compact', minimal -> show only largest non-zero unit\nexport function parseTimeSpent(\n initialDate: string | Date,\n finalDate: string | Date,\n locale = \"pt-BR\", // Default to Portuguese for backward compatibility\n options?: { format?: \"verbose\" | \"compact\"; minimal?: boolean },\n): ITimeSpent {\n const final = fixTimezoneOffset(finalDate)\n const initial = fixTimezoneOffset(initialDate)\n\n const years = final.diff(initial, \"year\")\n const months = final.diff(initial.add(years, \"year\"), \"month\")\n const days = final.diff(\n initial.add(years, \"year\").add(months, \"month\"),\n \"day\",\n )\n const hours = final.diff(\n initial.add(years, \"year\").add(months, \"month\").add(days, \"day\"),\n \"hour\",\n )\n const minutes = final.diff(\n initial\n .add(years, \"year\")\n .add(months, \"month\")\n .add(days, \"day\")\n .add(hours, \"hour\"),\n \"minute\",\n )\n const seconds = final.diff(\n initial\n .add(years, \"year\")\n .add(months, \"month\")\n .add(days, \"day\")\n .add(hours, \"hour\")\n .add(minutes, \"minute\"),\n \"second\",\n )\n\n // Use default locale if the requested one isn't supported\n const translations = locales[locale] || locales[\"pt-BR\"]\n\n // Build verbose parts (localized words)\n const verboseParts: string[] = []\n if (years > 0) {\n const unit =\n years === 1 ? translations.year.singular : translations.year.plural\n verboseParts.push(`${years} ${unit}`)\n }\n if (months > 0) {\n const unit =\n months === 1 ? translations.month.singular : translations.month.plural\n verboseParts.push(`${months} ${unit}`)\n }\n if (days > 0) {\n const unit =\n days === 1 ? translations.day.singular : translations.day.plural\n verboseParts.push(`${days} ${unit}`)\n }\n if (hours > 0) {\n const unit =\n hours === 1 ? translations.hour.singular : translations.hour.plural\n verboseParts.push(`${hours} ${unit}`)\n }\n if (minutes > 0) {\n const unit =\n minutes === 1 ? translations.minute.singular : translations.minute.plural\n verboseParts.push(`${minutes} ${unit}`)\n }\n if (seconds > 0) {\n const unit =\n seconds === 1 ? translations.second.singular : translations.second.plural\n verboseParts.push(`${seconds} ${unit}`)\n }\n\n // Build compact parts (e.g. \"1a2m3d\")\n const compactPieces: string[] = []\n if (years > 0)\n compactPieces.push(`${years}${translations.compactTokens.year}`)\n if (months > 0)\n compactPieces.push(`${months}${translations.compactTokens.month}`)\n if (days > 0) compactPieces.push(`${days}${translations.compactTokens.day}`)\n if (hours > 0)\n compactPieces.push(`${hours}${translations.compactTokens.hour}`)\n if (minutes > 0)\n compactPieces.push(`${minutes}${translations.compactTokens.minute}`)\n if (seconds > 0)\n compactPieces.push(`${seconds}${translations.compactTokens.second}`)\n\n const format = options?.format ?? \"verbose\"\n const minimal = options?.minimal ?? false\n\n let formatted = \"\"\n if (format === \"compact\") {\n if (compactPieces.length === 0) {\n formatted = \"\"\n } else if (minimal) {\n formatted = compactPieces[0]\n } else {\n formatted = compactPieces.join(\"\")\n }\n } else {\n // verbose\n if (verboseParts.length === 0) {\n formatted = \"\"\n } else if (minimal) {\n formatted = verboseParts[0]\n } else {\n formatted = translations.formatList(verboseParts)\n }\n }\n\n return {\n years,\n months,\n days,\n hours,\n minutes,\n seconds,\n formatted,\n }\n}\n"]}
@@ -1,3 +0,0 @@
1
- export { compressImage, downloadUrl } from './index.browser.mjs';
2
- export { fileDelete, fileExists } from './index.node.mjs';
3
- export { f as formatBytes } from '../format-bytes-BGjeDnvM.mjs';
@@ -1,3 +0,0 @@
1
- declare function formatBytes(bytes: number): string;
2
-
3
- export { formatBytes as f };
@@ -1,3 +0,0 @@
1
- declare function formatBytes(bytes: number): string;
2
-
3
- export { formatBytes as f };
package/dist/index.d.mts DELETED
@@ -1,12 +0,0 @@
1
- export { IApiError, apiClient } from './api/index.mjs';
2
- export { shuffle, unique } from './array/index.mjs';
3
- export { IDayjsIntlConfig, IDayjsIntlResolvedConfig, IFormatDateConfig, ITimeSpent, dayjs, fixTimezoneOffset, formatDate, getCurrentDateInUTC, getDateInUTC, getDayjsGlobalIntl, getRelativeTime, parseTimeSpent, resetDayjsGlobalIntl, resolveDayjsIntlConfig, setDayjsGlobalIntl, withDayjsGlobalIntl } from './date/index.mjs';
4
- export { compressImage, downloadUrl } from './files/index.browser.mjs';
5
- export { fileDelete, fileExists } from './files/index.node.mjs';
6
- export { f as formatBytes } from './format-bytes-BGjeDnvM.mjs';
7
- export { debounce, throttle } from './function/index.mjs';
8
- export { T as TTryCatchResult, t as tryCatch } from './try-catch-B7WzqcPU.mjs';
9
- export { camelCase, capitalize, formatHMSToSeconds, formatSecondsToFragment, formatSecondsToHMS, formatStringToTime, kebabCase, markdownToText, removeHtmlTags, slugify, snakeCase, toSentenceCase, truncate } from './string/index.mjs';
10
- export { TYouTubeVideoInfo, extractYouTubeId, generateYoutubeURL, getYoutubeVideoInfo, validateYoutubeLink } from './youtube/index.node.mjs';
11
- export { getYoutubeThumbnail, getYoutubeVideoDuration } from './youtube/index.mjs';
12
- import 'dayjs';
@@ -1,2 +0,0 @@
1
- export { TYouTubeVideoInfo, extractYouTubeId, generateYoutubeURL, getYoutubeVideoInfo, validateYoutubeLink } from './index.node.mjs';
2
- export { getYoutubeThumbnail, getYoutubeVideoDuration } from './index.mjs';
File without changes
File without changes
File without changes