mirror of
https://gitverse.ru/anarchic/claude-code
synced 2026-05-06 00:12:29 +00:00
18 lines
602 B
TypeScript
18 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>>
|