init
This commit is contained in:
commit
ec53fcbe95
1905 changed files with 513762 additions and 0 deletions
18
utils/todo/types.ts
Normal file
18
utils/todo/types.ts
Normal 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>>
|
||||
Loading…
Add table
Add a link
Reference in a new issue