refactor: move from union type to object enum
This commit is contained in:
@@ -37,13 +37,9 @@ describe("markdown", () => {
|
||||
});
|
||||
|
||||
it("fills defaults for missing fields", () => {
|
||||
const content = [
|
||||
"---",
|
||||
'id: "abc"',
|
||||
'title: "Minimal"',
|
||||
"---",
|
||||
"",
|
||||
].join("\n");
|
||||
const content = ["---", 'id: "abc"', 'title: "Minimal"', "---", ""].join(
|
||||
"\n",
|
||||
);
|
||||
|
||||
const task = parseTaskFile(content);
|
||||
expect(task.id).toBe("abc");
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import fm from "front-matter";
|
||||
import * as yaml from "js-yaml";
|
||||
import { Task, TaskPriority, TaskStatus } from "@/model/task";
|
||||
import { Task } from "@/model/task";
|
||||
import { isTaskPriority, TaskPriority } from "@/model/taskPriority";
|
||||
import { isTaskStatus, TaskStatus } from "@/model/taskStatus";
|
||||
|
||||
function toISO(value: unknown): string {
|
||||
if (value instanceof Date) return value.toISOString();
|
||||
@@ -15,8 +17,10 @@ export function parseTaskFile(content: string): Task {
|
||||
id: data.id as string,
|
||||
title: data.title as string,
|
||||
description: parsed.body.trim(),
|
||||
status: (data.status as TaskStatus) ?? "todo",
|
||||
priority: (data.priority as TaskPriority) ?? "medium",
|
||||
status: isTaskStatus(data.status) ? data.status : TaskStatus.TODO,
|
||||
priority: isTaskPriority(data.priority)
|
||||
? data.priority
|
||||
: TaskPriority.MEDIUM,
|
||||
tags: (data.tags as string[]) ?? [],
|
||||
assignee: (data.assignee as string) ?? "",
|
||||
created: toISO(data.created),
|
||||
|
||||
Reference in New Issue
Block a user