22 lines · 681 B · TypeScript
RawDownload
/** * Normalizes a display name into a valid namespace identifier: lowercase * snake_case, only `[a-z0-9_]`, no leading/trailing underscores. Produces * strings that are safe to use as TypeScript/tool-name prefixes. */export function slugifyNamespace(input: string): string {  return input    .trim()    .toLowerCase()    .replace(/[^a-z0-9_]+/g, "_")    .replace(/^_+|_+$/g, "");} /** * Sanitizes namespace input as the user types without removing intentional * underscores that are still in-progress at the field boundaries. */export function normalizeNamespaceInput(input: string): string {  return input    .toLowerCase()    .replace(/[^a-z0-9_]+/g, "_");}