SuperAPI AI 工具集

wrdn-effect-schema-boundaries

数据与分析

查看项目

更新于 10-16 08:00

技能介绍

用途:修复一种常见反模式,即领域代码直接断言或探测某个未知结构,而不是在边界处一次性解析。

主要能力:对不可信输入优先使用 Schema.decodeUnknownEffect(MySchema)(value);对 JSON 字符串优先使用 Schema.decodeUnknownEffect(Schema.fromJsonString(MySchema))(text) 或 Schema.decodeUnknownOption(Schema.parseJson())(text)。解析后领域代码保持类型化,不要保留 unknown 并反复探测。用 schema、类型化适配器或具名守卫替换 JSON.parse、value as string、as unknown as X、as Record<string, unknown>、内联对象断言、"field" in value 和 Reflect.get。仅当解析不是合适抽象且守卫有精确返回类型时,才可使用具名守卫。

使用方式:示例 Params 如 const ParsedConfig = Schema.Struct({ endpoint: Schema.String }); 然后 const config = yield * Schema.decodeUnknownEffect(ParsedConfig)(raw); 或对文本使用 const config = yield * Schema.decodeUnknownEffect(Schema.fromJsonString(ParsedConfig))(rawText); 应避免 const config = raw as unknown as { endpoint: string }; 以及 const config = JSON.parse(rawText) as { endpoint: string }; 和 const pattern = updated.pattern as string;。

适用场景:lint 报告双重类型转换、内联对象断言、边界数据处理不当时。限制:资料未提供更多细节、价格、平台或效果信息。