Files
claude-code-v2.1.88/utils/todo/types.ts
T
2026-04-25 06:45:36 +09:00

19 lines
602 B
TypeScript

import { z } from 'zod/v4'
import { lazySchema } from '../lazySchema.js'
const TodoStatusSchema = lazySchema(() =>
z.enum(['pending', 'in_progress', 'completed']),
)
export const TodoItemSchema = lazySchema(() =>
z.object({
content: z.string().min(1, 'Content cannot be empty'),
status: TodoStatusSchema(),
activeForm: z.string().min(1, 'Active form cannot be empty'),
}),
)
export type TodoItem = z.infer<ReturnType<typeof TodoItemSchema>>
export const TodoListSchema = lazySchema(() => z.array(TodoItemSchema()))
export type TodoList = z.infer<ReturnType<typeof TodoListSchema>>