diff --git a/types/resize-observer-browser/index.d.ts b/types/resize-observer-browser/index.d.ts index 83291fe4a0..5e585f81e5 100644 --- a/types/resize-observer-browser/index.d.ts +++ b/types/resize-observer-browser/index.d.ts @@ -4,6 +4,12 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.7 +declare global { + interface Window { + ResizeObserver: typeof ResizeObserver; + } +} + export class ResizeObserver { constructor(callback: ResizeObserverCallback); disconnect(): void; @@ -11,7 +17,7 @@ export class ResizeObserver { unobserve(target: Element): void; } -export type ResizeObserverCallback = (entries: ResizeObserverEntry[]) => void; +export type ResizeObserverCallback = (entries: ReadonlyArray) => void; export interface ResizeObserverEntry { readonly target: Element; diff --git a/types/resize-observer-browser/test/resize-observer-browser-global.tests.ts b/types/resize-observer-browser/test/resize-observer-browser-global.tests.ts new file mode 100644 index 0000000000..6398b979fe --- /dev/null +++ b/types/resize-observer-browser/test/resize-observer-browser-global.tests.ts @@ -0,0 +1,11 @@ +function resizeObserverCreatesViaWindow(): void { + const resizeObserver = new window.ResizeObserver((entries) => { + const div = document.getElementById('display-div')!; + const rect = entries[0].contentRect; + div.textContent = `${rect.left} ${rect.right}`; + }); + const div = document.getElementById('resized-div')!; + resizeObserver.observe(div); + resizeObserver.unobserve(div); + resizeObserver.disconnect(); +} diff --git a/types/resize-observer-browser/resize-observer-browser-tests.ts b/types/resize-observer-browser/test/resize-observer-browser-module.tests.ts similarity index 100% rename from types/resize-observer-browser/resize-observer-browser-tests.ts rename to types/resize-observer-browser/test/resize-observer-browser-module.tests.ts diff --git a/types/resize-observer-browser/tsconfig.json b/types/resize-observer-browser/tsconfig.json index 849758c836..69a030695e 100644 --- a/types/resize-observer-browser/tsconfig.json +++ b/types/resize-observer-browser/tsconfig.json @@ -19,6 +19,7 @@ }, "files": [ "index.d.ts", - "resize-observer-browser-tests.ts" + "test/resize-observer-browser-global.tests.ts", + "test/resize-observer-browser-module.tests.ts" ] }