我需要为以下项目定义当前项目的类型:
import toISOMonthString from 'react-dates/esm/utils/toISOMonthString';
问题是,我尝试了基本操作:
declare module "react-dates/esm/utils/toISOMonthString'" {}
但是我有错误:
[ts] Invalid module name in augmentation. Module 'react-dates/esm/utils/toISOMonthString' resolves to an untyped module at '.../node_modules/react-dates/esm/utils/toISOMonthString.js', which cannot be augmented.
制作PR以解决该问题应该很容易,但是我现在需要在本地解决它。
您是否知道如何键入此未键入的文件?
答案 0 :(得分:1)
您的# Empty string is always blank.
defp blank?(""), do: true
# If the string's first byte is a space, tab, newline, or carriage return,
# we recursively check the remaining part of the string.
defp blank?(<<h, t::binary>>) when h in ' \t\n\r', do: blank?(t)
# Otherwise, it's not blank.
defp blank?(_), do: false
被视为模块扩充,因为它出现在另一个模块(具有顶级ES6导入或导出的文件)中。将声明移到单独的文件中,以便将其视为模块的原始声明。 (此文档记录不充分;您可以here了解更多信息。)
答案 1 :(得分:0)
一种可行的方法应该是使用以下内容创建一个.d.ts
文件:
declare module 'react-dates/esm/utils/toISOMonthString' {
import { MomentInput } from 'moment';
export default function(date: MomentInput): string;
}