我想用TypeScript写一个带有vitest custom matcher函数的库。
在文档之后,我添加了一个vitest.d.ts
文件,并进行了必要的扩充。这工作正常,但我的问题是,任何其他导入我的库的项目都不知道这个增强,所以调用新的匹配器会导致TypeScript错误:
expect(data).toMatchTheTypicalExpectations()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error TS2339: Property 'toMatchTheTypicalExpectations' does not exist on type 'Assertion<Data>'.
当然,每个人都可以自己添加增强功能,但不知何故,将增强功能也输出会更好。
1条答案
按热度按时间vmdwslir1#
在尝试了很多事情之后,我找到了解决问题的方法。
首先,我添加了一个
vitest.ts
(不是d.ts!)文件到我的库的源文件夹中,包含增强:现在,我已将以下行添加到主
index.ts
文件中构建库的类型包括
vitest.d.ts
及其在index.d.ts
中的包含,因此库的任何用户实际上都知道它。