addTask(input: TaskInput): Task if (!validateTaskTitle(input.title)) throw new Error("Invalid task title");
console.log("\nš In-progress tasks:"); manager.printTasks("in-progress"); pure ts
console.log("\nš All tasks:"); manager.printTasks(); addTask(input: TaskInput): Task if (
Let's build a simple CLI task manager in pure TypeScript. src/types.ts export type TaskStatus = "pending" | "in-progress" | "done"; export interface Task id: number; title: string; status: TaskStatus; createdAt: Date; console.log("\nš In-progress tasks:")
export type TaskInput = Omit<Task, "id" | "createdAt">; import Task from "./types.js"; export function validateTaskTitle(title: string): boolean return title.trim().length > 0 && title.length <= 100;
š All tasks: š [1] Learn Pure TypeScript (in-progress) ā³ [2] Write documentation (pending) ā³ [3] Deploy to production (pending) š In-progress tasks: š [1] Learn Pure TypeScript (in-progress)
import Task, TaskInput, TaskStatus from "./types.js"; import validateTaskTitle, formatTask from "./utils.js"; class TaskManager private tasks: Task[] = []; private nextId = 1;