This commit is contained in:
Bryan Ramos 2026-03-31 12:46:52 -04:00
commit 55ae41cb0c
1902 changed files with 513237 additions and 0 deletions

18
utils/todo/types.ts Normal file
View file

@ -0,0 +1,18 @@
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>>