From 1935ac55bcf628ef4d9c61cced80919e37afc489 Mon Sep 17 00:00:00 2001 From: Heye Date: Tue, 18 Dec 2018 00:06:50 +0100 Subject: [PATCH] Add type definitions for insert-css (#31263) * Add type definitions for insert-css * Correct indentation in insert-css-tests.ts * Make createElement calls consistent * Use single quotes in import --- types/insert-css/index.d.ts | 18 ++++++++++++++++++ types/insert-css/insert-css-tests.ts | 27 +++++++++++++++++++++++++++ types/insert-css/tsconfig.json | 26 ++++++++++++++++++++++++++ types/insert-css/tslint.json | 1 + 4 files changed, 72 insertions(+) create mode 100644 types/insert-css/index.d.ts create mode 100644 types/insert-css/insert-css-tests.ts create mode 100644 types/insert-css/tsconfig.json create mode 100644 types/insert-css/tslint.json diff --git a/types/insert-css/index.d.ts b/types/insert-css/index.d.ts new file mode 100644 index 0000000000..9f132c53b4 --- /dev/null +++ b/types/insert-css/index.d.ts @@ -0,0 +1,18 @@ +// Type definitions for insert-css 2.0 +// Project: https://github.com/substack/insert-css +// Definitions by: Heye Vöcking +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export interface InsertCssOptions { + container?: HTMLElement; + prepend?: boolean; +} + +export interface InsertCssStyleElement extends HTMLStyleElement { + styleSheet?: CSSStyleSheet; +} + +export function insertCss( + css: string, + options?: InsertCssOptions, +): InsertCssStyleElement; diff --git a/types/insert-css/insert-css-tests.ts b/types/insert-css/insert-css-tests.ts new file mode 100644 index 0000000000..a26e085626 --- /dev/null +++ b/types/insert-css/insert-css-tests.ts @@ -0,0 +1,27 @@ +import { insertCss } from 'insert-css'; + +insertCss('body{position:absolute}'); + +insertCss('body{position:absolute}', {}); + +insertCss('body{text-decoration:underline !important}', { + prepend: true, +}); + +insertCss('body{text-decoration:underline !important}', { + prepend: false, +}); + +insertCss('body{position:absolute}', { + container: document.createElement(''), +}); + +insertCss('body{text-decoration:underline !important}', { + prepend: true, + container: document.createElement(''), +}); + +insertCss('body{text-decoration:underline !important}', { + prepend: false, + container: document.createElement(''), +}); diff --git a/types/insert-css/tsconfig.json b/types/insert-css/tsconfig.json new file mode 100644 index 0000000000..eed90e2eeb --- /dev/null +++ b/types/insert-css/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "baseUrl": "../", + "forceConsistentCasingInFileNames": true, + "lib": [ + "dom", + "es6" + ], + "module": "commonjs", + "noEmit": true, + "noImplicitAny": true, + "noImplicitAny": true, + "noImplicitThis": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "strictNullChecks": true, + "typeRoots": ["../"], + "types": [] + }, + "files": [ + "index.d.ts", + "insert-css-tests.ts" + ] +} diff --git a/types/insert-css/tslint.json b/types/insert-css/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/insert-css/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }