From 28a8ad8439307f87bcd8e5d12e50fe1e849ed82f Mon Sep 17 00:00:00 2001 From: Frank Li Date: Fri, 16 Nov 2018 14:32:50 -0800 Subject: [PATCH] [element-resize-detector] Updated type definition (#30501) * Update tsconfig.json * Update element-resize-detector-tests.ts * Update index.d.ts * Update index.d.ts * Update element-resize-detector-tests.ts * Update index.d.ts * Update index.d.ts * Update element-resize-detector-tests.ts * Update index.d.ts * Update index.d.ts * Update index.d.ts * Update index.d.ts --- .../element-resize-detector-tests.ts | 18 +++++++------ types/element-resize-detector/index.d.ts | 27 +++++++++++++++---- types/element-resize-detector/tsconfig.json | 4 +-- 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/types/element-resize-detector/element-resize-detector-tests.ts b/types/element-resize-detector/element-resize-detector-tests.ts index 3c7af76280..fca7275623 100644 --- a/types/element-resize-detector/element-resize-detector-tests.ts +++ b/types/element-resize-detector/element-resize-detector-tests.ts @@ -1,19 +1,21 @@ import * as elementResizeDetectorMaker from 'element-resize-detector'; const erd = elementResizeDetectorMaker({ - strategy: "scroll" - }); + strategy: "scroll", + debug: true, + callOnAdd: false +}); -const testElement: HTMLElement = null; +const testElement: HTMLElement | null = null; - erd.listenTo(testElement, (element) => { +erd.listenTo(testElement!, (element) => { const width = element.offsetWidth; const height = element.offsetHeight; console.log(`Size: " + ${width} + "x" + ${height}`); - }); +}); - erd.removeListener(testElement, (testElement) => {}); +erd.removeListener(testElement!, (testElement) => {}); - erd.removeAllListeners(testElement); +erd.removeAllListeners(testElement!); - erd.uninstall(testElement); +erd.uninstall(testElement!); diff --git a/types/element-resize-detector/index.d.ts b/types/element-resize-detector/index.d.ts index 5b6c1f00aa..e2648dd311 100644 --- a/types/element-resize-detector/index.d.ts +++ b/types/element-resize-detector/index.d.ts @@ -1,20 +1,37 @@ // Type definitions for element-resize-detector 1.1 // Project: https://github.com/wnr/element-resize-detector // Definitions by: Saransh Kataria +// Frank Li // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare function elementResizeDetectorMaker(options?: elementResizeDetectorMaker.ErdmOptions): elementResizeDetectorMaker.Erd; declare namespace elementResizeDetectorMaker { interface ErdmOptions { - strategy?: 'scroll' | 'object'; + strategy?: 'scroll' | 'object'; + reporter?: ReporterProps; + callOnAdd?: boolean; + idHandler?: IdHandlerProps; + debug?: boolean; + } + + interface IdHandlerProps { + get(element: HTMLElement, readonly: boolean): string; + set(element: HTMLElement): string; + } + + interface ReporterProps { + log(): void; + warn(): void; + error(): void; } interface Erd { - listenTo(element: HTMLElement, callback: (elem: HTMLElement) => void): void; - removeListener(element: HTMLElement, callback: (elem: HTMLElement) => void): void; - removeAllListeners(element: HTMLElement): void; - uninstall(element: HTMLElement): void; + listenTo(element: HTMLElement, callback: (elem: HTMLElement) => void): void; + removeListener(element: HTMLElement, callback: (elem: HTMLElement) => void): void; + removeAllListeners(element: HTMLElement): void; + uninstall(element: HTMLElement): void; } } + export = elementResizeDetectorMaker; diff --git a/types/element-resize-detector/tsconfig.json b/types/element-resize-detector/tsconfig.json index 460cefc43e..b71ec294c5 100644 --- a/types/element-resize-detector/tsconfig.json +++ b/types/element-resize-detector/tsconfig.json @@ -7,7 +7,7 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "strictFunctionTypes": true, "baseUrl": "../", "typeRoots": [ @@ -21,4 +21,4 @@ "index.d.ts", "element-resize-detector-tests.ts" ] -} \ No newline at end of file +}