diff --git a/.eslintrc.json b/.eslintrc.json index c3cabcdac5..59326c9abf 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -171,6 +171,7 @@ "@typescript-eslint/array-type": "error", "@typescript-eslint/consistent-type-assertions": "error", + "@typescript-eslint/consistent-type-definitions": ["error", "type"], "@typescript-eslint/consistent-type-imports": "error", "@typescript-eslint/explicit-function-return-type": [ "error", diff --git a/web/src/global.d.ts b/web/src/global.d.ts index f40ae0dc17..7e38aacdf6 100644 --- a/web/src/global.d.ts +++ b/web/src/global.d.ts @@ -5,6 +5,7 @@ declare let zulip_test: any; // eslint-disable-line @typescript-eslint/no-explicit-any +// eslint-disable-next-line @typescript-eslint/consistent-type-definitions interface JQuery { expectOne(): JQuery; tab(action?: string): this; // From web/third/bootstrap diff --git a/web/src/message_parser.ts b/web/src/message_parser.ts index 85a6f3a64d..eb5c6d708b 100644 --- a/web/src/message_parser.ts +++ b/web/src/message_parser.ts @@ -3,9 +3,9 @@ import $ from "jquery"; // TODO: Move this to message_store when it is // converted to TypeScript. -interface Message { +type Message = { content: string; -} +}; // We need to check if the message content contains the specified HTML // elements. We wrap the message.content in a
; this is diff --git a/web/src/settings_config.ts b/web/src/settings_config.ts index aba18e4dc7..a7aa2f134c 100644 --- a/web/src/settings_config.ts +++ b/web/src/settings_config.ts @@ -108,7 +108,7 @@ export const twenty_four_hour_time_values = { }, }; -export interface DisplaySettings { +export type DisplaySettings = { settings: { user_display_settings: string[]; }; @@ -116,7 +116,7 @@ export interface DisplaySettings { high_contrast_mode: boolean; dense_mode: boolean; }; -} +}; /* istanbul ignore next */ export const get_all_display_settings = (): DisplaySettings => ({ @@ -761,7 +761,7 @@ export function get_notifications_table_row_data( }); } -export interface AllNotifications { +export type AllNotifications = { general_settings: {label: string; notification_settings: NotificationSettingCheckbox[]}[]; settings: { desktop_notification_settings: string[]; @@ -773,7 +773,7 @@ export interface AllNotifications { push_notifications: boolean; enable_online_push_notifications: boolean; }; -} +}; export const all_notifications = (settings_object: Settings): AllNotifications => ({ general_settings: [ diff --git a/web/src/url-template.d.ts b/web/src/url-template.d.ts index a7d7e3180e..dff60bf82f 100644 --- a/web/src/url-template.d.ts +++ b/web/src/url-template.d.ts @@ -6,14 +6,14 @@ declare module "url-template" { export type PrimitiveValue = string | number | boolean | null; - export interface Template { + export type Template = { expand( context: Record< string, PrimitiveValue | PrimitiveValue[] | Record >, ): string; - } + }; export function parse(template: string): Template; }