Skip to content

v2.0.1

Latest

Choose a tag to compare

@github-actions github-actions released this 12 Jun 10:34
· 1 commit to master since this release

Change Log

Refactor

  • refactor(validators): 比较家族 RV 化搬入 internal/validators (RFC R1) d90d91c
  • refactor(validators): 标量类型族 IsInt/IsString/IsSlice RV 化搬入 internal (RFC R2a) 5a89ab1
  • refactor(validators): 长度族 Length/MinLength/MaxLength RV 化搬入 internal (RFC R2b) c69fc22
  • refactor(validators): 枚举族 Enum/NotIn RV 化搬入 internal (RFC R2c) d079b28
  • refactor(validators): 取串热路径复用载体 String() 消二次反射 (RFC R2d) aeab5ee
  • refactor(data): 提取 StructData.tryGetRV 取值原语,TryGet 委托 (RFC R4.1) 7352c7f
  • refactor(fieldval): Src 懒化 + IsEmpty/String/calcLen 纯 RV + required 载体原生 (RFC R4.2a) 7fbd721
  • refactor(validate): valueValidate 改吃载体 *FieldValue (RFC R4.2b-1) 64b2429

Feature

  • feat(validators): 公开 FieldCtx 接口 + funcMeta 识别 func(FieldCtx)bool 形态 (RFC R3a) bd98903
  • feat(validators): callValidatorValue 按 style 分派 + func(FieldCtx)bool 自定义校验器落地 (RFC R3b) 80805f9
  • feat(validate): struct 源只读校验入口(Validate/ValidateErr/E)自动跳过 safeData 收集 854da39

Update

  • perf(validators): IsBool/IsUint/IsArray/IsMap 提升进 switch + internal RV 版 (RFC R2.5a) db65592
  • perf(validators): Contains/NotContains 提升进 switch 免 reflect.Call (RFC R2.5b) e0351f4
  • perf(validate): 结构体源经 tryGetRV+NewRV 懒构造载体,CheckErr 去 2 装箱 (RFC R4.2b-2) 503863d
  • perf(validators): valueCompare 非指针分支纯 RV,消除 CheckErr 最后 1 装箱 (RFC R4.3) 95431c1
  • perf(validate): scRV 缓存字段 reflect.Value,免 skipCollect 重读并闭合非指针边界 b60f8be

Other

  • docs(perf): RFC validator 入参 RV 化 + FieldLevel 自定义校验器 5260449
  • docs(perf): RFC 命名定为 FieldCtx + 补开发交接(R1 首步) 17dd47f
  • docs(perf): RFC §8 修正 Src 懒装箱触发条件描述 63092bf
  • docs: 更新 RV-native 重构后压测数据与架构现状(CheckErr 0 alloc) c4088a0
  • docs(readme): CheckErr struct-valid 3→0 allocs(RV-native 端到端去装箱) 8f63bfa
  • chore: reanme and merge some go files 59e87c0
  • docs: 同步 struct 源 Validate/ValidateErr 自动免收集后的分配数字 1516f07