createReadStream 的 TypeScript 定义在选项中不接受 {start: 90, end: 99 }

mic*_*urs 2 stream node.js typescript

我刚刚更新到 TypeScript 1.6.2 并且我对 createReadStream() 的调用将无法编译,因为 node.d.ts 中的类型定义在 options 参数中不期望 'start' 和 'end' 。

 var st = fs.createReadStream(logFile , {start: rstart, end: rend } );
Run Code Online (Sandbox Code Playgroud)

会得到这个错误:

 error TS2345: Argument of type '{ start: number; end: number; }' is not assignable to parameter of type '{ flags?: string; encoding?: string; fd?: string; mode?: string; bufferSize?: number; }'.
Run Code Online (Sandbox Code Playgroud)

由于文档确实提到这些作为有效选项(https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options)我确实相信应该修复 node.d.ts 并且我可以发出带有修复的拉取请求,但是- 同时 - 有没有办法强制这个调用通过编译器?

谢谢

Dav*_*ret 5

我确实相信 node.d.ts 应该被修复,我可以通过修复发出拉取请求,但是 - 同时 - 有没有办法强制这个调用通过编译器?

any现在可以断言它:

var st = fs.createReadStream(logFile, {start: rstart, end: rend } as any);
Run Code Online (Sandbox Code Playgroud)

或者手动更新您的本地node.d.ts以包含这些属性。