From 6043c9f4bb483e5a970c05f2bd6e3af2acba4d76 Mon Sep 17 00:00:00 2001
From: PopGoesTheWza <32041843+PopGoesTheWza@users.noreply.github.com>
Date: Mon, 31 Dec 2018 16:53:27 +0100
Subject: [PATCH] @types/google-apps-script "December 13, 2018" update (#31702)
* GAS "December 13, 2018" update
* Update google-apps-script.forms.d.ts
* add data-studio, rename card-service, order as per ref page
---
.../google-apps-script.base.d.ts | 18 +-
...s => google-apps-script.card-service.d.ts} | 101 +++++-
.../google-apps-script.charts.d.ts | 18 +-
.../google-apps-script.data-studio.d.ts | 301 ++++++++++++++++++
.../google-apps-script.forms.d.ts | 4 +-
.../google-apps-script.gmail.d.ts | 3 +-
.../google-apps-script.groups.d.ts | 8 +-
.../google-apps-script.script.d.ts | 6 +-
.../google-apps-script.slides.d.ts | 97 +++++-
.../google-apps-script.spreadsheet.d.ts | 135 +++++++-
.../google-apps-script.utilities.d.ts | 15 +-
types/google-apps-script/index.d.ts | 13 +-
12 files changed, 671 insertions(+), 48 deletions(-)
rename types/google-apps-script/{google-apps-script.card.d.ts => google-apps-script.card-service.d.ts} (84%)
create mode 100644 types/google-apps-script/google-apps-script.data-studio.d.ts
diff --git a/types/google-apps-script/google-apps-script.base.d.ts b/types/google-apps-script/google-apps-script.base.d.ts
index 7558263306..0b5236af0f 100644
--- a/types/google-apps-script/google-apps-script.base.d.ts
+++ b/types/google-apps-script/google-apps-script.base.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for Google Apps Script 2018-07-11
+// Type definitions for Google Apps Script 2018-12-26
// Project: https://developers.google.com/apps-script/
// Definitions by: motemen
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -7,7 +7,7 @@
declare namespace GoogleAppsScript {
export module Base {
- /**
+ /**
* A data interchange object for Apps Script services.
*/
export interface Blob {
@@ -74,9 +74,10 @@ declare namespace GoogleAppsScript {
}
/**
- * This class provides access to G Suite specific dialog boxes.
+ * This class provides access to dialog boxes specific to Google Sheets.
*
* The methods in this class are only available for use in the context of a Google Spreadsheet.
+ * Please use G Suite dialogs instead.
* See also
*
* ButtonSet
@@ -163,9 +164,9 @@ declare namespace GoogleAppsScript {
/**
* An enumeration that provides access to MIME-type declarations without typing the strings
- * explicitly. Any method that expects a MIME type rendered as a string (for example,
- * 'image/png') will also accept one of the values below, so long as the method
- * supports the underlying MIME type.
+ * explicitly. Methods that expect a MIME type rendered as a string (for example,
+ * 'image/png') also accept any of the values below, so long as the method supports the
+ * underlying MIME type.
*
* // Use MimeType enum to log the name of every Google Doc in the user's Drive.
* var docs = DriveApp.getFilesByType(MimeType.GOOGLE_DOCS);
@@ -305,11 +306,15 @@ declare namespace GoogleAppsScript {
* }
*/
export interface console {
+ error(): void;
error(formatOrObject: Object, ...values: Object[]): void;
+ info(): void;
info(formatOrObject: Object, ...values: Object[]): void;
+ log(): void;
log(formatOrObject: Object, ...values: Object[]): void;
time(label: string): void;
timeEnd(label: string): void;
+ warn(): void;
warn(formatOrObject: Object, ...values: Object[]): void;
}
@@ -321,3 +326,4 @@ declare var Logger: GoogleAppsScript.Base.Logger;
// conflicts with MimeType in lib.d.ts
// declare var MimeType: GoogleAppsScript.Base.MimeType;
declare var Session: GoogleAppsScript.Base.Session;
+declare var console: GoogleAppsScript.Base.console;
diff --git a/types/google-apps-script/google-apps-script.card.d.ts b/types/google-apps-script/google-apps-script.card-service.d.ts
similarity index 84%
rename from types/google-apps-script/google-apps-script.card.d.ts
rename to types/google-apps-script/google-apps-script.card-service.d.ts
index 60a8bb9d37..64f5194595 100644
--- a/types/google-apps-script/google-apps-script.card.d.ts
+++ b/types/google-apps-script/google-apps-script.card-service.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for Google Apps Script 2018-07-11
+// Type definitions for Google Apps Script 2018-12-26
// Project: https://developers.google.com/apps-script/
// Definitions by: motemen
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -7,7 +7,7 @@
///
declare namespace GoogleAppsScript {
- export module Card {
+ export module Card_Service {
/**
* An action that enables interactivity within UI elements. The action does not happen directly on
* the client but rather invokes an Apps Script callback function with optional parameters.
@@ -37,7 +37,7 @@ declare namespace GoogleAppsScript {
* // An action that shows a notification.
* var actionResponse = CardService.newActionResponseBuilder()
* .setNotification(CardService.newNotification()
- * .setType(CardService.Notification.INFO)
+ * .setType(CardService.NotificationType.INFO)
* .setText("Some info to display to user"))
* .build();
*
@@ -251,6 +251,7 @@ declare namespace GoogleAppsScript {
*/
export interface CardService {
ComposedEmailType: typeof ComposedEmailType;
+ ContentType: typeof ContentType;
Icon: typeof Icon;
ImageStyle: typeof ImageStyle;
LoadIndicator: typeof LoadIndicator;
@@ -258,6 +259,8 @@ declare namespace GoogleAppsScript {
OnClose: typeof OnClose;
OpenAs: typeof OpenAs;
SelectionInputType: typeof SelectionInputType;
+ TextButtonStyle: typeof TextButtonStyle;
+ UpdateDraftBodyType: typeof UpdateDraftBodyType;
newAction(): Action;
newActionResponseBuilder(): ActionResponseBuilder;
newAuthorizationAction(): AuthorizationAction;
@@ -282,11 +285,18 @@ declare namespace GoogleAppsScript {
newTextInput(): TextInput;
newTextParagraph(): TextParagraph;
newUniversalActionResponseBuilder(): UniversalActionResponseBuilder;
+ newUpdateDraftActionResponseBuilder(): UpdateDraftActionResponseBuilder;
+ newUpdateDraftBodyAction(): UpdateDraftBodyAction;
}
/**
* The response object that may be returned from a callback method for compose action in a Gmail add-on.
*
+ * Note: This object isn't related to compose actions that are
+ * used to extend the compose UI. Rather,
+ * this object is a response to an Action that composes draft messages when a specific UI element is
+ * selected.
+ *
* var composeActionResponse = CardService.newComposeActionResponseBuilder()
* .setGmailDraft(GmailApp.createDraft("recipient", "subject", "body"))
* .build();
@@ -297,6 +307,11 @@ declare namespace GoogleAppsScript {
/**
* A builder for ComposeActionResponse objects.
+ *
+ * Note: This object isn't related to compose actions that are
+ * used to extend the compose UI. Rather,
+ * this builder creates responses to an Action that composes draft messages when a specific
+ * UI element is selected.
*/
export interface ComposeActionResponseBuilder {
build(): ComposeActionResponse;
@@ -308,6 +323,11 @@ declare namespace GoogleAppsScript {
*/
export enum ComposedEmailType { REPLY_AS_DRAFT, STANDALONE_DRAFT }
+ /**
+ * An enum value that specifies the content type of the content generated by a UpdateDraftActionResponse.
+ */
+ export enum ContentType { TEXT, MUTABLE_HTML, IMMUTABLE_HTML }
+
/**
* Predefined icons that can be used in various UI objects, such as ImageButton or KeyValue widgets.
*/
@@ -579,13 +599,25 @@ declare namespace GoogleAppsScript {
*/
export interface TextButton {
setAuthorizationAction(action: AuthorizationAction): TextButton;
+ setBackgroundColor(backgroundColor: string): TextButton;
setComposeAction(action: Action, composedEmailType: ComposedEmailType): TextButton;
+ setDisabled(disabled: boolean): TextButton;
setOnClickAction(action: Action): TextButton;
setOnClickOpenLinkAction(action: Action): TextButton;
setOpenLink(openLink: OpenLink): TextButton;
setText(text: string): TextButton;
+ setTextButtonStyle(textButtonStyle: TextButtonStyle): TextButton;
}
+ /**
+ * An enum that specifies the style for TextButton.
+ *
+ * TEXT is the default; it renders a simple text button with clear background.
+ * FILLED buttons have a background color you can set with
+ * TextButton.setBackgroundColor(backgroundColor).
+ */
+ export enum TextButtonStyle { TEXT, FILLED }
+
/**
* A input field widget that accepts text input.
*
@@ -648,6 +680,67 @@ declare namespace GoogleAppsScript {
setOpenLink(openLink: OpenLink): UniversalActionResponseBuilder;
}
+ /**
+ * Represents an action that updates the email draft that the user is currently editing.
+ *
+ * // A UpdateDraftActionResponse that inserts non-editable content (a link in this case) into an
+ * // email draft.
+ * var updateDraftActionResponse = CardService.newUpdateDraftActionResponseBuilder()
+ * .setUpdateDraftBodyAction(CardService.newUpdateDraftBodyAction()
+ * .addUpdateContent(
+ * "Google",
+ * ContentType.IMMUTABLE_HTML)
+ * .setUpdateType(UpdateDraftBodyType.IN_PLACE_INSERT))
+ * .build();
+ *
+ * // A UpdateDraftActionResponse that inserts a link into an email draft. The added content can be
+ * // edited further.
+ * var updateDraftActionResponse = CardService.newUpdateDraftActionResponseBuilder()
+ * .setUpdateDraftBodyAction(CardService.newUpdateDraftBodyAction()
+ * .addUpdateContent(
+ * "Google",
+ * ContentType.MUTABLE_HTML)
+ * .setUpdateType(UpdateDraftBodyType.IN_PLACE_INSERT))
+ * .build();
+ *
+ * // A UpdateDraftActionResponse that inserts multiple values of different types.
+ * // The example action response inserts two lines next to each other in the email
+ * // draft, at the cursor position. Each line contains the content added by
+ * // {@link UpdateDraftActionResponseBuilder#addUpdateContent}.
+ * var updateDraftActionResponse = CardService.newUpdateDraftActionResponseBuilder()
+ * .setUpdateDraftBodyAction(CardService.newUpdateDraftBodyAction()
+ * .addUpdateContent(
+ * "Google",
+ * ContentType.MUTABLE_HTML)
+ * .addUpdateContent("Above is a google link.", ContentType.PLAIN_TEXT)
+ * .setUpdateType(UpdateDraftBodyType.IN_PLACE_INSERT))
+ * .build();
+ */
+ export interface UpdateDraftActionResponse {
+ printJson(): string;
+ }
+
+ /**
+ * A builder for UpdateDraftActionResponse objects.
+ */
+ export interface UpdateDraftActionResponseBuilder {
+ build(): UpdateDraftActionResponse;
+ setUpdateDraftBodyAction(updateDraftBodyAction: UpdateDraftBodyAction): UpdateDraftActionResponseBuilder;
+ }
+
+ /**
+ * Represents an action that updates the email draft body.
+ */
+ export interface UpdateDraftBodyAction {
+ addUpdateContent(content: string, contentType: ContentType): UpdateDraftBodyAction;
+ setUpdateType(updateType: UpdateDraftBodyType): UpdateDraftBodyAction;
+ }
+
+ /**
+ * An enum value that specifies the type of an UpdateDraftBodyAction.
+ */
+ export enum UpdateDraftBodyType { IN_PLACE_INSERT }
+
/**
* Base class for all widgets that can be added to a Card.
*/
@@ -657,4 +750,4 @@ declare namespace GoogleAppsScript {
}
}
-declare var CardService: GoogleAppsScript.Card.CardService;
+declare var CardService: GoogleAppsScript.Card_Service.CardService;
diff --git a/types/google-apps-script/google-apps-script.charts.d.ts b/types/google-apps-script/google-apps-script.charts.d.ts
index 50013a36d0..5898092bb4 100644
--- a/types/google-apps-script/google-apps-script.charts.d.ts
+++ b/types/google-apps-script/google-apps-script.charts.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for Google Apps Script 2018-07-11
+// Type definitions for Google Apps Script 2018-12-26
// Project: https://developers.google.com/apps-script/
// Definitions by: motemen
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -536,7 +536,7 @@ declare namespace GoogleAppsScript {
* function doGet() {
* // This example creates two table charts side by side. One uses a data view definition to
* // restrict the number of displayed columns.
- * var app = UiApp.createApplication();
+ *
* // Get sample data from a spreadsheet.
* var dataSourceUrl = 'https://docs.google.com/spreadsheet/tq?range=A1%3AF' +
* '&key=0Aq4s9w_HxMs7dHpfX05JdmVSb1FpT21sbXd4NVE3UEE&gid=4&headers=-1';
@@ -555,9 +555,17 @@ declare namespace GoogleAppsScript {
* .setDataViewDefinition(dataViewDefinition)
* .build();
*
- * var panel = app.createHorizontalPanel().setSpacing(15);
- * panel.add(originalChart).add(limitedChart);
- * return app.add(panel);
+ * var htmlOutput = HtmlService.createHtmlOutput();
+ * var originalChartData = Utilities.base64Encode(originalChart.getAs('image/png').getBytes());
+ * var originalChartUrl = "data:image/png;base64," + encodeURI(originalChartData);
+ * var limitedChartData = Utilities.base64Encode(limitedChart.getAs('image/png').getBytes());
+ * var limitedChartUrl = "data:image/png;base64," + encodeURI(limitedChartData);
+ * htmlOutput.append("
");
+ * htmlOutput.append(" ");
+ * htmlOutput.append(" | ");
+ * htmlOutput.append(" ");
+ * htmlOutput.append(" |
");
+ * return htmlOutput;
* }
*/
export interface DataViewDefinitionBuilder {
diff --git a/types/google-apps-script/google-apps-script.data-studio.d.ts b/types/google-apps-script/google-apps-script.data-studio.d.ts
new file mode 100644
index 0000000000..572e4284e1
--- /dev/null
+++ b/types/google-apps-script/google-apps-script.data-studio.d.ts
@@ -0,0 +1,301 @@
+// Type definitions for Google Apps Script 2018-12-26
+// Project: https://developers.google.com/apps-script/
+// Definitions by: motemen
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+///
+
+declare namespace GoogleAppsScript {
+ export module Data_Studio {
+ /**
+ * An enum that defines the aggregation types that can be set for a Field.
+ */
+ export enum AggregationType { NO_AGGREGATION, AVG, COUNT, COUNT_DISTINCT, MAX, MIN, SUM }
+
+ /**
+ * Contains checkbox information for the config. Its properties determine how the checkbox is
+ * displayed in Data Studio.
+ *
+ * var checkbox = config.newCheckbox()
+ * .setId("use_https")
+ * .setName("Use Https?")
+ * .setHelpText("Whether or not https should be used.")
+ * .setAllowOverride(true);
+ */
+ export interface Checkbox {
+ setAllowOverride(allowOverride: boolean): Checkbox;
+ setHelpText(helpText: string): Checkbox;
+ setId(id: string): Checkbox;
+ setName(name: string): Checkbox;
+ }
+
+ /**
+ * CommunityConnector enables scripts to access builders and utilities to help with development of
+ * Community Connectors for Data Studio. Use this class to get a reference to the Fields
+ * object and the FieldType and AggregationType enums so they can be used in the
+ * construction of Fields.
+ *
+ * var cc = DataStudioApp.createCommunityConnector();
+ * var fieldType = cc.FieldType;
+ * var aggregationType = cc.AggregationType;
+ *
+ * var fields = cc.getFields();
+ *
+ * fields.newMetric()
+ * .setAggregation(aggregationType.AVG)
+ * .setFieldType(fieldType.CURRENCY_USD);
+ */
+ export interface CommunityConnector {
+ AggregationType: typeof AggregationType;
+ FieldType: typeof FieldType;
+ getConfig(): Config;
+ getFields(): Fields;
+ }
+
+ /**
+ * Contains the configuration entries for a connector. These configuration entries define what
+ * questions are asked when adding a new connector.
+ *
+ * var cc = DataStudioApp.createCommunityConnector();
+ * var config = cc.getConfig();
+ *
+ * var info_entry = config.newInfo()
+ * .setId("info_id")
+ * .setHelpText("This connector can connect to multiple data endpoints.");
+ */
+ export interface Config {
+ build(): Object;
+ newCheckbox(): Checkbox;
+ newInfo(): Info;
+ newOptionBuilder(): OptionBuilder;
+ newSelectMultiple(): SelectMultiple;
+ newSelectSingle(): SelectSingle;
+ newTextArea(): TextArea;
+ newTextInput(): TextInput;
+ printJson(): string;
+ setDateRangeRequired(dateRangeRequired: boolean): Config;
+ }
+
+ /**
+ * DataStudioApp allows scripts to interact with developer-oriented features for Data Studio.
+ */
+ export interface DataStudioApp {
+ createCommunityConnector(): CommunityConnector;
+ }
+
+ /**
+ * Contains field-related data. Its properties determine how the field is used in Data Studio.
+ *
+ * var cc = DataStudioApp.createCommunityConnector();
+ * var fields = cc.getFields();
+ * var types = cc.FieldType;
+ *
+ * var field1 = fields.newDimension()
+ * .setId('field1_id')
+ * .setName('Field 1 ID')
+ * .setDescription('The first field.')
+ * .setType(types.YEAR_MONTH)
+ * .setGroup('DATETIME');
+ */
+ export interface Field {
+ getAggregation(): AggregationType;
+ getDescription(): string;
+ getFormula(): string;
+ getGroup(): string;
+ getId(): string;
+ getName(): string;
+ getType(): FieldType;
+ isDefault(): boolean;
+ isDimension(): boolean;
+ isHidden(): boolean;
+ isMetric(): boolean;
+ setAggregation(aggregation: AggregationType): Field;
+ setDescription(description: string): Field;
+ setFormula(formula: string): Field;
+ setGroup(group: string): Field;
+ setId(id: string): Field;
+ setIsHidden(isHidden: boolean): Field;
+ setName(name: string): Field;
+ setType(type: FieldType): Field;
+ }
+
+ /**
+ * An enum that defines the types that can be set for a Field.
+ */
+ export enum FieldType { YEAR, YEAR_QUARTER, YEAR_MONTH, YEAR_WEEK, YEAR_MONTH_DAY, YEAR_MONTH_DAY_HOUR, QUARTER, MONTH, WEEK, MONTH_DAY, DAY_OF_WEEK, DAY, HOUR, MINUTE, DURATION, COUNTRY, COUNTRY_CODE, CONTINENT, CONTINENT_CODE, SUB_CONTINENT, SUB_CONTINENT_CODE, REGION, REGION_CODE, CITY, CITY_CODE, METRO, METRO_CODE, LATITUDE_LONGITUDE, NUMBER, PERCENT, TEXT, BOOLEAN, URL, CURRENCY_AED, CURRENCY_ALL, CURRENCY_ARS, CURRENCY_AUD, CURRENCY_BDT, CURRENCY_BGN, CURRENCY_BOB, CURRENCY_BRL, CURRENCY_CAD, CURRENCY_CDF, CURRENCY_CHF, CURRENCY_CLP, CURRENCY_CNY, CURRENCY_COP, CURRENCY_CRC, CURRENCY_CZK, CURRENCY_DKK, CURRENCY_DOP, CURRENCY_EGP, CURRENCY_ETB, CURRENCY_EUR, CURRENCY_GBP, CURRENCY_HKD, CURRENCY_HRK, CURRENCY_HUF, CURRENCY_IDR, CURRENCY_ILS, CURRENCY_INR, CURRENCY_IRR, CURRENCY_ISK, CURRENCY_JMD, CURRENCY_JPY, CURRENCY_KRW, CURRENCY_LKR, CURRENCY_LTL, CURRENCY_MNT, CURRENCY_MVR, CURRENCY_MXN, CURRENCY_MYR, CURRENCY_NOK, CURRENCY_NZD, CURRENCY_PAB, CURRENCY_PEN, CURRENCY_PHP, CURRENCY_PKR, CURRENCY_PLN, CURRENCY_RON, CURRENCY_RSD, CURRENCY_RUB, CURRENCY_SAR, CURRENCY_SEK, CURRENCY_SGD, CURRENCY_THB, CURRENCY_TRY, CURRENCY_TWD, CURRENCY_TZS, CURRENCY_UAH, CURRENCY_USD, CURRENCY_UYU, CURRENCY_VEF, CURRENCY_VND, CURRENCY_YER, CURRENCY_ZAR }
+
+ /**
+ * Contains a set of Fields for a community connector. This set of fields define which
+ * dimensions and metrics can be used in Data Studio.
+ *
+ * var cc = DataStudioApp.createCommunityConnector();
+ * var fields = cc.getFields();
+ * var types = cc.FieldType;
+ *
+ * var field1 = fields.newDimension()
+ * // Set other properties as needed.
+ * .setId('field1_id');
+ */
+ export interface Fields {
+ asArray(): Field[];
+ build(): Object[];
+ forIds(ids: string[]): Fields;
+ getDefaultDimension(): Field;
+ getDefaultMetric(): Field;
+ getFieldById(fieldId: string): Field;
+ newDimension(): Field;
+ newMetric(): Field;
+ setDefaultDimension(fieldId: string): void;
+ setDefaultMetric(fieldId: string): void;
+ }
+
+ /**
+ * Contains info data for the config. Its properties determine how the info is displayed in Data
+ * Studio.
+ *
+ * var cc = DataStudioApp.createCommunityConnector();
+ * var config = cc.getConfig();
+ *
+ * var info1 = config.newInfo()
+ * .setName("info1")
+ * .setText("This text gives some context on the configuration.");
+ */
+ export interface Info {
+ setId(id: string): Info;
+ setText(text: string): Info;
+ }
+
+ /**
+ * A builder for creating options for SelectSingles and SelectMultiples.
+ *
+ * var cc = DataStudioApp.createCommunityConnector();
+ * var config = cc.getConfig();
+ *
+ * var option1 = config.newOptionBuilder()
+ * .setLabel("option label")
+ * .setValue("option_value");
+ *
+ * var option2 = config.newOptionBuilder()
+ * .setLabel("second option label")
+ * .setValue("option_value_2");
+ *
+ * var info1 = config.newSelectSingle()
+ * .setId("api_endpoint")
+ * .setName("Data Type")
+ * .setHelpText("Select the data type you're interested in.")
+ * .addOption(option1)
+ * .addOption(option2);
+ */
+ export interface OptionBuilder {
+ setLabel(label: string): OptionBuilder;
+ setValue(value: string): OptionBuilder;
+ }
+
+ /**
+ * Contains select multiple information for the config. Its properties determine how the select
+ * multiple is displayed in Data Studio.
+ *
+ * Usage:
+ *
+ * var option1 = config.newOptionBuilder()
+ * .setLabel("option label")
+ * .setValue("option_value");
+ *
+ * var option2 = config.newOptionBuilder()
+ * .setLabel("second option label")
+ * .setValue("option_value_2");
+ *
+ * var info1 = config.newSelectMultiple()
+ * .setId("api_endpoint")
+ * .setName("Data Type")
+ * .setHelpText("Select the data type you're interested in.")
+ * .setAllowOverride(true)
+ * .addOption(option1)
+ * .addOption(option2);
+ */
+ export interface SelectMultiple {
+ addOption(optionBuilder: OptionBuilder): SelectMultiple;
+ setAllowOverride(allowOverride: boolean): SelectMultiple;
+ setHelpText(helpText: string): SelectMultiple;
+ setId(id: string): SelectMultiple;
+ setName(name: string): SelectMultiple;
+ }
+
+ /**
+ * Contains select single information for the config. Its properties determine how the select single
+ * is displayed in Data Studio.
+ *
+ * var option1 = config.newOptionBuilder()
+ * .setLabel("option label")
+ * .setValue("option_value");
+ *
+ * var option2 = config.newOptionBuilder()
+ * .setLabel("second option label")
+ * .setValue("option_value_2");
+ *
+ * var info1 = config.newSelectMultiple()
+ * .setId("api_endpoint")
+ * .setName("Data Type")
+ * .setHelpText("Select the data type you're interested in.")
+ * .setAllowOverride(true)
+ * .addOption(option1)
+ * .addOption(option2);
+ */
+ export interface SelectSingle {
+ addOption(optionBuilder: OptionBuilder): SelectSingle;
+ setAllowOverride(allowOverride: boolean): SelectSingle;
+ setHelpText(helpText: string): SelectSingle;
+ setId(id: string): SelectSingle;
+ setName(name: string): SelectSingle;
+ }
+
+ /**
+ * Contains text area information for the config. Its properties determine how the text input is
+ * displayed in Data Studio.
+ *
+ * Usage:
+ *
+ * var cc = DataStudioApp.createCommunityConnector();
+ * var config = cc.getConfig();
+ *
+ * var textArea1 = config.newTextArea()
+ * .setId("textArea1")
+ * .setName("Search")
+ * .setHelpText("for example, Coldplay")
+ * .setAllowOverride(true)
+ * .setPlaceholder("Search for an artist for all songs.");
+ */
+ export interface TextArea {
+ setAllowOverride(allowOverride: boolean): TextArea;
+ setHelpText(helpText: string): TextArea;
+ setId(id: string): TextArea;
+ setName(name: string): TextArea;
+ setPlaceholder(placeholder: string): TextArea;
+ }
+
+ /**
+ * Contains text input information for the config. Its properties determine how the text input is
+ * displayed in Data Studio.
+ *
+ * var cc = DataStudioApp.createCommunityConnector();
+ * var config = cc.getConfig();
+ *
+ * var info1 = config.newTextInput()
+ * .setId("info1")
+ * .setName("Search")
+ * .setHelpText("for example, Coldplay")
+ * .setAllowOverride(true)
+ * .setPlaceholder("Search for an artist for all songs.");
+ */
+ export interface TextInput {
+ setAllowOverride(allowOverride: boolean): TextInput;
+ setHelpText(helpText: string): TextInput;
+ setId(id: string): TextInput;
+ setName(name: string): TextInput;
+ setPlaceholder(placeholder: string): TextInput;
+ }
+
+ }
+}
+
+declare var DataStudioApp: GoogleAppsScript.Data_Studio.DataStudioApp;
diff --git a/types/google-apps-script/google-apps-script.forms.d.ts b/types/google-apps-script/google-apps-script.forms.d.ts
index df08002505..2f4508a956 100644
--- a/types/google-apps-script/google-apps-script.forms.d.ts
+++ b/types/google-apps-script/google-apps-script.forms.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for Google Apps Script 2018-07-11
+// Type definitions for Google Apps Script 2018-12-26
// Project: https://developers.google.com/apps-script/
// Definitions by: motemen
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -671,7 +671,7 @@ declare namespace GoogleAppsScript {
* item.setHelpText('Description of new section.');
* }
*/
- export enum ItemType { CHECKBOX, CHECKBOX_GRID, DATE, DATETIME, DURATION, GRID, IMAGE, LIST, MULTIPLE_CHOICE, PAGE_BREAK, PARAGRAPH_TEXT, SCALE, SECTION_HEADER, TEXT, TIME }
+ export enum ItemType { CHECKBOX, CHECKBOX_GRID, DATE, DATETIME, DURATION, GRID, IMAGE, LIST, MULTIPLE_CHOICE, PAGE_BREAK, PARAGRAPH_TEXT, SCALE, SECTION_HEADER, TEXT, TIME, VIDEO }
/**
* A question item that allows the respondent to select one choice from a drop-down list. Items can
diff --git a/types/google-apps-script/google-apps-script.gmail.d.ts b/types/google-apps-script/google-apps-script.gmail.d.ts
index db8e6ecc52..b71a7226b6 100644
--- a/types/google-apps-script/google-apps-script.gmail.d.ts
+++ b/types/google-apps-script/google-apps-script.gmail.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for Google Apps Script 2018-07-11
+// Type definitions for Google Apps Script 2018-12-26
// Project: https://developers.google.com/apps-script/
// Definitions by: motemen
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -103,6 +103,7 @@ declare namespace GoogleAppsScript {
getContentType(): string;
getDataAsString(): string;
getDataAsString(charset: string): string;
+ getHash(): string;
getName(): string;
getSize(): Integer;
isGoogleType(): boolean;
diff --git a/types/google-apps-script/google-apps-script.groups.d.ts b/types/google-apps-script/google-apps-script.groups.d.ts
index 757029f044..958838de57 100644
--- a/types/google-apps-script/google-apps-script.groups.d.ts
+++ b/types/google-apps-script/google-apps-script.groups.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for Google Apps Script 2018-07-11
+// Type definitions for Google Apps Script 2018-12-26
// Project: https://developers.google.com/apps-script/
// Definitions by: motemen
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -16,13 +16,13 @@ declare namespace GoogleAppsScript {
*
* function listGroupMembers() {
* var group = GroupsApp.getGroupByEmail("example@googlegroups.com");
- * var s = group.getEmail() + ': ';
+ * var str = group.getEmail() + ': ';
* var users = group.getUsers();
* for (var i = 0; i < users.length; i++) {
* var user = users[i];
- * s = s + user.getEmail() + ", ";
+ * str = str + user.getEmail() + ", ";
* }
- * Logger.log(s);
+ * Logger.log(str);
* }
*/
export interface Group {
diff --git a/types/google-apps-script/google-apps-script.script.d.ts b/types/google-apps-script/google-apps-script.script.d.ts
index fbe95deb8c..5130b54db9 100644
--- a/types/google-apps-script/google-apps-script.script.d.ts
+++ b/types/google-apps-script/google-apps-script.script.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for Google Apps Script 2018-07-11
+// Type definitions for Google Apps Script 2018-12-26
// Project: https://developers.google.com/apps-script/
// Definitions by: motemen
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -15,8 +15,8 @@ declare namespace GoogleAppsScript {
* An enumeration that identifies which categories of authorized services Apps Script is able to
* execute through a triggered function. These values are exposed in triggered functions as the authMode
* property of the event parameter, e. For
- * more information, see the guide to the authorization
- * lifecycle for add-ons.
+ * more information, see the guide to the
+ * authorization lifecycle for add-ons.
*
* function onOpen(e) {
* var menu = SpreadsheetApp.getUi().createAddonMenu();
diff --git a/types/google-apps-script/google-apps-script.slides.d.ts b/types/google-apps-script/google-apps-script.slides.d.ts
index 3d1aac9227..f1c3a6fdae 100644
--- a/types/google-apps-script/google-apps-script.slides.d.ts
+++ b/types/google-apps-script/google-apps-script.slides.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for Google Apps Script 2018-07-11
+// Type definitions for Google Apps Script 2018-12-26
// Project: https://developers.google.com/apps-script/
// Definitions by: motemen
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -125,6 +125,14 @@ declare namespace GoogleAppsScript {
*/
export enum ColorType { UNSUPPORTED, RGB, THEME }
+ /**
+ * The connection site on a PageElement that can connect to a connector.
+ */
+ export interface ConnectionSite {
+ getIndex(): Integer;
+ getPageElement(): PageElement;
+ }
+
/**
* The content alignments for a Shape or TableCell. The supported alignments
* correspond to predefined text anchoring types from the ECMA-376 standard.
@@ -172,8 +180,11 @@ declare namespace GoogleAppsScript {
*/
export interface Group {
alignOnPage(alignmentPosition: AlignmentPosition): Group;
+ bringForward(): Group;
+ bringToFront(): Group;
duplicate(): PageElement;
getChildren(): PageElement[];
+ getConnectionSites(): ConnectionSite[];
getDescription(): string;
getHeight(): Number;
getInherentHeight(): Number;
@@ -194,9 +205,13 @@ declare namespace GoogleAppsScript {
scaleWidth(ratio: Number): Group;
select(): void;
select(replace: boolean): void;
+ sendBackward(): Group;
+ sendToBack(): Group;
+ setDescription(description: string): Group;
setHeight(height: Number): Group;
setLeft(left: Number): Group;
setRotation(angle: Number): Group;
+ setTitle(title: string): Group;
setTop(top: Number): Group;
setTransform(transform: AffineTransform): Group;
setWidth(width: Number): Group;
@@ -208,10 +223,13 @@ declare namespace GoogleAppsScript {
*/
export interface Image {
alignOnPage(alignmentPosition: AlignmentPosition): Image;
+ bringForward(): Image;
+ bringToFront(): Image;
duplicate(): PageElement;
getAs(contentType: string): Base.Blob;
getBlob(): Base.Blob;
getBorder(): Border;
+ getConnectionSites(): ConnectionSite[];
getContentUrl(): string;
getDescription(): string;
getHeight(): Number;
@@ -240,6 +258,9 @@ declare namespace GoogleAppsScript {
scaleWidth(ratio: Number): Image;
select(): void;
select(replace: boolean): void;
+ sendBackward(): Image;
+ sendToBack(): Image;
+ setDescription(description: string): Image;
setHeight(height: Number): Image;
setLeft(left: Number): Image;
setLinkSlide(slideIndex: Integer): Link;
@@ -247,6 +268,7 @@ declare namespace GoogleAppsScript {
setLinkSlide(slidePosition: SlidePosition): Link;
setLinkUrl(url: string): Link;
setRotation(angle: Number): Image;
+ setTitle(title: string): Image;
setTop(top: Number): Image;
setTransform(transform: AffineTransform): Image;
setWidth(width: Number): Image;
@@ -267,6 +289,7 @@ declare namespace GoogleAppsScript {
getLines(): Line[];
getMaster(): Master;
getObjectId(): string;
+ getPageElementById(id: string): PageElement;
getPageElements(): PageElement[];
getPageType(): PageType;
getPlaceholder(placeholderType: PlaceholderType): PageElement;
@@ -285,6 +308,7 @@ declare namespace GoogleAppsScript {
insertImage(imageUrl: string): Image;
insertImage(imageUrl: string, left: Number, top: Number, width: Number, height: Number): Image;
insertLine(line: Line): Line;
+ insertLine(lineCategory: LineCategory, startConnectionSite: ConnectionSite, endConnectionSite: ConnectionSite): Line;
insertLine(lineCategory: LineCategory, startLeft: Number, startTop: Number, endLeft: Number, endTop: Number): Line;
insertPageElement(pageElement: PageElement): PageElement;
insertShape(shape: Shape): Shape;
@@ -313,15 +337,20 @@ declare namespace GoogleAppsScript {
*/
export interface Line {
alignOnPage(alignmentPosition: AlignmentPosition): Line;
+ bringForward(): Line;
+ bringToFront(): Line;
duplicate(): PageElement;
+ getConnectionSites(): ConnectionSite[];
getDashStyle(): DashStyle;
getDescription(): string;
getEnd(): Point;
getEndArrow(): ArrowStyle;
+ getEndConnection(): ConnectionSite;
getHeight(): Number;
getInherentHeight(): Number;
getInherentWidth(): Number;
getLeft(): Number;
+ getLineCategory(): LineCategory;
getLineFill(): LineFill;
getLineType(): LineType;
getLink(): Link;
@@ -332,24 +361,32 @@ declare namespace GoogleAppsScript {
getRotation(): Number;
getStart(): Point;
getStartArrow(): ArrowStyle;
+ getStartConnection(): ConnectionSite;
getTitle(): string;
getTop(): Number;
getTransform(): AffineTransform;
getWeight(): Number;
getWidth(): Number;
+ isConnector(): boolean;
preconcatenateTransform(transform: AffineTransform): Line;
remove(): void;
removeLink(): void;
+ reroute(): Line;
scaleHeight(ratio: Number): Line;
scaleWidth(ratio: Number): Line;
select(): void;
select(replace: boolean): void;
+ sendBackward(): Line;
+ sendToBack(): Line;
setDashStyle(style: DashStyle): Line;
+ setDescription(description: string): Line;
setEnd(left: Number, top: Number): Line;
setEnd(point: Point): Line;
setEndArrow(style: ArrowStyle): Line;
+ setEndConnection(connectionSite: ConnectionSite): Line;
setHeight(height: Number): Line;
setLeft(left: Number): Line;
+ setLineCategory(lineCategory: LineCategory): Line;
setLinkSlide(slideIndex: Integer): Link;
setLinkSlide(slide: Slide): Link;
setLinkSlide(slidePosition: SlidePosition): Link;
@@ -358,6 +395,8 @@ declare namespace GoogleAppsScript {
setStart(left: Number, top: Number): Line;
setStart(point: Point): Line;
setStartArrow(style: ArrowStyle): Line;
+ setStartConnection(connectionSite: ConnectionSite): Line;
+ setTitle(title: string): Line;
setTop(top: Number): Line;
setTransform(transform: AffineTransform): Line;
setWeight(points: Number): Line;
@@ -370,7 +409,7 @@ declare namespace GoogleAppsScript {
* The exact LineType created is determined based on the category and how it's routed to
* connect to other page elements.
*/
- export enum LineCategory { STRAIGHT, BENT, CURVED }
+ export enum LineCategory { UNSUPPORTED, STRAIGHT, BENT, CURVED }
/**
* Describes the fill of a line or outline
@@ -504,6 +543,7 @@ declare namespace GoogleAppsScript {
getLayouts(): Layout[];
getLines(): Line[];
getObjectId(): string;
+ getPageElementById(id: string): PageElement;
getPageElements(): PageElement[];
getPageType(): PageType;
getPlaceholder(placeholderType: PlaceholderType): PageElement;
@@ -522,6 +562,7 @@ declare namespace GoogleAppsScript {
insertImage(imageUrl: string): Image;
insertImage(imageUrl: string, left: Number, top: Number, width: Number, height: Number): Image;
insertLine(line: Line): Line;
+ insertLine(lineCategory: LineCategory, startConnectionSite: ConnectionSite, endConnectionSite: ConnectionSite): Line;
insertLine(lineCategory: LineCategory, startLeft: Number, startTop: Number, endLeft: Number, endTop: Number): Line;
insertPageElement(pageElement: PageElement): PageElement;
insertShape(shape: Shape): Shape;
@@ -556,6 +597,7 @@ declare namespace GoogleAppsScript {
getImages(): Image[];
getLines(): Line[];
getObjectId(): string;
+ getPageElementById(id: string): PageElement;
getPageElements(): PageElement[];
getPlaceholder(placeholderType: PlaceholderType): PageElement;
getPlaceholder(placeholderType: PlaceholderType, placeholderIndex: Integer): PageElement;
@@ -579,6 +621,7 @@ declare namespace GoogleAppsScript {
getImages(): Image[];
getLines(): Line[];
getObjectId(): string;
+ getPageElementById(id: string): PageElement;
getPageElements(): PageElement[];
getPlaceholder(placeholderType: PlaceholderType): PageElement;
getPlaceholder(placeholderType: PlaceholderType, placeholderIndex: Integer): PageElement;
@@ -606,6 +649,7 @@ declare namespace GoogleAppsScript {
getImages(): Image[];
getLines(): Line[];
getObjectId(): string;
+ getPageElementById(id: string): PageElement;
getPageElements(): PageElement[];
getPageType(): PageType;
getPlaceholder(placeholderType: PlaceholderType): PageElement;
@@ -624,6 +668,7 @@ declare namespace GoogleAppsScript {
insertImage(imageUrl: string): Image;
insertImage(imageUrl: string, left: Number, top: Number, width: Number, height: Number): Image;
insertLine(line: Line): Line;
+ insertLine(lineCategory: LineCategory, startConnectionSite: ConnectionSite, endConnectionSite: ConnectionSite): Line;
insertLine(lineCategory: LineCategory, startLeft: Number, startTop: Number, endLeft: Number, endTop: Number): Line;
insertPageElement(pageElement: PageElement): PageElement;
insertShape(shape: Shape): Shape;
@@ -686,7 +731,10 @@ declare namespace GoogleAppsScript {
asTable(): Table;
asVideo(): Video;
asWordArt(): WordArt;
+ bringForward(): PageElement;
+ bringToFront(): PageElement;
duplicate(): PageElement;
+ getConnectionSites(): ConnectionSite[];
getDescription(): string;
getHeight(): Number;
getInherentHeight(): Number;
@@ -707,9 +755,13 @@ declare namespace GoogleAppsScript {
scaleWidth(ratio: Number): PageElement;
select(): void;
select(replace: boolean): void;
+ sendBackward(): PageElement;
+ sendToBack(): PageElement;
+ setDescription(description: string): PageElement;
setHeight(height: Number): PageElement;
setLeft(left: Number): PageElement;
setRotation(angle: Number): PageElement;
+ setTitle(title: string): PageElement;
setTop(top: Number): PageElement;
setTransform(transform: AffineTransform): PageElement;
setWidth(width: Number): PageElement;
@@ -836,11 +888,11 @@ declare namespace GoogleAppsScript {
getNotesMaster(): NotesMaster;
getNotesPageHeight(): Number;
getNotesPageWidth(): Number;
- getPageElementById(id: string): PageElement;
+ getPageElementById(id: string): PageElement;
getPageHeight(): Number;
getPageWidth(): Number;
getSelection(): Selection;
- getSlideById(id: string): Slide;
+ getSlideById(id: string): Slide;
getSlides(): Slide[];
getUrl(): string;
getViewers(): Base.User[];
@@ -903,8 +955,11 @@ declare namespace GoogleAppsScript {
*/
export interface Shape {
alignOnPage(alignmentPosition: AlignmentPosition): Shape;
+ bringForward(): Shape;
+ bringToFront(): Shape;
duplicate(): PageElement;
getBorder(): Border;
+ getConnectionSites(): ConnectionSite[];
getContentAlignment(): ContentAlignment;
getDescription(): string;
getFill(): Fill;
@@ -940,7 +995,10 @@ declare namespace GoogleAppsScript {
scaleWidth(ratio: Number): Shape;
select(): void;
select(replace: boolean): void;
+ sendBackward(): Shape;
+ sendToBack(): Shape;
setContentAlignment(contentAlignment: ContentAlignment): Shape;
+ setDescription(description: string): Shape;
setHeight(height: Number): Shape;
setLeft(left: Number): Shape;
setLinkSlide(slideIndex: Integer): Link;
@@ -948,6 +1006,7 @@ declare namespace GoogleAppsScript {
setLinkSlide(slidePosition: SlidePosition): Link;
setLinkUrl(url: string): Link;
setRotation(angle: Number): Shape;
+ setTitle(title: string): Shape;
setTop(top: Number): Shape;
setTransform(transform: AffineTransform): Shape;
setWidth(width: Number): Shape;
@@ -968,8 +1027,11 @@ declare namespace GoogleAppsScript {
export interface SheetsChart {
alignOnPage(alignmentPosition: AlignmentPosition): SheetsChart;
asImage(): Image;
+ bringForward(): SheetsChart;
+ bringToFront(): SheetsChart;
duplicate(): PageElement;
getChartId(): Integer;
+ getConnectionSites(): ConnectionSite[];
getDescription(): string;
getEmbedType(): SheetsChartEmbedType;
getHeight(): Number;
@@ -995,6 +1057,9 @@ declare namespace GoogleAppsScript {
scaleWidth(ratio: Number): SheetsChart;
select(): void;
select(replace: boolean): void;
+ sendBackward(): SheetsChart;
+ sendToBack(): SheetsChart;
+ setDescription(description: string): SheetsChart;
setHeight(height: Number): SheetsChart;
setLeft(left: Number): SheetsChart;
setLinkSlide(slideIndex: Integer): Link;
@@ -1002,6 +1067,7 @@ declare namespace GoogleAppsScript {
setLinkSlide(slidePosition: SlidePosition): Link;
setLinkUrl(url: string): Link;
setRotation(angle: Number): SheetsChart;
+ setTitle(title: string): SheetsChart;
setTop(top: Number): SheetsChart;
setTransform(transform: AffineTransform): SheetsChart;
setWidth(width: Number): SheetsChart;
@@ -1028,6 +1094,7 @@ declare namespace GoogleAppsScript {
getLines(): Line[];
getNotesPage(): NotesPage;
getObjectId(): string;
+ getPageElementById(id: string): PageElement;
getPageElements(): PageElement[];
getPageType(): PageType;
getPlaceholder(placeholderType: PlaceholderType): PageElement;
@@ -1046,6 +1113,7 @@ declare namespace GoogleAppsScript {
insertImage(imageUrl: string): Image;
insertImage(imageUrl: string, left: Number, top: Number, width: Number, height: Number): Image;
insertLine(line: Line): Line;
+ insertLine(lineCategory: LineCategory, startConnectionSite: ConnectionSite, endConnectionSite: ConnectionSite): Line;
insertLine(lineCategory: LineCategory, startLeft: Number, startTop: Number, endLeft: Number, endTop: Number): Line;
insertPageElement(pageElement: PageElement): PageElement;
insertShape(shape: Shape): Shape;
@@ -1144,9 +1212,12 @@ declare namespace GoogleAppsScript {
alignOnPage(alignmentPosition: AlignmentPosition): Table;
appendColumn(): TableColumn;
appendRow(): TableRow;
+ bringForward(): Table;
+ bringToFront(): Table;
duplicate(): PageElement;
getCell(rowIndex: Integer, columnIndex: Integer): TableCell;
getColumn(columnIndex: Integer): TableColumn;
+ getConnectionSites(): ConnectionSite[];
getDescription(): string;
getHeight(): Number;
getInherentHeight(): Number;
@@ -1172,9 +1243,13 @@ declare namespace GoogleAppsScript {
scaleWidth(ratio: Number): Table;
select(): void;
select(replace: boolean): void;
+ sendBackward(): Table;
+ sendToBack(): Table;
+ setDescription(description: string): Table;
setHeight(height: Number): Table;
setLeft(left: Number): Table;
setRotation(angle: Number): Table;
+ setTitle(title: string): Table;
setTop(top: Number): Table;
setTransform(transform: AffineTransform): Table;
setWidth(width: Number): Table;
@@ -1343,8 +1418,11 @@ declare namespace GoogleAppsScript {
*/
export interface Video {
alignOnPage(alignmentPosition: AlignmentPosition): Video;
+ bringForward(): Video;
+ bringToFront(): Video;
duplicate(): PageElement;
getBorder(): Border;
+ getConnectionSites(): ConnectionSite[];
getDescription(): string;
getHeight(): Number;
getInherentHeight(): Number;
@@ -1369,9 +1447,13 @@ declare namespace GoogleAppsScript {
scaleWidth(ratio: Number): Video;
select(): void;
select(replace: boolean): void;
+ sendBackward(): Video;
+ sendToBack(): Video;
+ setDescription(description: string): Video;
setHeight(height: Number): Video;
setLeft(left: Number): Video;
setRotation(angle: Number): Video;
+ setTitle(title: string): Video;
setTop(top: Number): Video;
setTransform(transform: AffineTransform): Video;
setWidth(width: Number): Video;
@@ -1387,7 +1469,10 @@ declare namespace GoogleAppsScript {
*/
export interface WordArt {
alignOnPage(alignmentPosition: AlignmentPosition): WordArt;
+ bringForward(): WordArt;
+ bringToFront(): WordArt;
duplicate(): PageElement;
+ getConnectionSites(): ConnectionSite[];
getDescription(): string;
getHeight(): Number;
getInherentHeight(): Number;
@@ -1411,6 +1496,9 @@ declare namespace GoogleAppsScript {
scaleWidth(ratio: Number): WordArt;
select(): void;
select(replace: boolean): void;
+ sendBackward(): WordArt;
+ sendToBack(): WordArt;
+ setDescription(description: string): WordArt;
setHeight(height: Number): WordArt;
setLeft(left: Number): WordArt;
setLinkSlide(slideIndex: Integer): Link;
@@ -1418,6 +1506,7 @@ declare namespace GoogleAppsScript {
setLinkSlide(slidePosition: SlidePosition): Link;
setLinkUrl(url: string): Link;
setRotation(angle: Number): WordArt;
+ setTitle(title: string): WordArt;
setTop(top: Number): WordArt;
setTransform(transform: AffineTransform): WordArt;
setWidth(width: Number): WordArt;
diff --git a/types/google-apps-script/google-apps-script.spreadsheet.d.ts b/types/google-apps-script/google-apps-script.spreadsheet.d.ts
index 4ac5c84d6b..76a5bd5f22 100644
--- a/types/google-apps-script/google-apps-script.spreadsheet.d.ts
+++ b/types/google-apps-script/google-apps-script.spreadsheet.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for Google Apps Script 2018-07-11
+// Type definitions for Google Apps Script 2018-12-26
// Project: https://developers.google.com/apps-script/
// Definitions by: motemen
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -99,7 +99,7 @@ declare namespace GoogleAppsScript {
* var range = sheet.getRange("A1:B3");
* var rule = SpreadsheetApp.newConditionalFormatRule()
* .whenNumberBetween(1, 10)
- * .setBackgroundColor("#FF0000")
+ * .setBackground("#FF0000")
* .setRanges([range])
* .build();
* var rules = sheet.getConditionalFormatRules();
@@ -268,6 +268,61 @@ declare namespace GoogleAppsScript {
*/
export enum DataValidationCriteria { DATE_AFTER, DATE_BEFORE, DATE_BETWEEN, DATE_EQUAL_TO, DATE_IS_VALID_DATE, DATE_NOT_BETWEEN, DATE_ON_OR_AFTER, DATE_ON_OR_BEFORE, NUMBER_BETWEEN, NUMBER_EQUAL_TO, NUMBER_GREATER_THAN, NUMBER_GREATER_THAN_OR_EQUAL_TO, NUMBER_LESS_THAN, NUMBER_LESS_THAN_OR_EQUAL_TO, NUMBER_NOT_BETWEEN, NUMBER_NOT_EQUAL_TO, TEXT_CONTAINS, TEXT_DOES_NOT_CONTAIN, TEXT_EQUAL_TO, TEXT_IS_VALID_EMAIL, TEXT_IS_VALID_URL, VALUE_IN_LIST, VALUE_IN_RANGE, CUSTOM_FORMULA, CHECKBOX }
+ /**
+ * Access and modify developer metadata. To create new developer metadata use Range.addDeveloperMetadata(key), Sheet.addDeveloperMetadata(key), or Spreadsheet.addDeveloperMetadata(key).
+ */
+ export interface DeveloperMetadata {
+ getId(): Integer;
+ getKey(): string;
+ getLocation(): DeveloperMetadataLocation;
+ getValue(): string;
+ getVisibility(): DeveloperMetadataVisibility;
+ moveToColumn(column: Range): DeveloperMetadata;
+ moveToRow(row: Range): DeveloperMetadata;
+ moveToSheet(sheet: Sheet): DeveloperMetadata;
+ moveToSpreadsheet(): DeveloperMetadata;
+ remove(): void;
+ setKey(key: string): DeveloperMetadata;
+ setValue(value: string): DeveloperMetadata;
+ setVisibility(visibility: DeveloperMetadataVisibility): DeveloperMetadata;
+ }
+
+ /**
+ * Search for developer metadata in a spreadsheet. To create new developer metadata finder use
+ * Range.createDeveloperMetadataFinder(), Sheet.createDeveloperMetadataFinder(),
+ * or Spreadsheet.createDeveloperMetadataFinder().
+ */
+ export interface DeveloperMetadataFinder {
+ find(): DeveloperMetadata[];
+ onIntersectingLocations(): DeveloperMetadataFinder;
+ withId(id: Integer): DeveloperMetadataFinder;
+ withKey(key: string): DeveloperMetadataFinder;
+ withLocationType(locationType: DeveloperMetadataLocationType): DeveloperMetadataFinder;
+ withValue(value: string): DeveloperMetadataFinder;
+ withVisibility(visibility: DeveloperMetadataVisibility): DeveloperMetadataFinder;
+ }
+
+ /**
+ * Access developer metadata location information.
+ */
+ export interface DeveloperMetadataLocation {
+ getColumn(): Range;
+ getLocationType(): DeveloperMetadataLocationType;
+ getRow(): Range;
+ getSheet(): Sheet;
+ getSpreadsheet(): Spreadsheet;
+ }
+
+ /**
+ * An enumeration of the types of developer metadata location types.
+ */
+ export enum DeveloperMetadataLocationType { SPREADSHEET, SHEET, ROW, COLUMN }
+
+ /**
+ * An enumeration of the types of developer metadata visibility.
+ */
+ export enum DeveloperMetadataVisibility { DOCUMENT, PROJECT }
+
/**
* An enumeration of possible directions along which data can be stored in a spreadsheet.
*/
@@ -896,6 +951,36 @@ declare namespace GoogleAppsScript {
setRange(range: Range): NamedRange;
}
+ /**
+ * Represents an image over the grid in a spreadsheet.
+ */
+ export interface OverGridImage {
+ assignScript(functionName: string): OverGridImage;
+ getAltTextDescription(): string;
+ getAltTextTitle(): string;
+ getAnchorCell(): Range;
+ getAnchorCellXOffset(): Integer;
+ getAnchorCellYOffset(): Integer;
+ getHeight(): Integer;
+ getInherentHeight(): Integer;
+ getInherentWidth(): Integer;
+ getScript(): string;
+ getSheet(): Sheet;
+ getUrl(): string;
+ getWidth(): Integer;
+ remove(): void;
+ replace(blob: Base.BlobSource): OverGridImage;
+ replace(url: string): OverGridImage;
+ resetSize(): OverGridImage;
+ setAltTextDescription(description: string): OverGridImage;
+ setAltTextTitle(title: string): OverGridImage;
+ setAnchorCell(cell: Range): OverGridImage;
+ setAnchorCellXOffset(offset: Integer): OverGridImage;
+ setAnchorCellYOffset(offset: Integer): OverGridImage;
+ setHeight(height: Integer): OverGridImage;
+ setWidth(width: Integer): OverGridImage;
+ }
+
/**
*
* Deprecated. For spreadsheets created in the newer version of Google Sheets, use the more powerful
@@ -1091,6 +1176,10 @@ declare namespace GoogleAppsScript {
export interface Range {
activate(): Range;
activateAsCurrentCell(): Range;
+ addDeveloperMetadata(key: string): Range;
+ addDeveloperMetadata(key: string, visibility: DeveloperMetadataVisibility): Range;
+ addDeveloperMetadata(key: string, value: string): Range;
+ addDeveloperMetadata(key: string, value: string, visibility: DeveloperMetadataVisibility): Range;
applyColumnBanding(): Banding;
applyColumnBanding(bandingTheme: BandingTheme): Banding;
applyColumnBanding(bandingTheme: BandingTheme, showHeader: boolean, showFooter: boolean): Banding;
@@ -1115,6 +1204,7 @@ declare namespace GoogleAppsScript {
copyTo(destination: Range, options: Object): void;
copyValuesToRange(gridId: Integer, column: Integer, columnEnd: Integer, row: Integer, rowEnd: Integer): void;
copyValuesToRange(sheet: Sheet, column: Integer, columnEnd: Integer, row: Integer, rowEnd: Integer): void;
+ createDeveloperMetadataFinder(): DeveloperMetadataFinder;
createFilter(): Filter;
createPivotTable(sourceData: Range): PivotTable;
deleteCells(shiftDimension: Dimension): void;
@@ -1130,6 +1220,7 @@ declare namespace GoogleAppsScript {
getDataTable(firstRowIsHeader: boolean): Charts.DataTable;
getDataValidation(): DataValidation;
getDataValidations(): DataValidation[][];
+ getDeveloperMetadata(): DeveloperMetadata[];
getDisplayValue(): string;
getDisplayValues(): string[][];
getFilter(): Filter;
@@ -1178,7 +1269,7 @@ declare namespace GoogleAppsScript {
getWrap(): boolean;
getWrapStrategies(): WrapStrategy[][];
getWrapStrategy(): WrapStrategy;
- getWraps(): Boolean[][];
+ getWraps(): boolean[][];
insertCells(shiftDimension: Dimension): Range;
isBlank(): boolean;
isEndColumnBounded(): boolean;
@@ -1328,6 +1419,10 @@ declare namespace GoogleAppsScript {
*/
export interface Sheet {
activate(): Sheet;
+ addDeveloperMetadata(key: string): Sheet;
+ addDeveloperMetadata(key: string, visibility: DeveloperMetadataVisibility): Sheet;
+ addDeveloperMetadata(key: string, value: string): Sheet;
+ addDeveloperMetadata(key: string, value: string, visibility: DeveloperMetadataVisibility): Sheet;
appendRow(rowContents: Object[]): Sheet;
autoResizeColumn(columnPosition: Integer): Sheet;
autoResizeColumns(startColumn: Integer, numColumns: Integer): Sheet;
@@ -1341,6 +1436,7 @@ declare namespace GoogleAppsScript {
collapseAllColumnGroups(): Sheet;
collapseAllRowGroups(): Sheet;
copyTo(spreadsheet: Spreadsheet): Sheet;
+ createDeveloperMetadataFinder(): DeveloperMetadataFinder;
deleteColumn(columnPosition: Integer): Sheet;
deleteColumns(columnPosition: Integer, howMany: Integer): void;
deleteRow(rowPosition: Integer): Sheet;
@@ -1361,10 +1457,12 @@ declare namespace GoogleAppsScript {
getConditionalFormatRules(): ConditionalFormatRule[];
getCurrentCell(): Range;
getDataRange(): Range;
+ getDeveloperMetadata(): DeveloperMetadata[];
getFilter(): Filter;
getFormUrl(): string;
getFrozenColumns(): Integer;
getFrozenRows(): Integer;
+ getImages(): OverGridImage[];
getIndex(): Integer;
getLastColumn(): Integer;
getLastRow(): Integer;
@@ -1404,17 +1502,20 @@ declare namespace GoogleAppsScript {
insertColumns(columnIndex: Integer, numColumns: Integer): void;
insertColumnsAfter(afterPosition: Integer, howMany: Integer): Sheet;
insertColumnsBefore(beforePosition: Integer, howMany: Integer): Sheet;
- insertImage(blobSource: Base.BlobSource, column: Integer, row: Integer): void;
- insertImage(blobSource: Base.BlobSource, column: Integer, row: Integer, offsetX: Integer, offsetY: Integer): void;
- insertImage(url: string, column: Integer, row: Integer): void;
- insertImage(url: string, column: Integer, row: Integer, offsetX: Integer, offsetY: Integer): void;
+ insertImage(blobSource: Base.BlobSource, column: Integer, row: Integer): OverGridImage;
+ insertImage(blobSource: Base.BlobSource, column: Integer, row: Integer, offsetX: Integer, offsetY: Integer): OverGridImage;
+ insertImage(url: string, column: Integer, row: Integer): OverGridImage;
+ insertImage(url: string, column: Integer, row: Integer, offsetX: Integer, offsetY: Integer): OverGridImage;
insertRowAfter(afterPosition: Integer): Sheet;
insertRowBefore(beforePosition: Integer): Sheet;
insertRows(rowIndex: Integer): void;
insertRows(rowIndex: Integer, numRows: Integer): void;
insertRowsAfter(afterPosition: Integer, howMany: Integer): Sheet;
insertRowsBefore(beforePosition: Integer, howMany: Integer): Sheet;
+ isColumnHiddenByUser(columnPosition: Integer): boolean;
isRightToLeft(): boolean;
+ isRowHiddenByFilter(rowPosition: Integer): boolean;
+ isRowHiddenByUser(rowPosition: Integer): boolean;
isSheetHidden(): boolean;
moveColumns(columnSpec: Range, destinationIndex: Integer): void;
moveRows(rowSpec: Range, destinationIndex: Integer): void;
@@ -1458,6 +1559,10 @@ declare namespace GoogleAppsScript {
* collaborators.
*/
export interface Spreadsheet {
+ addDeveloperMetadata(key: string): Spreadsheet;
+ addDeveloperMetadata(key: string, visibility: DeveloperMetadataVisibility): Spreadsheet;
+ addDeveloperMetadata(key: string, value: string): Spreadsheet;
+ addDeveloperMetadata(key: string, value: string, visibility: DeveloperMetadataVisibility): Spreadsheet;
addEditor(emailAddress: string): Spreadsheet;
addEditor(user: Base.User): Spreadsheet;
addEditors(emailAddresses: string[]): Spreadsheet;
@@ -1468,6 +1573,7 @@ declare namespace GoogleAppsScript {
appendRow(rowContents: Object[]): Sheet;
autoResizeColumn(columnPosition: Integer): Sheet;
copy(name: string): Spreadsheet;
+ createDeveloperMetadataFinder(): DeveloperMetadataFinder;
deleteActiveSheet(): Sheet;
deleteColumn(columnPosition: Integer): Sheet;
deleteColumns(columnPosition: Integer, howMany: Integer): void;
@@ -1485,11 +1591,13 @@ declare namespace GoogleAppsScript {
getColumnWidth(columnPosition: Integer): Integer;
getCurrentCell(): Range;
getDataRange(): Range;
+ getDeveloperMetadata(): DeveloperMetadata[];
getEditors(): Base.User[];
getFormUrl(): string;
getFrozenColumns(): Integer;
getFrozenRows(): Integer;
getId(): string;
+ getImages(): OverGridImage[];
getLastColumn(): Integer;
getLastRow(): Integer;
getName(): string;
@@ -1517,10 +1625,10 @@ declare namespace GoogleAppsScript {
insertColumnBefore(beforePosition: Integer): Sheet;
insertColumnsAfter(afterPosition: Integer, howMany: Integer): Sheet;
insertColumnsBefore(beforePosition: Integer, howMany: Integer): Sheet;
- insertImage(blobSource: Base.BlobSource, column: Integer, row: Integer): void;
- insertImage(blobSource: Base.BlobSource, column: Integer, row: Integer, offsetX: Integer, offsetY: Integer): void;
- insertImage(url: string, column: Integer, row: Integer): void;
- insertImage(url: string, column: Integer, row: Integer, offsetX: Integer, offsetY: Integer): void;
+ insertImage(blobSource: Base.BlobSource, column: Integer, row: Integer): OverGridImage;
+ insertImage(blobSource: Base.BlobSource, column: Integer, row: Integer, offsetX: Integer, offsetY: Integer): OverGridImage;
+ insertImage(url: string, column: Integer, row: Integer): OverGridImage;
+ insertImage(url: string, column: Integer, row: Integer, offsetX: Integer, offsetY: Integer): OverGridImage;
insertRowAfter(afterPosition: Integer): Sheet;
insertRowBefore(beforePosition: Integer): Sheet;
insertRowsAfter(afterPosition: Integer, howMany: Integer): Sheet;
@@ -1533,6 +1641,9 @@ declare namespace GoogleAppsScript {
insertSheet(sheetName: string, sheetIndex: Integer): Sheet;
insertSheet(sheetName: string, sheetIndex: Integer, options: Object): Sheet;
insertSheet(sheetName: string, options: Object): Sheet;
+ isColumnHiddenByUser(columnPosition: Integer): boolean;
+ isRowHiddenByFilter(rowPosition: Integer): boolean;
+ isRowHiddenByUser(rowPosition: Integer): boolean;
moveActiveSheet(pos: Integer): void;
removeEditor(emailAddress: string): Spreadsheet;
removeEditor(user: Base.User): Spreadsheet;
@@ -1582,6 +1693,8 @@ declare namespace GoogleAppsScript {
BorderStyle: typeof BorderStyle;
CopyPasteType: typeof CopyPasteType;
DataValidationCriteria: typeof DataValidationCriteria;
+ DeveloperMetadataLocationType: typeof DeveloperMetadataLocationType;
+ DeveloperMetadataVisibility: typeof DeveloperMetadataVisibility;
Dimension: typeof Dimension;
Direction: typeof Direction;
GroupControlTogglePosition: typeof GroupControlTogglePosition;
diff --git a/types/google-apps-script/google-apps-script.utilities.d.ts b/types/google-apps-script/google-apps-script.utilities.d.ts
index 272c341b6c..922e31544a 100644
--- a/types/google-apps-script/google-apps-script.utilities.d.ts
+++ b/types/google-apps-script/google-apps-script.utilities.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for Google Apps Script 2018-07-11
+// Type definitions for Google Apps Script 2018-12-26
// Project: https://developers.google.com/apps-script/
// Definitions by: motemen
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -14,7 +14,7 @@ declare namespace GoogleAppsScript {
export enum Charset { US_ASCII, UTF_8 }
/**
- * Selector of Digest algorithm
+ * Selector of Digest algorithm.
*/
export enum DigestAlgorithm { MD2, MD5, SHA_1, SHA_256, SHA_384, SHA_512 }
@@ -23,6 +23,11 @@ declare namespace GoogleAppsScript {
*/
export enum MacAlgorithm { HMAC_MD5, HMAC_SHA_1, HMAC_SHA_256, HMAC_SHA_384, HMAC_SHA_512 }
+ /**
+ * Selector of RSA algorithm
+ */
+ export enum RsaAlgorithm { RSA_SHA_1, RSA_SHA_256 }
+
/**
* This service provides utilities for string encoding/decoding, date formatting, JSON manipulation,
* and other miscellaneous tasks.
@@ -31,6 +36,7 @@ declare namespace GoogleAppsScript {
Charset: typeof Charset;
DigestAlgorithm: typeof DigestAlgorithm;
MacAlgorithm: typeof MacAlgorithm;
+ RsaAlgorithm: typeof RsaAlgorithm;
base64Decode(encoded: string): Byte[];
base64Decode(encoded: string, charset: Charset): Byte[];
base64DecodeWebSafe(encoded: string): Byte[];
@@ -50,8 +56,12 @@ declare namespace GoogleAppsScript {
computeHmacSignature(algorithm: MacAlgorithm, value: Byte[], key: Byte[]): Byte[];
computeHmacSignature(algorithm: MacAlgorithm, value: string, key: string): Byte[];
computeHmacSignature(algorithm: MacAlgorithm, value: string, key: string, charset: Charset): Byte[];
+ computeRsaSha1Signature(value: string, key: string): Byte[];
+ computeRsaSha1Signature(value: string, key: string, charset: Charset): Byte[];
computeRsaSha256Signature(value: string, key: string): Byte[];
computeRsaSha256Signature(value: string, key: string, charset: Charset): Byte[];
+ computeRsaSignature(algorithm: RsaAlgorithm, value: string, key: string): Byte[];
+ computeRsaSignature(algorithm: RsaAlgorithm, value: string, key: string, charset: Charset): Byte[];
formatDate(date: Date, timeZone: string, format: string): string;
formatString(template: string, ...args: Object[]): string;
getUuid(): string;
@@ -80,4 +90,5 @@ declare namespace GoogleAppsScript {
declare var Charset: GoogleAppsScript.Utilities.Charset;
declare var DigestAlgorithm: GoogleAppsScript.Utilities.DigestAlgorithm;
declare var MacAlgorithm: GoogleAppsScript.Utilities.MacAlgorithm;
+declare var RsaAlgorithm: GoogleAppsScript.Utilities.RsaAlgorithm;
declare var Utilities: GoogleAppsScript.Utilities.Utilities;
diff --git a/types/google-apps-script/index.d.ts b/types/google-apps-script/index.d.ts
index ae463c738b..8e565f334f 100644
--- a/types/google-apps-script/index.d.ts
+++ b/types/google-apps-script/index.d.ts
@@ -11,28 +11,29 @@
// Google Services (Google APIs)
///
-///
-///
///
-///
+///
///
///
///
///
///
-///
+///
///
///
///
///
// Script Services (Other *App / *Service)
+///
+///
+///
///
///
-///
///
-///
+///
///
+///
///
///
///