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) +/// +/// +/// /// /// -/// /// -/// +/// /// +/// /// /// ///