UNPKG

lean4-code-actions

Version:

Refactorings and snippets for Lean 4

22 lines (15 loc) 691 B
import { getArraySchema } from 'libs/utils/zod' import { equals, identity } from 'remeda' import { z } from 'zod' export const NewTypeKeywordSchema = z.enum([ 'structure', 'inductive', 'class', 'abbrev', 'def', ]).describe('NewTypeKeyword') export const NewTypeKeywordsSchema = getArraySchema(NewTypeKeywordSchema, identity) export type NewTypeKeyword = z.infer<typeof NewTypeKeywordSchema> export const parseNewTypeKeyword = (keyword: NewTypeKeyword): NewTypeKeyword => NewTypeKeywordSchema.parse(keyword) export const parseNewTypeKeywords = (keywords: NewTypeKeyword[]): NewTypeKeyword[] => NewTypeKeywordsSchema.parse(keywords) export const isEqualNewTypeKeyword = equals