@herowcode/utils 1.3.4 → 1.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -5
- package/dist/api/index.cjs +12 -0
- package/dist/api/index.cjs.map +1 -0
- package/dist/api/{client.d.ts → index.d.mts} +19 -8
- package/dist/api/index.d.ts +36 -3
- package/dist/api/index.js +3 -0
- package/dist/api/index.js.map +1 -0
- package/dist/array/index.cjs +16 -0
- package/dist/array/index.cjs.map +1 -0
- package/dist/array/index.d.mts +5 -0
- package/dist/array/index.d.ts +5 -3
- package/dist/array/index.js +3 -0
- package/dist/array/index.js.map +1 -0
- package/dist/chunk-2MANLCNG.cjs +23 -0
- package/dist/chunk-2MANLCNG.cjs.map +1 -0
- package/dist/chunk-2RTW37WD.js +20 -0
- package/dist/chunk-2RTW37WD.js.map +1 -0
- package/dist/chunk-2Y6M7IOG.js +250 -0
- package/dist/chunk-2Y6M7IOG.js.map +1 -0
- package/dist/chunk-3JUB2OJL.js +3 -0
- package/dist/chunk-3JUB2OJL.js.map +1 -0
- package/dist/chunk-53JMVGIG.js +187 -0
- package/dist/chunk-53JMVGIG.js.map +1 -0
- package/dist/chunk-56NHIM5J.js +151 -0
- package/dist/chunk-56NHIM5J.js.map +1 -0
- package/dist/chunk-5OLQJUNS.js +66 -0
- package/dist/chunk-5OLQJUNS.js.map +1 -0
- package/dist/chunk-5YOEKMTJ.cjs +321 -0
- package/dist/chunk-5YOEKMTJ.cjs.map +1 -0
- package/dist/chunk-6TWPZ6LL.cjs +4 -0
- package/dist/chunk-6TWPZ6LL.cjs.map +1 -0
- package/dist/chunk-AQZBHMTO.js +96 -0
- package/dist/chunk-AQZBHMTO.js.map +1 -0
- package/dist/chunk-ATWN4SRX.js +29 -0
- package/dist/chunk-ATWN4SRX.js.map +1 -0
- package/dist/chunk-GRSF4RY2.cjs +20 -0
- package/dist/chunk-GRSF4RY2.cjs.map +1 -0
- package/dist/chunk-GX5E5B4L.cjs +70 -0
- package/dist/chunk-GX5E5B4L.cjs.map +1 -0
- package/dist/chunk-HK727IAV.cjs +201 -0
- package/dist/chunk-HK727IAV.cjs.map +1 -0
- package/dist/chunk-LJ6KOZD4.cjs +154 -0
- package/dist/chunk-LJ6KOZD4.cjs.map +1 -0
- package/dist/chunk-N2DRAZ3A.cjs +29 -0
- package/dist/chunk-N2DRAZ3A.cjs.map +1 -0
- package/dist/chunk-O7SH3E3T.js +18 -0
- package/dist/chunk-O7SH3E3T.js.map +1 -0
- package/dist/chunk-P5YNRND6.cjs +4 -0
- package/dist/chunk-P5YNRND6.cjs.map +1 -0
- package/dist/chunk-QAE6Q2SA.js +317 -0
- package/dist/chunk-QAE6Q2SA.js.map +1 -0
- package/dist/chunk-QRXVUXGJ.js +378 -0
- package/dist/chunk-QRXVUXGJ.js.map +1 -0
- package/dist/chunk-SLYUARZG.cjs +99 -0
- package/dist/chunk-SLYUARZG.cjs.map +1 -0
- package/dist/chunk-SWRIT7EE.js +3 -0
- package/dist/chunk-SWRIT7EE.js.map +1 -0
- package/dist/chunk-UXEUYHBD.cjs +401 -0
- package/dist/chunk-UXEUYHBD.cjs.map +1 -0
- package/dist/chunk-V6OKXUBQ.js +22 -0
- package/dist/chunk-V6OKXUBQ.js.map +1 -0
- package/dist/chunk-VAZJXZU5.cjs +31 -0
- package/dist/chunk-VAZJXZU5.cjs.map +1 -0
- package/dist/chunk-WGSFRFRO.cjs +252 -0
- package/dist/chunk-WGSFRFRO.cjs.map +1 -0
- package/dist/date/index.cjs +56 -0
- package/dist/date/index.cjs.map +1 -0
- package/dist/date/index.d.mts +63 -0
- package/dist/date/index.d.ts +63 -8
- package/dist/date/index.js +3 -0
- package/dist/date/index.js.map +1 -0
- package/dist/extract-youtube-video-id-HSYMYXIZ.js +3 -0
- package/dist/extract-youtube-video-id-HSYMYXIZ.js.map +1 -0
- package/dist/extract-youtube-video-id-XVGNPUDX.cjs +12 -0
- package/dist/extract-youtube-video-id-XVGNPUDX.cjs.map +1 -0
- package/dist/files/index.browser.cjs +21 -0
- package/dist/files/index.browser.cjs.map +1 -0
- package/dist/files/index.browser.d.mts +14 -0
- package/dist/files/index.browser.d.ts +14 -0
- package/dist/files/index.browser.js +4 -0
- package/dist/files/index.browser.js.map +1 -0
- package/dist/files/index.cjs +31 -0
- package/dist/files/index.cjs.map +1 -0
- package/dist/files/index.d.mts +3 -0
- package/dist/files/index.d.ts +3 -6
- package/dist/files/index.js +6 -0
- package/dist/files/index.js.map +1 -0
- package/dist/files/index.node.cjs +21 -0
- package/dist/files/index.node.cjs.map +1 -0
- package/dist/files/index.node.d.mts +7 -0
- package/dist/files/index.node.d.ts +7 -0
- package/dist/files/index.node.js +4 -0
- package/dist/files/index.node.js.map +1 -0
- package/dist/format-bytes-BGjeDnvM.d.mts +3 -0
- package/dist/format-bytes-BGjeDnvM.d.ts +3 -0
- package/dist/function/index.cjs +20 -0
- package/dist/function/index.cjs.map +1 -0
- package/dist/function/index.d.mts +22 -0
- package/dist/function/index.d.ts +22 -4
- package/dist/function/index.js +3 -0
- package/dist/function/index.js.map +1 -0
- package/dist/index.cjs +188 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.mts +12 -0
- package/dist/index.d.ts +12 -8
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/string/index.cjs +60 -0
- package/dist/string/index.cjs.map +1 -0
- package/dist/string/index.d.mts +28 -0
- package/dist/string/index.d.ts +28 -14
- package/dist/string/index.js +3 -0
- package/dist/string/index.js.map +1 -0
- package/dist/{cjs/function/try-catch.d.ts → try-catch-B7WzqcPU.d.mts} +4 -4
- package/dist/{function/try-catch.d.ts → try-catch-B7WzqcPU.d.ts} +4 -4
- package/dist/youtube/index.browser.cjs +35 -0
- package/dist/youtube/index.browser.cjs.map +1 -0
- package/dist/youtube/index.browser.d.mts +2 -0
- package/dist/youtube/index.browser.d.ts +2 -0
- package/dist/youtube/index.browser.js +6 -0
- package/dist/youtube/index.browser.js.map +1 -0
- package/dist/youtube/index.cjs +36 -0
- package/dist/youtube/index.cjs.map +1 -0
- package/dist/youtube/index.d.mts +12 -0
- package/dist/youtube/index.d.ts +12 -7
- package/dist/youtube/index.js +7 -0
- package/dist/youtube/index.js.map +1 -0
- package/dist/youtube/index.node.cjs +26 -0
- package/dist/youtube/index.node.cjs.map +1 -0
- package/dist/youtube/index.node.d.mts +49 -0
- package/dist/youtube/index.node.d.ts +49 -0
- package/dist/youtube/index.node.js +5 -0
- package/dist/youtube/index.node.js.map +1 -0
- package/package.json +134 -47
- package/dist/api/client.d.ts.map +0 -1
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/wrapper.d.ts +0 -27
- package/dist/api/wrapper.d.ts.map +0 -1
- package/dist/array/index.d.ts.map +0 -1
- package/dist/array/shuffle.d.ts +0 -2
- package/dist/array/shuffle.d.ts.map +0 -1
- package/dist/array/unique.d.ts +0 -2
- package/dist/array/unique.d.ts.map +0 -1
- package/dist/cjs/api/client.d.ts +0 -25
- package/dist/cjs/api/client.d.ts.map +0 -1
- package/dist/cjs/api/client.js +0 -148
- package/dist/cjs/api/client.js.map +0 -1
- package/dist/cjs/api/index.d.ts +0 -3
- package/dist/cjs/api/index.d.ts.map +0 -1
- package/dist/cjs/api/index.js +0 -6
- package/dist/cjs/api/index.js.map +0 -1
- package/dist/cjs/api/wrapper.d.ts +0 -27
- package/dist/cjs/api/wrapper.d.ts.map +0 -1
- package/dist/cjs/api/wrapper.js +0 -152
- package/dist/cjs/api/wrapper.js.map +0 -1
- package/dist/cjs/array/index.d.ts +0 -3
- package/dist/cjs/array/index.d.ts.map +0 -1
- package/dist/cjs/array/index.js +0 -19
- package/dist/cjs/array/index.js.map +0 -1
- package/dist/cjs/array/shuffle.d.ts +0 -2
- package/dist/cjs/array/shuffle.d.ts.map +0 -1
- package/dist/cjs/array/shuffle.js +0 -16
- package/dist/cjs/array/shuffle.js.map +0 -1
- package/dist/cjs/array/unique.d.ts +0 -2
- package/dist/cjs/array/unique.d.ts.map +0 -1
- package/dist/cjs/array/unique.js +0 -7
- package/dist/cjs/array/unique.js.map +0 -1
- package/dist/cjs/array.js +0 -1
- package/dist/cjs/date/dayjs.d.ts +0 -20
- package/dist/cjs/date/dayjs.d.ts.map +0 -1
- package/dist/cjs/date/dayjs.js +0 -123
- package/dist/cjs/date/dayjs.js.map +0 -1
- package/dist/cjs/date/fix-timezone-offset.d.ts +0 -3
- package/dist/cjs/date/fix-timezone-offset.d.ts.map +0 -1
- package/dist/cjs/date/fix-timezone-offset.js +0 -9
- package/dist/cjs/date/fix-timezone-offset.js.map +0 -1
- package/dist/cjs/date/format-date.d.ts +0 -23
- package/dist/cjs/date/format-date.d.ts.map +0 -1
- package/dist/cjs/date/format-date.js +0 -71
- package/dist/cjs/date/format-date.js.map +0 -1
- package/dist/cjs/date/get-current-date-in-utc.d.ts +0 -3
- package/dist/cjs/date/get-current-date-in-utc.d.ts.map +0 -1
- package/dist/cjs/date/get-current-date-in-utc.js +0 -8
- package/dist/cjs/date/get-current-date-in-utc.js.map +0 -1
- package/dist/cjs/date/get-date-in-utc.d.ts +0 -3
- package/dist/cjs/date/get-date-in-utc.d.ts.map +0 -1
- package/dist/cjs/date/get-date-in-utc.js +0 -8
- package/dist/cjs/date/get-date-in-utc.js.map +0 -1
- package/dist/cjs/date/get-relative-time.d.ts +0 -3
- package/dist/cjs/date/get-relative-time.d.ts.map +0 -1
- package/dist/cjs/date/get-relative-time.js +0 -8
- package/dist/cjs/date/get-relative-time.js.map +0 -1
- package/dist/cjs/date/index.d.ts +0 -8
- package/dist/cjs/date/index.d.ts.map +0 -1
- package/dist/cjs/date/index.js +0 -24
- package/dist/cjs/date/index.js.map +0 -1
- package/dist/cjs/date/parse-time-spent.d.ts +0 -15
- package/dist/cjs/date/parse-time-spent.d.ts.map +0 -1
- package/dist/cjs/date/parse-time-spent.js +0 -207
- package/dist/cjs/date/parse-time-spent.js.map +0 -1
- package/dist/cjs/date.js +0 -1
- package/dist/cjs/files/compress-image.d.ts +0 -10
- package/dist/cjs/files/compress-image.d.ts.map +0 -1
- package/dist/cjs/files/compress-image.js +0 -61
- package/dist/cjs/files/compress-image.js.map +0 -1
- package/dist/cjs/files/download-url.d.ts +0 -2
- package/dist/cjs/files/download-url.d.ts.map +0 -1
- package/dist/cjs/files/download-url.js +0 -29
- package/dist/cjs/files/download-url.js.map +0 -1
- package/dist/cjs/files/file-delete.d.ts +0 -2
- package/dist/cjs/files/file-delete.d.ts.map +0 -1
- package/dist/cjs/files/file-delete.js +0 -20
- package/dist/cjs/files/file-delete.js.map +0 -1
- package/dist/cjs/files/file-exists.d.ts +0 -2
- package/dist/cjs/files/file-exists.d.ts.map +0 -1
- package/dist/cjs/files/file-exists.js +0 -18
- package/dist/cjs/files/file-exists.js.map +0 -1
- package/dist/cjs/files/format-bytes.d.ts +0 -2
- package/dist/cjs/files/format-bytes.d.ts.map +0 -1
- package/dist/cjs/files/format-bytes.js +0 -17
- package/dist/cjs/files/format-bytes.js.map +0 -1
- package/dist/cjs/files/index.d.ts +0 -6
- package/dist/cjs/files/index.d.ts.map +0 -1
- package/dist/cjs/files/index.js +0 -22
- package/dist/cjs/files/index.js.map +0 -1
- package/dist/cjs/files.js +0 -1
- package/dist/cjs/function/debounce.d.ts +0 -11
- package/dist/cjs/function/debounce.d.ts.map +0 -1
- package/dist/cjs/function/debounce.js +0 -26
- package/dist/cjs/function/debounce.js.map +0 -1
- package/dist/cjs/function/index.d.ts +0 -4
- package/dist/cjs/function/index.d.ts.map +0 -1
- package/dist/cjs/function/index.js +0 -20
- package/dist/cjs/function/index.js.map +0 -1
- package/dist/cjs/function/throttle.d.ts +0 -10
- package/dist/cjs/function/throttle.d.ts.map +0 -1
- package/dist/cjs/function/throttle.js +0 -36
- package/dist/cjs/function/throttle.js.map +0 -1
- package/dist/cjs/function/try-catch.d.ts.map +0 -1
- package/dist/cjs/function/try-catch.js +0 -39
- package/dist/cjs/function/try-catch.js.map +0 -1
- package/dist/cjs/function.js +0 -1
- package/dist/cjs/index.d.ts +0 -8
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -24
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/string/camel-case.d.ts +0 -2
- package/dist/cjs/string/camel-case.d.ts.map +0 -1
- package/dist/cjs/string/camel-case.js +0 -25
- package/dist/cjs/string/camel-case.js.map +0 -1
- package/dist/cjs/string/capitalize.d.ts +0 -2
- package/dist/cjs/string/capitalize.d.ts.map +0 -1
- package/dist/cjs/string/capitalize.js +0 -13
- package/dist/cjs/string/capitalize.js.map +0 -1
- package/dist/cjs/string/format-hms-to-seconds.d.ts +0 -2
- package/dist/cjs/string/format-hms-to-seconds.d.ts.map +0 -1
- package/dist/cjs/string/format-hms-to-seconds.js +0 -30
- package/dist/cjs/string/format-hms-to-seconds.js.map +0 -1
- package/dist/cjs/string/format-seconds-to-fragment.d.ts +0 -3
- package/dist/cjs/string/format-seconds-to-fragment.d.ts.map +0 -1
- package/dist/cjs/string/format-seconds-to-fragment.js +0 -20
- package/dist/cjs/string/format-seconds-to-fragment.js.map +0 -1
- package/dist/cjs/string/format-seconds-to-hms.d.ts +0 -2
- package/dist/cjs/string/format-seconds-to-hms.d.ts.map +0 -1
- package/dist/cjs/string/format-seconds-to-hms.js +0 -17
- package/dist/cjs/string/format-seconds-to-hms.js.map +0 -1
- package/dist/cjs/string/format-string-to-time.d.ts +0 -2
- package/dist/cjs/string/format-string-to-time.d.ts.map +0 -1
- package/dist/cjs/string/format-string-to-time.js +0 -15
- package/dist/cjs/string/format-string-to-time.js.map +0 -1
- package/dist/cjs/string/index.d.ts +0 -14
- package/dist/cjs/string/index.d.ts.map +0 -1
- package/dist/cjs/string/index.js +0 -30
- package/dist/cjs/string/index.js.map +0 -1
- package/dist/cjs/string/kebab-case.d.ts +0 -2
- package/dist/cjs/string/kebab-case.d.ts.map +0 -1
- package/dist/cjs/string/kebab-case.js +0 -15
- package/dist/cjs/string/kebab-case.js.map +0 -1
- package/dist/cjs/string/markdown-to-text.d.ts +0 -2
- package/dist/cjs/string/markdown-to-text.d.ts.map +0 -1
- package/dist/cjs/string/markdown-to-text.js +0 -70
- package/dist/cjs/string/markdown-to-text.js.map +0 -1
- package/dist/cjs/string/remove-html-tags.d.ts +0 -2
- package/dist/cjs/string/remove-html-tags.d.ts.map +0 -1
- package/dist/cjs/string/remove-html-tags.js +0 -18
- package/dist/cjs/string/remove-html-tags.js.map +0 -1
- package/dist/cjs/string/slugify.d.ts +0 -2
- package/dist/cjs/string/slugify.d.ts.map +0 -1
- package/dist/cjs/string/slugify.js +0 -13
- package/dist/cjs/string/slugify.js.map +0 -1
- package/dist/cjs/string/snake-case.d.ts +0 -2
- package/dist/cjs/string/snake-case.d.ts.map +0 -1
- package/dist/cjs/string/snake-case.js +0 -15
- package/dist/cjs/string/snake-case.js.map +0 -1
- package/dist/cjs/string/to-sentence-case.d.ts +0 -2
- package/dist/cjs/string/to-sentence-case.d.ts.map +0 -1
- package/dist/cjs/string/to-sentence-case.js +0 -13
- package/dist/cjs/string/to-sentence-case.js.map +0 -1
- package/dist/cjs/string/truncate.d.ts +0 -2
- package/dist/cjs/string/truncate.d.ts.map +0 -1
- package/dist/cjs/string/truncate.js +0 -19
- package/dist/cjs/string/truncate.js.map +0 -1
- package/dist/cjs/string.js +0 -1
- package/dist/cjs/youtube/extract-youtube-video-id.d.ts +0 -2
- package/dist/cjs/youtube/extract-youtube-video-id.d.ts.map +0 -1
- package/dist/cjs/youtube/extract-youtube-video-id.js +0 -30
- package/dist/cjs/youtube/extract-youtube-video-id.js.map +0 -1
- package/dist/cjs/youtube/generate-youtube-url.d.ts +0 -20
- package/dist/cjs/youtube/generate-youtube-url.d.ts.map +0 -1
- package/dist/cjs/youtube/generate-youtube-url.js +0 -86
- package/dist/cjs/youtube/generate-youtube-url.js.map +0 -1
- package/dist/cjs/youtube/get-youtube-thumbnail.d.ts +0 -2
- package/dist/cjs/youtube/get-youtube-thumbnail.d.ts.map +0 -1
- package/dist/cjs/youtube/get-youtube-thumbnail.js +0 -68
- package/dist/cjs/youtube/get-youtube-thumbnail.js.map +0 -1
- package/dist/cjs/youtube/get-youtube-video-info.d.ts +0 -26
- package/dist/cjs/youtube/get-youtube-video-info.d.ts.map +0 -1
- package/dist/cjs/youtube/get-youtube-video-info.js +0 -244
- package/dist/cjs/youtube/get-youtube-video-info.js.map +0 -1
- package/dist/cjs/youtube/index.d.ts +0 -7
- package/dist/cjs/youtube/index.d.ts.map +0 -1
- package/dist/cjs/youtube/index.js +0 -23
- package/dist/cjs/youtube/index.js.map +0 -1
- package/dist/cjs/youtube/use-get-video-duration.d.ts +0 -7
- package/dist/cjs/youtube/use-get-video-duration.d.ts.map +0 -1
- package/dist/cjs/youtube/use-get-video-duration.js +0 -153
- package/dist/cjs/youtube/use-get-video-duration.js.map +0 -1
- package/dist/cjs/youtube/validate-youtube-link.d.ts +0 -2
- package/dist/cjs/youtube/validate-youtube-link.d.ts.map +0 -1
- package/dist/cjs/youtube/validate-youtube-link.js +0 -77
- package/dist/cjs/youtube/validate-youtube-link.js.map +0 -1
- package/dist/cjs/youtube.js +0 -1
- package/dist/date/dayjs.d.ts +0 -20
- package/dist/date/dayjs.d.ts.map +0 -1
- package/dist/date/fix-timezone-offset.d.ts +0 -3
- package/dist/date/fix-timezone-offset.d.ts.map +0 -1
- package/dist/date/format-date.d.ts +0 -23
- package/dist/date/format-date.d.ts.map +0 -1
- package/dist/date/get-current-date-in-utc.d.ts +0 -3
- package/dist/date/get-current-date-in-utc.d.ts.map +0 -1
- package/dist/date/get-date-in-utc.d.ts +0 -3
- package/dist/date/get-date-in-utc.d.ts.map +0 -1
- package/dist/date/get-relative-time.d.ts +0 -3
- package/dist/date/get-relative-time.d.ts.map +0 -1
- package/dist/date/index.d.ts.map +0 -1
- package/dist/date/parse-time-spent.d.ts +0 -15
- package/dist/date/parse-time-spent.d.ts.map +0 -1
- package/dist/esm/api/client.js +0 -143
- package/dist/esm/api/index.js +0 -1
- package/dist/esm/api/wrapper.js +0 -148
- package/dist/esm/array/index.js +0 -2
- package/dist/esm/array/shuffle.js +0 -12
- package/dist/esm/array/unique.js +0 -3
- package/dist/esm/array.js +0 -1
- package/dist/esm/date/dayjs.js +0 -111
- package/dist/esm/date/fix-timezone-offset.js +0 -5
- package/dist/esm/date/format-date.js +0 -67
- package/dist/esm/date/get-current-date-in-utc.js +0 -4
- package/dist/esm/date/get-date-in-utc.js +0 -4
- package/dist/esm/date/get-relative-time.js +0 -4
- package/dist/esm/date/index.js +0 -7
- package/dist/esm/date/parse-time-spent.js +0 -203
- package/dist/esm/date.js +0 -1
- package/dist/esm/files/compress-image.js +0 -57
- package/dist/esm/files/download-url.js +0 -24
- package/dist/esm/files/file-delete.js +0 -12
- package/dist/esm/files/file-exists.js +0 -10
- package/dist/esm/files/format-bytes.js +0 -13
- package/dist/esm/files/index.js +0 -5
- package/dist/esm/files.js +0 -1
- package/dist/esm/function/debounce.js +0 -22
- package/dist/esm/function/index.js +0 -3
- package/dist/esm/function/throttle.js +0 -32
- package/dist/esm/function/try-catch.js +0 -35
- package/dist/esm/function.js +0 -1
- package/dist/esm/index.js +0 -7
- package/dist/esm/string/camel-case.js +0 -21
- package/dist/esm/string/capitalize.js +0 -9
- package/dist/esm/string/format-hms-to-seconds.js +0 -25
- package/dist/esm/string/format-seconds-to-fragment.js +0 -15
- package/dist/esm/string/format-seconds-to-hms.js +0 -13
- package/dist/esm/string/format-string-to-time.js +0 -10
- package/dist/esm/string/index.js +0 -13
- package/dist/esm/string/kebab-case.js +0 -11
- package/dist/esm/string/markdown-to-text.js +0 -66
- package/dist/esm/string/remove-html-tags.js +0 -14
- package/dist/esm/string/slugify.js +0 -9
- package/dist/esm/string/snake-case.js +0 -11
- package/dist/esm/string/to-sentence-case.js +0 -9
- package/dist/esm/string/truncate.js +0 -15
- package/dist/esm/string.js +0 -1
- package/dist/esm/youtube/extract-youtube-video-id.js +0 -26
- package/dist/esm/youtube/generate-youtube-url.js +0 -81
- package/dist/esm/youtube/get-youtube-thumbnail.js +0 -31
- package/dist/esm/youtube/get-youtube-video-info.js +0 -207
- package/dist/esm/youtube/index.js +0 -6
- package/dist/esm/youtube/use-get-video-duration.js +0 -149
- package/dist/esm/youtube/validate-youtube-link.js +0 -40
- package/dist/esm/youtube.js +0 -1
- package/dist/files/compress-image.d.ts +0 -10
- package/dist/files/compress-image.d.ts.map +0 -1
- package/dist/files/download-url.d.ts +0 -2
- package/dist/files/download-url.d.ts.map +0 -1
- package/dist/files/file-delete.d.ts +0 -2
- package/dist/files/file-delete.d.ts.map +0 -1
- package/dist/files/file-exists.d.ts +0 -2
- package/dist/files/file-exists.d.ts.map +0 -1
- package/dist/files/format-bytes.d.ts +0 -2
- package/dist/files/format-bytes.d.ts.map +0 -1
- package/dist/files/index.d.ts.map +0 -1
- package/dist/function/debounce.d.ts +0 -11
- package/dist/function/debounce.d.ts.map +0 -1
- package/dist/function/index.d.ts.map +0 -1
- package/dist/function/throttle.d.ts +0 -10
- package/dist/function/throttle.d.ts.map +0 -1
- package/dist/function/try-catch.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/string/camel-case.d.ts +0 -2
- package/dist/string/camel-case.d.ts.map +0 -1
- package/dist/string/capitalize.d.ts +0 -2
- package/dist/string/capitalize.d.ts.map +0 -1
- package/dist/string/format-hms-to-seconds.d.ts +0 -2
- package/dist/string/format-hms-to-seconds.d.ts.map +0 -1
- package/dist/string/format-seconds-to-fragment.d.ts +0 -3
- package/dist/string/format-seconds-to-fragment.d.ts.map +0 -1
- package/dist/string/format-seconds-to-hms.d.ts +0 -2
- package/dist/string/format-seconds-to-hms.d.ts.map +0 -1
- package/dist/string/format-string-to-time.d.ts +0 -2
- package/dist/string/format-string-to-time.d.ts.map +0 -1
- package/dist/string/index.d.ts.map +0 -1
- package/dist/string/kebab-case.d.ts +0 -2
- package/dist/string/kebab-case.d.ts.map +0 -1
- package/dist/string/markdown-to-text.d.ts +0 -2
- package/dist/string/markdown-to-text.d.ts.map +0 -1
- package/dist/string/remove-html-tags.d.ts +0 -2
- package/dist/string/remove-html-tags.d.ts.map +0 -1
- package/dist/string/slugify.d.ts +0 -2
- package/dist/string/slugify.d.ts.map +0 -1
- package/dist/string/snake-case.d.ts +0 -2
- package/dist/string/snake-case.d.ts.map +0 -1
- package/dist/string/to-sentence-case.d.ts +0 -2
- package/dist/string/to-sentence-case.d.ts.map +0 -1
- package/dist/string/truncate.d.ts +0 -2
- package/dist/string/truncate.d.ts.map +0 -1
- package/dist/youtube/extract-youtube-video-id.d.ts +0 -2
- package/dist/youtube/extract-youtube-video-id.d.ts.map +0 -1
- package/dist/youtube/generate-youtube-url.d.ts +0 -20
- package/dist/youtube/generate-youtube-url.d.ts.map +0 -1
- package/dist/youtube/get-youtube-thumbnail.d.ts +0 -2
- package/dist/youtube/get-youtube-thumbnail.d.ts.map +0 -1
- package/dist/youtube/get-youtube-video-info.d.ts +0 -26
- package/dist/youtube/get-youtube-video-info.d.ts.map +0 -1
- package/dist/youtube/index.d.ts.map +0 -1
- package/dist/youtube/use-get-video-duration.d.ts +0 -7
- package/dist/youtube/use-get-video-duration.d.ts.map +0 -1
- package/dist/youtube/validate-youtube-link.d.ts +0 -2
- package/dist/youtube/validate-youtube-link.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kebab-case.js","sourceRoot":"","sources":["../../../src/string/kebab-case.ts"],"names":[],"mappings":";;AAAA,8BAWC;AAXD,SAAgB,SAAS,CAAC,GAAW;IACnC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,GAAG;SACP,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AAC5B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-to-text.d.ts","sourceRoot":"","sources":["../../../src/string/markdown-to-text.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAsFvD"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.markdownToText = markdownToText;
|
|
4
|
-
function markdownToText(markdown) {
|
|
5
|
-
if (!markdown)
|
|
6
|
-
return "";
|
|
7
|
-
// normalize newlines
|
|
8
|
-
let text = markdown.replace(/\r\n?/g, "\n");
|
|
9
|
-
// Remove code fences but keep inner content (trim surrounding newlines to avoid extra blank lines)
|
|
10
|
-
text = text.replace(/```[\s\S]*?```/g, (m) => {
|
|
11
|
-
const inner = m.replace(/^```.*\n?/, "").replace(/```$/, "");
|
|
12
|
-
return inner.replace(/^\n+|\n+$/g, "");
|
|
13
|
-
});
|
|
14
|
-
// Remove inline code backticks
|
|
15
|
-
text = text.replace(/`([^`]+)`/g, "$1");
|
|
16
|
-
// Images: keep alt text if present
|
|
17
|
-
text = text.replace(/!\[([^\]]*)\]\((?:[^)]+)\)/g, "$1");
|
|
18
|
-
// Links: keep link text
|
|
19
|
-
text = text.replace(/\[([^\]]+)\]\((?:[^)]+)\)/g, "$1");
|
|
20
|
-
// Reference-style links: [text][id] -> text
|
|
21
|
-
text = text.replace(/\[([^\]]+)\]\s*\[[^\]]*\]/g, "$1");
|
|
22
|
-
// Remove footnote markers like [^1] (do this before we mutate surrounding lines)
|
|
23
|
-
text = text.replace(/\[\^[^\]]+\]/g, "");
|
|
24
|
-
// Remove reference definitions like: [id]: url (and footnote defs like [^1]: note)
|
|
25
|
-
// Remove the entire definition line including its trailing newline to avoid leaving blank lines
|
|
26
|
-
text = text.replace(/^\s*\[[^\]]+\]:\s*.*(?:\r\n?|\n)?/gm, "");
|
|
27
|
-
text = text.replace(/^\s*\[\^[^\]]+\]:\s*.*(?:\r\n?|\n)?/gm, "");
|
|
28
|
-
// Remove HTML tags but keep inner text
|
|
29
|
-
text = text.replace(/<\/?[^>]+>/g, "");
|
|
30
|
-
// Remove emphasis markers (bold/italic/strikethrough), preserve text
|
|
31
|
-
text = text.replace(/(\*\*|__)(.*?)\1/g, "$2");
|
|
32
|
-
text = text.replace(/(\*|_)(.*?)\1/g, "$2");
|
|
33
|
-
text = text.replace(/~~(.*?)~~/g, "$1");
|
|
34
|
-
// Remove headings (#, ##, etc.)
|
|
35
|
-
text = text.replace(/^\s{0,3}#{1,6}\s*/gm, "");
|
|
36
|
-
// Remove blockquote markers
|
|
37
|
-
text = text.replace(/^\s{0,3}>\s?/gm, "");
|
|
38
|
-
// Remove list markers (ordered and unordered)
|
|
39
|
-
text = text.replace(/^\s{0,3}([-+*]|\d+\.)\s+/gm, "");
|
|
40
|
-
// Remove table separator lines and keep table cell content by replacing pipes with spaced pipes
|
|
41
|
-
// Match the separator line and any trailing newline so we don't leave an empty line behind
|
|
42
|
-
// Remove separator lines entirely (don't insert an extra newline)
|
|
43
|
-
text = text.replace(/^\s*\|?(?:\s*:?-+:?\s*\|)+\s*(?:\r\n?|\n)?/gm, "");
|
|
44
|
-
text = text.replace(/\|/g, " | ");
|
|
45
|
-
// Trim leading whitespace on each line (fixes leading space introduced by replacing pipes)
|
|
46
|
-
text = text.replace(/^[ \t]+/gm, "");
|
|
47
|
-
// Fix table spacing edge-case: when a cell starts with two spaces before a digit (caused by adding spaces around pipes), collapse to a single space
|
|
48
|
-
text = text.replace(/\|\s{2}(?=\d)/g, "| ");
|
|
49
|
-
// Remove footnote markers like [^1]
|
|
50
|
-
text = text.replace(/\[\^[^\]]+\]/g, "");
|
|
51
|
-
// Remove any leftover footnote-definition fragments that may have been concatenated to the previous line
|
|
52
|
-
// e.g. "Text^1: note" -> "Text"
|
|
53
|
-
text = text.replace(/\^[0-9]+:\s*.*(?:\r\n?|\n)?/g, "");
|
|
54
|
-
// Decode a few common HTML entities
|
|
55
|
-
const entities = {
|
|
56
|
-
"&": "&",
|
|
57
|
-
"<": "<",
|
|
58
|
-
">": ">",
|
|
59
|
-
""": '"',
|
|
60
|
-
"'": "'",
|
|
61
|
-
};
|
|
62
|
-
text = text.replace(/&[a-zA-Z0-9#]+;/g, (e) => { var _a; return (_a = entities[e]) !== null && _a !== void 0 ? _a : e; });
|
|
63
|
-
// Trim trailing whitespace on each line
|
|
64
|
-
text = text.replace(/[ \t]+$/gm, "");
|
|
65
|
-
// Collapse excessive blank lines to at most two (preserve paragraph breaks)
|
|
66
|
-
text = text.replace(/\n{3,}/g, "\n\n");
|
|
67
|
-
// Final trim but preserve leading/trailing single newlines inside content as needed
|
|
68
|
-
return text.trim();
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=markdown-to-text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-to-text.js","sourceRoot":"","sources":["../../../src/string/markdown-to-text.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"remove-html-tags.d.ts","sourceRoot":"","sources":["../../../src/string/remove-html-tags.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAepD"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.removeHtmlTags = removeHtmlTags;
|
|
4
|
-
function removeHtmlTags(input) {
|
|
5
|
-
// Input validation
|
|
6
|
-
if (!input || typeof input !== "string") {
|
|
7
|
-
return "";
|
|
8
|
-
}
|
|
9
|
-
// Apply reasonable input length limit for safety
|
|
10
|
-
const maxLength = 100000; // Adjust based on your requirements
|
|
11
|
-
let updatedInput = input;
|
|
12
|
-
if (updatedInput.length > maxLength) {
|
|
13
|
-
updatedInput = updatedInput.slice(0, maxLength);
|
|
14
|
-
}
|
|
15
|
-
// Use a non-backtracking approach to prevent ReDoS vulnerabilities
|
|
16
|
-
return updatedInput.replace(/<(?:[^>"']|"[^"]*"|'[^']*')*>/g, "");
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=remove-html-tags.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"remove-html-tags.js","sourceRoot":"","sources":["../../../src/string/remove-html-tags.ts"],"names":[],"mappings":";;AAAA,wCAeC;AAfD,SAAgB,cAAc,CAAC,KAAa;IAC1C,mBAAmB;IACnB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,iDAAiD;IACjD,MAAM,SAAS,GAAG,MAAM,CAAA,CAAC,oCAAoC;IAC7D,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,YAAY,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QACpC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjD,CAAC;IAED,mEAAmE;IACnE,OAAO,YAAY,CAAC,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAA;AACnE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slugify.d.ts","sourceRoot":"","sources":["../../../src/string/slugify.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ5C"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.slugify = slugify;
|
|
4
|
-
function slugify(text) {
|
|
5
|
-
return text
|
|
6
|
-
.normalize("NFD")
|
|
7
|
-
.replace(/[\u0300-\u036f]/g, "")
|
|
8
|
-
.replace(/[^\w\s]/gi, "")
|
|
9
|
-
.trim()
|
|
10
|
-
.replace(/\s+/g, "-")
|
|
11
|
-
.toLowerCase();
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=slugify.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slugify.js","sourceRoot":"","sources":["../../../src/string/slugify.ts"],"names":[],"mappings":";;AAAA,0BAQC;AARD,SAAgB,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI;SACR,SAAS,CAAC,KAAK,CAAC;SAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;SAC/B,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,IAAI,EAAE;SACN,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,WAAW,EAAE,CAAA;AAClB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snake-case.d.ts","sourceRoot":"","sources":["../../../src/string/snake-case.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW7C"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.snakeCase = snakeCase;
|
|
4
|
-
function snakeCase(str) {
|
|
5
|
-
if (typeof str !== "string") {
|
|
6
|
-
throw new Error("Input must be a string");
|
|
7
|
-
}
|
|
8
|
-
return str
|
|
9
|
-
.replace(/([a-z])([A-Z])/g, "$1_$2")
|
|
10
|
-
.replace(/[\s-]+/g, "_")
|
|
11
|
-
.replace(/[^a-zA-Z0-9_]/g, "")
|
|
12
|
-
.toLowerCase()
|
|
13
|
-
.replace(/^_+|_+$/g, "");
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=snake-case.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snake-case.js","sourceRoot":"","sources":["../../../src/string/snake-case.ts"],"names":[],"mappings":";;AAAA,8BAWC;AAXD,SAAgB,SAAS,CAAC,GAAW;IACnC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,GAAG;SACP,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AAC5B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"to-sentence-case.d.ts","sourceRoot":"","sources":["../../../src/string/to-sentence-case.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,UAQzC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toSentenceCase = toSentenceCase;
|
|
4
|
-
function toSentenceCase(str) {
|
|
5
|
-
return str
|
|
6
|
-
.replace(/_/g, " ")
|
|
7
|
-
.replace(/([A-Z])/g, " $1")
|
|
8
|
-
.toLowerCase()
|
|
9
|
-
.replace(/^\w/, (c) => c.toUpperCase())
|
|
10
|
-
.replace(/\s+/g, " ")
|
|
11
|
-
.trim();
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=to-sentence-case.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"to-sentence-case.js","sourceRoot":"","sources":["../../../src/string/to-sentence-case.ts"],"names":[],"mappings":";;AAAA,wCAQC;AARD,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG;SACP,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;SAC1B,WAAW,EAAE;SACb,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACtC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAA;AACX,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../../src/string/truncate.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAQ,GAAG,MAAM,CAkB5E"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.truncate = truncate;
|
|
4
|
-
function truncate(str, length, suffix = "...") {
|
|
5
|
-
if (typeof str !== "string") {
|
|
6
|
-
throw new Error("Input must be a string");
|
|
7
|
-
}
|
|
8
|
-
if (typeof length !== "number" || length < 0) {
|
|
9
|
-
throw new Error("Length must be a non-negative number");
|
|
10
|
-
}
|
|
11
|
-
if (str.length <= length) {
|
|
12
|
-
return str;
|
|
13
|
-
}
|
|
14
|
-
if (length === 0) {
|
|
15
|
-
return suffix;
|
|
16
|
-
}
|
|
17
|
-
return str.slice(0, Math.max(0, length - suffix.length)) + suffix;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=truncate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../../src/string/truncate.ts"],"names":[],"mappings":";;AAAA,4BAkBC;AAlBD,SAAgB,QAAQ,CAAC,GAAW,EAAE,MAAc,EAAE,MAAM,GAAG,KAAK;IAClE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACzD,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QACzB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAA;AACnE,CAAC"}
|
package/dist/cjs/string.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require('./string/index.js')
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extract-youtube-video-id.d.ts","sourceRoot":"","sources":["../../../src/youtube/extract-youtube-video-id.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CA4BxE"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractYouTubeId = extractYouTubeId;
|
|
4
|
-
function extractYouTubeId(urlString) {
|
|
5
|
-
if (!urlString)
|
|
6
|
-
return null;
|
|
7
|
-
try {
|
|
8
|
-
const url = new URL(urlString);
|
|
9
|
-
const hostname = url.hostname.toLowerCase();
|
|
10
|
-
const pathname = url.pathname;
|
|
11
|
-
if (hostname.includes("youtu.be")) {
|
|
12
|
-
const id = pathname.replace(/^\/+/, "").split(/[?&#]/)[0];
|
|
13
|
-
return id || null;
|
|
14
|
-
}
|
|
15
|
-
if (hostname.includes("youtube.com")) {
|
|
16
|
-
if (url.searchParams.has("v")) {
|
|
17
|
-
return url.searchParams.get("v");
|
|
18
|
-
}
|
|
19
|
-
const parts = pathname.split("/").filter(Boolean);
|
|
20
|
-
const last = parts[parts.length - 1];
|
|
21
|
-
if (last)
|
|
22
|
-
return last.split(/[?&#]/)[0] || null;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
catch (_a) { }
|
|
26
|
-
const regex = /(?:v=|\/embed\/|\/shorts\/|youtu\.be\/)([0-9A-Za-z_-]{6,})/i;
|
|
27
|
-
const match = urlString.match(regex);
|
|
28
|
-
return match ? match[1] : null;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=extract-youtube-video-id.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extract-youtube-video-id.js","sourceRoot":"","sources":["../../../src/youtube/extract-youtube-video-id.ts"],"names":[],"mappings":";;AAAA,4CA4BC;AA5BD,SAAgB,gBAAgB,CAAC,SAAwB;IACvD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAE3B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QAE9B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;QAE7B,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YACzD,OAAO,EAAE,IAAI,IAAI,CAAA;QACnB,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClC,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACjD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACpC,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QACjD,CAAC;IACH,CAAC;IAAC,WAAM,CAAC,CAAA,CAAC;IAEV,MAAM,KAAK,GAAG,6DAA6D,CAAA;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAChC,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
type TCreateYoutubeLinkOptions = {
|
|
2
|
-
videoURL: string;
|
|
3
|
-
start?: number | string;
|
|
4
|
-
end?: number | string;
|
|
5
|
-
embed?: boolean;
|
|
6
|
-
short?: boolean;
|
|
7
|
-
useFragment?: boolean;
|
|
8
|
-
autoplay?: boolean;
|
|
9
|
-
controls?: 0 | 1;
|
|
10
|
-
rel?: 0 | 1;
|
|
11
|
-
loop?: boolean;
|
|
12
|
-
mute?: boolean;
|
|
13
|
-
modestbranding?: 0 | 1;
|
|
14
|
-
origin?: string;
|
|
15
|
-
playlist?: string;
|
|
16
|
-
params?: Record<string, string | number | boolean>;
|
|
17
|
-
};
|
|
18
|
-
export declare const generateYoutubeURL: (opts: TCreateYoutubeLinkOptions) => string | null;
|
|
19
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=generate-youtube-url.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-youtube-url.d.ts","sourceRoot":"","sources":["../../../src/youtube/generate-youtube-url.ts"],"names":[],"mappings":"AAGA,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAEhB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAErB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IAChB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACX,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;CACnD,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,MAAM,yBAAyB,KAC9B,MAAM,GAAG,IAiGX,CAAA"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateYoutubeURL = void 0;
|
|
4
|
-
const string_1 = require("../string");
|
|
5
|
-
const extract_youtube_video_id_1 = require("./extract-youtube-video-id");
|
|
6
|
-
const generateYoutubeURL = (opts) => {
|
|
7
|
-
const { videoURL, start, end, embed = false, short = false, useFragment = false, autoplay, controls, rel, loop, mute, modestbranding, origin, playlist, params = {}, } = opts;
|
|
8
|
-
const videoId = (0, extract_youtube_video_id_1.extractYouTubeId)(videoURL);
|
|
9
|
-
if (!videoId)
|
|
10
|
-
return null;
|
|
11
|
-
const startSec = (0, string_1.formatHMSToSeconds)(start);
|
|
12
|
-
const endSec = (0, string_1.formatHMSToSeconds)(end);
|
|
13
|
-
// base url
|
|
14
|
-
const base = embed
|
|
15
|
-
? `https://www.youtube.com/embed/${videoId}`
|
|
16
|
-
: short
|
|
17
|
-
? `https://youtu.be/${videoId}`
|
|
18
|
-
: "https://www.youtube.com/watch";
|
|
19
|
-
const search = new URLSearchParams();
|
|
20
|
-
// Add video ID for watch URLs
|
|
21
|
-
if (!embed && !short) {
|
|
22
|
-
search.set("v", videoId);
|
|
23
|
-
}
|
|
24
|
-
// Standard param names for watch/embed
|
|
25
|
-
if (!useFragment) {
|
|
26
|
-
if (startSec != null) {
|
|
27
|
-
// youtu.be historically uses "t" as a query param, but "start" is widely supported.
|
|
28
|
-
// Use "t" for short links, otherwise "start".
|
|
29
|
-
search.set(short ? "t" : "start", String(startSec));
|
|
30
|
-
}
|
|
31
|
-
if (endSec != null) {
|
|
32
|
-
search.set("end", String(endSec));
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
// embed / player related params
|
|
36
|
-
if (typeof autoplay !== "undefined")
|
|
37
|
-
search.set("autoplay", autoplay ? "1" : "0");
|
|
38
|
-
if (typeof controls !== "undefined")
|
|
39
|
-
search.set("controls", String(controls));
|
|
40
|
-
if (typeof rel !== "undefined")
|
|
41
|
-
search.set("rel", String(rel));
|
|
42
|
-
if (typeof modestbranding !== "undefined")
|
|
43
|
-
search.set("modestbranding", String(modestbranding));
|
|
44
|
-
if (typeof origin !== "undefined")
|
|
45
|
-
search.set("origin", origin);
|
|
46
|
-
if (typeof mute !== "undefined")
|
|
47
|
-
search.set("mute", mute ? "1" : "0");
|
|
48
|
-
// loop requires playlist param when embedding a single video
|
|
49
|
-
if (loop) {
|
|
50
|
-
search.set("loop", "1");
|
|
51
|
-
if (playlist) {
|
|
52
|
-
search.set("playlist", playlist);
|
|
53
|
-
}
|
|
54
|
-
else if (embed) {
|
|
55
|
-
// for embed+loop, YouTube expects &playlist=VIDEO_ID
|
|
56
|
-
search.set("playlist", videoId);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
else if (playlist) {
|
|
60
|
-
search.set("playlist", playlist);
|
|
61
|
-
}
|
|
62
|
-
// merge custom params (allow overriding)
|
|
63
|
-
Object.entries(params).forEach(([k, v]) => {
|
|
64
|
-
if (v === false)
|
|
65
|
-
search.set(k, "0");
|
|
66
|
-
else if (v === true)
|
|
67
|
-
search.set(k, "1");
|
|
68
|
-
else
|
|
69
|
-
search.set(k, String(v));
|
|
70
|
-
});
|
|
71
|
-
const qs = search.toString() ? `?${search.toString()}` : "";
|
|
72
|
-
// fragment handling (e.g. #t=1m2s)
|
|
73
|
-
let fragment = "";
|
|
74
|
-
if (useFragment && startSec != null) {
|
|
75
|
-
fragment = `#t=${(0, string_1.formatSecondsToFragment)(startSec)}`;
|
|
76
|
-
}
|
|
77
|
-
// For short links, people often prefer the short host and start as query or fragment.
|
|
78
|
-
if (short) {
|
|
79
|
-
// prefer fragment if requested, otherwise use search params (t)
|
|
80
|
-
return `${base}${qs}${fragment}`;
|
|
81
|
-
}
|
|
82
|
-
// watch/embed links
|
|
83
|
-
return `${base}${qs}${fragment}`;
|
|
84
|
-
};
|
|
85
|
-
exports.generateYoutubeURL = generateYoutubeURL;
|
|
86
|
-
//# sourceMappingURL=generate-youtube-url.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-youtube-url.js","sourceRoot":"","sources":["../../../src/youtube/generate-youtube-url.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-youtube-thumbnail.d.ts","sourceRoot":"","sources":["../../../src/youtube/get-youtube-thumbnail.ts"],"names":[],"mappings":"AAAA,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgCxB"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.getYoutubeThumbnail = getYoutubeThumbnail;
|
|
37
|
-
async function getYoutubeThumbnail(videoUrl) {
|
|
38
|
-
const { extractYouTubeId } = await Promise.resolve().then(() => __importStar(require("./extract-youtube-video-id")));
|
|
39
|
-
const videoId = extractYouTubeId(videoUrl);
|
|
40
|
-
if (!videoId)
|
|
41
|
-
return null;
|
|
42
|
-
// Try loading YouTube thumbnail images — avoids CORS problems because
|
|
43
|
-
// creating an Image and listening for load/error is not blocked by CORS.
|
|
44
|
-
const thumbs = [
|
|
45
|
-
`https://img.youtube.com/vi/${videoId}/maxresdefault.jpg`,
|
|
46
|
-
`https://img.youtube.com/vi/${videoId}/hqdefault.jpg`,
|
|
47
|
-
`https://img.youtube.com/vi/${videoId}/mqdefault.jpg`,
|
|
48
|
-
`https://img.youtube.com/vi/${videoId}/default.jpg`,
|
|
49
|
-
];
|
|
50
|
-
const loadImage = (src) => new Promise((resolve) => {
|
|
51
|
-
const img = new Image();
|
|
52
|
-
img.onload = () => resolve(true);
|
|
53
|
-
img.onerror = () => resolve(false);
|
|
54
|
-
img.src = src;
|
|
55
|
-
});
|
|
56
|
-
for (const url of thumbs) {
|
|
57
|
-
try {
|
|
58
|
-
const ok = await loadImage(url);
|
|
59
|
-
if (ok)
|
|
60
|
-
return url;
|
|
61
|
-
}
|
|
62
|
-
catch (_a) {
|
|
63
|
-
// ignore and try next thumbnail
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=get-youtube-thumbnail.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-youtube-thumbnail.js","sourceRoot":"","sources":["../../../src/youtube/get-youtube-thumbnail.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAkCC;AAlCM,KAAK,UAAU,mBAAmB,CACvC,QAAgB;IAEhB,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAA;IACvE,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,MAAM,GAAG;QACb,8BAA8B,OAAO,oBAAoB;QACzD,8BAA8B,OAAO,gBAAgB;QACrD,8BAA8B,OAAO,gBAAgB;QACrD,8BAA8B,OAAO,cAAc;KACpD,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAChC,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAA;QACvB,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAChC,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAA;IACf,CAAC,CAAC,CAAA;IAEJ,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,EAAE;gBAAE,OAAO,GAAG,CAAA;QACpB,CAAC;QAAC,WAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
type TYtThumbnail = {
|
|
2
|
-
url: string;
|
|
3
|
-
width?: number;
|
|
4
|
-
height?: number;
|
|
5
|
-
};
|
|
6
|
-
export type TYouTubeVideoInfo = {
|
|
7
|
-
id: string;
|
|
8
|
-
url: string;
|
|
9
|
-
title: string;
|
|
10
|
-
channelTitle: string;
|
|
11
|
-
channelId?: string;
|
|
12
|
-
channelUrl?: string;
|
|
13
|
-
description?: string;
|
|
14
|
-
shortDescription?: string;
|
|
15
|
-
thumbnails: TYtThumbnail[];
|
|
16
|
-
thumbnail?: string;
|
|
17
|
-
publishedAt?: string;
|
|
18
|
-
uploadedAt?: string;
|
|
19
|
-
keywords?: string[];
|
|
20
|
-
viewCount?: number;
|
|
21
|
-
lengthSeconds?: number;
|
|
22
|
-
isLive?: boolean;
|
|
23
|
-
};
|
|
24
|
-
export declare function getYoutubeVideoInfo(videoUrl: string): Promise<TYouTubeVideoInfo | null>;
|
|
25
|
-
export {};
|
|
26
|
-
//# sourceMappingURL=get-youtube-video-info.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-youtube-video-info.d.ts","sourceRoot":"","sources":["../../../src/youtube/get-youtube-video-info.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAoDD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,EAAE,YAAY,EAAE,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAID,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAiBnC"}
|