Advanced Calendar Service
type definitions for Apps Script
在TypeScript项目中?
我不想直接修改类型定义文件,因为它是一个已安装的npm包。
// ./node_modules/@types/google-apps-script/apis/calendar_v3.d.ts
// https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/google-apps-script/apis/calendar_v3.d.ts
declare namespace GoogleAppsScript {
namespace Calendar {}
interface Calendar {}
}
declare var Calendar: GoogleAppsScript.Calendar;
从目前的情况来看,命名产生了两个问题:
-
TypeScript编译器没有正确地获取高级服务的用法
-
我不能有一个全球性的
Calendar
(可能是一个可以单独处理的问题,但我想用这个名字)
class Calendar {
id: string;
constructor(id) {
this.id = id;
}
getEvent(eventId): GoogleAppsScript.Calendar.Schema.Event {
// TypeScript cannot find `CalendarService`
return CalendarService.Events.get(this.id, eventId);
}
}