From f13990ada014ec063f4bcb5a0ee7b38019e999ed Mon Sep 17 00:00:00 2001 From: Bashamega Date: Fri, 26 Dec 2025 19:57:22 +0200 Subject: [PATCH] Migrate Window Events --- inputfiles/addedTypes.jsonc | 30 +----------------------------- inputfiles/patches/events.kdl | 6 ++++++ src/build/patches.ts | 5 ++++- 3 files changed, 11 insertions(+), 30 deletions(-) diff --git a/inputfiles/addedTypes.jsonc b/inputfiles/addedTypes.jsonc index b258c6c08..78e069034 100644 --- a/inputfiles/addedTypes.jsonc +++ b/inputfiles/addedTypes.jsonc @@ -66,35 +66,7 @@ "name": "Window", "overrideIndexSignatures": [ "[index: number]: Window" - ], - "events": { - "event": [ - { - "name": "devicemotion", - "type": "DeviceMotionEvent" - }, - { - "name": "deviceorientation", - "type": "DeviceOrientationEvent" - }, - { - "name": "deviceorientationabsolute", - "type": "DeviceOrientationEvent" - }, - { - "name": "gamepadconnected", - "type": "GamepadEvent" - }, - { - "name": "gamepaddisconnected", - "type": "GamepadEvent" - }, - { - "name": "DOMContentLoaded", - "type": "Event" - } - ] - } + ] }, "NodeListOf": { "name": "NodeListOf", diff --git a/inputfiles/patches/events.kdl b/inputfiles/patches/events.kdl index 61e107fe3..a4bcca505 100644 --- a/inputfiles/patches/events.kdl +++ b/inputfiles/patches/events.kdl @@ -102,3 +102,9 @@ interface-mixin WindowEventHandlers { interface HTMLMediaElement { event encrypted type=MediaEncryptedEvent } + +interface Window { + event gamepadconnected type=GamepadEvent + event gamepaddisconnected type=GamepadEvent + event DOMContentLoaded type=Event +} diff --git a/src/build/patches.ts b/src/build/patches.ts index eea32a0de..d82f08f35 100644 --- a/src/build/patches.ts +++ b/src/build/patches.ts @@ -130,7 +130,10 @@ function convertKDLNodes(nodes: Node[]): DeepPartial { ); break; case "interface": - interfaces[name] = handleMixinAndInterfaces(node, "interface"); + interfaces[name] = merge( + interfaces[name], + handleMixinAndInterfaces(node, "interface"), + ); break; case "dictionary": dictionary[name] = merge(dictionary[name], handleDictionary(node));