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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions