Skip to content

ValidateFunction<T>

import type { ValidateFunction } from '@kairo-js/utils'

TypeBox 스키마로 컴파일된 타입 가드 함수의 인터페이스입니다. compile()의 반환 타입입니다.

typescript
interface ValidateFunction<T> {
  (value: unknown): value is T
  errors?: readonly string[]
}

호출 시그니처 (value: unknown): value is T는 TypeScript 타입 가드로 동작합니다. 검증 실패 시 errors 프로퍼티에 오류 메시지 배열이 설정됩니다.

프로퍼티

errors

errors?: readonly string[]

마지막 검증 호출에서 발생한 오류 메시지 목록. 검증이 성공하면 undefined이거나 빈 배열입니다.

사용 예시

typescript
import { compile } from '@kairo-js/utils'
import { Type } from '@sinclair/typebox'

const schema = Type.Object({
  name: Type.String(),
  level: Type.Number(),
})

const validate = compile(schema)
const data: unknown = JSON.parse(input)

if (validate(data)) {
  console.log(data.name) // 타입 안전
} else {
  console.error(validate.errors)
}

Released under the MIT License.