24 lines
643 B
TypeScript
24 lines
643 B
TypeScript
/*
|
|
* Copyright (C) Sapphirecode - All Rights Reserved
|
|
* This file is part of graphviz-builder which is released under MIT.
|
|
* See file 'LICENSE' for full license details.
|
|
* Created by Timo Hocker <timo@scode.ovh>, May 2020
|
|
*/
|
|
|
|
/**
|
|
* removes invalid characters from a string and throws an error
|
|
* if left with an empty string
|
|
*
|
|
* @param name - name to check and transform
|
|
*/
|
|
function validate_name (name: string): string {
|
|
const new_name = name
|
|
.replace (/[^a-z0-9]/giu, '')
|
|
.replace (/^[0-9]+/iu, '');
|
|
if (new_name === '')
|
|
throw new Error (`invalid node name ${name}`);
|
|
return new_name;
|
|
}
|
|
|
|
export { validate_name };
|