From 3b36e391a7fa6afc79e894ae1a5ab567f0d4126b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kov=C3=A1cs=20Vince?= Date: Tue, 16 May 2017 22:53:49 +0200 Subject: [PATCH 1/9] Type definitions for get-node-dimensions 1.2 --- .../get-node-dimensions-tests.ts | 3 +++ types/get-node-dimensions/index.d.ts | 17 ++++++++++++++ types/get-node-dimensions/tsconfig.json | 22 +++++++++++++++++++ types/get-node-dimensions/tslint.json | 1 + 4 files changed, 43 insertions(+) create mode 100644 types/get-node-dimensions/get-node-dimensions-tests.ts create mode 100644 types/get-node-dimensions/index.d.ts create mode 100644 types/get-node-dimensions/tsconfig.json create mode 100644 types/get-node-dimensions/tslint.json diff --git a/types/get-node-dimensions/get-node-dimensions-tests.ts b/types/get-node-dimensions/get-node-dimensions-tests.ts new file mode 100644 index 0000000000..224d9608e0 --- /dev/null +++ b/types/get-node-dimensions/get-node-dimensions-tests.ts @@ -0,0 +1,3 @@ +import * as NodeDimensions from 'get-node-dimensions'; + +const dimensions: NodeDimensions.NodeDimensions = NodeDimensions.getNodeDimension(); diff --git a/types/get-node-dimensions/index.d.ts b/types/get-node-dimensions/index.d.ts new file mode 100644 index 0000000000..cea8944943 --- /dev/null +++ b/types/get-node-dimensions/index.d.ts @@ -0,0 +1,17 @@ +// Type definitions for get-node-dimensions 1.2 +// Project: https://github.com/souporserious/get-node-dimensions +// Definitions by: Kovács Vince +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export as namespace getNodeDimensions; + +export interface NodeDimensions { + width: number, + height: number, + top: number, + right: number, + bottom: number, + left: number +} + +export function getNodeDimension (): NodeDimensions; diff --git a/types/get-node-dimensions/tsconfig.json b/types/get-node-dimensions/tsconfig.json new file mode 100644 index 0000000000..f8eec26e74 --- /dev/null +++ b/types/get-node-dimensions/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "get-node-dimensions-tests.ts" + ] +} diff --git a/types/get-node-dimensions/tslint.json b/types/get-node-dimensions/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/get-node-dimensions/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } From aebadcfc8e4d46af49a354cdf7ffa54ddf391fe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kov=C3=A1cs=20Vince?= Date: Wed, 17 May 2017 08:16:40 +0200 Subject: [PATCH 2/9] Commit fixed tslint errors --- types/get-node-dimensions/index.d.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/types/get-node-dimensions/index.d.ts b/types/get-node-dimensions/index.d.ts index cea8944943..5e9d4b393d 100644 --- a/types/get-node-dimensions/index.d.ts +++ b/types/get-node-dimensions/index.d.ts @@ -6,12 +6,12 @@ export as namespace getNodeDimensions; export interface NodeDimensions { - width: number, - height: number, - top: number, - right: number, - bottom: number, - left: number + width: number; + height: number; + top: number; + right: number; + bottom: number; + left: number; } -export function getNodeDimension (): NodeDimensions; +export function getNodeDimension(): NodeDimensions; From e33354e4c044bce0c285843ad7d695592b8916ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kov=C3=A1cs=20Vince?= Date: Wed, 17 May 2017 09:07:18 +0200 Subject: [PATCH 3/9] Added missing parameters --- types/get-node-dimensions/get-node-dimensions-tests.ts | 4 +++- types/get-node-dimensions/index.d.ts | 10 +++++++++- types/get-node-dimensions/tsconfig.json | 3 ++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/types/get-node-dimensions/get-node-dimensions-tests.ts b/types/get-node-dimensions/get-node-dimensions-tests.ts index 224d9608e0..dcc9ce36ff 100644 --- a/types/get-node-dimensions/get-node-dimensions-tests.ts +++ b/types/get-node-dimensions/get-node-dimensions-tests.ts @@ -1,3 +1,5 @@ import * as NodeDimensions from 'get-node-dimensions'; -const dimensions: NodeDimensions.NodeDimensions = NodeDimensions.getNodeDimension(); +const div = document.getElementById('div-to-measure'); + +const dimensions: NodeDimensions.NodeDimensions = NodeDimensions.getNodeDimension(div); diff --git a/types/get-node-dimensions/index.d.ts b/types/get-node-dimensions/index.d.ts index 5e9d4b393d..4fbd7aca19 100644 --- a/types/get-node-dimensions/index.d.ts +++ b/types/get-node-dimensions/index.d.ts @@ -14,4 +14,12 @@ export interface NodeDimensions { left: number; } -export function getNodeDimension(): NodeDimensions; +export interface NodeDimensionsOptions { + margin: boolean; + clone: boolean; + display: string; + width: string; + height: string; +} + +export function getNodeDimension (element: HTMLElement, options?: NodeDimensionsOptions): NodeDimensions; diff --git a/types/get-node-dimensions/tsconfig.json b/types/get-node-dimensions/tsconfig.json index f8eec26e74..74d9b030bf 100644 --- a/types/get-node-dimensions/tsconfig.json +++ b/types/get-node-dimensions/tsconfig.json @@ -2,7 +2,8 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es6" + "es6", + "dom" ], "noImplicitAny": true, "noImplicitThis": true, From f7b4886a6ddcb7cd03efc3b47d5390a336c8e94a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kov=C3=A1cs=20Vince?= Date: Wed, 17 May 2017 09:13:50 +0200 Subject: [PATCH 4/9] Fixed method name --- types/get-node-dimensions/get-node-dimensions-tests.ts | 4 +++- types/get-node-dimensions/index.d.ts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/types/get-node-dimensions/get-node-dimensions-tests.ts b/types/get-node-dimensions/get-node-dimensions-tests.ts index dcc9ce36ff..9c85e69534 100644 --- a/types/get-node-dimensions/get-node-dimensions-tests.ts +++ b/types/get-node-dimensions/get-node-dimensions-tests.ts @@ -2,4 +2,6 @@ import * as NodeDimensions from 'get-node-dimensions'; const div = document.getElementById('div-to-measure'); -const dimensions: NodeDimensions.NodeDimensions = NodeDimensions.getNodeDimension(div); +if (div !== null) { + const dimensions: NodeDimensions.NodeDimensions = NodeDimensions.getNodeDimensions(div); +} diff --git a/types/get-node-dimensions/index.d.ts b/types/get-node-dimensions/index.d.ts index 4fbd7aca19..3bcb292d66 100644 --- a/types/get-node-dimensions/index.d.ts +++ b/types/get-node-dimensions/index.d.ts @@ -22,4 +22,4 @@ export interface NodeDimensionsOptions { height: string; } -export function getNodeDimension (element: HTMLElement, options?: NodeDimensionsOptions): NodeDimensions; +export function getNodeDimensions(element: HTMLElement, options?: NodeDimensionsOptions): NodeDimensions; From 63a2f5eefb1e805cdbb99261f5d5d8978226572b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kov=C3=A1cs=20Vince?= Date: Wed, 17 May 2017 10:06:49 +0200 Subject: [PATCH 5/9] Export getNodeDimensions function as default --- types/get-node-dimensions/get-node-dimensions-tests.ts | 4 ++-- types/get-node-dimensions/index.d.ts | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/types/get-node-dimensions/get-node-dimensions-tests.ts b/types/get-node-dimensions/get-node-dimensions-tests.ts index 9c85e69534..69d49e6fc6 100644 --- a/types/get-node-dimensions/get-node-dimensions-tests.ts +++ b/types/get-node-dimensions/get-node-dimensions-tests.ts @@ -1,7 +1,7 @@ -import * as NodeDimensions from 'get-node-dimensions'; +import getNodeDimensions, {NodeDimensions} from 'get-node-dimensions'; const div = document.getElementById('div-to-measure'); if (div !== null) { - const dimensions: NodeDimensions.NodeDimensions = NodeDimensions.getNodeDimensions(div); + const dimensions: NodeDimensions = getNodeDimensions(div); } diff --git a/types/get-node-dimensions/index.d.ts b/types/get-node-dimensions/index.d.ts index 3bcb292d66..96c2ec466f 100644 --- a/types/get-node-dimensions/index.d.ts +++ b/types/get-node-dimensions/index.d.ts @@ -3,8 +3,6 @@ // Definitions by: Kovács Vince // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -export as namespace getNodeDimensions; - export interface NodeDimensions { width: number; height: number; @@ -22,4 +20,6 @@ export interface NodeDimensionsOptions { height: string; } -export function getNodeDimensions(element: HTMLElement, options?: NodeDimensionsOptions): NodeDimensions; +declare function getNodeDimensions(element: HTMLElement, options?: NodeDimensionsOptions): NodeDimensions; + +export default getNodeDimensions From c26e18bef14520717f4248a652ae632e538f3501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kov=C3=A1cs=20Vince?= Date: Wed, 17 May 2017 10:19:04 +0200 Subject: [PATCH 6/9] Add missing semicolon --- types/get-node-dimensions/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/get-node-dimensions/index.d.ts b/types/get-node-dimensions/index.d.ts index 96c2ec466f..105557e39a 100644 --- a/types/get-node-dimensions/index.d.ts +++ b/types/get-node-dimensions/index.d.ts @@ -22,4 +22,4 @@ export interface NodeDimensionsOptions { declare function getNodeDimensions(element: HTMLElement, options?: NodeDimensionsOptions): NodeDimensions; -export default getNodeDimensions +export default getNodeDimensions; From 3fc4d30f76269a600969e7dab58601ffc4274ff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kov=C3=A1cs=20Vince?= Date: Wed, 17 May 2017 10:50:54 +0200 Subject: [PATCH 7/9] Working type definitions for get-node-dimensions --- .../get-node-dimensions-tests.ts | 4 +- types/get-node-dimensions/index.d.ts | 40 ++++++++++--------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/types/get-node-dimensions/get-node-dimensions-tests.ts b/types/get-node-dimensions/get-node-dimensions-tests.ts index 69d49e6fc6..211eb39ca2 100644 --- a/types/get-node-dimensions/get-node-dimensions-tests.ts +++ b/types/get-node-dimensions/get-node-dimensions-tests.ts @@ -1,7 +1,7 @@ -import getNodeDimensions, {NodeDimensions} from 'get-node-dimensions'; +import getNodeDimensions = require('get-node-dimensions'); const div = document.getElementById('div-to-measure'); if (div !== null) { - const dimensions: NodeDimensions = getNodeDimensions(div); + const dimensions = getNodeDimensions(div); } diff --git a/types/get-node-dimensions/index.d.ts b/types/get-node-dimensions/index.d.ts index 105557e39a..5397f55e67 100644 --- a/types/get-node-dimensions/index.d.ts +++ b/types/get-node-dimensions/index.d.ts @@ -3,23 +3,25 @@ // Definitions by: Kovács Vince // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -export interface NodeDimensions { - width: number; - height: number; - top: number; - right: number; - bottom: number; - left: number; +declare module 'get-node-dimensions' { + interface NodeDimensions { + width: number; + height: number; + top: number; + right: number; + bottom: number; + left: number; + } + + interface NodeDimensionsOptions { + margin: boolean; + clone: boolean; + display: string; + width: string; + height: string; + } + + function getNodeDimensions(element: HTMLElement, options?: NodeDimensionsOptions): NodeDimensions; + + export = getNodeDimensions; } - -export interface NodeDimensionsOptions { - margin: boolean; - clone: boolean; - display: string; - width: string; - height: string; -} - -declare function getNodeDimensions(element: HTMLElement, options?: NodeDimensionsOptions): NodeDimensions; - -export default getNodeDimensions; From 5fcc2eb15a4e4ee9685d0b24a0fd2e867524bc2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kov=C3=A1cs=20Vince?= Date: Wed, 17 May 2017 11:28:08 +0200 Subject: [PATCH 8/9] Make option key as optional --- types/get-node-dimensions/get-node-dimensions-tests.ts | 4 ++++ types/get-node-dimensions/index.d.ts | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/types/get-node-dimensions/get-node-dimensions-tests.ts b/types/get-node-dimensions/get-node-dimensions-tests.ts index 211eb39ca2..b83f6d7b6a 100644 --- a/types/get-node-dimensions/get-node-dimensions-tests.ts +++ b/types/get-node-dimensions/get-node-dimensions-tests.ts @@ -5,3 +5,7 @@ const div = document.getElementById('div-to-measure'); if (div !== null) { const dimensions = getNodeDimensions(div); } + +if (div !== null) { + const dimensionsWithMargin = getNodeDimensions(div, {margin: true}); +} diff --git a/types/get-node-dimensions/index.d.ts b/types/get-node-dimensions/index.d.ts index 5397f55e67..88780bc105 100644 --- a/types/get-node-dimensions/index.d.ts +++ b/types/get-node-dimensions/index.d.ts @@ -14,11 +14,11 @@ declare module 'get-node-dimensions' { } interface NodeDimensionsOptions { - margin: boolean; - clone: boolean; - display: string; - width: string; - height: string; + margin?: boolean; + clone?: boolean; + display?: string; + width?: string; + height?: string; } function getNodeDimensions(element: HTMLElement, options?: NodeDimensionsOptions): NodeDimensions; From 442a87ca4fdc225216942ea3bdab0c06afe439b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kov=C3=A1cs=20Vince?= Date: Wed, 17 May 2017 11:34:13 +0200 Subject: [PATCH 9/9] Remove module wrap --- types/get-node-dimensions/index.d.ts | 40 +++++++++++++--------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/types/get-node-dimensions/index.d.ts b/types/get-node-dimensions/index.d.ts index 88780bc105..e15d08bb21 100644 --- a/types/get-node-dimensions/index.d.ts +++ b/types/get-node-dimensions/index.d.ts @@ -3,25 +3,23 @@ // Definitions by: Kovács Vince // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -declare module 'get-node-dimensions' { - interface NodeDimensions { - width: number; - height: number; - top: number; - right: number; - bottom: number; - left: number; - } - - interface NodeDimensionsOptions { - margin?: boolean; - clone?: boolean; - display?: string; - width?: string; - height?: string; - } - - function getNodeDimensions(element: HTMLElement, options?: NodeDimensionsOptions): NodeDimensions; - - export = getNodeDimensions; +interface NodeDimensions { + width: number; + height: number; + top: number; + right: number; + bottom: number; + left: number; } + +interface NodeDimensionsOptions { + margin?: boolean; + clone?: boolean; + display?: string; + width?: string; + height?: string; +} + +declare function getNodeDimensions(element: HTMLElement, options?: NodeDimensionsOptions): NodeDimensions; + +export = getNodeDimensions;