Skip to content

止血(service-analytics):recoverNumber 只还原规范数字串 —— '007' / '1.50' 这类保留原写法的字符串比较数不再被降级成数字 #5528

Description

@os-zhuang

#5526 拆出的止血单(其路线 C)。根因 —— values: string[] 往返编码对非字符串类型有损,路线 A(tagged 编码)/ B(内部表示改 unknown[])—— 在 #5526 等维护者拍板;本单不裁根因,只挡住已实测的真实业务形状(零填充订单号 / SKU / 邮编、带尾零的价格串)。

位置

packages/services/service-analytics/src/strategies/filter-normalizer.ts:recoverNumber 的正则 /^-?\d+(\.\d+)?$/ 及其在 coerceFilterValueForSql / coerceFilterValueForObjectQL 中的消费。

改法

仅当字符串是规范数字形(String(Number(s)) === s)才还原为数字:

验收

Blocked-by: https://github.com/objectstack-ai/objectstack/pull/5525(同文件 filter-normalizer.ts,按同文件串行规则先等它落地)

Part of #5526

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions