Typescript 谷歌应用程序脚本中的Blob与Blob源

Typescript 谷歌应用程序脚本中的Blob与Blob源,typescript,google-apps-script,blob,Typescript,Google Apps Script,Blob,我正在使用它,它可以让你用typescript开发你的谷歌应用程序脚本 在我的脚本中,我将一张谷歌工作表转换成一团PDF,然后将其上传到谷歌硬盘 代码运行良好,但我在正确使用vs.类型以保持TypeScript满意方面遇到了问题 安装程序 我在文件的开头声明了一些类似的类型缩写: type Sheet = GoogleAppsScript.Spreadsheet.Sheet; type SS = GoogleAppsScript.Spreadsheet.Spreadsheet; type GBl

我正在使用它,它可以让你用typescript开发你的谷歌应用程序脚本

在我的脚本中,我将一张谷歌工作表转换成一团PDF,然后将其上传到谷歌硬盘

代码运行良好,但我在正确使用vs.类型以保持TypeScript满意方面遇到了问题

安装程序 我在文件的开头声明了一些类似的类型缩写:

type Sheet = GoogleAppsScript.Spreadsheet.Sheet;
type SS = GoogleAppsScript.Spreadsheet.Spreadsheet;
type GBlob = GoogleAppsScript.Base.Blob;
type GBlobSource = GoogleAppsScript.Base.BlobSource;
我有一个带有此签名的函数:

getPdfBlob(sheet: Sheet, pdfName: string): GBlob
我在代码中执行以下操作:

var pdfBlob = getPdfBlob(mySheet, 'aPdfName');
var file = DriveApp.createFile(pdfBlob);
问题 我的IDE抱怨说,
DriveApp.createFile
希望type
BlobSource
作为参数,而不是
Blob

如果我尝试像这样将Blob强制转换到BlobSource中:

var file = DriveApp.createFile(<GBlobSource>pdfBlob);
var file=DriveApp.createFile(pdfBlob);
我的IDE抱怨:

将类型“Blob”转换为类型“BlobSource”可能是错误的,因为两种类型都没有充分重叠。如果这是有意的,请先将表达式转换为“未知”

类型“Blob”中缺少属性“getBlob”,但类型“BlobSource”中需要属性“getBlob”

正如我提到的,代码以这种方式运行良好。我只是想让我的类型声明正确,以便TypeScript继续增加价值

从它看来,Blob实现了
BlobSource
,所以我不确定为什么不能“向上转换”回
BlobSource
。这可能是TypeScript定义的错误吗


如果您能提供关于问题所在/处理问题的正确方法的任何信息,我们将不胜感激。

我们所需要的一切都是从
接口BlobSource
实现
类Blob
。取代

导出接口Blob扩展BlobSource{

更新

DefinitelyTyped已更新
为此

您当然可以尝试修改本地
.d.ts
文件,以反映Blob实现了blobsource,并查看这是否解决了问题。如果是这样,请将您的PR设置为DefinitelyTypedRepo,并为每个人修复:)