@ -0,0 +1,5 @@
|
||||
import { ScriptBlock } from './schema'
|
||||
|
||||
export const defaultScriptOptions = {
|
||||
name: 'Script',
|
||||
} as const satisfies ScriptBlock['options']
|
1
packages/schemas/features/blocks/logic/script/index.ts
Normal file
1
packages/schemas/features/blocks/logic/script/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './schema'
|
18
packages/schemas/features/blocks/logic/script/schema.ts
Normal file
18
packages/schemas/features/blocks/logic/script/schema.ts
Normal file
@ -0,0 +1,18 @@
|
||||
import { z } from 'zod'
|
||||
import { blockBaseSchema } from '../../shared'
|
||||
import { LogicBlockType } from '../constants'
|
||||
|
||||
export const scriptOptionsSchema = z.object({
|
||||
name: z.string().optional(),
|
||||
content: z.string().optional(),
|
||||
shouldExecuteInParentContext: z.boolean().optional(),
|
||||
})
|
||||
|
||||
export const scriptBlockSchema = blockBaseSchema.merge(
|
||||
z.object({
|
||||
type: z.enum([LogicBlockType.SCRIPT]),
|
||||
options: scriptOptionsSchema.optional(),
|
||||
})
|
||||
)
|
||||
|
||||
export type ScriptBlock = z.infer<typeof scriptBlockSchema>
|
Reference in New Issue
Block a user