From a3f8507a7740e5ecc4c0f6b462cf28f5de69a442 Mon Sep 17 00:00:00 2001 From: TheCymaera <69355340+TheCymaera@users.noreply.github.com> Date: Fri, 25 Nov 2022 23:59:04 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Copied=20ResizeObserver=20types?= =?UTF-8?q?=20from=20lib.dom.d.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../internal/ResizeObserverSingleton.ts | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/src/runtime/internal/ResizeObserverSingleton.ts b/src/runtime/internal/ResizeObserverSingleton.ts index 615f982e8d..6d1e5b567b 100644 --- a/src/runtime/internal/ResizeObserverSingleton.ts +++ b/src/runtime/internal/ResizeObserverSingleton.ts @@ -32,7 +32,36 @@ export class ResizeObserverSingleton { type Listener = (entry: ResizeObserverEntry)=>any; // TODO: Remove this -type ResizeObserverEntry = any; -type ResizeObserverOptions = any; -type ResizeObserver = any; -declare const ResizeObserver: any; +interface ResizeObserverSize { + readonly blockSize: number; + readonly inlineSize: number; +} + +interface ResizeObserverEntry { + readonly borderBoxSize: readonly ResizeObserverSize[]; + readonly contentBoxSize: readonly ResizeObserverSize[]; + readonly contentRect: DOMRectReadOnly; + readonly devicePixelContentBoxSize: readonly ResizeObserverSize[]; + readonly target: Element; +} + +type ResizeObserverBoxOptions = 'border-box' | 'content-box' | 'device-pixel-content-box'; + +interface ResizeObserverOptions { + box?: ResizeObserverBoxOptions; +} + +interface ResizeObserver { + disconnect(): void; + observe(target: Element, options?: ResizeObserverOptions): void; + unobserve(target: Element): void; +} + +interface ResizeObserverCallback { + (entries: ResizeObserverEntry[], observer: ResizeObserver): void; +} + +declare let ResizeObserver: { + prototype: ResizeObserver; + new(callback: ResizeObserverCallback): ResizeObserver; +};