2
0
Files
bot/packages/models/features/blocks/logic/code.ts
2023-01-25 14:59:53 +01:00

22 lines
608 B
TypeScript

import { z } from 'zod'
import { blockBaseSchema } from '../baseSchemas'
import { LogicBlockType } from './enums'
export const codeOptionsSchema = z.object({
name: z.string(),
content: z.string().optional(),
shouldExecuteInParentContext: z.boolean().optional(),
})
export const codeBlockSchema = blockBaseSchema.and(
z.object({
type: z.enum([LogicBlockType.CODE]),
options: codeOptionsSchema,
})
)
export const defaultCodeOptions: CodeOptions = { name: 'Code snippet' }
export type CodeBlock = z.infer<typeof codeBlockSchema>
export type CodeOptions = z.infer<typeof codeOptionsSchema>