17 lines
435 B
TypeScript
17 lines
435 B
TypeScript
export const CANVAS_PROJECT_TITLE_MAX_LENGTH = 120;
|
|
|
|
export function normalizeCanvasProjectTitle(
|
|
value: unknown,
|
|
fallback = "未命名",
|
|
) {
|
|
const normalizedFallback =
|
|
String(fallback || "未命名")
|
|
.slice(0, CANVAS_PROJECT_TITLE_MAX_LENGTH)
|
|
.trim() || "未命名";
|
|
const candidate = String(value ?? "")
|
|
.slice(0, CANVAS_PROJECT_TITLE_MAX_LENGTH)
|
|
.trim();
|
|
|
|
return candidate || normalizedFallback;
|
|
}
|