@herowcode/utils 1.1.7 → 1.1.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/dist/array/index.d.ts.map +1 -0
- package/dist/{types/array/index.d.ts → array/index.esm.js} +0 -1
- package/dist/array/index.js +2 -0
- package/dist/array/index.js.map +1 -0
- package/dist/array/shuffle.d.ts.map +1 -0
- package/dist/{cjs/array → array}/shuffle.js +1 -5
- package/dist/array/shuffle.js.map +1 -0
- package/dist/array/unique.d.ts.map +1 -0
- package/dist/array/unique.js +3 -0
- package/dist/array/unique.js.map +1 -0
- package/dist/date/dayjs.d.ts.map +1 -0
- package/dist/date/dayjs.js +14 -0
- package/dist/date/dayjs.js.map +1 -0
- package/dist/date/fix-timezone-offset.d.ts.map +1 -0
- package/dist/date/fix-timezone-offset.esm.js +5 -0
- package/dist/{esm/date → date}/fix-timezone-offset.js +1 -1
- package/dist/date/fix-timezone-offset.js.map +1 -0
- package/dist/date/format-date.d.ts.map +1 -0
- package/dist/{cjs/date → date}/format-date.js +1 -5
- package/dist/date/format-date.js.map +1 -0
- package/dist/date/get-current-date-in-utc.d.ts.map +1 -0
- package/dist/date/get-current-date-in-utc.esm.js +4 -0
- package/dist/{esm/date → date}/get-current-date-in-utc.js +1 -1
- package/dist/date/get-current-date-in-utc.js.map +1 -0
- package/dist/date/get-date-in-utc.d.ts.map +1 -0
- package/dist/date/get-date-in-utc.esm.js +4 -0
- package/dist/{esm/date → date}/get-date-in-utc.js +1 -1
- package/dist/date/get-date-in-utc.js.map +1 -0
- package/dist/date/index.d.ts.map +1 -0
- package/dist/{types/date/index.d.ts → date/index.esm.js} +0 -1
- package/dist/date/index.js +6 -0
- package/dist/date/index.js.map +1 -0
- package/dist/date/parse-time-spent.d.ts.map +1 -0
- package/dist/{cjs/date/parse-time-spent.js → date/parse-time-spent.esm.js} +4 -8
- package/dist/{esm/date → date}/parse-time-spent.js +1 -1
- package/dist/date/parse-time-spent.js.map +1 -0
- package/dist/files/compress-image.d.ts.map +1 -0
- package/dist/{cjs/files → files}/compress-image.js +1 -5
- package/dist/files/compress-image.js.map +1 -0
- package/dist/files/download-url.d.ts.map +1 -0
- package/dist/{cjs/files → files}/download-url.js +1 -6
- package/dist/files/download-url.js.map +1 -0
- package/dist/files/file-delete.d.ts.map +1 -0
- package/dist/files/file-delete.esm.js +12 -0
- package/dist/{esm/files → files}/file-delete.js +1 -1
- package/dist/files/file-delete.js.map +1 -0
- package/dist/files/file-exists.d.ts.map +1 -0
- package/dist/files/file-exists.js +10 -0
- package/dist/files/file-exists.js.map +1 -0
- package/dist/files/format-bytes.d.ts.map +1 -0
- package/dist/{cjs/files → files}/format-bytes.js +1 -5
- package/dist/files/format-bytes.js.map +1 -0
- package/dist/files/index.d.ts.map +1 -0
- package/dist/{types/files/index.d.ts → files/index.esm.js} +0 -1
- package/dist/files/index.js +5 -0
- package/dist/files/index.js.map +1 -0
- package/dist/function/debounce.d.ts.map +1 -0
- package/dist/{cjs/function → function}/debounce.js +1 -5
- package/dist/function/debounce.js.map +1 -0
- package/dist/function/index.d.ts.map +1 -0
- package/dist/{types/function/index.d.ts → function/index.esm.js} +0 -1
- package/dist/function/index.js +3 -0
- package/dist/function/index.js.map +1 -0
- package/dist/function/throttle.d.ts.map +1 -0
- package/dist/{cjs/function → function}/throttle.js +1 -5
- package/dist/function/throttle.js.map +1 -0
- package/dist/function/try-catch.d.ts.map +1 -0
- package/dist/{cjs/function → function}/try-catch.js +1 -5
- package/dist/function/try-catch.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/string/camel-case.d.ts.map +1 -0
- package/dist/{cjs/string → string}/camel-case.js +1 -5
- package/dist/string/camel-case.js.map +1 -0
- package/dist/string/capitalize.d.ts.map +1 -0
- package/dist/{cjs/string → string}/capitalize.js +1 -5
- package/dist/string/capitalize.js.map +1 -0
- package/dist/string/format-hms-to-seconds.d.ts.map +1 -0
- package/dist/{cjs/string → string}/format-hms-to-seconds.js +1 -6
- package/dist/string/format-hms-to-seconds.js.map +1 -0
- package/dist/string/format-seconds-to-fragment.d.ts.map +1 -0
- package/dist/{cjs/string → string}/format-seconds-to-fragment.js +1 -6
- package/dist/string/format-seconds-to-fragment.js.map +1 -0
- package/dist/string/format-seconds-to-hms.d.ts.map +1 -0
- package/dist/{cjs/string → string}/format-seconds-to-hms.js +1 -5
- package/dist/string/format-seconds-to-hms.js.map +1 -0
- package/dist/string/format-string-to-time.d.ts.map +1 -0
- package/dist/{cjs/string → string}/format-string-to-time.js +1 -6
- package/dist/string/format-string-to-time.js.map +1 -0
- package/dist/string/index.d.ts.map +1 -0
- package/dist/{types/string/index.d.ts → string/index.esm.js} +0 -1
- package/dist/string/index.js +13 -0
- package/dist/string/index.js.map +1 -0
- package/dist/string/kebab-case.d.ts.map +1 -0
- package/dist/{cjs/string → string}/kebab-case.js +1 -5
- package/dist/string/kebab-case.js.map +1 -0
- package/dist/string/markdown-to-text.d.ts.map +1 -0
- package/dist/{cjs/string → string}/markdown-to-text.js +1 -5
- package/dist/string/markdown-to-text.js.map +1 -0
- package/dist/string/remove-html-tags.d.ts.map +1 -0
- package/dist/{cjs/string → string}/remove-html-tags.js +1 -5
- package/dist/string/remove-html-tags.js.map +1 -0
- package/dist/string/slugify.d.ts.map +1 -0
- package/dist/{cjs/string → string}/slugify.js +1 -5
- package/dist/string/slugify.js.map +1 -0
- package/dist/string/snake-case.d.ts.map +1 -0
- package/dist/{cjs/string → string}/snake-case.js +1 -5
- package/dist/string/snake-case.js.map +1 -0
- package/dist/string/to-sentence-case.d.ts.map +1 -0
- package/dist/{cjs/string → string}/to-sentence-case.js +1 -5
- package/dist/string/to-sentence-case.js.map +1 -0
- package/dist/string/truncate.d.ts.map +1 -0
- package/dist/{cjs/string → string}/truncate.js +1 -5
- package/dist/string/truncate.js.map +1 -0
- package/dist/youtube/extract-youtube-video-id.d.ts.map +1 -0
- package/dist/{cjs/youtube → youtube}/extract-youtube-video-id.js +1 -5
- package/dist/youtube/extract-youtube-video-id.js.map +1 -0
- package/dist/youtube/generate-youtube-url.d.ts.map +1 -0
- package/dist/{cjs/youtube/generate-youtube-url.js → youtube/generate-youtube-url.esm.js} +7 -12
- package/dist/{esm/youtube → youtube}/generate-youtube-url.js +2 -2
- package/dist/youtube/generate-youtube-url.js.map +1 -0
- package/dist/youtube/get-youtube-thumbnail.d.ts.map +1 -0
- package/dist/youtube/get-youtube-thumbnail.esm.js +31 -0
- package/dist/{esm/youtube → youtube}/get-youtube-thumbnail.js +1 -1
- package/dist/youtube/get-youtube-thumbnail.js.map +1 -0
- package/dist/youtube/index.d.ts.map +1 -0
- package/dist/{types/youtube/index.d.ts → youtube/index.esm.js} +0 -1
- package/dist/youtube/index.js +5 -0
- package/dist/youtube/index.js.map +1 -0
- package/dist/youtube/use-get-video-duration.d.ts.map +1 -0
- package/dist/{cjs/youtube/use-get-video-duration.js → youtube/use-get-video-duration.esm.js} +10 -14
- package/dist/{esm/youtube → youtube}/use-get-video-duration.js +3 -3
- package/dist/youtube/use-get-video-duration.js.map +1 -0
- package/dist/youtube/validate-youtube-link.d.ts.map +1 -0
- package/dist/youtube/validate-youtube-link.esm.js +40 -0
- package/dist/{esm/youtube → youtube}/validate-youtube-link.js +1 -1
- package/dist/youtube/validate-youtube-link.js.map +1 -0
- package/package.json +36 -11
- 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.map +0 -1
- package/dist/cjs/array/shuffle.js.map +0 -1
- 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/date/dayjs.d.ts.map +0 -1
- package/dist/cjs/date/dayjs.js +0 -21
- package/dist/cjs/date/dayjs.js.map +0 -1
- 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.map +0 -1
- package/dist/cjs/date/format-date.js.map +0 -1
- 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.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/index.d.ts.map +0 -1
- package/dist/cjs/date/index.js +0 -23
- package/dist/cjs/date/index.js.map +0 -1
- package/dist/cjs/date/parse-time-spent.d.ts.map +0 -1
- package/dist/cjs/date/parse-time-spent.js.map +0 -1
- package/dist/cjs/files/compress-image.d.ts.map +0 -1
- package/dist/cjs/files/compress-image.js.map +0 -1
- package/dist/cjs/files/download-url.d.ts.map +0 -1
- package/dist/cjs/files/download-url.js.map +0 -1
- 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.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.map +0 -1
- package/dist/cjs/files/format-bytes.js.map +0 -1
- 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/function/debounce.d.ts.map +0 -1
- package/dist/cjs/function/debounce.js.map +0 -1
- 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.map +0 -1
- 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.map +0 -1
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -23
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/string/camel-case.d.ts.map +0 -1
- package/dist/cjs/string/camel-case.js.map +0 -1
- package/dist/cjs/string/capitalize.d.ts.map +0 -1
- package/dist/cjs/string/capitalize.js.map +0 -1
- package/dist/cjs/string/format-hms-to-seconds.d.ts.map +0 -1
- package/dist/cjs/string/format-hms-to-seconds.js.map +0 -1
- package/dist/cjs/string/format-seconds-to-fragment.d.ts.map +0 -1
- package/dist/cjs/string/format-seconds-to-fragment.js.map +0 -1
- package/dist/cjs/string/format-seconds-to-hms.d.ts.map +0 -1
- package/dist/cjs/string/format-seconds-to-hms.js.map +0 -1
- package/dist/cjs/string/format-string-to-time.d.ts.map +0 -1
- package/dist/cjs/string/format-string-to-time.js.map +0 -1
- 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.map +0 -1
- package/dist/cjs/string/kebab-case.js.map +0 -1
- package/dist/cjs/string/markdown-to-text.d.ts.map +0 -1
- package/dist/cjs/string/markdown-to-text.js.map +0 -1
- package/dist/cjs/string/remove-html-tags.d.ts.map +0 -1
- package/dist/cjs/string/remove-html-tags.js.map +0 -1
- package/dist/cjs/string/slugify.d.ts.map +0 -1
- package/dist/cjs/string/slugify.js.map +0 -1
- package/dist/cjs/string/snake-case.d.ts.map +0 -1
- package/dist/cjs/string/snake-case.js.map +0 -1
- package/dist/cjs/string/to-sentence-case.d.ts.map +0 -1
- package/dist/cjs/string/to-sentence-case.js.map +0 -1
- package/dist/cjs/string/truncate.d.ts.map +0 -1
- package/dist/cjs/string/truncate.js.map +0 -1
- package/dist/cjs/youtube/extract-youtube-video-id.d.ts.map +0 -1
- package/dist/cjs/youtube/extract-youtube-video-id.js.map +0 -1
- package/dist/cjs/youtube/generate-youtube-url.d.ts.map +0 -1
- package/dist/cjs/youtube/generate-youtube-url.js.map +0 -1
- 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/index.d.ts.map +0 -1
- package/dist/cjs/youtube/index.js +0 -22
- package/dist/cjs/youtube/index.js.map +0 -1
- package/dist/cjs/youtube/use-get-video-duration.d.ts.map +0 -1
- package/dist/cjs/youtube/use-get-video-duration.js.map +0 -1
- 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/esm/array/index.js +0 -2
- package/dist/esm/date/index.js +0 -6
- package/dist/esm/files/index.js +0 -5
- package/dist/esm/function/index.js +0 -3
- package/dist/esm/string/index.js +0 -13
- package/dist/esm/youtube/index.js +0 -5
- package/dist/types/array/index.d.ts.map +0 -1
- package/dist/types/array/shuffle.d.ts +0 -2
- package/dist/types/array/shuffle.d.ts.map +0 -1
- package/dist/types/array/unique.d.ts +0 -2
- package/dist/types/array/unique.d.ts.map +0 -1
- package/dist/types/date/dayjs.d.ts +0 -3
- package/dist/types/date/dayjs.d.ts.map +0 -1
- package/dist/types/date/fix-timezone-offset.d.ts +0 -3
- package/dist/types/date/fix-timezone-offset.d.ts.map +0 -1
- package/dist/types/date/format-date.d.ts +0 -2
- package/dist/types/date/format-date.d.ts.map +0 -1
- package/dist/types/date/get-current-date-in-utc.d.ts +0 -3
- package/dist/types/date/get-current-date-in-utc.d.ts.map +0 -1
- package/dist/types/date/get-date-in-utc.d.ts +0 -3
- package/dist/types/date/get-date-in-utc.d.ts.map +0 -1
- package/dist/types/date/index.d.ts.map +0 -1
- package/dist/types/date/parse-time-spent.d.ts +0 -15
- package/dist/types/date/parse-time-spent.d.ts.map +0 -1
- package/dist/types/files/compress-image.d.ts +0 -10
- package/dist/types/files/compress-image.d.ts.map +0 -1
- package/dist/types/files/download-url.d.ts +0 -2
- package/dist/types/files/download-url.d.ts.map +0 -1
- package/dist/types/files/file-delete.d.ts +0 -2
- package/dist/types/files/file-delete.d.ts.map +0 -1
- package/dist/types/files/file-exists.d.ts +0 -2
- package/dist/types/files/file-exists.d.ts.map +0 -1
- package/dist/types/files/format-bytes.d.ts +0 -2
- package/dist/types/files/format-bytes.d.ts.map +0 -1
- package/dist/types/files/index.d.ts.map +0 -1
- package/dist/types/function/debounce.d.ts +0 -11
- package/dist/types/function/debounce.d.ts.map +0 -1
- package/dist/types/function/index.d.ts.map +0 -1
- package/dist/types/function/throttle.d.ts +0 -10
- package/dist/types/function/throttle.d.ts.map +0 -1
- package/dist/types/function/try-catch.d.ts +0 -32
- package/dist/types/function/try-catch.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/string/camel-case.d.ts +0 -2
- package/dist/types/string/camel-case.d.ts.map +0 -1
- package/dist/types/string/capitalize.d.ts +0 -2
- package/dist/types/string/capitalize.d.ts.map +0 -1
- package/dist/types/string/format-hms-to-seconds.d.ts +0 -2
- package/dist/types/string/format-hms-to-seconds.d.ts.map +0 -1
- package/dist/types/string/format-seconds-to-fragment.d.ts +0 -3
- package/dist/types/string/format-seconds-to-fragment.d.ts.map +0 -1
- package/dist/types/string/format-seconds-to-hms.d.ts +0 -2
- package/dist/types/string/format-seconds-to-hms.d.ts.map +0 -1
- package/dist/types/string/format-string-to-time.d.ts +0 -2
- package/dist/types/string/format-string-to-time.d.ts.map +0 -1
- package/dist/types/string/index.d.ts.map +0 -1
- package/dist/types/string/kebab-case.d.ts +0 -2
- package/dist/types/string/kebab-case.d.ts.map +0 -1
- package/dist/types/string/markdown-to-text.d.ts +0 -2
- package/dist/types/string/markdown-to-text.d.ts.map +0 -1
- package/dist/types/string/remove-html-tags.d.ts +0 -2
- package/dist/types/string/remove-html-tags.d.ts.map +0 -1
- package/dist/types/string/slugify.d.ts +0 -2
- package/dist/types/string/slugify.d.ts.map +0 -1
- package/dist/types/string/snake-case.d.ts +0 -2
- package/dist/types/string/snake-case.d.ts.map +0 -1
- package/dist/types/string/to-sentence-case.d.ts +0 -2
- package/dist/types/string/to-sentence-case.d.ts.map +0 -1
- package/dist/types/string/truncate.d.ts +0 -2
- package/dist/types/string/truncate.d.ts.map +0 -1
- package/dist/types/youtube/extract-youtube-video-id.d.ts +0 -2
- package/dist/types/youtube/extract-youtube-video-id.d.ts.map +0 -1
- package/dist/types/youtube/generate-youtube-url.d.ts +0 -20
- package/dist/types/youtube/generate-youtube-url.d.ts.map +0 -1
- package/dist/types/youtube/get-youtube-thumbnail.d.ts +0 -2
- package/dist/types/youtube/get-youtube-thumbnail.d.ts.map +0 -1
- package/dist/types/youtube/index.d.ts.map +0 -1
- package/dist/types/youtube/use-get-video-duration.d.ts +0 -7
- package/dist/types/youtube/use-get-video-duration.d.ts.map +0 -1
- package/dist/types/youtube/validate-youtube-link.d.ts +0 -2
- package/dist/types/youtube/validate-youtube-link.d.ts.map +0 -1
- /package/dist/{cjs/array → array}/index.d.ts +0 -0
- /package/dist/{cjs/array → array}/shuffle.d.ts +0 -0
- /package/dist/{esm/array/shuffle.js → array/shuffle.esm.js} +0 -0
- /package/dist/{cjs/array → array}/unique.d.ts +0 -0
- /package/dist/{esm/array/unique.js → array/unique.esm.js} +0 -0
- /package/dist/{cjs/date → date}/dayjs.d.ts +0 -0
- /package/dist/{esm/date/dayjs.js → date/dayjs.esm.js} +0 -0
- /package/dist/{cjs/date → date}/fix-timezone-offset.d.ts +0 -0
- /package/dist/{cjs/date → date}/format-date.d.ts +0 -0
- /package/dist/{esm/date/format-date.js → date/format-date.esm.js} +0 -0
- /package/dist/{cjs/date → date}/get-current-date-in-utc.d.ts +0 -0
- /package/dist/{cjs/date → date}/get-date-in-utc.d.ts +0 -0
- /package/dist/{cjs/date → date}/index.d.ts +0 -0
- /package/dist/{cjs/date → date}/parse-time-spent.d.ts +0 -0
- /package/dist/{cjs/files → files}/compress-image.d.ts +0 -0
- /package/dist/{esm/files/compress-image.js → files/compress-image.esm.js} +0 -0
- /package/dist/{cjs/files → files}/download-url.d.ts +0 -0
- /package/dist/{esm/files/download-url.js → files/download-url.esm.js} +0 -0
- /package/dist/{cjs/files → files}/file-delete.d.ts +0 -0
- /package/dist/{cjs/files → files}/file-exists.d.ts +0 -0
- /package/dist/{esm/files/file-exists.js → files/file-exists.esm.js} +0 -0
- /package/dist/{cjs/files → files}/format-bytes.d.ts +0 -0
- /package/dist/{esm/files/format-bytes.js → files/format-bytes.esm.js} +0 -0
- /package/dist/{cjs/files → files}/index.d.ts +0 -0
- /package/dist/{cjs/function → function}/debounce.d.ts +0 -0
- /package/dist/{esm/function/debounce.js → function/debounce.esm.js} +0 -0
- /package/dist/{cjs/function → function}/index.d.ts +0 -0
- /package/dist/{cjs/function → function}/throttle.d.ts +0 -0
- /package/dist/{esm/function/throttle.js → function/throttle.esm.js} +0 -0
- /package/dist/{cjs/function → function}/try-catch.d.ts +0 -0
- /package/dist/{esm/function/try-catch.js → function/try-catch.esm.js} +0 -0
- /package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
- /package/dist/{esm/index.js → index.esm.js} +0 -0
- /package/dist/{cjs/string → string}/camel-case.d.ts +0 -0
- /package/dist/{esm/string/camel-case.js → string/camel-case.esm.js} +0 -0
- /package/dist/{cjs/string → string}/capitalize.d.ts +0 -0
- /package/dist/{esm/string/capitalize.js → string/capitalize.esm.js} +0 -0
- /package/dist/{cjs/string → string}/format-hms-to-seconds.d.ts +0 -0
- /package/dist/{esm/string/format-hms-to-seconds.js → string/format-hms-to-seconds.esm.js} +0 -0
- /package/dist/{cjs/string → string}/format-seconds-to-fragment.d.ts +0 -0
- /package/dist/{esm/string/format-seconds-to-fragment.js → string/format-seconds-to-fragment.esm.js} +0 -0
- /package/dist/{cjs/string → string}/format-seconds-to-hms.d.ts +0 -0
- /package/dist/{esm/string/format-seconds-to-hms.js → string/format-seconds-to-hms.esm.js} +0 -0
- /package/dist/{cjs/string → string}/format-string-to-time.d.ts +0 -0
- /package/dist/{esm/string/format-string-to-time.js → string/format-string-to-time.esm.js} +0 -0
- /package/dist/{cjs/string → string}/index.d.ts +0 -0
- /package/dist/{cjs/string → string}/kebab-case.d.ts +0 -0
- /package/dist/{esm/string/kebab-case.js → string/kebab-case.esm.js} +0 -0
- /package/dist/{cjs/string → string}/markdown-to-text.d.ts +0 -0
- /package/dist/{esm/string/markdown-to-text.js → string/markdown-to-text.esm.js} +0 -0
- /package/dist/{cjs/string → string}/remove-html-tags.d.ts +0 -0
- /package/dist/{esm/string/remove-html-tags.js → string/remove-html-tags.esm.js} +0 -0
- /package/dist/{cjs/string → string}/slugify.d.ts +0 -0
- /package/dist/{esm/string/slugify.js → string/slugify.esm.js} +0 -0
- /package/dist/{cjs/string → string}/snake-case.d.ts +0 -0
- /package/dist/{esm/string/snake-case.js → string/snake-case.esm.js} +0 -0
- /package/dist/{cjs/string → string}/to-sentence-case.d.ts +0 -0
- /package/dist/{esm/string/to-sentence-case.js → string/to-sentence-case.esm.js} +0 -0
- /package/dist/{cjs/string → string}/truncate.d.ts +0 -0
- /package/dist/{esm/string/truncate.js → string/truncate.esm.js} +0 -0
- /package/dist/{cjs/youtube → youtube}/extract-youtube-video-id.d.ts +0 -0
- /package/dist/{esm/youtube/extract-youtube-video-id.js → youtube/extract-youtube-video-id.esm.js} +0 -0
- /package/dist/{cjs/youtube → youtube}/generate-youtube-url.d.ts +0 -0
- /package/dist/{cjs/youtube → youtube}/get-youtube-thumbnail.d.ts +0 -0
- /package/dist/{cjs/youtube → youtube}/index.d.ts +0 -0
- /package/dist/{cjs/youtube → youtube}/use-get-video-duration.d.ts +0 -0
- /package/dist/{cjs/youtube → youtube}/validate-youtube-link.d.ts +0 -0
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatSecondsToFragment = void 0;
|
|
4
1
|
/** convert seconds to "1h2m3s" or "42s" style for fragment */
|
|
5
|
-
const formatSecondsToFragment = (secs) => {
|
|
2
|
+
export const formatSecondsToFragment = (secs) => {
|
|
6
3
|
const parsedSecs = Math.max(0, Math.floor(secs));
|
|
7
4
|
const h = Math.floor(parsedSecs / 3600);
|
|
8
5
|
const m = Math.floor((parsedSecs % 3600) / 60);
|
|
@@ -16,5 +13,3 @@ const formatSecondsToFragment = (secs) => {
|
|
|
16
13
|
out += `${s}s`;
|
|
17
14
|
return out;
|
|
18
15
|
};
|
|
19
|
-
exports.formatSecondsToFragment = formatSecondsToFragment;
|
|
20
|
-
//# sourceMappingURL=format-seconds-to-fragment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-seconds-to-fragment.js","sourceRoot":"","sources":["../../src/string/format-seconds-to-fragment.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AACvD,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAU,EAAE;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAChD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IACvC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAC9C,MAAM,CAAC,GAAG,UAAU,GAAG,EAAE,CAAA;IACzB,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,CAAC,GAAG,CAAC;QAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAA;IACzB,IAAI,CAAC,GAAG,CAAC;QAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAA;IACzB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE;QAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAA;IACvC,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAVY,QAAA,uBAAuB,2BAUnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-seconds-to-hms.d.ts","sourceRoot":"","sources":["../../src/string/format-seconds-to-hms.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAc/D"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatSecondsToHMS = formatSecondsToHMS;
|
|
4
|
-
function formatSecondsToHMS(totalSeconds) {
|
|
1
|
+
export function formatSecondsToHMS(totalSeconds) {
|
|
5
2
|
const rounded = Math.max(0, Math.round(totalSeconds));
|
|
6
3
|
const hours = Math.floor(rounded / 3600);
|
|
7
4
|
const minutes = Math.floor((rounded % 3600) / 60);
|
|
@@ -14,4 +11,3 @@ function formatSecondsToHMS(totalSeconds) {
|
|
|
14
11
|
}
|
|
15
12
|
return `${hh}:${mm}:${ss}`;
|
|
16
13
|
}
|
|
17
|
-
//# sourceMappingURL=format-seconds-to-hms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-seconds-to-hms.js","sourceRoot":"","sources":["../../src/string/format-seconds-to-hms.ts"],"names":[],"mappings":";;AAAA,gDAcC;AAdD,SAAgB,kBAAkB,CAAC,YAAoB;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACjD,MAAM,OAAO,GAAG,OAAO,GAAG,EAAE,CAAA;IAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACzC,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAE3C,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,CAAA;IACtB,CAAC;IAED,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAA;AAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-string-to-time.d.ts","sourceRoot":"","sources":["../../src/string/format-string-to-time.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,WAU7C,CAAA"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatStringToTime = void 0;
|
|
4
|
-
const formatStringToTime = (str) => {
|
|
1
|
+
export const formatStringToTime = (str) => {
|
|
5
2
|
const stringCleaned = Number(str.replace(/\D/g, "")).toString();
|
|
6
3
|
if (stringCleaned.length > 4) {
|
|
7
4
|
return stringCleaned
|
|
@@ -11,5 +8,3 @@ const formatStringToTime = (str) => {
|
|
|
11
8
|
}
|
|
12
9
|
return stringCleaned.padStart(4, "0").replace(/(\d{2})(\d{2})/, "$1:$2");
|
|
13
10
|
};
|
|
14
|
-
exports.formatStringToTime = formatStringToTime;
|
|
15
|
-
//# sourceMappingURL=format-string-to-time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-string-to-time.js","sourceRoot":"","sources":["../../src/string/format-string-to-time.ts"],"names":[],"mappings":";;;AAAO,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE;IAChD,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC/D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,aAAa;aACjB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;aAChB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,OAAO,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;AAC1E,CAAC,CAAA;AAVY,QAAA,kBAAkB,sBAU9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from "./camel-case";
|
|
2
|
+
export * from "./capitalize";
|
|
3
|
+
export * from "./format-hms-to-seconds";
|
|
4
|
+
export * from "./format-seconds-to-fragment";
|
|
5
|
+
export * from "./format-seconds-to-hms";
|
|
6
|
+
export * from "./format-string-to-time";
|
|
7
|
+
export * from "./kebab-case";
|
|
8
|
+
export * from "./markdown-to-text";
|
|
9
|
+
export * from "./remove-html-tags";
|
|
10
|
+
export * from "./slugify";
|
|
11
|
+
export * from "./snake-case";
|
|
12
|
+
export * from "./to-sentence-case";
|
|
13
|
+
export * from "./truncate";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B;AAC5B,0DAAuC;AACvC,+DAA4C;AAC5C,0DAAuC;AACvC,0DAAuC;AACvC,+CAA4B;AAC5B,qDAAkC;AAClC,qDAAkC;AAClC,4CAAyB;AACzB,+CAA4B;AAC5B,qDAAkC;AAClC,6CAA0B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kebab-case.d.ts","sourceRoot":"","sources":["../../src/string/kebab-case.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW7C"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.kebabCase = kebabCase;
|
|
4
|
-
function kebabCase(str) {
|
|
1
|
+
export function kebabCase(str) {
|
|
5
2
|
if (typeof str !== "string") {
|
|
6
3
|
throw new Error("Input must be a string");
|
|
7
4
|
}
|
|
@@ -12,4 +9,3 @@ function kebabCase(str) {
|
|
|
12
9
|
.toLowerCase()
|
|
13
10
|
.replace(/^-+|-+$/g, "");
|
|
14
11
|
}
|
|
15
|
-
//# sourceMappingURL=kebab-case.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.markdownToText = markdownToText;
|
|
4
|
-
function markdownToText(markdown) {
|
|
1
|
+
export function markdownToText(markdown) {
|
|
5
2
|
if (!markdown)
|
|
6
3
|
return "";
|
|
7
4
|
// normalize newlines
|
|
@@ -67,4 +64,3 @@ function markdownToText(markdown) {
|
|
|
67
64
|
// Final trim but preserve leading/trailing single newlines inside content as needed
|
|
68
65
|
return text.trim();
|
|
69
66
|
}
|
|
70
|
-
//# sourceMappingURL=markdown-to-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-to-text.js","sourceRoot":"","sources":["../../src/string/markdown-to-text.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
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,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.removeHtmlTags = removeHtmlTags;
|
|
4
|
-
function removeHtmlTags(input) {
|
|
1
|
+
export function removeHtmlTags(input) {
|
|
5
2
|
// Input validation
|
|
6
3
|
if (!input || typeof input !== "string") {
|
|
7
4
|
return "";
|
|
@@ -15,4 +12,3 @@ function removeHtmlTags(input) {
|
|
|
15
12
|
// Use a non-backtracking approach to prevent ReDoS vulnerabilities
|
|
16
13
|
return updatedInput.replace(/<(?:[^>"']|"[^"]*"|'[^']*')*>/g, "");
|
|
17
14
|
}
|
|
18
|
-
//# sourceMappingURL=remove-html-tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.slugify = slugify;
|
|
4
|
-
function slugify(text) {
|
|
1
|
+
export function slugify(text) {
|
|
5
2
|
return text
|
|
6
3
|
.normalize("NFD")
|
|
7
4
|
.replace(/[\u0300-\u036f]/g, "")
|
|
@@ -10,4 +7,3 @@ function slugify(text) {
|
|
|
10
7
|
.replace(/\s+/g, "-")
|
|
11
8
|
.toLowerCase();
|
|
12
9
|
}
|
|
13
|
-
//# sourceMappingURL=slugify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.snakeCase = snakeCase;
|
|
4
|
-
function snakeCase(str) {
|
|
1
|
+
export function snakeCase(str) {
|
|
5
2
|
if (typeof str !== "string") {
|
|
6
3
|
throw new Error("Input must be a string");
|
|
7
4
|
}
|
|
@@ -12,4 +9,3 @@ function snakeCase(str) {
|
|
|
12
9
|
.toLowerCase()
|
|
13
10
|
.replace(/^_+|_+$/g, "");
|
|
14
11
|
}
|
|
15
|
-
//# sourceMappingURL=snake-case.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toSentenceCase = toSentenceCase;
|
|
4
|
-
function toSentenceCase(str) {
|
|
1
|
+
export function toSentenceCase(str) {
|
|
5
2
|
return str
|
|
6
3
|
.replace(/_/g, " ")
|
|
7
4
|
.replace(/([A-Z])/g, " $1")
|
|
@@ -10,4 +7,3 @@ function toSentenceCase(str) {
|
|
|
10
7
|
.replace(/\s+/g, " ")
|
|
11
8
|
.trim();
|
|
12
9
|
}
|
|
13
|
-
//# sourceMappingURL=to-sentence-case.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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,7 +1,4 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.truncate = truncate;
|
|
4
|
-
function truncate(str, length, suffix = "...") {
|
|
1
|
+
export function truncate(str, length, suffix = "...") {
|
|
5
2
|
if (typeof str !== "string") {
|
|
6
3
|
throw new Error("Input must be a string");
|
|
7
4
|
}
|
|
@@ -16,4 +13,3 @@ function truncate(str, length, suffix = "...") {
|
|
|
16
13
|
}
|
|
17
14
|
return str.slice(0, Math.max(0, length - suffix.length)) + suffix;
|
|
18
15
|
}
|
|
19
|
-
//# sourceMappingURL=truncate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractYouTubeId = extractYouTubeId;
|
|
4
|
-
function extractYouTubeId(urlString) {
|
|
1
|
+
export function extractYouTubeId(urlString) {
|
|
5
2
|
if (!urlString)
|
|
6
3
|
return null;
|
|
7
4
|
try {
|
|
@@ -27,4 +24,3 @@ function extractYouTubeId(urlString) {
|
|
|
27
24
|
const match = urlString.match(regex);
|
|
28
25
|
return match ? match[1] : null;
|
|
29
26
|
}
|
|
30
|
-
//# sourceMappingURL=extract-youtube-video-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const string_1 = require("../string");
|
|
5
|
-
const extract_youtube_video_id_1 = require("./extract-youtube-video-id");
|
|
6
|
-
const generateYoutubeURL = (opts) => {
|
|
1
|
+
import { formatHMSToSeconds, formatSecondsToFragment } from "../string";
|
|
2
|
+
import { extractYouTubeId } from "./extract-youtube-video-id";
|
|
3
|
+
export const generateYoutubeURL = (opts) => {
|
|
7
4
|
const { videoURL, start, end, embed = false, short = false, useFragment = false, autoplay, controls, rel, loop, mute, modestbranding, origin, playlist, params = {}, } = opts;
|
|
8
|
-
const videoId =
|
|
5
|
+
const videoId = extractYouTubeId(videoURL);
|
|
9
6
|
if (!videoId)
|
|
10
7
|
return null;
|
|
11
|
-
const startSec =
|
|
12
|
-
const endSec =
|
|
8
|
+
const startSec = formatHMSToSeconds(start);
|
|
9
|
+
const endSec = formatHMSToSeconds(end);
|
|
13
10
|
// base url
|
|
14
11
|
const base = embed
|
|
15
12
|
? `https://www.youtube.com/embed/${videoId}`
|
|
@@ -72,7 +69,7 @@ const generateYoutubeURL = (opts) => {
|
|
|
72
69
|
// fragment handling (e.g. #t=1m2s)
|
|
73
70
|
let fragment = "";
|
|
74
71
|
if (useFragment && startSec != null) {
|
|
75
|
-
fragment = `#t=${
|
|
72
|
+
fragment = `#t=${formatSecondsToFragment(startSec)}`;
|
|
76
73
|
}
|
|
77
74
|
// For short links, people often prefer the short host and start as query or fragment.
|
|
78
75
|
if (short) {
|
|
@@ -82,5 +79,3 @@ const generateYoutubeURL = (opts) => {
|
|
|
82
79
|
// watch/embed links
|
|
83
80
|
return `${base}${qs}${fragment}`;
|
|
84
81
|
};
|
|
85
|
-
exports.generateYoutubeURL = generateYoutubeURL;
|
|
86
|
-
//# sourceMappingURL=generate-youtube-url.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { formatHMSToSeconds, formatSecondsToFragment } from "../string
|
|
2
|
-
import { extractYouTubeId } from "./extract-youtube-video-id
|
|
1
|
+
import { formatHMSToSeconds, formatSecondsToFragment } from "../string";
|
|
2
|
+
import { extractYouTubeId } from "./extract-youtube-video-id";
|
|
3
3
|
export const generateYoutubeURL = (opts) => {
|
|
4
4
|
const { videoURL, start, end, embed = false, short = false, useFragment = false, autoplay, controls, rel, loop, mute, modestbranding, origin, playlist, params = {}, } = opts;
|
|
5
5
|
const videoId = extractYouTubeId(videoURL);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-youtube-url.js","sourceRoot":"","sources":["../../src/youtube/generate-youtube-url.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export async function getYoutubeThumbnail(videoUrl) {
|
|
2
|
+
const { extractYouTubeId } = await import("./extract-youtube-video-id");
|
|
3
|
+
const videoId = extractYouTubeId(videoUrl);
|
|
4
|
+
if (!videoId)
|
|
5
|
+
return null;
|
|
6
|
+
// Try loading YouTube thumbnail images — avoids CORS problems because
|
|
7
|
+
// creating an Image and listening for load/error is not blocked by CORS.
|
|
8
|
+
const thumbs = [
|
|
9
|
+
`https://img.youtube.com/vi/${videoId}/maxresdefault.jpg`,
|
|
10
|
+
`https://img.youtube.com/vi/${videoId}/hqdefault.jpg`,
|
|
11
|
+
`https://img.youtube.com/vi/${videoId}/mqdefault.jpg`,
|
|
12
|
+
`https://img.youtube.com/vi/${videoId}/default.jpg`,
|
|
13
|
+
];
|
|
14
|
+
const loadImage = (src) => new Promise((resolve) => {
|
|
15
|
+
const img = new Image();
|
|
16
|
+
img.onload = () => resolve(true);
|
|
17
|
+
img.onerror = () => resolve(false);
|
|
18
|
+
img.src = src;
|
|
19
|
+
});
|
|
20
|
+
for (const url of thumbs) {
|
|
21
|
+
try {
|
|
22
|
+
const ok = await loadImage(url);
|
|
23
|
+
if (ok)
|
|
24
|
+
return url;
|
|
25
|
+
}
|
|
26
|
+
catch (_a) {
|
|
27
|
+
// ignore and try next thumbnail
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export async function getYoutubeThumbnail(videoUrl) {
|
|
2
|
-
const { extractYouTubeId } = await import("./extract-youtube-video-id
|
|
2
|
+
const { extractYouTubeId } = await import("./extract-youtube-video-id");
|
|
3
3
|
const videoId = extractYouTubeId(videoUrl);
|
|
4
4
|
if (!videoId)
|
|
5
5
|
return null;
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/youtube/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/youtube/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA0C;AAC1C,yDAAsC;AACtC,0DAAuC;AACvC,2DAAwC;AACxC,0DAAuC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-get-video-duration.d.ts","sourceRoot":"","sources":["../../src/youtube/use-get-video-duration.ts"],"names":[],"mappings":"AAwCA;;;;GAIG;AACH,wBAAgB,0BAA0B,eAErB,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0GnD"}
|
package/dist/{cjs/youtube/use-get-video-duration.js → youtube/use-get-video-duration.esm.js}
RENAMED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useGetYoutubeVideoDuration = useGetYoutubeVideoDuration;
|
|
4
1
|
/** biome-ignore-all lint/suspicious/noExplicitAny: Window is any */
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { formatSecondsToHMS } from "../string";
|
|
4
|
+
import { extractYouTubeId } from "./extract-youtube-video-id";
|
|
5
|
+
import { validateYoutubeLink } from "./validate-youtube-link";
|
|
9
6
|
let YtApiLoading = null;
|
|
10
7
|
function loadYouTubeIFrameAPI() {
|
|
11
8
|
var _a;
|
|
@@ -41,12 +38,12 @@ function loadYouTubeIFrameAPI() {
|
|
|
41
38
|
* Returns a function that accepts a YouTube URL (full or short) and returns a Promise
|
|
42
39
|
* resolving to the video duration formatted as "HH:MM:SS" or null on failure.
|
|
43
40
|
*/
|
|
44
|
-
function useGetYoutubeVideoDuration() {
|
|
45
|
-
const getYoutubeVideoDuration =
|
|
46
|
-
const videoId =
|
|
41
|
+
export function useGetYoutubeVideoDuration() {
|
|
42
|
+
const getYoutubeVideoDuration = useCallback(async (videoUrl) => {
|
|
43
|
+
const videoId = extractYouTubeId(videoUrl);
|
|
47
44
|
if (!videoId)
|
|
48
45
|
return null;
|
|
49
|
-
const videoIsValid = await
|
|
46
|
+
const videoIsValid = await validateYoutubeLink(videoUrl);
|
|
50
47
|
if (!videoIsValid)
|
|
51
48
|
return null;
|
|
52
49
|
try {
|
|
@@ -115,7 +112,7 @@ function useGetYoutubeVideoDuration() {
|
|
|
115
112
|
duration = e.target.getDuration();
|
|
116
113
|
if (duration && duration > 0) {
|
|
117
114
|
clearInterval(tryInterval);
|
|
118
|
-
cleanupAndResolve(
|
|
115
|
+
cleanupAndResolve(formatSecondsToHMS(duration));
|
|
119
116
|
}
|
|
120
117
|
else if (attempts >= 8) {
|
|
121
118
|
clearInterval(tryInterval);
|
|
@@ -131,7 +128,7 @@ function useGetYoutubeVideoDuration() {
|
|
|
131
128
|
}, 300);
|
|
132
129
|
}
|
|
133
130
|
else {
|
|
134
|
-
cleanupAndResolve(
|
|
131
|
+
cleanupAndResolve(formatSecondsToHMS(duration));
|
|
135
132
|
}
|
|
136
133
|
}
|
|
137
134
|
catch (_a) {
|
|
@@ -151,4 +148,3 @@ function useGetYoutubeVideoDuration() {
|
|
|
151
148
|
}, []);
|
|
152
149
|
return getYoutubeVideoDuration;
|
|
153
150
|
}
|
|
154
|
-
//# sourceMappingURL=use-get-video-duration.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** biome-ignore-all lint/suspicious/noExplicitAny: Window is any */
|
|
2
2
|
import { useCallback } from "react";
|
|
3
|
-
import { formatSecondsToHMS } from "../string
|
|
4
|
-
import { extractYouTubeId } from "./extract-youtube-video-id
|
|
5
|
-
import { validateYoutubeLink } from "./validate-youtube-link
|
|
3
|
+
import { formatSecondsToHMS } from "../string";
|
|
4
|
+
import { extractYouTubeId } from "./extract-youtube-video-id";
|
|
5
|
+
import { validateYoutubeLink } from "./validate-youtube-link";
|
|
6
6
|
let YtApiLoading = null;
|
|
7
7
|
function loadYouTubeIFrameAPI() {
|
|
8
8
|
var _a;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-get-video-duration.js","sourceRoot":"","sources":["../../src/youtube/use-get-video-duration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-youtube-link.d.ts","sourceRoot":"","sources":["../../src/youtube/validate-youtube-link.ts"],"names":[],"mappings":"AAAA,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA0C5E"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export async function validateYoutubeLink(videoUrl) {
|
|
2
|
+
const { extractYouTubeId } = await import("./extract-youtube-video-id");
|
|
3
|
+
const videoId = extractYouTubeId(videoUrl);
|
|
4
|
+
if (!videoId)
|
|
5
|
+
return false;
|
|
6
|
+
// Try loading YouTube thumbnail images — avoids CORS problems because
|
|
7
|
+
// creating an Image and listening for load/error is not blocked by CORS.
|
|
8
|
+
const thumbs = [
|
|
9
|
+
`https://img.youtube.com/vi/${videoId}/maxresdefault.jpg`,
|
|
10
|
+
`https://img.youtube.com/vi/${videoId}/hqdefault.jpg`,
|
|
11
|
+
`https://img.youtube.com/vi/${videoId}/mqdefault.jpg`,
|
|
12
|
+
`https://img.youtube.com/vi/${videoId}/default.jpg`,
|
|
13
|
+
];
|
|
14
|
+
const loadImage = (src) => new Promise((resolve) => {
|
|
15
|
+
const img = new Image();
|
|
16
|
+
img.onload = () => resolve(true);
|
|
17
|
+
img.onerror = () => resolve(false);
|
|
18
|
+
img.src = src;
|
|
19
|
+
});
|
|
20
|
+
for (const url of thumbs) {
|
|
21
|
+
try {
|
|
22
|
+
const ok = await loadImage(url);
|
|
23
|
+
if (ok)
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
catch (_a) {
|
|
27
|
+
// ignore and try next thumbnail
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Fallback: try oEmbed endpoint (may be subject to CORS in some environments)
|
|
31
|
+
try {
|
|
32
|
+
const watchUrl = `https://www.youtube.com/watch?v=${encodeURIComponent(videoId)}`;
|
|
33
|
+
const oembedUrl = `https://www.youtube.com/oembed?url=${encodeURIComponent(watchUrl)}&format=json`;
|
|
34
|
+
const res = await fetch(oembedUrl, { method: "GET" });
|
|
35
|
+
return res.ok;
|
|
36
|
+
}
|
|
37
|
+
catch (_b) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export async function validateYoutubeLink(videoUrl) {
|
|
2
|
-
const { extractYouTubeId } = await import("./extract-youtube-video-id
|
|
2
|
+
const { extractYouTubeId } = await import("./extract-youtube-video-id");
|
|
3
3
|
const videoId = extractYouTubeId(videoUrl);
|
|
4
4
|
if (!videoId)
|
|
5
5
|
return false;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-youtube-link.js","sourceRoot":"","sources":["../../src/youtube/validate-youtube-link.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDA0CC;AA1CM,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAA;IACvE,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAE1B,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,IAAI,CAAA;QACrB,CAAC;QAAC,WAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,mCAAmC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAA;QACjF,MAAM,SAAS,GAAG,sCAAsC,kBAAkB,CACxE,QAAQ,CACT,cAAc,CAAA;QACf,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QACrD,OAAO,GAAG,CAAC,EAAE,CAAA;IACf,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
|