mirror of
https://github.com/PostHog/posthog.git
synced 2024-11-28 00:46:45 +01:00
13 lines
476 B
TypeScript
13 lines
476 B
TypeScript
|
// Remove punctuation and illegal characters
|
||
|
const sanitize = (string: string): string => {
|
||
|
return string
|
||
|
.toLowerCase()
|
||
|
.replace(/[ ’–—―′¿'`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi, '-')
|
||
|
.replace(/-+/g, '-')
|
||
|
.replace(/^-+/, '')
|
||
|
.replace(/-+$/, '')
|
||
|
}
|
||
|
|
||
|
// Generate a story id from a story kind and name
|
||
|
export const toId = (kind: string, name?: string): string => `${sanitize(kind)}${name ? `--${sanitize(name)}` : ''}`
|