SuperAPI AI 工具集

migrate-to-shoehorn

编程与开发

查看项目

更新于 10-15 21:08

技能介绍

用途:把测试文件里为通过类型检查而写的 as 断言迁移为 @total-typescript/shoehorn 提供的方式,让测试传入部分数据时仍保持 TypeScript 类型正确。资料明确说明 shoehorn 仅限测试代码,切勿在生产代码中使用。

主要能力与替换模式:as Type 改为 fromPartial();as unknown as Type(故意传错类型)改为 fromAny()。按资料表格,fromPartial() 用于传递部分数据仍能通过类型检查,fromAny() 用于传递故意错误的数据并保留自动补全,fromExact() 用于强制传入完整对象、后续可替换为 fromPartial。

安装:npm i @total-typescript/shoehorn

迁移流程:先向用户收集需求,询问哪些测试文件中的 as 断言造成问题、是否涉及只有部分属性重要的大对象、是否需要为错误测试传入故意错误的数据;然后安装依赖;用 grep -r " as [A-Z]" --include=".test.ts" --include=".spec.ts" 查找含 as 断言的测试文件;把 as Type 替换为 fromPartial(),把 as unknown as Type 替换为 fromAny();从 @total-typescript/shoehorn 添加 import;最后运行类型检查验证。

适用场景:大型对象但测试只关心少数属性时,避免手动伪造全部字段。限制:仅限测试代码;除此之外的具体版本、支持范围等信息暂未提供。