Skip to content

API 参考

Farrow 提供了一套完整的 API 来构建类型安全的 Web 应用。本文档提供了所有核心模块的详细 API 参考。

核心模块

farrow-http

TypeScript 优先的 Web 框架 - 提供类型安全的路由和自动验证功能

  • HTTP/HTTPS 服务器创建和配置
  • 类型安全的路由模式和自动验证
  • 强大的 Response 构建系统
  • 模块化路由器和中间件系统
  • 上下文管理和错误处理
  • 静态文件服务和 CORS 集成
  • Express 集成支持

farrow-schema

强大的类型验证和序列化库 - 通过类型驱动设计轻松处理数据

  • 完整的基础类型系统(String、Number、Boolean、Date、ID)
  • 灵活的复合类型(List、Optional、Nullable、Record、Tuple)
  • 结构化类型定义(ObjectType、Struct)
  • 联合与交集类型(Union、Intersect、Literal)
  • Schema 操作工具(pickObject、omitObject、partial、required)
  • 内置和自定义验证器系统
  • 完整的 TypeScript 类型推导支持

farrow-pipeline

类型安全的中间件管道库 - 提供函数式编程风格的请求处理

  • 同步和异步 Pipeline 创建
  • 类型安全的上下文管理系统
  • Container 概念和依赖注入
  • Pipeline 组合和中间件执行
  • 实用工具和错误处理
  • 异步追踪支持

快速导航

HTTP 服务

核心 API

高级功能

Schema 验证

类型系统

验证与格式化

辅助工具

Pipeline 系统

核心功能

上下文系统

API 规范

命名约定

  • 类型: PascalCase (如 ObjectType, HttpError)
  • 函数: camelCase (如 createContext, pickStruct)
  • 常量: UPPER_CASE (如 DEFAULT_PORT)
  • 文件: kebab-case (如 farrow-http)

类型标注

所有 API 都包含完整的 TypeScript 类型定义:

typescript
// 函数签名
function createContext<T>(defaultValue: T): Context<T>

// 类型定义
type RequestInfo = {
  readonly pathname: string
  readonly method?: string
  readonly query?: RequestQuery
  readonly body?: any
  readonly headers?: RequestHeaders
  readonly cookies?: RequestCookies
}

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