From d9f0cbf0fb7c73a9aca3b1f6739d4d387a3a7959 Mon Sep 17 00:00:00 2001 From: Sinziana Nicolae Date: Sun, 10 Dec 2017 20:28:09 +0200 Subject: [PATCH 1/2] Add types for clamp-js-main --- types/clamp-js-main/clamp-js-main-tests.ts | 22 ++++++++++++++++++++ types/clamp-js-main/index.d.ts | 22 ++++++++++++++++++++ types/clamp-js-main/tsconfig.json | 24 ++++++++++++++++++++++ types/clamp-js-main/tslint.json | 1 + 4 files changed, 69 insertions(+) create mode 100644 types/clamp-js-main/clamp-js-main-tests.ts create mode 100644 types/clamp-js-main/index.d.ts create mode 100644 types/clamp-js-main/tsconfig.json create mode 100644 types/clamp-js-main/tslint.json diff --git a/types/clamp-js-main/clamp-js-main-tests.ts b/types/clamp-js-main/clamp-js-main-tests.ts new file mode 100644 index 0000000000..1f28aee427 --- /dev/null +++ b/types/clamp-js-main/clamp-js-main-tests.ts @@ -0,0 +1,22 @@ +import clamp, { IClampOptions, IClampResponse } from 'clamp-js-main'; + +const element: HTMLElement = document.createElement('div'); +element.style.setProperty('width', '5px'); +element.style.setProperty('height', '5px'); +element.style.setProperty('font-size', '12px'); + +const span: HTMLSpanElement = document.createElement('span'); +span.textContent = "Lorem ipsum. Lorem ipsum"; +element.appendChild(span); + +const simpleClamp: IClampResponse = clamp(element); + +const options: IClampOptions = { + clamp: 2, + useNativeClamp: false, + splitOnChars: ['.'], + animate: true, + truncationChar: '--', + truncationHTML: '' +}; +const clampWithOptions: IClampResponse = clamp(element, options); diff --git a/types/clamp-js-main/index.d.ts b/types/clamp-js-main/index.d.ts new file mode 100644 index 0000000000..ac35ff843b --- /dev/null +++ b/types/clamp-js-main/index.d.ts @@ -0,0 +1,22 @@ +// Type definitions for clamp-js-main 0.11 +// Project: https://github.com/jmenglis/clamp-js-main#readme +// Definitions by: Sinziana Nicolae +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + + +export interface IClampOptions { + clamp?: number|string; + useNativeClamp?: boolean; + splitOnChars?: string[]; + animate?: boolean; + truncationChar?: string; + truncationHTML?: string | null; +} + +export interface IClampResponse { + original: string; + clamped: string; +} + + +export default function clamp(element: HTMLElement, options?: IClampOptions): IClampResponse; diff --git a/types/clamp-js-main/tsconfig.json b/types/clamp-js-main/tsconfig.json new file mode 100644 index 0000000000..5c05321afc --- /dev/null +++ b/types/clamp-js-main/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "clamp-js-main-tests.ts" + ] +} diff --git a/types/clamp-js-main/tslint.json b/types/clamp-js-main/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/clamp-js-main/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } From b2fdfe631f4fbfed23e4d68f49d23d9af40fa384 Mon Sep 17 00:00:00 2001 From: Sinziana Nicolae Date: Sun, 10 Dec 2017 20:30:07 +0200 Subject: [PATCH 2/2] Fix linting issues --- types/clamp-js-main/clamp-js-main-tests.ts | 8 ++++---- types/clamp-js-main/index.d.ts | 8 +++----- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/types/clamp-js-main/clamp-js-main-tests.ts b/types/clamp-js-main/clamp-js-main-tests.ts index 1f28aee427..f903b82a06 100644 --- a/types/clamp-js-main/clamp-js-main-tests.ts +++ b/types/clamp-js-main/clamp-js-main-tests.ts @@ -1,4 +1,4 @@ -import clamp, { IClampOptions, IClampResponse } from 'clamp-js-main'; +import clamp, { ClampOptions, ClampResponse } from 'clamp-js-main'; const element: HTMLElement = document.createElement('div'); element.style.setProperty('width', '5px'); @@ -9,9 +9,9 @@ const span: HTMLSpanElement = document.createElement('span'); span.textContent = "Lorem ipsum. Lorem ipsum"; element.appendChild(span); -const simpleClamp: IClampResponse = clamp(element); +const simpleClamp: ClampResponse = clamp(element); -const options: IClampOptions = { +const options: ClampOptions = { clamp: 2, useNativeClamp: false, splitOnChars: ['.'], @@ -19,4 +19,4 @@ const options: IClampOptions = { truncationChar: '--', truncationHTML: '' }; -const clampWithOptions: IClampResponse = clamp(element, options); +const clampWithOptions: ClampResponse = clamp(element, options); diff --git a/types/clamp-js-main/index.d.ts b/types/clamp-js-main/index.d.ts index ac35ff843b..75286172cb 100644 --- a/types/clamp-js-main/index.d.ts +++ b/types/clamp-js-main/index.d.ts @@ -3,8 +3,7 @@ // Definitions by: Sinziana Nicolae // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -export interface IClampOptions { +export interface ClampOptions { clamp?: number|string; useNativeClamp?: boolean; splitOnChars?: string[]; @@ -13,10 +12,9 @@ export interface IClampOptions { truncationHTML?: string | null; } -export interface IClampResponse { +export interface ClampResponse { original: string; clamped: string; } - -export default function clamp(element: HTMLElement, options?: IClampOptions): IClampResponse; +export default function clamp(element: HTMLElement, options?: ClampOptions): ClampResponse;