@guanriyue/decurl/codec
@guanriyue/decurl/codec 用于定义 URL search params 的字段规则。它关注的是:URL key 如何映射到业务值,业务值又如何被序列化回 URLSearchParams。
Decode 可以是普通函数,也可以使用 @guanriyue/decurl/decode 提供的 primitives。
field
field(definition) 用于固化单个 FieldCodec 的类型。最简 codec 可以只是普通对象;但推荐使用 field,让 TypeScript 更稳定地保留 mode、defaultValue、decode 和 encode 等信息。
常用属性:
更多设计说明见 FieldCodec 定义。
defineFields
defineFields(fields) 用于定义一组 Search Fields,并为没有显式 name 的字段使用对象 key 作为 URL key。
如果字段上写了多个 name,第一个是 canonical key,后续是 legacy alias。更多说明见 Search Fields。
createURLSearchParamsCodec
createURLSearchParamsCodec(fields) 创建 { decode, encode }。
encode(values, options?) 的常用选项: