Skip to content

快速开始

安装

bash
npm install farrow-schema
# 或
pnpm add farrow-schema
# 或
yarn add farrow-schema

5 分钟快速上手

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 的基本用法。

这是一个第三方 Farrow 文档站 | 用 ❤️ 和 TypeScript 构建