mirror of
http://10.0.2.1:3031/sauer/claude-code.git
synced 2026-06-30 18:56:58 +10:00
19 lines
602 B
TypeScript
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>>
|