diff --git a/types/culori/src/map.d.ts b/types/culori/src/map.d.ts index 8940d44cbafc87..3f959818c50166 100644 --- a/types/culori/src/map.d.ts +++ b/types/culori/src/map.d.ts @@ -29,6 +29,7 @@ declare function mapper(fn: MapFn<"rgb">, mode?: undefined, preserve_mode?: fals declare function mapper(fn: MapFn<"rgb">, mode: undefined, preserve_mode: true): ColorToSameColorMapper; declare function mapper(fn: MapFn, mode: M, preserve_mode?: false): ColorToPredefinedColorMapper; declare function mapper(fn: MapFn, mode: M, preserve_mode: true): ColorToSameColorMapper; +declare function mapper(fn: MapFn, mode: null, preserve_mode?: false): ColorToSameColorMapper; declare function mapAlphaMultiply(v: number, ch: Channel, c: Color): number; diff --git a/types/culori/test/mapper.test.ts b/types/culori/test/mapper.test.ts index f8a10fa5f26f8b..de20e31e487739 100644 --- a/types/culori/test/mapper.test.ts +++ b/types/culori/test/mapper.test.ts @@ -46,3 +46,11 @@ mapper( undefined, true, ); + +const halver = mapper(v => v / 2, null); + +// $ExpectType Rgb +halver({ mode: "rgb", r: 0.5, b: 0.2, g: 0.1 }); + +// $ExpectType Hsl +halver({ h: 240, s: 1, l: 0.5, mode: "hsl", alpha: 0.5 }); diff --git a/types/google-apps-script/google-apps-script.calendar.d.ts b/types/google-apps-script/google-apps-script.calendar.d.ts index 1981d82c764d1d..bd052b93f386f5 100644 --- a/types/google-apps-script/google-apps-script.calendar.d.ts +++ b/types/google-apps-script/google-apps-script.calendar.d.ts @@ -80,6 +80,7 @@ declare namespace GoogleAppsScript { interface CalendarApp { Color: typeof Color; EventColor: typeof EventColor; + EventTransparency: typeof EventTransparency; EventType: typeof EventType; GuestStatus: typeof GuestStatus; Month: typeof Base.Month; @@ -195,6 +196,7 @@ declare namespace GoogleAppsScript { getStartTime(): Base.Date; getTag(key: string): string; getTitle(): string; + getTransparency(): EventTransparency; getVisibility(): Visibility; guestsCanInviteOthers(): boolean; guestsCanModify(): boolean; @@ -208,7 +210,7 @@ declare namespace GoogleAppsScript { setAllDayDate(date: Base.Date): CalendarEvent; setAllDayDates(startDate: Base.Date, endDate: Base.Date): CalendarEvent; setAnyoneCanAddSelf(anyoneCanAddSelf: boolean): CalendarEvent; - setColor(color: string): CalendarEvent; + setColor(color: string | EventColor): CalendarEvent; setDescription(description: string): CalendarEvent; setGuestsCanInviteOthers(guestsCanInviteOthers: boolean): CalendarEvent; setGuestsCanModify(guestsCanModify: boolean): CalendarEvent; @@ -218,6 +220,7 @@ declare namespace GoogleAppsScript { setTag(key: string, value: string): CalendarEvent; setTime(startTime: Base.Date, endTime: Base.Date): CalendarEvent; setTitle(title: string): CalendarEvent; + setTransparency(transparency: EventTransparency): CalendarEvent; setVisibility(visibility: Visibility): CalendarEvent; } /** @@ -335,6 +338,13 @@ declare namespace GoogleAppsScript { getName(): string; /** @deprecated DO NOT USE */ getStatus(): string; } + /** + * An enum representing the transparency of an event. + */ + enum EventTransparency { + OPAQUE, + TRANSPARENT, + } /** * Represents the recurrence settings for an event series. */ diff --git a/types/google-apps-script/google-apps-script.card-service.d.ts b/types/google-apps-script/google-apps-script.card-service.d.ts index 560e91cc6a8042..f0e71dddc13d9e 100644 --- a/types/google-apps-script/google-apps-script.card-service.d.ts +++ b/types/google-apps-script/google-apps-script.card-service.d.ts @@ -650,6 +650,8 @@ declare namespace GoogleAppsScript { CHECK_BOX, RADIO_BUTTON, DROPDOWN, + SWITCH, + MULTI_SELECT, } /** * Autocomplete suggestions to supplement a TextInput widget. diff --git a/types/google-apps-script/test/google-apps-script-tests.ts b/types/google-apps-script/test/google-apps-script-tests.ts index 5fd543fc572ef1..81f17236f5287c 100644 --- a/types/google-apps-script/test/google-apps-script-tests.ts +++ b/types/google-apps-script/test/google-apps-script-tests.ts @@ -39,19 +39,129 @@ const postTest = (payload: object): string => { return UrlFetchApp.fetch(url, params).getContentText(); }; -// Test CalendarApp.EventType -const testCalendarAppEventType = (): void => { - const event = CalendarApp.getEventById("testevent"); - const type = event.getEventType(); - const birthdayType = CalendarApp.EventType.BIRTHDAY; - birthdayType !== type; - - type !== CalendarApp.EventType.FOCUS_TIME; - - type == GoogleAppsScript.Calendar.EventType.OUT_OF_OFFICE; - // @ts-expect-error - type == GoogleAppsScript.Calendar.EventType.STANDARD; -}; +// CalendarApp +// https://developers.google.com/apps-script/reference/calendar/calendar-app + +// CalendarApp.Color +// https://developers.google.com/apps-script/reference/calendar/color + +function testCalendarAppColor() { + CalendarApp.Color.BLUE; + CalendarApp.Color.BROWN; + CalendarApp.Color.CHARCOAL; + CalendarApp.Color.CHESTNUT; + CalendarApp.Color.GRAY; + CalendarApp.Color.GREEN; + CalendarApp.Color.INDIGO; + CalendarApp.Color.LIME; + CalendarApp.Color.MUSTARD; + CalendarApp.Color.OLIVE; + CalendarApp.Color.ORANGE; + CalendarApp.Color.PINK; + CalendarApp.Color.PLUM; + CalendarApp.Color.PURPLE; + CalendarApp.Color.RED; + CalendarApp.Color.RED_ORANGE; + CalendarApp.Color.SEA_BLUE; + CalendarApp.Color.SLATE; + CalendarApp.Color.TEAL; + CalendarApp.Color.TURQOISE; + CalendarApp.Color.YELLOW; +} + +// CalendarApp.EventTransparency +// https://developers.google.com/apps-script/reference/calendar/event-transparency + +function testCalendarAppEventTransparency() { + CalendarApp.EventTransparency.OPAQUE; + CalendarApp.EventTransparency.TRANSPARENT; +} + +// CalendarApp.EventType +// https://developers.google.com/apps-script/reference/calendar/event-type + +function testCalendarAppEventType() { + CalendarApp.EventType.DEFAULT; + CalendarApp.EventType.BIRTHDAY; + CalendarApp.EventType.FOCUS_TIME; + CalendarApp.EventType.FROM_GMAIL; + CalendarApp.EventType.OUT_OF_OFFICE; + CalendarApp.EventType.WORKING_LOCATION; +} + +// CalendarEvent +// https://developers.google.com/apps-script/reference/calendar/calendar-event + +function testCalendarEvent() { + const event = CalendarApp.getEventById("abc123456"); + + event.addEmailReminder(15); // $ExpectType CalendarEvent + event.addGuest("user@example.com"); // $ExpectType CalendarEvent + event.addPopupReminder(10); // $ExpectType CalendarEvent + event.addSmsReminder(5); // $ExpectType CalendarEvent + event.anyoneCanAddSelf(); // $ExpectType boolean + event.deleteEvent(); // $ExpectType void + event.deleteTag("sometag"); // $ExpectType CalendarEvent + event.getAllDayEndDate(); // $ExpectType Date + event.getAllDayStartDate(); // $ExpectType Date + event.getAllTagKeys(); // $ExpectType string[] + event.getColor(); // $ExpectType string + event.getCreators(); // $ExpectType string[] + event.getDateCreated(); // $ExpectType Date + event.getDescription(); // $ExpectType string + event.getEmailReminders(); // $ExpectType number[] + event.getEndTime(); // $ExpectType Date + event.getEventSeries(); // $ExpectType CalendarEventSeries + event.getEventType(); // $ExpectType EventType + event.getGuestByEmail("user@example.com"); // $ExpectType EventGuest + event.getGuestList(); // $ExpectType EventGuest[] + event.getGuestList(true); // $ExpectType EventGuest[] + event.getId(); // $ExpectType string + event.getLastUpdated(); // $ExpectType Date + event.getLocation(); // $ExpectType string + event.getMyStatus(); // $ExpectType GuestStatus + event.getOriginalCalendarId(); // $ExpectType string + event.getPopupReminders(); // $ExpectType number[] + event.getSmsReminders(); // $ExpectType number[] + event.getStartTime(); // $ExpectType Date + event.getTag("somekey"); // $ExpectType string + event.getTitle(); // $ExpectType string + event.getTransparency(); // $ExpectType EventTransparency + event.getVisibility(); // $ExpectType Visibility + event.guestsCanInviteOthers(); // $ExpectType boolean + event.guestsCanModify(); // $ExpectType boolean + event.guestsCanSeeGuests(); // $ExpectType boolean + event.isAllDayEvent(); // $ExpectType boolean + event.isOwnedByMe(); // $ExpectType boolean + event.isRecurringEvent(); // $ExpectType boolean + event.removeAllReminders(); // $ExpectType CalendarEvent + event.removeGuest("user@example.com"); // $ExpectType CalendarEvent + event.resetRemindersToDefault(); // $ExpectType CalendarEvent + event.setAllDayDate(new Date("Feb 17, 2023")); // $ExpectType CalendarEvent + // $ExpectType CalendarEvent + event.setAllDayDates( + new Date("Feb 18, 2023"), + new Date("Feb 25, 2023"), + ); + event.setAnyoneCanAddSelf(true); // $ExpectType CalendarEvent + event.setColor("3"); // $ExpectType CalendarEvent + event.setColor(CalendarApp.EventColor.GREEN); // $ExpectType CalendarEvent + event.setDescription("some description"); // $ExpectType CalendarEvent + event.setGuestsCanInviteOthers(true); // $ExpectType CalendarEvent + event.setGuestsCanModify(true); // $ExpectType CalendarEvent + event.setGuestsCanSeeGuests(true); // $ExpectType CalendarEvent + event.setLocation("some location"); // $ExpectType CalendarEvent + event.setMyStatus(CalendarApp.GuestStatus.MAYBE); // $ExpectType CalendarEvent + event.setTag("somekey", "somevalue"); // $ExpectType CalendarEvent + // $ExpectType CalendarEvent + event.setTime( + new Date("Feb 20, 2023 11:00:00"), + new Date("Feb 20, 2023 12:00:00"), + ); + event.setTitle("some location"); // $ExpectType CalendarEvent + event.setTransparency(CalendarApp.EventTransparency.TRANSPARENT); // $ExpectType CalendarEvent + event.setVisibility(CalendarApp.Visibility.PRIVATE); // $ExpectType CalendarEvent +} // ScriptApp // https://developers.google.com/apps-script/reference/script/script-app @@ -524,6 +634,18 @@ CardService.newOpenLink().setOnClose(CardService.OnClose.NOTHING); // $ExpectTyp CardService.newOpenLink().setOnClose(CardService.OnClose.RELOAD); // $ExpectType OpenLink CardService.newOpenLink().setOnClose(CardService.OnClose.RELOAD_ADD_ON); // $ExpectType OpenLink +// Class CardService.SelectionInput +// https://developers.google.com/apps-script/reference/card-service/selection-input +CardService.newSelectionInput(); // $ExpectType SelectionInput + +// Enum SelectionInputType +// https://developers.google.com/apps-script/reference/card-service/selection-input-type +CardService.SelectionInputType.CHECK_BOX; +CardService.SelectionInputType.RADIO_BUTTON; +CardService.SelectionInputType.DROPDOWN; +CardService.SelectionInputType.SWITCH; +CardService.SelectionInputType.MULTI_SELECT; + DriveApp.createShortcut("").getTargetId(); DriveApp.createFile("", "").moveTo(DriveApp.getFolderById(""));