mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
16 lines
350 B
JavaScript
16 lines
350 B
JavaScript
import slugify from 'slug'
|
|
export default async function uniqueSlug (string, isUnique) {
|
|
let slug = slugify(string || 'anonymous', {
|
|
lower: true
|
|
})
|
|
if (await isUnique(slug)) return slug
|
|
|
|
let count = 0
|
|
let uniqueSlug
|
|
do {
|
|
count += 1
|
|
uniqueSlug = `${slug}-${count}`
|
|
} while (!await isUnique(uniqueSlug))
|
|
return uniqueSlug
|
|
}
|