From 8725bc84e0f093d6ec234c6b5ba1de0db0f551b0 Mon Sep 17 00:00:00 2001 From: Peter Fajdiga Date: Wed, 16 Apr 2025 23:50:54 +0200 Subject: [PATCH] use `interface` instead of `type` --- src/generators/docs/keyBindings.ts | 4 ++-- src/lib/config/config.ts | 4 ++-- src/lib/extern/dbuscall.ts | 4 ++-- src/lib/extern/kwin.ts | 24 +++++++++++----------- src/lib/extern/notification.ts | 4 ++-- src/lib/extern/qt.ts | 30 ++++++++++++++-------------- src/lib/keyBindings/Actions.ts | 8 ++++---- src/lib/keyBindings/loader.ts | 8 ++++---- src/lib/layout/Desktop.ts | 12 +++++------ src/lib/layout/LayoutConfig.ts | 4 ++-- src/lib/layout/Range.ts | 4 ++-- src/lib/layout/Window.ts | 4 ++-- src/lib/rules/WindowRule.ts | 4 ++-- src/lib/utils/ShortcutAction.ts | 4 ++-- src/lib/utils/fillSpace.ts | 6 +++--- src/lib/world/ClientManager.ts | 4 ++-- src/lib/world/clientState/Manager.ts | 4 ++-- src/lib/world/clientState/Tiled.ts | 4 ++-- src/tests/utils/Assert.ts | 2 +- src/tests/utils/TestRunner.ts | 2 +- 20 files changed, 70 insertions(+), 70 deletions(-) diff --git a/src/generators/docs/keyBindings.ts b/src/generators/docs/keyBindings.ts index 93148b9..0ee4316 100644 --- a/src/generators/docs/keyBindings.ts +++ b/src/generators/docs/keyBindings.ts @@ -1,7 +1,7 @@ -type DocsKeyBinding = { +interface DocsKeyBinding { description: string; keySequence: string; -}; +} function formatDescription(item: {description: string, comment?: string}) { const suffix = item.comment === undefined ? "" : ` (${item.comment})`; diff --git a/src/lib/config/config.ts b/src/lib/config/config.ts index 2d717c1..59047e8 100644 --- a/src/lib/config/config.ts +++ b/src/lib/config/config.ts @@ -1,4 +1,4 @@ -type Config = { +interface Config { gapsOuterTop: number; gapsOuterBottom: number; gapsOuterLeft: number; @@ -25,4 +25,4 @@ type Config = { tiledKeepBelow: boolean; floatingKeepAbove: boolean; windowRules: string; -}; +} diff --git a/src/lib/extern/dbuscall.ts b/src/lib/extern/dbuscall.ts index f0bc73c..b112aac 100644 --- a/src/lib/extern/dbuscall.ts +++ b/src/lib/extern/dbuscall.ts @@ -1,3 +1,3 @@ -type DBusCall = QmlObject & { +interface DBusCall extends QmlObject { call(): void; -}; +} diff --git a/src/lib/extern/kwin.ts b/src/lib/extern/kwin.ts index af79f43..13b4f09 100644 --- a/src/lib/extern/kwin.ts +++ b/src/lib/extern/kwin.ts @@ -1,10 +1,10 @@ -type KWin = { +interface KWin { __brand: "KWin"; readConfig(key: string, defaultValue: any): any; -}; +} -type Workspace = { +interface Workspace { __brand: "Workspace"; readonly activities: string[]; @@ -28,7 +28,7 @@ type Workspace = { readonly virtualScreenSizeChanged: QSignal<[]>; clientArea(option: ClientAreaOption, output: Output, kwinDesktop: KwinDesktop): QmlRect; -}; +} const enum ClientAreaOption { PlacementArea, @@ -48,10 +48,10 @@ const enum MaximizedMode { Maximized, } -type Tile = { __brand: "Tile" }; -type Output = { __brand: "Output" }; +interface Tile { __brand: "Tile" } +interface Output { __brand: "Output" } -type KwinClient = { +interface KwinClient { __brand: "KwinClient"; readonly caption: string; @@ -96,15 +96,15 @@ type KwinClient = { readonly frameGeometryChanged: QSignal<[oldGeometry: QmlRect]>; setMaximize(vertically: boolean, horizontally: boolean): void; -}; +} -type KwinDesktop = { +interface KwinDesktop { __brand: "KwinDesktop"; readonly id: string; -}; +} -type ShortcutHandler = QmlObject & { +interface ShortcutHandler extends QmlObject { readonly activated: QSignal<[]>; destroy(): void; -}; +} diff --git a/src/lib/extern/notification.ts b/src/lib/extern/notification.ts index c73dddb..5579113 100644 --- a/src/lib/extern/notification.ts +++ b/src/lib/extern/notification.ts @@ -1,3 +1,3 @@ -type Notification = QmlObject & { +interface Notification extends QmlObject { sendEvent(): void; -}; +} diff --git a/src/lib/extern/qt.ts b/src/lib/extern/qt.ts index 39adb56..a9c4e7d 100644 --- a/src/lib/extern/qt.ts +++ b/src/lib/extern/qt.ts @@ -1,27 +1,27 @@ -type Console = { +interface Console { __brand: "Console"; log(...args: any[]): void; assert(assertion: boolean, message?: string): void; -}; +} -type Qt = { +interface Qt { __brand: "Qt"; rect(x: number, y: number, width: number, height: number): QmlRect; createQmlObject(qml: string, parent: QmlObject): QmlObject; -}; +} -type QmlObject = { __brand: "QmlObject" }; +interface QmlObject { __brand: "QmlObject" } -type QmlPoint = { +interface QmlPoint { __brand: "QmlPoint"; x: number; y: number; -}; +} -type QmlRect = { +interface QmlRect { __brand: "QmlRect"; x: number; @@ -32,25 +32,25 @@ type QmlRect = { readonly bottom: number; // top + height readonly left: number; readonly right: number; // left + width -}; +} -type QmlSize = { +interface QmlSize { __brand: "QmlSize"; width: number; height: number; -}; +} -type QSignal = { +interface QSignal { __brand: "QSignal"; connect(handler: (...args: [...T]) => void): void; disconnect(handler: (...args: [...T]) => void): void; -}; +} -type QmlTimer = QmlObject & { +interface QmlTimer extends QmlObject { interval: number; readonly triggered: QSignal<[]>; restart(): void; destroy(): void; -}; +} diff --git a/src/lib/keyBindings/Actions.ts b/src/lib/keyBindings/Actions.ts index 5048131..e6f6dc7 100644 --- a/src/lib/keyBindings/Actions.ts +++ b/src/lib/keyBindings/Actions.ts @@ -417,17 +417,17 @@ class Actions { } namespace Actions { - export type Config = { + export interface Config { manualScrollStep: number; presetWidths: { next: (currentWidth: number, minWidth: number, maxWidth: number) => number; prev: (currentWidth: number, minWidth: number, maxWidth: number) => number }; columnResizer: ColumnResizer; - }; + } - export type ColumnResizer = { + export interface ColumnResizer { increaseWidth(column: Column): void; decreaseWidth(column: Column): void; - }; + } } diff --git a/src/lib/keyBindings/loader.ts b/src/lib/keyBindings/loader.ts index bdfcae8..23a5f8c 100644 --- a/src/lib/keyBindings/loader.ts +++ b/src/lib/keyBindings/loader.ts @@ -1,19 +1,19 @@ -type KeyBinding = { +interface KeyBinding { name: string; description: string; comment?: string; defaultKeySequence?: string; action: () => void; -}; +} -type NumKeyBinding = { +interface NumKeyBinding { name: string; description: string; comment?: string; defaultModifiers: string; fKeys: boolean; action: (i: number) => void; -}; +} function catchWrap(f: () => void) { return () => { diff --git a/src/lib/layout/Desktop.ts b/src/lib/layout/Desktop.ts index 54eccf9..cf73348 100644 --- a/src/lib/layout/Desktop.ts +++ b/src/lib/layout/Desktop.ts @@ -175,7 +175,7 @@ class Desktop { } namespace Desktop { - export type Config = { + export interface Config { marginTop: number; marginBottom: number; marginLeft: number; @@ -185,7 +185,7 @@ namespace Desktop { gestureScrollStep: number; scroller: Desktop.Scroller; clamper: Desktop.Clamper; - }; + } export class ColumnRange { private left: Column; @@ -259,11 +259,11 @@ namespace Desktop { } } - export type Scroller = { + export interface Scroller { scrollToColumn(desktop: Desktop, column: Column): void; - }; + } - export type Clamper = { + export interface Clamper { clampScrollX(desktop: Desktop, x: number): number; - }; + } } diff --git a/src/lib/layout/LayoutConfig.ts b/src/lib/layout/LayoutConfig.ts index 2ba04e1..535041a 100644 --- a/src/lib/layout/LayoutConfig.ts +++ b/src/lib/layout/LayoutConfig.ts @@ -1,4 +1,4 @@ -type LayoutConfig = { +interface LayoutConfig { gapsInnerHorizontal: number; gapsInnerVertical: number; stackOffsetX: number; @@ -11,4 +11,4 @@ type LayoutConfig = { tiledKeepBelow: boolean; maximizedKeepAbove: boolean; untileOnDrag: boolean; -}; +} diff --git a/src/lib/layout/Range.ts b/src/lib/layout/Range.ts index 39bf6fc..ed1af50 100644 --- a/src/lib/layout/Range.ts +++ b/src/lib/layout/Range.ts @@ -1,8 +1,8 @@ -type Range = { +interface Range { getLeft(): number; getRight(): number; getWidth(): number; -}; +} namespace Range { export function create(x: number, width: number) { diff --git a/src/lib/layout/Window.ts b/src/lib/layout/Window.ts index a1da390..70507a1 100644 --- a/src/lib/layout/Window.ts +++ b/src/lib/layout/Window.ts @@ -128,8 +128,8 @@ class Window { } namespace Window { - export type State = { + export interface State { fullScreen: boolean; maximizedMode: MaximizedMode; - }; + } } diff --git a/src/lib/rules/WindowRule.ts b/src/lib/rules/WindowRule.ts index 0f257ca..a52b578 100644 --- a/src/lib/rules/WindowRule.ts +++ b/src/lib/rules/WindowRule.ts @@ -1,5 +1,5 @@ -type WindowRule = { +interface WindowRule { class: string | undefined; caption: string | undefined; tile: boolean; -}; +} diff --git a/src/lib/utils/ShortcutAction.ts b/src/lib/utils/ShortcutAction.ts index 2067256..24544c5 100644 --- a/src/lib/utils/ShortcutAction.ts +++ b/src/lib/utils/ShortcutAction.ts @@ -29,9 +29,9 @@ ${sequenceLine}}`, } namespace ShortcutAction { - export type KeyBinding = { + export interface KeyBinding { name: string; description: string; defaultKeySequence?: string; - }; + } } diff --git a/src/lib/utils/fillSpace.ts b/src/lib/utils/fillSpace.ts index 0543dbf..c1c6840 100644 --- a/src/lib/utils/fillSpace.ts +++ b/src/lib/utils/fillSpace.ts @@ -84,13 +84,13 @@ function fillSpace(availableSpace: number, items: { min: number, max: number }[] } } - type Range = { + interface Range { start: number, end: number, n: number, - }; + } - type Fencepost = { + interface Fencepost { value: number, nMin: number, nMax: number, diff --git a/src/lib/world/ClientManager.ts b/src/lib/world/ClientManager.ts index 4cc0dbf..ee58a3e 100644 --- a/src/lib/world/ClientManager.ts +++ b/src/lib/world/ClientManager.ts @@ -214,7 +214,7 @@ class ClientManager { } namespace ClientManager { - export type Config = { + export interface Config { floatingKeepAbove: boolean; - }; + } } diff --git a/src/lib/world/clientState/Manager.ts b/src/lib/world/clientState/Manager.ts index 4549427..f6fe30d 100644 --- a/src/lib/world/clientState/Manager.ts +++ b/src/lib/world/clientState/Manager.ts @@ -20,7 +20,7 @@ namespace ClientState { } } - export type State = { + export interface State { destroy(passFocus: boolean): void; - }; + } } diff --git a/src/lib/world/clientState/Tiled.ts b/src/lib/world/clientState/Tiled.ts index 9d3dd10..e854184 100644 --- a/src/lib/world/clientState/Tiled.ts +++ b/src/lib/world/clientState/Tiled.ts @@ -253,8 +253,8 @@ namespace ClientState { } namespace Tiled { - export type WindowState = { + export interface WindowState { skipSwitcher: boolean; - }; + } } } diff --git a/src/tests/utils/Assert.ts b/src/tests/utils/Assert.ts index 17dd3f7..d3822ba 100644 --- a/src/tests/utils/Assert.ts +++ b/src/tests/utils/Assert.ts @@ -1,5 +1,5 @@ namespace Assert { - type Options = { + interface Options { message?: string, skip?: number, } diff --git a/src/tests/utils/TestRunner.ts b/src/tests/utils/TestRunner.ts index 0dceb4d..e4ac590 100644 --- a/src/tests/utils/TestRunner.ts +++ b/src/tests/utils/TestRunner.ts @@ -16,7 +16,7 @@ class TestRunner { } namespace TestRunner { - export type Test = { + export interface Test { name: string, count: number, f: () => void,