Skip to main content
Module

x/typebox/example/index.ts

Json Schema Type Builder with Static Type Resolution for TypeScript
Go to Latest
File
import { TypeSystem } from '@sinclair/typebox/system'import { TypeCompiler } from '@sinclair/typebox/compiler'import { Value, ValuePointer } from '@sinclair/typebox/value'import { Type, TypeGuard, Kind, Static, TSchema } from '@sinclair/typebox'
// -----------------------------------------------------------// Create: Type// -----------------------------------------------------------
const T = Type.Object({ x: Type.Number(), y: Type.Number(), z: Type.Number(),})
type T = Static<typeof T>
console.log(T)
// -----------------------------------------------------------// Create: Value// -----------------------------------------------------------
const V = Value.Create(T)
console.log(V)
// -----------------------------------------------------------// Compile: Type// -----------------------------------------------------------
const C = TypeCompiler.Compile(T)
console.log(C.Code())
// -----------------------------------------------------------// Check: Value// -----------------------------------------------------------
console.log(C.Check(V))