UNPKG

gas-types-detailed

Version:

Detailed Google Apps Script Type Definitions. Forked from Definitely Typed @types/google-apps-script. Adds full documentation and urls.

97 lines (80 loc) 2.69 kB
// Type definitions for Google Apps Script 2019-04-02 // Project: https://developers.google.com/apps-script/ // Definitions by: PopGoesTheWza <https://github.com/PopGoesTheWza> // oshliaer <https://github.com/oshliaer> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// <reference path="google-apps-script.script.d.ts" /> /// <reference path="google-apps-script.spreadsheet.d.ts" /> /// <reference path="google-apps-script.slides.d.ts" /> declare namespace GoogleAppsScript { /** * Google Apps Script Events * @see https://developers.google.com/apps-script/guides/triggers/events */ namespace Events { // Internal interfaces interface AppsScriptEvent { authMode: Script.AuthMode; triggerUid: string; user: Base.User; } interface AppsScriptHttpRequestEvent { parameter: object; contextPath: string; contentLength: number; queryString: string; parameters: object; } interface AppsScriptHttpRequestEventPostData { length: number; type: string; contents: string; name: string; } // External interfaces interface SheetsOnOpen extends AppsScriptEvent { source: Spreadsheet.Spreadsheet; } enum SheetsOnChangeChangeType { EDIT, INSERT_ROW, INSERT_COLUMN, REMOVE_ROW, REMOVE_COLUMN, INSERT_GRID, REMOVE_GRID, FORMAT, OTHER } interface SheetsOnChange extends AppsScriptEvent { changeType: SheetsOnChangeChangeType; } interface SheetsOnEdit extends AppsScriptEvent { oldValue: string; range: Spreadsheet.Range; source: Spreadsheet.Spreadsheet; value: string; } interface SheetsOnFormSubmit extends AppsScriptEvent { namedValues: { [key: string]: string[]; }; range: Spreadsheet.Range; values: string[]; } interface FormsOnFormSubmit extends AppsScriptEvent { response: Forms.FormResponse; source: Forms.Form; } interface DocsOnOpen extends AppsScriptEvent { source: Document.Document; } interface SlidesOnOpen extends AppsScriptEvent { source: Slides.Presentation; } interface FormsOnOpen extends AppsScriptEvent { source: Forms.Form; } // TODO: Is there a `user` attribute? interface CalendarEventUpdated extends AppsScriptEvent { calendarId: string; } interface AddonOnInstall { authMode: Script.AuthMode; } // tslint:disable-next-line: no-empty-interface interface DoGet extends AppsScriptHttpRequestEvent { } interface DoPost extends AppsScriptHttpRequestEvent { postData: AppsScriptHttpRequestEventPostData; } } }