快速开始
安装
bash
npm install farrow-schema
# 或
pnpm add farrow-schema
# 或
yarn add farrow-schema5 分钟快速上手
1️⃣ 定义你的第一个 Schema
typescript
import { ObjectType, String, Number, TypeOf } from 'farrow-schema'
class User extends ObjectType {
name = String
age = Number
}就这么简单!你刚刚定义了一个用户 Schema。
2️⃣ 获取 TypeScript 类型
typescript
type UserType = TypeOf<typeof User>
// 自动推导为: { name: string, age: number }
// 现在你可以在任何地方使用这个类型
function greetUser(user: UserType) {
console.log(`Hello, ${user.name}!`)
}3️⃣ 验证运行时数据
typescript
import { Validator } from 'farrow-schema/validator'
// 模拟从 API 接收的数据
const apiData = {
name: 'Alice',
age: 25
}
// 验证数据
const result = Validator.validate(User, apiData)
if (result.kind === 'Ok') {
console.log('✅ 验证成功:', result.value)
// result.value 的类型是 UserType,完全类型安全
greetUser(result.value)
} else {
console.log('❌ 验证失败:', result.value.message)
// 错误位置: result.value.path
}4️⃣ 处理真实场景
typescript
// 来自用户输入的数据(可能不安全)
const userInput = JSON.parse(request.body)
const result = Validator.validate(User, userInput)
if (result.kind === 'Ok') {
// 数据已验证,可以安全使用
await saveUser(result.value)
response.json({ success: true })
} else {
// 数据有问题,返回错误
response.status(400).json({
error: result.value.message,
field: result.value.path?.join('.')
})
}🎉 完成! 你已经掌握了 farrow-schema 的基本用法。
