* chore: utils is added in the tsconfig * test(util): test and test function is updated to typescript * chore: add tsconfig for utils * fix: exclude files importing from client/ * fix: refactor to just export functions * chore: add emitted files to prettierignore * fix: add new tsconfig to eslint project Co-authored-by: Shaun Hamilton <shauhami020@gmail.com> Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
25 lines
540 B
TypeScript
25 lines
540 B
TypeScript
function dasherize(name: string): string {
|
|
return ('' + name)
|
|
.toLowerCase()
|
|
.trim()
|
|
.replace(/\s|\./g, '-')
|
|
.replace(/[^a-z\d\-.]/g, '');
|
|
}
|
|
|
|
function nameify(str: string): string {
|
|
return ('' + str).replace(/[^a-z\d\s]/gi, '');
|
|
}
|
|
|
|
function unDasherize(name: string): string {
|
|
return (
|
|
('' + name)
|
|
// replace dash with space
|
|
.replace(/-/g, ' ')
|
|
// strip nonalphanumarics chars except whitespace
|
|
.replace(/[^a-z\d\s]/gi, '')
|
|
.trim()
|
|
);
|
|
}
|
|
|
|
export { dasherize, nameify, unDasherize };
|