13 lines
467 B
TypeScript
13 lines
467 B
TypeScript
/**
|
|
* Normalize a public Hugging Face reference before it becomes an inert
|
|
* Lumbridge model-suggestion record.
|
|
*/
|
|
export function parseHuggingFaceRef(input: string): string | null {
|
|
const trimmed = input.trim().replace(/\/+$/, "");
|
|
const url = trimmed
|
|
.replace(/^https?:\/\/(www\.)?huggingface\.co\//i, "")
|
|
.replace(/^hf:\/\//i, "");
|
|
// owner/model — letters, digits, dot, dash, underscore.
|
|
return /^[\w.-]+\/[\w.-]+$/.test(url) ? url : null;
|
|
}
|