mirror of https://github.com/iptv-org/iptv
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
564 B
TypeScript
24 lines
564 B
TypeScript
import normalizeUrl from 'normalize-url'
|
|
|
|
export function isURI(string: string): boolean {
|
|
try {
|
|
new URL(string)
|
|
return true
|
|
} catch {
|
|
return false
|
|
}
|
|
}
|
|
|
|
export function normalizeURL(url: string): string {
|
|
const normalized = normalizeUrl(url, { stripWWW: false })
|
|
|
|
return decodeURIComponent(normalized).replace(/\s/g, '+').toString()
|
|
}
|
|
|
|
export function truncate(string: string, limit: number = 100) {
|
|
if (!string) return string
|
|
if (string.length < limit) return string
|
|
|
|
return string.slice(0, limit - 3) + '...'
|
|
}
|