Quick Start
Installation
bash
npm install farrow-schema
# or
pnpm add farrow-schema
# or
yarn add farrow-schema5-Minute Quick Start
1️⃣ Define Your First Schema
typescript
import { ObjectType, String, Number, TypeOf } from 'farrow-schema'
class User extends ObjectType {
name = String
age = Number
}That's it! You just defined a user Schema.
2️⃣ Get TypeScript Types
typescript
type UserType = TypeOf<typeof User>
// Automatically inferred as: { name: string, age: number }
// Now you can use this type anywhere
function greetUser(user: UserType) {
console.log(`Hello, ${user.name}!`)
}3️⃣ Validate Runtime Data
typescript
import { Validator } from 'farrow-schema/validator'
// Simulate data received from API
const apiData = {
name: 'Alice',
age: 25
}
// Validate data
const result = Validator.validate(User, apiData)
if (result.kind === 'Ok') {
console.log('✅ Validation successful:', result.value)
// result.value type is UserType, fully type-safe
greetUser(result.value)
} else {
console.log('❌ Validation failed:', result.value.message)
// Error location: result.value.path
}4️⃣ Handle Real Scenarios
typescript
// Data from user input (potentially unsafe)
const userInput = JSON.parse(request.body)
const result = Validator.validate(User, userInput)
if (result.kind === 'Ok') {
// Data is validated, can be safely used
await saveUser(result.value)
response.json({ success: true })
} else {
// Data has issues, return error
response.status(400).json({
error: result.value.message,
field: result.value.path?.join('.')
})
}🎉 Complete! You've mastered the basic usage of farrow-schema.
