@herowcode/utils 1.3.5 → 1.5.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.
Files changed (462) hide show
  1. package/dist/api/index.cjs +12 -0
  2. package/dist/api/index.cjs.map +1 -0
  3. package/dist/api/{client.d.ts → index.d.mts} +19 -8
  4. package/dist/api/index.d.ts +36 -3
  5. package/dist/api/index.js +3 -0
  6. package/dist/api/index.js.map +1 -0
  7. package/dist/array/index.cjs +16 -0
  8. package/dist/array/index.cjs.map +1 -0
  9. package/dist/array/index.d.mts +5 -0
  10. package/dist/array/index.d.ts +5 -3
  11. package/dist/array/index.js +3 -0
  12. package/dist/array/index.js.map +1 -0
  13. package/dist/chunk-2MANLCNG.cjs +23 -0
  14. package/dist/chunk-2MANLCNG.cjs.map +1 -0
  15. package/dist/chunk-2RTW37WD.js +20 -0
  16. package/dist/chunk-2RTW37WD.js.map +1 -0
  17. package/dist/chunk-2Y6M7IOG.js +250 -0
  18. package/dist/chunk-2Y6M7IOG.js.map +1 -0
  19. package/dist/chunk-3JUB2OJL.js +3 -0
  20. package/dist/chunk-3JUB2OJL.js.map +1 -0
  21. package/dist/chunk-53JMVGIG.js +187 -0
  22. package/dist/chunk-53JMVGIG.js.map +1 -0
  23. package/dist/chunk-56NHIM5J.js +151 -0
  24. package/dist/chunk-56NHIM5J.js.map +1 -0
  25. package/dist/chunk-5OLQJUNS.js +66 -0
  26. package/dist/chunk-5OLQJUNS.js.map +1 -0
  27. package/dist/chunk-5YOEKMTJ.cjs +321 -0
  28. package/dist/chunk-5YOEKMTJ.cjs.map +1 -0
  29. package/dist/chunk-6TWPZ6LL.cjs +4 -0
  30. package/dist/chunk-6TWPZ6LL.cjs.map +1 -0
  31. package/dist/chunk-AQZBHMTO.js +96 -0
  32. package/dist/chunk-AQZBHMTO.js.map +1 -0
  33. package/dist/chunk-ATWN4SRX.js +29 -0
  34. package/dist/chunk-ATWN4SRX.js.map +1 -0
  35. package/dist/chunk-GRSF4RY2.cjs +20 -0
  36. package/dist/chunk-GRSF4RY2.cjs.map +1 -0
  37. package/dist/chunk-GX5E5B4L.cjs +70 -0
  38. package/dist/chunk-GX5E5B4L.cjs.map +1 -0
  39. package/dist/chunk-HK727IAV.cjs +201 -0
  40. package/dist/chunk-HK727IAV.cjs.map +1 -0
  41. package/dist/chunk-LJ6KOZD4.cjs +154 -0
  42. package/dist/chunk-LJ6KOZD4.cjs.map +1 -0
  43. package/dist/chunk-N2DRAZ3A.cjs +29 -0
  44. package/dist/chunk-N2DRAZ3A.cjs.map +1 -0
  45. package/dist/chunk-O7SH3E3T.js +18 -0
  46. package/dist/chunk-O7SH3E3T.js.map +1 -0
  47. package/dist/chunk-P5YNRND6.cjs +4 -0
  48. package/dist/chunk-P5YNRND6.cjs.map +1 -0
  49. package/dist/chunk-QAE6Q2SA.js +317 -0
  50. package/dist/chunk-QAE6Q2SA.js.map +1 -0
  51. package/dist/chunk-QRXVUXGJ.js +378 -0
  52. package/dist/chunk-QRXVUXGJ.js.map +1 -0
  53. package/dist/chunk-SLYUARZG.cjs +99 -0
  54. package/dist/chunk-SLYUARZG.cjs.map +1 -0
  55. package/dist/chunk-SWRIT7EE.js +3 -0
  56. package/dist/chunk-SWRIT7EE.js.map +1 -0
  57. package/dist/chunk-UXEUYHBD.cjs +401 -0
  58. package/dist/chunk-UXEUYHBD.cjs.map +1 -0
  59. package/dist/chunk-V6OKXUBQ.js +22 -0
  60. package/dist/chunk-V6OKXUBQ.js.map +1 -0
  61. package/dist/chunk-VAZJXZU5.cjs +31 -0
  62. package/dist/chunk-VAZJXZU5.cjs.map +1 -0
  63. package/dist/chunk-WGSFRFRO.cjs +252 -0
  64. package/dist/chunk-WGSFRFRO.cjs.map +1 -0
  65. package/dist/date/index.cjs +56 -0
  66. package/dist/date/index.cjs.map +1 -0
  67. package/dist/date/index.d.mts +63 -0
  68. package/dist/date/index.d.ts +63 -8
  69. package/dist/date/index.js +3 -0
  70. package/dist/date/index.js.map +1 -0
  71. package/dist/extract-youtube-video-id-HSYMYXIZ.js +3 -0
  72. package/dist/extract-youtube-video-id-HSYMYXIZ.js.map +1 -0
  73. package/dist/extract-youtube-video-id-XVGNPUDX.cjs +12 -0
  74. package/dist/extract-youtube-video-id-XVGNPUDX.cjs.map +1 -0
  75. package/dist/files/index.browser.cjs +21 -0
  76. package/dist/files/index.browser.cjs.map +1 -0
  77. package/dist/files/index.browser.d.mts +14 -0
  78. package/dist/files/index.browser.d.ts +14 -0
  79. package/dist/files/index.browser.js +4 -0
  80. package/dist/files/index.browser.js.map +1 -0
  81. package/dist/files/index.cjs +31 -0
  82. package/dist/files/index.cjs.map +1 -0
  83. package/dist/files/index.d.mts +3 -0
  84. package/dist/files/index.d.ts +3 -6
  85. package/dist/files/index.js +6 -0
  86. package/dist/files/index.js.map +1 -0
  87. package/dist/files/index.node.cjs +21 -0
  88. package/dist/files/index.node.cjs.map +1 -0
  89. package/dist/files/index.node.d.mts +7 -0
  90. package/dist/files/index.node.d.ts +7 -0
  91. package/dist/files/index.node.js +4 -0
  92. package/dist/files/index.node.js.map +1 -0
  93. package/dist/format-bytes-BGjeDnvM.d.mts +3 -0
  94. package/dist/format-bytes-BGjeDnvM.d.ts +3 -0
  95. package/dist/function/index.cjs +20 -0
  96. package/dist/function/index.cjs.map +1 -0
  97. package/dist/function/index.d.mts +22 -0
  98. package/dist/function/index.d.ts +22 -4
  99. package/dist/function/index.js +3 -0
  100. package/dist/function/index.js.map +1 -0
  101. package/dist/index.cjs +188 -0
  102. package/dist/index.cjs.map +1 -0
  103. package/dist/index.d.mts +12 -0
  104. package/dist/index.d.ts +12 -8
  105. package/dist/index.js +15 -0
  106. package/dist/index.js.map +1 -0
  107. package/dist/nextjs/index.browser.cjs +110 -0
  108. package/dist/nextjs/index.browser.cjs.map +1 -0
  109. package/dist/nextjs/index.browser.d.mts +10 -0
  110. package/dist/nextjs/index.browser.d.ts +10 -0
  111. package/dist/nextjs/index.browser.js +103 -0
  112. package/dist/nextjs/index.browser.js.map +1 -0
  113. package/dist/string/index.cjs +60 -0
  114. package/dist/string/index.cjs.map +1 -0
  115. package/dist/string/index.d.mts +28 -0
  116. package/dist/string/index.d.ts +28 -14
  117. package/dist/string/index.js +3 -0
  118. package/dist/string/index.js.map +1 -0
  119. package/dist/{cjs/function/try-catch.d.ts → try-catch-B7WzqcPU.d.mts} +4 -4
  120. package/dist/{function/try-catch.d.ts → try-catch-B7WzqcPU.d.ts} +4 -4
  121. package/dist/youtube/index.browser.cjs +35 -0
  122. package/dist/youtube/index.browser.cjs.map +1 -0
  123. package/dist/youtube/index.browser.d.mts +2 -0
  124. package/dist/youtube/index.browser.d.ts +2 -0
  125. package/dist/youtube/index.browser.js +6 -0
  126. package/dist/youtube/index.browser.js.map +1 -0
  127. package/dist/youtube/index.cjs +36 -0
  128. package/dist/youtube/index.cjs.map +1 -0
  129. package/dist/youtube/index.d.mts +12 -0
  130. package/dist/youtube/index.d.ts +12 -7
  131. package/dist/youtube/index.js +7 -0
  132. package/dist/youtube/index.js.map +1 -0
  133. package/dist/youtube/index.node.cjs +26 -0
  134. package/dist/youtube/index.node.cjs.map +1 -0
  135. package/dist/youtube/index.node.d.mts +49 -0
  136. package/dist/youtube/index.node.d.ts +49 -0
  137. package/dist/youtube/index.node.js +5 -0
  138. package/dist/youtube/index.node.js.map +1 -0
  139. package/package.json +164 -49
  140. package/dist/api/client.d.ts.map +0 -1
  141. package/dist/api/index.d.ts.map +0 -1
  142. package/dist/api/wrapper.d.ts +0 -27
  143. package/dist/api/wrapper.d.ts.map +0 -1
  144. package/dist/array/index.d.ts.map +0 -1
  145. package/dist/array/shuffle.d.ts +0 -2
  146. package/dist/array/shuffle.d.ts.map +0 -1
  147. package/dist/array/unique.d.ts +0 -2
  148. package/dist/array/unique.d.ts.map +0 -1
  149. package/dist/cjs/api/client.d.ts +0 -25
  150. package/dist/cjs/api/client.d.ts.map +0 -1
  151. package/dist/cjs/api/client.js +0 -148
  152. package/dist/cjs/api/client.js.map +0 -1
  153. package/dist/cjs/api/index.d.ts +0 -3
  154. package/dist/cjs/api/index.d.ts.map +0 -1
  155. package/dist/cjs/api/index.js +0 -6
  156. package/dist/cjs/api/index.js.map +0 -1
  157. package/dist/cjs/api/wrapper.d.ts +0 -27
  158. package/dist/cjs/api/wrapper.d.ts.map +0 -1
  159. package/dist/cjs/api/wrapper.js +0 -152
  160. package/dist/cjs/api/wrapper.js.map +0 -1
  161. package/dist/cjs/array/index.d.ts +0 -3
  162. package/dist/cjs/array/index.d.ts.map +0 -1
  163. package/dist/cjs/array/index.js +0 -19
  164. package/dist/cjs/array/index.js.map +0 -1
  165. package/dist/cjs/array/shuffle.d.ts +0 -2
  166. package/dist/cjs/array/shuffle.d.ts.map +0 -1
  167. package/dist/cjs/array/shuffle.js +0 -16
  168. package/dist/cjs/array/shuffle.js.map +0 -1
  169. package/dist/cjs/array/unique.d.ts +0 -2
  170. package/dist/cjs/array/unique.d.ts.map +0 -1
  171. package/dist/cjs/array/unique.js +0 -7
  172. package/dist/cjs/array/unique.js.map +0 -1
  173. package/dist/cjs/array.js +0 -1
  174. package/dist/cjs/date/dayjs.d.ts +0 -20
  175. package/dist/cjs/date/dayjs.d.ts.map +0 -1
  176. package/dist/cjs/date/dayjs.js +0 -123
  177. package/dist/cjs/date/dayjs.js.map +0 -1
  178. package/dist/cjs/date/fix-timezone-offset.d.ts +0 -3
  179. package/dist/cjs/date/fix-timezone-offset.d.ts.map +0 -1
  180. package/dist/cjs/date/fix-timezone-offset.js +0 -9
  181. package/dist/cjs/date/fix-timezone-offset.js.map +0 -1
  182. package/dist/cjs/date/format-date.d.ts +0 -23
  183. package/dist/cjs/date/format-date.d.ts.map +0 -1
  184. package/dist/cjs/date/format-date.js +0 -71
  185. package/dist/cjs/date/format-date.js.map +0 -1
  186. package/dist/cjs/date/get-current-date-in-utc.d.ts +0 -3
  187. package/dist/cjs/date/get-current-date-in-utc.d.ts.map +0 -1
  188. package/dist/cjs/date/get-current-date-in-utc.js +0 -8
  189. package/dist/cjs/date/get-current-date-in-utc.js.map +0 -1
  190. package/dist/cjs/date/get-date-in-utc.d.ts +0 -3
  191. package/dist/cjs/date/get-date-in-utc.d.ts.map +0 -1
  192. package/dist/cjs/date/get-date-in-utc.js +0 -8
  193. package/dist/cjs/date/get-date-in-utc.js.map +0 -1
  194. package/dist/cjs/date/get-relative-time.d.ts +0 -3
  195. package/dist/cjs/date/get-relative-time.d.ts.map +0 -1
  196. package/dist/cjs/date/get-relative-time.js +0 -8
  197. package/dist/cjs/date/get-relative-time.js.map +0 -1
  198. package/dist/cjs/date/index.d.ts +0 -8
  199. package/dist/cjs/date/index.d.ts.map +0 -1
  200. package/dist/cjs/date/index.js +0 -24
  201. package/dist/cjs/date/index.js.map +0 -1
  202. package/dist/cjs/date/parse-time-spent.d.ts +0 -15
  203. package/dist/cjs/date/parse-time-spent.d.ts.map +0 -1
  204. package/dist/cjs/date/parse-time-spent.js +0 -207
  205. package/dist/cjs/date/parse-time-spent.js.map +0 -1
  206. package/dist/cjs/date.js +0 -1
  207. package/dist/cjs/files/compress-image.d.ts +0 -10
  208. package/dist/cjs/files/compress-image.d.ts.map +0 -1
  209. package/dist/cjs/files/compress-image.js +0 -61
  210. package/dist/cjs/files/compress-image.js.map +0 -1
  211. package/dist/cjs/files/download-url.d.ts +0 -2
  212. package/dist/cjs/files/download-url.d.ts.map +0 -1
  213. package/dist/cjs/files/download-url.js +0 -29
  214. package/dist/cjs/files/download-url.js.map +0 -1
  215. package/dist/cjs/files/file-delete.d.ts +0 -2
  216. package/dist/cjs/files/file-delete.d.ts.map +0 -1
  217. package/dist/cjs/files/file-delete.js +0 -20
  218. package/dist/cjs/files/file-delete.js.map +0 -1
  219. package/dist/cjs/files/file-exists.d.ts +0 -2
  220. package/dist/cjs/files/file-exists.d.ts.map +0 -1
  221. package/dist/cjs/files/file-exists.js +0 -18
  222. package/dist/cjs/files/file-exists.js.map +0 -1
  223. package/dist/cjs/files/format-bytes.d.ts +0 -2
  224. package/dist/cjs/files/format-bytes.d.ts.map +0 -1
  225. package/dist/cjs/files/format-bytes.js +0 -17
  226. package/dist/cjs/files/format-bytes.js.map +0 -1
  227. package/dist/cjs/files/index.d.ts +0 -6
  228. package/dist/cjs/files/index.d.ts.map +0 -1
  229. package/dist/cjs/files/index.js +0 -22
  230. package/dist/cjs/files/index.js.map +0 -1
  231. package/dist/cjs/files.js +0 -1
  232. package/dist/cjs/function/debounce.d.ts +0 -11
  233. package/dist/cjs/function/debounce.d.ts.map +0 -1
  234. package/dist/cjs/function/debounce.js +0 -26
  235. package/dist/cjs/function/debounce.js.map +0 -1
  236. package/dist/cjs/function/index.d.ts +0 -4
  237. package/dist/cjs/function/index.d.ts.map +0 -1
  238. package/dist/cjs/function/index.js +0 -20
  239. package/dist/cjs/function/index.js.map +0 -1
  240. package/dist/cjs/function/throttle.d.ts +0 -10
  241. package/dist/cjs/function/throttle.d.ts.map +0 -1
  242. package/dist/cjs/function/throttle.js +0 -36
  243. package/dist/cjs/function/throttle.js.map +0 -1
  244. package/dist/cjs/function/try-catch.d.ts.map +0 -1
  245. package/dist/cjs/function/try-catch.js +0 -39
  246. package/dist/cjs/function/try-catch.js.map +0 -1
  247. package/dist/cjs/function.js +0 -1
  248. package/dist/cjs/index.d.ts +0 -8
  249. package/dist/cjs/index.d.ts.map +0 -1
  250. package/dist/cjs/index.js +0 -24
  251. package/dist/cjs/index.js.map +0 -1
  252. package/dist/cjs/string/camel-case.d.ts +0 -2
  253. package/dist/cjs/string/camel-case.d.ts.map +0 -1
  254. package/dist/cjs/string/camel-case.js +0 -25
  255. package/dist/cjs/string/camel-case.js.map +0 -1
  256. package/dist/cjs/string/capitalize.d.ts +0 -2
  257. package/dist/cjs/string/capitalize.d.ts.map +0 -1
  258. package/dist/cjs/string/capitalize.js +0 -13
  259. package/dist/cjs/string/capitalize.js.map +0 -1
  260. package/dist/cjs/string/format-hms-to-seconds.d.ts +0 -2
  261. package/dist/cjs/string/format-hms-to-seconds.d.ts.map +0 -1
  262. package/dist/cjs/string/format-hms-to-seconds.js +0 -30
  263. package/dist/cjs/string/format-hms-to-seconds.js.map +0 -1
  264. package/dist/cjs/string/format-seconds-to-fragment.d.ts +0 -3
  265. package/dist/cjs/string/format-seconds-to-fragment.d.ts.map +0 -1
  266. package/dist/cjs/string/format-seconds-to-fragment.js +0 -20
  267. package/dist/cjs/string/format-seconds-to-fragment.js.map +0 -1
  268. package/dist/cjs/string/format-seconds-to-hms.d.ts +0 -2
  269. package/dist/cjs/string/format-seconds-to-hms.d.ts.map +0 -1
  270. package/dist/cjs/string/format-seconds-to-hms.js +0 -17
  271. package/dist/cjs/string/format-seconds-to-hms.js.map +0 -1
  272. package/dist/cjs/string/format-string-to-time.d.ts +0 -2
  273. package/dist/cjs/string/format-string-to-time.d.ts.map +0 -1
  274. package/dist/cjs/string/format-string-to-time.js +0 -15
  275. package/dist/cjs/string/format-string-to-time.js.map +0 -1
  276. package/dist/cjs/string/index.d.ts +0 -14
  277. package/dist/cjs/string/index.d.ts.map +0 -1
  278. package/dist/cjs/string/index.js +0 -30
  279. package/dist/cjs/string/index.js.map +0 -1
  280. package/dist/cjs/string/kebab-case.d.ts +0 -2
  281. package/dist/cjs/string/kebab-case.d.ts.map +0 -1
  282. package/dist/cjs/string/kebab-case.js +0 -15
  283. package/dist/cjs/string/kebab-case.js.map +0 -1
  284. package/dist/cjs/string/markdown-to-text.d.ts +0 -2
  285. package/dist/cjs/string/markdown-to-text.d.ts.map +0 -1
  286. package/dist/cjs/string/markdown-to-text.js +0 -70
  287. package/dist/cjs/string/markdown-to-text.js.map +0 -1
  288. package/dist/cjs/string/remove-html-tags.d.ts +0 -2
  289. package/dist/cjs/string/remove-html-tags.d.ts.map +0 -1
  290. package/dist/cjs/string/remove-html-tags.js +0 -18
  291. package/dist/cjs/string/remove-html-tags.js.map +0 -1
  292. package/dist/cjs/string/slugify.d.ts +0 -2
  293. package/dist/cjs/string/slugify.d.ts.map +0 -1
  294. package/dist/cjs/string/slugify.js +0 -13
  295. package/dist/cjs/string/slugify.js.map +0 -1
  296. package/dist/cjs/string/snake-case.d.ts +0 -2
  297. package/dist/cjs/string/snake-case.d.ts.map +0 -1
  298. package/dist/cjs/string/snake-case.js +0 -15
  299. package/dist/cjs/string/snake-case.js.map +0 -1
  300. package/dist/cjs/string/to-sentence-case.d.ts +0 -2
  301. package/dist/cjs/string/to-sentence-case.d.ts.map +0 -1
  302. package/dist/cjs/string/to-sentence-case.js +0 -13
  303. package/dist/cjs/string/to-sentence-case.js.map +0 -1
  304. package/dist/cjs/string/truncate.d.ts +0 -2
  305. package/dist/cjs/string/truncate.d.ts.map +0 -1
  306. package/dist/cjs/string/truncate.js +0 -19
  307. package/dist/cjs/string/truncate.js.map +0 -1
  308. package/dist/cjs/string.js +0 -1
  309. package/dist/cjs/youtube/extract-youtube-video-id.d.ts +0 -2
  310. package/dist/cjs/youtube/extract-youtube-video-id.d.ts.map +0 -1
  311. package/dist/cjs/youtube/extract-youtube-video-id.js +0 -30
  312. package/dist/cjs/youtube/extract-youtube-video-id.js.map +0 -1
  313. package/dist/cjs/youtube/generate-youtube-url.d.ts +0 -20
  314. package/dist/cjs/youtube/generate-youtube-url.d.ts.map +0 -1
  315. package/dist/cjs/youtube/generate-youtube-url.js +0 -86
  316. package/dist/cjs/youtube/generate-youtube-url.js.map +0 -1
  317. package/dist/cjs/youtube/get-video-duration.d.ts +0 -7
  318. package/dist/cjs/youtube/get-video-duration.d.ts.map +0 -1
  319. package/dist/cjs/youtube/get-video-duration.js +0 -150
  320. package/dist/cjs/youtube/get-video-duration.js.map +0 -1
  321. package/dist/cjs/youtube/get-youtube-thumbnail.d.ts +0 -2
  322. package/dist/cjs/youtube/get-youtube-thumbnail.d.ts.map +0 -1
  323. package/dist/cjs/youtube/get-youtube-thumbnail.js +0 -68
  324. package/dist/cjs/youtube/get-youtube-thumbnail.js.map +0 -1
  325. package/dist/cjs/youtube/get-youtube-video-info.d.ts +0 -26
  326. package/dist/cjs/youtube/get-youtube-video-info.d.ts.map +0 -1
  327. package/dist/cjs/youtube/get-youtube-video-info.js +0 -244
  328. package/dist/cjs/youtube/get-youtube-video-info.js.map +0 -1
  329. package/dist/cjs/youtube/index.d.ts +0 -7
  330. package/dist/cjs/youtube/index.d.ts.map +0 -1
  331. package/dist/cjs/youtube/index.js +0 -23
  332. package/dist/cjs/youtube/index.js.map +0 -1
  333. package/dist/cjs/youtube/validate-youtube-link.d.ts +0 -2
  334. package/dist/cjs/youtube/validate-youtube-link.d.ts.map +0 -1
  335. package/dist/cjs/youtube/validate-youtube-link.js +0 -77
  336. package/dist/cjs/youtube/validate-youtube-link.js.map +0 -1
  337. package/dist/cjs/youtube.js +0 -1
  338. package/dist/date/dayjs.d.ts +0 -20
  339. package/dist/date/dayjs.d.ts.map +0 -1
  340. package/dist/date/fix-timezone-offset.d.ts +0 -3
  341. package/dist/date/fix-timezone-offset.d.ts.map +0 -1
  342. package/dist/date/format-date.d.ts +0 -23
  343. package/dist/date/format-date.d.ts.map +0 -1
  344. package/dist/date/get-current-date-in-utc.d.ts +0 -3
  345. package/dist/date/get-current-date-in-utc.d.ts.map +0 -1
  346. package/dist/date/get-date-in-utc.d.ts +0 -3
  347. package/dist/date/get-date-in-utc.d.ts.map +0 -1
  348. package/dist/date/get-relative-time.d.ts +0 -3
  349. package/dist/date/get-relative-time.d.ts.map +0 -1
  350. package/dist/date/index.d.ts.map +0 -1
  351. package/dist/date/parse-time-spent.d.ts +0 -15
  352. package/dist/date/parse-time-spent.d.ts.map +0 -1
  353. package/dist/esm/api/client.js +0 -143
  354. package/dist/esm/api/index.js +0 -1
  355. package/dist/esm/api/wrapper.js +0 -148
  356. package/dist/esm/array/index.js +0 -2
  357. package/dist/esm/array/shuffle.js +0 -12
  358. package/dist/esm/array/unique.js +0 -3
  359. package/dist/esm/array.js +0 -1
  360. package/dist/esm/date/dayjs.js +0 -111
  361. package/dist/esm/date/fix-timezone-offset.js +0 -5
  362. package/dist/esm/date/format-date.js +0 -67
  363. package/dist/esm/date/get-current-date-in-utc.js +0 -4
  364. package/dist/esm/date/get-date-in-utc.js +0 -4
  365. package/dist/esm/date/get-relative-time.js +0 -4
  366. package/dist/esm/date/index.js +0 -7
  367. package/dist/esm/date/parse-time-spent.js +0 -203
  368. package/dist/esm/date.js +0 -1
  369. package/dist/esm/files/compress-image.js +0 -57
  370. package/dist/esm/files/download-url.js +0 -24
  371. package/dist/esm/files/file-delete.js +0 -12
  372. package/dist/esm/files/file-exists.js +0 -10
  373. package/dist/esm/files/format-bytes.js +0 -13
  374. package/dist/esm/files/index.js +0 -5
  375. package/dist/esm/files.js +0 -1
  376. package/dist/esm/function/debounce.js +0 -22
  377. package/dist/esm/function/index.js +0 -3
  378. package/dist/esm/function/throttle.js +0 -32
  379. package/dist/esm/function/try-catch.js +0 -35
  380. package/dist/esm/function.js +0 -1
  381. package/dist/esm/index.js +0 -7
  382. package/dist/esm/string/camel-case.js +0 -21
  383. package/dist/esm/string/capitalize.js +0 -9
  384. package/dist/esm/string/format-hms-to-seconds.js +0 -25
  385. package/dist/esm/string/format-seconds-to-fragment.js +0 -15
  386. package/dist/esm/string/format-seconds-to-hms.js +0 -13
  387. package/dist/esm/string/format-string-to-time.js +0 -10
  388. package/dist/esm/string/index.js +0 -13
  389. package/dist/esm/string/kebab-case.js +0 -11
  390. package/dist/esm/string/markdown-to-text.js +0 -66
  391. package/dist/esm/string/remove-html-tags.js +0 -14
  392. package/dist/esm/string/slugify.js +0 -9
  393. package/dist/esm/string/snake-case.js +0 -11
  394. package/dist/esm/string/to-sentence-case.js +0 -9
  395. package/dist/esm/string/truncate.js +0 -15
  396. package/dist/esm/string.js +0 -1
  397. package/dist/esm/youtube/extract-youtube-video-id.js +0 -26
  398. package/dist/esm/youtube/generate-youtube-url.js +0 -81
  399. package/dist/esm/youtube/get-video-duration.js +0 -146
  400. package/dist/esm/youtube/get-youtube-thumbnail.js +0 -31
  401. package/dist/esm/youtube/get-youtube-video-info.js +0 -207
  402. package/dist/esm/youtube/index.js +0 -6
  403. package/dist/esm/youtube/validate-youtube-link.js +0 -40
  404. package/dist/esm/youtube.js +0 -1
  405. package/dist/files/compress-image.d.ts +0 -10
  406. package/dist/files/compress-image.d.ts.map +0 -1
  407. package/dist/files/download-url.d.ts +0 -2
  408. package/dist/files/download-url.d.ts.map +0 -1
  409. package/dist/files/file-delete.d.ts +0 -2
  410. package/dist/files/file-delete.d.ts.map +0 -1
  411. package/dist/files/file-exists.d.ts +0 -2
  412. package/dist/files/file-exists.d.ts.map +0 -1
  413. package/dist/files/format-bytes.d.ts +0 -2
  414. package/dist/files/format-bytes.d.ts.map +0 -1
  415. package/dist/files/index.d.ts.map +0 -1
  416. package/dist/function/debounce.d.ts +0 -11
  417. package/dist/function/debounce.d.ts.map +0 -1
  418. package/dist/function/index.d.ts.map +0 -1
  419. package/dist/function/throttle.d.ts +0 -10
  420. package/dist/function/throttle.d.ts.map +0 -1
  421. package/dist/function/try-catch.d.ts.map +0 -1
  422. package/dist/index.d.ts.map +0 -1
  423. package/dist/string/camel-case.d.ts +0 -2
  424. package/dist/string/camel-case.d.ts.map +0 -1
  425. package/dist/string/capitalize.d.ts +0 -2
  426. package/dist/string/capitalize.d.ts.map +0 -1
  427. package/dist/string/format-hms-to-seconds.d.ts +0 -2
  428. package/dist/string/format-hms-to-seconds.d.ts.map +0 -1
  429. package/dist/string/format-seconds-to-fragment.d.ts +0 -3
  430. package/dist/string/format-seconds-to-fragment.d.ts.map +0 -1
  431. package/dist/string/format-seconds-to-hms.d.ts +0 -2
  432. package/dist/string/format-seconds-to-hms.d.ts.map +0 -1
  433. package/dist/string/format-string-to-time.d.ts +0 -2
  434. package/dist/string/format-string-to-time.d.ts.map +0 -1
  435. package/dist/string/index.d.ts.map +0 -1
  436. package/dist/string/kebab-case.d.ts +0 -2
  437. package/dist/string/kebab-case.d.ts.map +0 -1
  438. package/dist/string/markdown-to-text.d.ts +0 -2
  439. package/dist/string/markdown-to-text.d.ts.map +0 -1
  440. package/dist/string/remove-html-tags.d.ts +0 -2
  441. package/dist/string/remove-html-tags.d.ts.map +0 -1
  442. package/dist/string/slugify.d.ts +0 -2
  443. package/dist/string/slugify.d.ts.map +0 -1
  444. package/dist/string/snake-case.d.ts +0 -2
  445. package/dist/string/snake-case.d.ts.map +0 -1
  446. package/dist/string/to-sentence-case.d.ts +0 -2
  447. package/dist/string/to-sentence-case.d.ts.map +0 -1
  448. package/dist/string/truncate.d.ts +0 -2
  449. package/dist/string/truncate.d.ts.map +0 -1
  450. package/dist/youtube/extract-youtube-video-id.d.ts +0 -2
  451. package/dist/youtube/extract-youtube-video-id.d.ts.map +0 -1
  452. package/dist/youtube/generate-youtube-url.d.ts +0 -20
  453. package/dist/youtube/generate-youtube-url.d.ts.map +0 -1
  454. package/dist/youtube/get-video-duration.d.ts +0 -7
  455. package/dist/youtube/get-video-duration.d.ts.map +0 -1
  456. package/dist/youtube/get-youtube-thumbnail.d.ts +0 -2
  457. package/dist/youtube/get-youtube-thumbnail.d.ts.map +0 -1
  458. package/dist/youtube/get-youtube-video-info.d.ts +0 -26
  459. package/dist/youtube/get-youtube-video-info.d.ts.map +0 -1
  460. package/dist/youtube/index.d.ts.map +0 -1
  461. package/dist/youtube/validate-youtube-link.d.ts +0 -2
  462. package/dist/youtube/validate-youtube-link.d.ts.map +0 -1
