typescript - 将自定义本地类型添加到由 TypeScript 编译器生成的输出声明
问题描述
考虑您的库项目中有以下代码:
// src/index.ts
import { sum } from '@acme/sum';
export function printSum(a: number, b: number, sumFunc: typeof sum) {
console.log(`The sum is: ${sumFunc(a, b)}`);
}
您正在sum
从无类型的第三方包中导入函数并将其用作函数参数的类型sumFunc
。
然后为这个模块添加本地自定义类型声明:
// types/acme-sum/index.d.ts
declare module '@acme/sum' {
export function sum(a: number, b: number): number;
}
但是,编译后的结果将如下所示:
// dist/types/index.d.ts
import { sum } from '@acme/sum';
export declare function printSum(a: number, b: number, sumFunc: typeof sum): void;
如您所见,所有自定义类型都消失了。如果您的图书馆的用户将其导入,她将无法弄清楚是什么sumFunc
类型。
有没有办法确保将本地类型实际添加到的输出中tsc
?
解决方案
推荐阅读
- javascript - 提交表单后清空 Material-UI 文本字段
- php - 当 unix 时间值过去时返回一个案例(过去)
- c# - “当前查询不支持排序。” 排序列表成员 API 时出错
- xml - 从 Nextcloud 加载 XSLT
- node.js - 尝试使用 node-redshift 从节点连接到 redshift 时超时
- javascript - Firebase 在 Web App 中运行良好,但是当我尝试在 Android 上运行它时它给了我错误
- regex - 在 Perl 中如何移动文件夹名称中包含垃圾字母的文件夹?
- delphi - 如何获取在Delphi中作为通用参数传递的接口的GUID?
- amazon-cloudformation - AWS Cloudformation 中的多个自动生成的堆栈
- pdf - Rmarkdown knit pdf - 使用 *italic* 获取带下划线的文本而不是斜体(huxtable 问题?)