From 8920c738c5d3e2bcffc3b677486509af9557efe2 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Tue, 14 Oct 2025 22:02:16 +0300 Subject: [PATCH] chore: update highlighted test Markdown with embedded Typescript file --- .../highlighted/Markdown/typescript.md | 80 +++++++++---------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/tests/syntax-tests/highlighted/Markdown/typescript.md b/tests/syntax-tests/highlighted/Markdown/typescript.md index 46239d39..90ce87ae 100644 --- a/tests/syntax-tests/highlighted/Markdown/typescript.md +++ b/tests/syntax-tests/highlighted/Markdown/typescript.md @@ -1,57 +1,57 @@ # Typescript test ```typescript -enum Status { - Pending, - InProgress, - Completed, +enum Status { + Pending, + InProgress, + Completed, } -interface Task { - id: number; - title: string; - status: Status; - assignee?: string; +interface Task { + id: number; + title: string; + status: Status; + assignee?: string; } -class TaskManager { - private tasks: T[] = []; +class TaskManager<T extends Task> { + private tasks: T[] = []; - addTask(task: T): void { - this.tasks.push(task); - } + addTask(task: T): void { + this.tasks.push(task); + } - getTasksByStatus(status: Status): T[] { - return this.tasks.filter(task => task.status === status); - } + getTasksByStatus(status: Status): T[] { + return this.tasks.filter(task => task.status === status); + } - async fetchTasks(): Promise { - // Simulate async fetch - return new Promise(resolve => setTimeout(() => resolve(this.tasks), 500)); - } + async fetchTasks(): Promise<T[]> { + // Simulate async fetch + return new Promise(resolve => setTimeout(() => resolve(this.tasks), 500)); + } } -// Type guard -function isTask(obj: any): obj is Task { - return typeof obj.id === 'number' && typeof obj.title === 'string'; +// Type guard +function isTask(obj: any): obj is Task { + return typeof obj.id === 'number' && typeof obj.title === 'string'; } -// Usage -const manager = new TaskManager(); -manager.addTask({ id: 1, title: "Write docs", status: Status.Pending }); -manager.addTask({ id: 2, title: "Review PR", status: Status.InProgress, assignee: "Alice" }); +// Usage +const manager = new TaskManager<Task>(); +manager.addTask({ id: 1, title: "Write docs", status: Status.Pending }); +manager.addTask({ id: 2, title: "Review PR", status: Status.InProgress, assignee: "Alice" }); -(async () => { - const allTasks = await manager.fetchTasks(); - allTasks.forEach(task => { - if (isTask(task)) { - console.log(`Task #${task.id}: ${task.title} [${Status[task.status]}]`); - } - }); -})(); +(async () => { + const allTasks = await manager.fetchTasks(); + allTasks.forEach(task => { + if (isTask(task)) { + console.log(`Task #${task.id}: ${task.title} [${Status[task.status]}]`); + } + }); +})(); -// Type assertion -const unknownValue: unknown = { id: 3, title: "Test", status: Status.Completed }; -const assertedTask = unknownValue as Task; -console.log(assertedTask.title); +// Type assertion +const unknownValue: unknown = { id: 3, title: "Test", status: Status.Completed }; +const assertedTask = unknownValue as Task; +console.log(assertedTask.title); ```