21 lines
652 B
TypeScript
21 lines
652 B
TypeScript
export function makeValidHandle(str: string): string {
|
|
if (str.length > 20) {
|
|
str = str.slice(0, 20)
|
|
}
|
|
str = str.toLowerCase()
|
|
return str.replace(/^[^a-z0-9]+/g, '').replace(/[^a-z0-9-]/g, '')
|
|
}
|
|
|
|
export function createFullHandle(name: string, domain: string): string {
|
|
name = (name || '').replace(/[.]+$/, '')
|
|
domain = (domain || '').replace(/^[.]+/, '')
|
|
return `${name}.${domain}`
|
|
}
|
|
|
|
export function isInvalidHandle(handle: string): boolean {
|
|
return handle === 'handle.invalid'
|
|
}
|
|
|
|
export function sanitizeHandle(handle: string, prefix = ''): string {
|
|
return isInvalidHandle(handle) ? '⚠Invalid Handle' : `${prefix}${handle}`
|
|
}
|