From 22388f546bb0d77c1d7f1ada7744d78e909a1225 Mon Sep 17 00:00:00 2001 From: Chives Date: Tue, 19 Mar 2019 11:15:38 -0700 Subject: [PATCH 1/2] Add typings for ResizeObserver global usage (via window.ResizeObserver) --- types/resize-observer-browser/index.d.ts | 8 +++++++- .../test/resize-observer-global.test.ts | 11 +++++++++++ .../resize-observer-module.test.ts} | 0 types/resize-observer-browser/tsconfig.json | 3 ++- 4 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 types/resize-observer-browser/test/resize-observer-global.test.ts rename types/resize-observer-browser/{resize-observer-browser-tests.ts => test/resize-observer-module.test.ts} (100%) 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-global.test.ts b/types/resize-observer-browser/test/resize-observer-global.test.ts new file mode 100644 index 0000000000..6398b979fe --- /dev/null +++ b/types/resize-observer-browser/test/resize-observer-global.test.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-module.test.ts similarity index 100% rename from types/resize-observer-browser/resize-observer-browser-tests.ts rename to types/resize-observer-browser/test/resize-observer-module.test.ts diff --git a/types/resize-observer-browser/tsconfig.json b/types/resize-observer-browser/tsconfig.json index 849758c836..fcba3665dc 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-global.test.ts", + "test/resize-observer-module.test.ts" ] } From 4c3c3fa206938166ab968aaeb6a5e465d5a37bac Mon Sep 17 00:00:00 2001 From: Chives Date: Tue, 19 Mar 2019 11:47:46 -0700 Subject: [PATCH 2/2] Rename test files to resize-observer-browser pattern --- ...global.test.ts => resize-observer-browser-global.tests.ts} | 0 ...module.test.ts => resize-observer-browser-module.tests.ts} | 0 types/resize-observer-browser/tsconfig.json | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename types/resize-observer-browser/test/{resize-observer-global.test.ts => resize-observer-browser-global.tests.ts} (100%) rename types/resize-observer-browser/test/{resize-observer-module.test.ts => resize-observer-browser-module.tests.ts} (100%) diff --git a/types/resize-observer-browser/test/resize-observer-global.test.ts b/types/resize-observer-browser/test/resize-observer-browser-global.tests.ts similarity index 100% rename from types/resize-observer-browser/test/resize-observer-global.test.ts rename to types/resize-observer-browser/test/resize-observer-browser-global.tests.ts diff --git a/types/resize-observer-browser/test/resize-observer-module.test.ts b/types/resize-observer-browser/test/resize-observer-browser-module.tests.ts similarity index 100% rename from types/resize-observer-browser/test/resize-observer-module.test.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 fcba3665dc..69a030695e 100644 --- a/types/resize-observer-browser/tsconfig.json +++ b/types/resize-observer-browser/tsconfig.json @@ -19,7 +19,7 @@ }, "files": [ "index.d.ts", - "test/resize-observer-global.test.ts", - "test/resize-observer-module.test.ts" + "test/resize-observer-browser-global.tests.ts", + "test/resize-observer-browser-module.tests.ts" ] }