Files
2026-08-01 19:42:23 +01:00

18 lines
679 B
TypeScript

export const TASK_TITLE_MAX_LENGTH = 60;
function takeTitleCharacters(value: string, length: number): string {
return Array.from(value).slice(0, length).join("");
}
/** Clamp text entered directly into a task-title field. */
export function clampTaskTitleInput(value: string): string {
return takeTitleCharacters(value, TASK_TITLE_MAX_LENGTH);
}
/** Shorten a title supplied by a remote issue/PR while preserving the limit. */
export function truncateRemoteTaskTitle(value: string): string {
const characters = Array.from(value);
if (characters.length <= TASK_TITLE_MAX_LENGTH) return value;
return `${characters.slice(0, TASK_TITLE_MAX_LENGTH - 1).join("")}…`;
}