@@ -0,0 +1,401 @@
1
+ 'use strict';
2
+
3
+ var dayJs = require('dayjs');
4
+ var advancedFormat = require('dayjs/plugin/advancedFormat');
5
+ var customParseFormat = require('dayjs/plugin/customParseFormat');
6
+ var localizedFormat = require('dayjs/plugin/localizedFormat');
7
+ var relativeTime = require('dayjs/plugin/relativeTime');
8
+ var timezone = require('dayjs/plugin/timezone');
9
+ var utc = require('dayjs/plugin/utc');
10
+ require('dayjs/locale/en');
11
+ require('dayjs/locale/es');
12
+ require('dayjs/locale/fr');
13
+ require('dayjs/locale/pt-br');
14
+
15
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
16
+
17
+ var dayJs__default = /*#__PURE__*/_interopDefault(dayJs);
18
+ var advancedFormat__default = /*#__PURE__*/_interopDefault(advancedFormat);
19
+ var customParseFormat__default = /*#__PURE__*/_interopDefault(customParseFormat);
20
+ var localizedFormat__default = /*#__PURE__*/_interopDefault(localizedFormat);
21
+ var relativeTime__default = /*#__PURE__*/_interopDefault(relativeTime);
22
+ var timezone__default = /*#__PURE__*/_interopDefault(timezone);
23
+ var utc__default = /*#__PURE__*/_interopDefault(utc);
24
+
25
+ // src/date/dayjs.ts
26
+ var DEFAULT_INTL_CONFIG = {
27
+ locale: "pt-BR",
28
+ options: {
29
+ month: "long",
30
+ day: "numeric",
31
+ year: "numeric"
32
+ }
33
+ };
34
+ var globalIntlConfig = {
35
+ locale: DEFAULT_INTL_CONFIG.locale,
36
+ options: { ...DEFAULT_INTL_CONFIG.options }
37
+ };
38
+ function mergeIntlConfigs(base, override) {
39
+ var _a;
40
+ if (!override) {
41
+ return {
42
+ locale: base.locale,
43
+ options: { ...base.options }
44
+ };
45
+ }
46
+ const mergedLocale = (_a = override.locale) != null ? _a : base.locale;
47
+ const mergedOptions = { ...base.options };
48
+ if (override.options) {
49
+ for (const key of Object.keys(override.options)) {
50
+ const value = override.options[key];
51
+ if (value === void 0 || value === null) {
52
+ delete mergedOptions[key];
53
+ } else {
54
+ mergedOptions[key] = value;
55
+ }
56
+ }
57
+ }
58
+ return {
59
+ locale: mergedLocale,
60
+ options: mergedOptions
61
+ };
62
+ }
63
+ var intlPlugin = (pluginConfig, DayjsClass) => {
64
+ if (pluginConfig) {
65
+ globalIntlConfig = mergeIntlConfigs(globalIntlConfig, pluginConfig);
66
+ }
67
+ const formatIntl = function formatIntl2(config) {
68
+ const resolved = mergeIntlConfigs(globalIntlConfig, config);
69
+ return new Intl.DateTimeFormat(resolved.locale, resolved.options).format(
70
+ this.toDate()
71
+ );
72
+ };
73
+ const toIntlFormatter = function toIntlFormatter2(config) {
74
+ const resolved = mergeIntlConfigs(globalIntlConfig, config);
75
+ return new Intl.DateTimeFormat(resolved.locale, resolved.options);
76
+ };
77
+ Object.defineProperty(DayjsClass.prototype, "formatIntl", {
78
+ value: formatIntl,
79
+ configurable: true
80
+ });
81
+ Object.defineProperty(DayjsClass.prototype, "toIntlFormatter", {
82
+ value: toIntlFormatter,
83
+ configurable: true
84
+ });
85
+ };
86
+ function getDayjsGlobalIntl() {
87
+ return {
88
+ locale: globalIntlConfig.locale,
89
+ options: { ...globalIntlConfig.options }
90
+ };
91
+ }
92
+ function setDayjsGlobalIntl(config) {
93
+ globalIntlConfig = mergeIntlConfigs(globalIntlConfig, config);
94
+ return getDayjsGlobalIntl();
95
+ }
96
+ function resetDayjsGlobalIntl() {
97
+ globalIntlConfig = {
98
+ locale: DEFAULT_INTL_CONFIG.locale,
99
+ options: { ...DEFAULT_INTL_CONFIG.options }
100
+ };
101
+ return getDayjsGlobalIntl();
102
+ }
103
+ function withDayjsGlobalIntl(config, callback) {
104
+ const previous = getDayjsGlobalIntl();
105
+ globalIntlConfig = mergeIntlConfigs(globalIntlConfig, config);
106
+ try {
107
+ return callback();
108
+ } finally {
109
+ globalIntlConfig = {
110
+ locale: previous.locale,
111
+ options: { ...previous.options }
112
+ };
113
+ }
114
+ }
115
+ function resolveDayjsIntlConfig(config) {
116
+ return mergeIntlConfigs(globalIntlConfig, config);
117
+ }
118
+ dayJs__default.default.extend(utc__default.default);
119
+ dayJs__default.default.extend(customParseFormat__default.default);
120
+ dayJs__default.default.extend(advancedFormat__default.default);
121
+ dayJs__default.default.extend(timezone__default.default);
122
+ dayJs__default.default.extend(localizedFormat__default.default);
123
+ dayJs__default.default.extend(relativeTime__default.default);
124
+ dayJs__default.default.extend(intlPlugin);
125
+ var dayjs = dayJs__default.default;
126
+
127
+ // src/date/fix-timezone-offset.ts
128
+ function fixTimezoneOffset(utcDate) {
129
+ const offset = new Date(utcDate).getTimezoneOffset();
130
+ return dayjs(utcDate).add(offset, "minute");
131
+ }
132
+
133
+ // src/date/format-date.ts
134
+ function isFormatDateConfig(value) {
135
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
136
+ }
137
+ function isValidLocaleTag(value) {
138
+ if (typeof Intl !== "undefined" && typeof Intl.getCanonicalLocales === "function") {
139
+ try {
140
+ Intl.getCanonicalLocales(value);
141
+ return true;
142
+ } catch (e) {
143
+ return false;
144
+ }
145
+ }
146
+ return /^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$/.test(value);
147
+ }
148
+ function toDayjsLocale(locale) {
149
+ if (!locale) return void 0;
150
+ const first = Array.isArray(locale) ? locale[0] : locale;
151
+ return typeof first === "string" ? first : String(first);
152
+ }
153
+ function formatDate(date, localeOrConfig = getDayjsGlobalIntl().locale, opts) {
154
+ var _a;
155
+ const instance = dayjs(date);
156
+ if (!instance.isValid()) {
157
+ throw new RangeError("Invalid time value");
158
+ }
159
+ if (isFormatDateConfig(localeOrConfig)) {
160
+ const { format, locale, intl, useIntl } = localeOrConfig;
161
+ const baseLocale = locale != null ? locale : toDayjsLocale(intl == null ? void 0 : intl.locale);
162
+ const workingInstance2 = baseLocale ? instance.locale(baseLocale) : instance;
163
+ if (format && !useIntl) {
164
+ return workingInstance2.format(format);
165
+ }
166
+ const intlConfig2 = intl ? {
167
+ locale: (_a = intl.locale) != null ? _a : baseLocale,
168
+ options: intl.options
169
+ } : baseLocale ? {
170
+ locale: baseLocale
171
+ } : void 0;
172
+ return workingInstance2.formatIntl(intlConfig2);
173
+ }
174
+ if (typeof localeOrConfig === "string" && opts === void 0) {
175
+ if (!isValidLocaleTag(localeOrConfig)) {
176
+ return instance.format(localeOrConfig);
177
+ }
178
+ }
179
+ const localeForDayjs = toDayjsLocale(localeOrConfig);
180
+ const workingInstance = localeForDayjs ? instance.locale(localeForDayjs) : instance;
181
+ const intlConfig = localeOrConfig !== void 0 || opts !== void 0 ? {
182
+ locale: localeOrConfig,
183
+ options: opts
184
+ } : void 0;
185
+ return workingInstance.formatIntl(intlConfig);
186
+ }
187
+
188
+ // src/date/get-current-date-in-utc.ts
189
+ function getCurrentDateInUTC() {
190
+ return dayjs().utc();
191
+ }
192
+
193
+ // src/date/get-date-in-utc.ts
194
+ function getDateInUTC(date) {
195
+ return dayjs(date).utc();
196
+ }
197
+
198
+ // src/date/get-relative-time.ts
199
+ function getRelativeTime(date, dateNow = dayjs()) {
200
+ return dayjs(date).from(dateNow);
201
+ }
202
+
203
+ // src/date/parse-time-spent.ts
204
+ var locales = {
205
+ "pt-BR": {
206
+ year: { singular: "ano", plural: "anos" },
207
+ month: { singular: "m\xEAs", plural: "meses" },
208
+ day: { singular: "dia", plural: "dias" },
209
+ hour: { singular: "hora", plural: "horas" },
210
+ minute: { singular: "minuto", plural: "minutos" },
211
+ second: { singular: "segundo", plural: "segundos" },
212
+ formatList: (parts) => {
213
+ if (parts.length === 0) return "";
214
+ if (parts.length === 1) return parts[0];
215
+ const lastPart = parts[parts.length - 1];
216
+ const otherParts = parts.slice(0, -1);
217
+ return `${otherParts.join(", ")} e ${lastPart}`;
218
+ },
219
+ compactTokens: {
220
+ year: "a",
221
+ month: "m",
222
+ day: "d",
223
+ hour: "h",
224
+ minute: "min",
225
+ second: "s"
226
+ }
227
+ },
228
+ "en-US": {
229
+ year: { singular: "year", plural: "years" },
230
+ month: { singular: "month", plural: "months" },
231
+ day: { singular: "day", plural: "days" },
232
+ hour: { singular: "hour", plural: "hours" },
233
+ minute: { singular: "minute", plural: "minutes" },
234
+ second: { singular: "second", plural: "seconds" },
235
+ formatList: (parts) => {
236
+ if (parts.length === 0) return "";
237
+ if (parts.length === 1) return parts[0];
238
+ if (parts.length === 2) return `${parts[0]} and ${parts[1]}`;
239
+ return `${parts.slice(0, -1).join(", ")}, and ${parts[parts.length - 1]}`;
240
+ },
241
+ compactTokens: {
242
+ year: "y",
243
+ month: "mo",
244
+ day: "d",
245
+ hour: "h",
246
+ minute: "m",
247
+ second: "s"
248
+ }
249
+ },
250
+ "es-ES": {
251
+ year: { singular: "a\xF1o", plural: "a\xF1os" },
252
+ month: { singular: "mes", plural: "meses" },
253
+ day: { singular: "d\xEDa", plural: "d\xEDas" },
254
+ hour: { singular: "hora", plural: "horas" },
255
+ minute: { singular: "minuto", plural: "minutos" },
256
+ second: { singular: "segundo", plural: "segundos" },
257
+ formatList: (parts) => {
258
+ if (parts.length === 0) return "";
259
+ if (parts.length === 1) return parts[0];
260
+ const lastPart = parts[parts.length - 1];
261
+ const otherParts = parts.slice(0, -1);
262
+ return `${otherParts.join(", ")} y ${lastPart}`;
263
+ },
264
+ compactTokens: {
265
+ year: "a",
266
+ month: "mes",
267
+ day: "d",
268
+ hour: "h",
269
+ minute: "min",
270
+ second: "s"
271
+ }
272
+ },
273
+ "fr-FR": {
274
+ year: { singular: "an", plural: "ans" },
275
+ month: { singular: "mois", plural: "mois" },
276
+ day: { singular: "jour", plural: "jours" },
277
+ hour: { singular: "heure", plural: "heures" },
278
+ minute: { singular: "minute", plural: "minutes" },
279
+ second: { singular: "seconde", plural: "secondes" },
280
+ formatList: (parts) => {
281
+ if (parts.length === 0) return "";
282
+ if (parts.length === 1) return parts[0];
283
+ const lastPart = parts[parts.length - 1];
284
+ const otherParts = parts.slice(0, -1);
285
+ return `${otherParts.join(", ")} et ${lastPart}`;
286
+ },
287
+ compactTokens: {
288
+ year: "a",
289
+ month: "m",
290
+ day: "j",
291
+ hour: "h",
292
+ minute: "min",
293
+ second: "s"
294
+ }
295
+ }
296
+ };
297
+ function parseTimeSpent(initialDate, finalDate, locale = "pt-BR", options) {
298
+ var _a, _b;
299
+ const final = fixTimezoneOffset(finalDate);
300
+ const initial = fixTimezoneOffset(initialDate);
301
+ const years = final.diff(initial, "year");
302
+ const months = final.diff(initial.add(years, "year"), "month");
303
+ const days = final.diff(
304
+ initial.add(years, "year").add(months, "month"),
305
+ "day"
306
+ );
307
+ const hours = final.diff(
308
+ initial.add(years, "year").add(months, "month").add(days, "day"),
309
+ "hour"
310
+ );
311
+ const minutes = final.diff(
312
+ initial.add(years, "year").add(months, "month").add(days, "day").add(hours, "hour"),
313
+ "minute"
314
+ );
315
+ const seconds = final.diff(
316
+ initial.add(years, "year").add(months, "month").add(days, "day").add(hours, "hour").add(minutes, "minute"),
317
+ "second"
318
+ );
319
+ const translations = locales[locale] || locales["pt-BR"];
320
+ const verboseParts = [];
321
+ if (years > 0) {
322
+ const unit = years === 1 ? translations.year.singular : translations.year.plural;
323
+ verboseParts.push(`${years} ${unit}`);
324
+ }
325
+ if (months > 0) {
326
+ const unit = months === 1 ? translations.month.singular : translations.month.plural;
327
+ verboseParts.push(`${months} ${unit}`);
328
+ }
329
+ if (days > 0) {
330
+ const unit = days === 1 ? translations.day.singular : translations.day.plural;
331
+ verboseParts.push(`${days} ${unit}`);
332
+ }
333
+ if (hours > 0) {
334
+ const unit = hours === 1 ? translations.hour.singular : translations.hour.plural;
335
+ verboseParts.push(`${hours} ${unit}`);
336
+ }
337
+ if (minutes > 0) {
338
+ const unit = minutes === 1 ? translations.minute.singular : translations.minute.plural;
339
+ verboseParts.push(`${minutes} ${unit}`);
340
+ }
341
+ if (seconds > 0) {
342
+ const unit = seconds === 1 ? translations.second.singular : translations.second.plural;
343
+ verboseParts.push(`${seconds} ${unit}`);
344
+ }
345
+ const compactPieces = [];
346
+ if (years > 0)
347
+ compactPieces.push(`${years}${translations.compactTokens.year}`);
348
+ if (months > 0)
349
+ compactPieces.push(`${months}${translations.compactTokens.month}`);
350
+ if (days > 0) compactPieces.push(`${days}${translations.compactTokens.day}`);
351
+ if (hours > 0)
352
+ compactPieces.push(`${hours}${translations.compactTokens.hour}`);
353
+ if (minutes > 0)
354
+ compactPieces.push(`${minutes}${translations.compactTokens.minute}`);
355
+ if (seconds > 0)
356
+ compactPieces.push(`${seconds}${translations.compactTokens.second}`);
357
+ const format = (_a = options == null ? void 0 : options.format) != null ? _a : "verbose";
358
+ const minimal = (_b = options == null ? void 0 : options.minimal) != null ? _b : false;
359
+ let formatted = "";
360
+ if (format === "compact") {
361
+ if (compactPieces.length === 0) {
362
+ formatted = "";
363
+ } else if (minimal) {
364
+ formatted = compactPieces[0];
365
+ } else {
366
+ formatted = compactPieces.join("");
367
+ }
368
+ } else {
369
+ if (verboseParts.length === 0) {
370
+ formatted = "";
371
+ } else if (minimal) {
372
+ formatted = verboseParts[0];
373
+ } else {
374
+ formatted = translations.formatList(verboseParts);
375
+ }
376
+ }
377
+ return {
378
+ years,
379
+ months,
380
+ days,
381
+ hours,
382
+ minutes,
383
+ seconds,
384
+ formatted
385
+ };
386
+ }
387
+
388
+ exports.dayjs = dayjs;
389
+ exports.fixTimezoneOffset = fixTimezoneOffset;
390
+ exports.formatDate = formatDate;
391
+ exports.getCurrentDateInUTC = getCurrentDateInUTC;
392
+ exports.getDateInUTC = getDateInUTC;
393
+ exports.getDayjsGlobalIntl = getDayjsGlobalIntl;
394
+ exports.getRelativeTime = getRelativeTime;
395
+ exports.parseTimeSpent = parseTimeSpent;
396
+ exports.resetDayjsGlobalIntl = resetDayjsGlobalIntl;
397
+ exports.resolveDayjsIntlConfig = resolveDayjsIntlConfig;
398
+ exports.setDayjsGlobalIntl = setDayjsGlobalIntl;
399
+ exports.withDayjsGlobalIntl = withDayjsGlobalIntl;
400
+ //# sourceMappingURL=chunk-UXEUYHBD.cjs.map
401
+ //# sourceMappingURL=chunk-UXEUYHBD.cjs.map
@@ -0,0 +1 @@
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"]}
@@ -0,0 +1,22 @@
1
+ import fs from 'fs/promises';
2
+
3
+ // src/files/file-exists.ts
4
+ var fileExists = async (filePath) => {
5
+ try {
6
+ await fs.access(filePath);
7
+ return true;
8
+ } catch (e) {
9
+ return false;
10
+ }
11
+ };
12
+ var fileDelete = async (filePath) => {
13
+ try {
14
+ if (await fileExists(filePath)) await fs.rm(filePath);
15
+ } catch (err) {
16
+ console.error(`Error deleting file at ${filePath}:`, err);
17
+ }
18
+ };
19
+
20
+ export { fileDelete, fileExists };
21
+ //# sourceMappingURL=chunk-V6OKXUBQ.js.map
22
+ //# sourceMappingURL=chunk-V6OKXUBQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/files/file-exists.ts","../src/files/file-delete.ts"],"names":["fs"],"mappings":";;;AAEO,IAAM,UAAA,GAAa,OAAO,QAAA,KAAqB;AACpD,EAAA,IAAI;AACF,IAAA,MAAM,EAAA,CAAG,OAAO,QAAQ,CAAA;AACxB,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,CAAA,OAAQ,CAAA,EAAA;AACN,IAAA,OAAO,KAAA;AAAA,EACT;AACF;ACNO,IAAM,UAAA,GAAa,OAAO,QAAA,KAAqB;AACpD,EAAA,IAAI;AACF,IAAA,IAAI,MAAM,UAAA,CAAW,QAAQ,GAAG,MAAMA,EAAAA,CAAG,GAAG,QAAQ,CAAA;AAAA,EACtD,SAAS,GAAA,EAAK;AAEZ,IAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,uBAAA,EAA0B,QAAQ,CAAA,CAAA,CAAA,EAAK,GAAG,CAAA;AAAA,EAC1D;AACF","file":"chunk-V6OKXUBQ.js","sourcesContent":["import fs from \"node:fs/promises\"\n\nexport const fileExists = async (filePath: string) => {\n try {\n await fs.access(filePath)\n return true\n } catch {\n return false\n }\n}\n","import fs from \"node:fs/promises\"\nimport { fileExists } from \"./file-exists\"\n\nexport const fileDelete = async (filePath: string) => {\n try {\n if (await fileExists(filePath)) await fs.rm(filePath)\n } catch (err) {\n // Log but don't throw during cleanup\n console.error(`Error deleting file at ${filePath}:`, err)\n }\n}\n"]}
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ // src/youtube/extract-youtube-video-id.ts
4
+ function extractYouTubeId(urlString) {
5
+ if (!urlString) return null;
6
+ try {
7
+ const url = new URL(urlString);
8
+ const hostname = url.hostname.toLowerCase();
9
+ const pathname = url.pathname;
10
+ if (hostname.includes("youtu.be")) {
11
+ const id = pathname.replace(/^\/+/, "").split(/[?&#]/)[0];
12
+ return id || null;
13
+ }
14
+ if (hostname.includes("youtube.com")) {
15
+ if (url.searchParams.has("v")) {
16
+ return url.searchParams.get("v");
17
+ }
18
+ const parts = pathname.split("/").filter(Boolean);
19
+ const last = parts[parts.length - 1];
20
+ if (last) return last.split(/[?&#]/)[0] || null;
21
+ }
22
+ } catch (e) {
23
+ }
24
+ const regex = /(?:v=|\/embed\/|\/shorts\/|youtu\.be\/)([0-9A-Za-z_-]{6,})/i;
25
+ const match = urlString.match(regex);
26
+ return match ? match[1] : null;
27
+ }
28
+
29
+ exports.extractYouTubeId = extractYouTubeId;
30
+ //# sourceMappingURL=chunk-VAZJXZU5.cjs.map
31
+ //# sourceMappingURL=chunk-VAZJXZU5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/youtube/extract-youtube-video-id.ts"],"names":[],"mappings":";;;AAAO,SAAS,iBAAiB,SAAA,EAAyC;AACxE,EAAA,IAAI,CAAC,WAAW,OAAO,IAAA;AAEvB,EAAA,IAAI;AACF,IAAA,MAAM,GAAA,GAAM,IAAI,GAAA,CAAI,SAAS,CAAA;AAE7B,IAAA,MAAM,QAAA,GAAW,GAAA,CAAI,QAAA,CAAS,WAAA,EAAY;AAC1C,IAAA,MAAM,WAAW,GAAA,CAAI,QAAA;AAErB,IAAA,IAAI,QAAA,CAAS,QAAA,CAAS,UAAU,CAAA,EAAG;AACjC,MAAA,MAAM,EAAA,GAAK,SAAS,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA,CAAE,KAAA,CAAM,OAAO,CAAA,CAAE,CAAC,CAAA;AACxD,MAAA,OAAO,EAAA,IAAM,IAAA;AAAA,IACf;AAEA,IAAA,IAAI,QAAA,CAAS,QAAA,CAAS,aAAa,CAAA,EAAG;AACpC,MAAA,IAAI,GAAA,CAAI,YAAA,CAAa,GAAA,CAAI,GAAG,CAAA,EAAG;AAC7B,QAAA,OAAO,GAAA,CAAI,YAAA,CAAa,GAAA,CAAI,GAAG,CAAA;AAAA,MACjC;AAEA,MAAA,MAAM,QAAQ,QAAA,CAAS,KAAA,CAAM,GAAG,CAAA,CAAE,OAAO,OAAO,CAAA;AAChD,MAAA,MAAM,IAAA,GAAO,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAC,CAAA;AACnC,MAAA,IAAI,MAAM,OAAO,IAAA,CAAK,MAAM,OAAO,CAAA,CAAE,CAAC,CAAA,IAAK,IAAA;AAAA,IAC7C;AAAA,EACF,CAAA,CAAA,OAAQ,CAAA,EAAA;AAAA,EAAC;AAET,EAAA,MAAM,KAAA,GAAQ,6DAAA;AACd,EAAA,MAAM,KAAA,GAAQ,SAAA,CAAU,KAAA,CAAM,KAAK,CAAA;AACnC,EAAA,OAAO,KAAA,GAAQ,KAAA,CAAM,CAAC,CAAA,GAAI,IAAA;AAC5B","file":"chunk-VAZJXZU5.cjs","sourcesContent":["export function extractYouTubeId(urlString: string | null): string | null {\n if (!urlString) return null\n\n try {\n const url = new URL(urlString)\n\n const hostname = url.hostname.toLowerCase()\n const pathname = url.pathname\n\n if (hostname.includes(\"youtu.be\")) {\n const id = pathname.replace(/^\\/+/, \"\").split(/[?&#]/)[0]\n return id || null\n }\n\n if (hostname.includes(\"youtube.com\")) {\n if (url.searchParams.has(\"v\")) {\n return url.searchParams.get(\"v\")\n }\n\n const parts = pathname.split(\"/\").filter(Boolean)\n const last = parts[parts.length - 1]\n if (last) return last.split(/[?&#]/)[0] || null\n }\n } catch {}\n\n const regex = /(?:v=|\\/embed\\/|\\/shorts\\/|youtu\\.be\\/)([0-9A-Za-z_-]{6,})/i\n const match = urlString.match(regex)\n return match ? match[1] : null\n}\n"]}