diff --git a/types/blissfuljs/index.d.ts b/types/blissfuljs/index.d.ts index 9174ee4e94..4712e91bad 100644 --- a/types/blissfuljs/index.d.ts +++ b/types/blissfuljs/index.d.ts @@ -285,7 +285,6 @@ declare namespace BlissNS { addEventListener(type: "MSGotPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): T; addEventListener(type: "MSInertiaStart", listener: (ev: MSGestureEvent) => any, useCapture?: boolean): T; addEventListener(type: "MSLostPointerCapture", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): T; - addEventListener(type: "MSManipulationStateChanged", listener: (ev: MSManipulationEvent) => any, useCapture?: boolean): T; addEventListener(type: "MSPointerCancel", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): T; addEventListener(type: "MSPointerDown", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): T; addEventListener(type: "MSPointerEnter", listener: (ev: MSPointerEvent) => any, useCapture?: boolean): T; @@ -555,18 +554,15 @@ declare namespace BlissNS { getElementsByTagName(name: "video"): NodeListOf; getElementsByTagName(name: "view"): NodeListOf; getElementsByTagName(name: "wbr"): NodeListOf; - getElementsByTagName(name: "x-ms-webview"): NodeListOf; getElementsByTagName(name: "xmp"): NodeListOf; getElementsByTagName(name: string): NodeListOf; getElementsByTagNameNS(namespaceURI: string, localName: string): NodeListOf; hasAttribute(name: string): boolean; hasAttributeNS(namespaceURI: string, localName: string): boolean; - msGetRegionContent(): MSRangeCollection; msGetUntransformedBounds(): ClientRect; msMatchesSelector(selectors: string): boolean; msReleasePointerCapture(pointerId: number): T; msSetPointerCapture(pointerId: number): T; - msZoomTo(args: MsZoomToOptions): T; releasePointerCapture(pointerId: number): T; removeAttribute(name?: string): T; removeAttributeNS(namespaceURI: string, localName: string): T; diff --git a/types/debounce-promise/index.d.ts b/types/debounce-promise/index.d.ts index 905ca7fc50..2356d30060 100644 --- a/types/debounce-promise/index.d.ts +++ b/types/debounce-promise/index.d.ts @@ -11,12 +11,14 @@ declare namespace debounce { } } +type ArgumentsType = T extends (...args: infer A) => any ? A : never; + declare function debounce any>( func: T, wait?: number, options?: debounce.DebounceOptions ): ( - ...args: Parameters + ...args: ArgumentsType ) => ReturnType extends Promise ? ReturnType : Promise>; diff --git a/types/debounce-promise/package.json b/types/debounce-promise/package.json new file mode 100644 index 0000000000..bb80441dc0 --- /dev/null +++ b/types/debounce-promise/package.json @@ -0,0 +1,7 @@ +{ + "private": true, + "types": "index", + "typesVersions": { + ">=3.1.0-0": { "*": ["ts3.1/*"] } + } +} diff --git a/types/debounce-promise/ts3.1/debounce-promise-tests.ts b/types/debounce-promise/ts3.1/debounce-promise-tests.ts new file mode 100644 index 0000000000..75b53dc764 --- /dev/null +++ b/types/debounce-promise/ts3.1/debounce-promise-tests.ts @@ -0,0 +1,25 @@ +import debounce = require("debounce-promise"); +import { DebounceOptions } from "debounce-promise"; + +const options: DebounceOptions = {}; +const optionsA: DebounceOptions = { leading: true }; +const f = async () => 2; +const f2 = (a: string) => 2; +debounce(f, 100); +debounce(f, 0, options); +debounce(f, 100, optionsA); +debounce(f, 10, { accumulate: true }); +const foo = debounce(async () => f2, 10, { + leading: true, + accumulate: true +}); +foo().then(f => f("2")); +const bar = debounce(async () => [1, 2, 3], 100); +bar().then(ar => ar.concat()); + +// Converts the return value from the producer function to a promise +const two = debounce((a: string, b: number, c: { d: boolean }) => [4], 10, { + leading: true, + accumulate: true +}); +two("1", 2, { d: false }).then(ar => ar.pop(), () => 2); diff --git a/types/debounce-promise/ts3.1/index.d.ts b/types/debounce-promise/ts3.1/index.d.ts new file mode 100644 index 0000000000..29aa7356a1 --- /dev/null +++ b/types/debounce-promise/ts3.1/index.d.ts @@ -0,0 +1,18 @@ +declare namespace debounce { + interface DebounceOptions { + leading?: boolean; + accumulate?: boolean; + } +} + +declare function debounce any>( + func: T, + wait?: number, + options?: debounce.DebounceOptions +): ( + ...args: Parameters +) => ReturnType extends Promise + ? ReturnType + : Promise>; + +export = debounce; diff --git a/types/debounce-promise/ts3.1/tsconfig.json b/types/debounce-promise/ts3.1/tsconfig.json new file mode 100644 index 0000000000..cfd321d014 --- /dev/null +++ b/types/debounce-promise/ts3.1/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../../", + "typeRoots": ["../../"], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": ["index.d.ts", "debounce-promise-tests.ts"] +} diff --git a/types/debounce-promise/ts3.1/tslint.json b/types/debounce-promise/ts3.1/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/debounce-promise/ts3.1/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/pixi.js/index.d.ts b/types/pixi.js/index.d.ts index eeb86830fe..b0b6b64452 100644 --- a/types/pixi.js/index.d.ts +++ b/types/pixi.js/index.d.ts @@ -2,7 +2,7 @@ // Project: https://github.com/pixijs/pixi.js/tree/dev // Definitions by: clark-stevenson // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.1 +// TypeScript Version: 2.3 declare namespace PIXI { // from CONST diff --git a/types/quill/tsconfig.json b/types/quill/tsconfig.json index a5297158c9..3d488f0e4d 100644 --- a/types/quill/tsconfig.json +++ b/types/quill/tsconfig.json @@ -15,10 +15,11 @@ ], "types": [], "noEmit": true, + "esModuleInterop": true, "forceConsistentCasingInFileNames": true }, "files": [ "index.d.ts", "quill-tests.ts" ] -} \ No newline at end of file +} diff --git a/types/styled-components/test/index.tsx b/types/styled-components/test/index.tsx index d382b42628..0c175d8ce9 100644 --- a/types/styled-components/test/index.tsx +++ b/types/styled-components/test/index.tsx @@ -655,8 +655,8 @@ async function typedThemes() { createGlobalStyle, ThemeProvider, ThemeConsumer - } = (await import("styled-components")) as ThemedStyledComponentsModule< - typeof theme + } = (await import("styled-components")) as any as ThemedStyledComponentsModule< + typeof theme >; const ThemedDiv = styled.div` @@ -753,10 +753,10 @@ async function themeAugmentation() { accent: string; } - const base = (await import("styled-components")) as ThemedStyledComponentsModule< + const base = (await import("styled-components")) as any as ThemedStyledComponentsModule< BaseTheme >; - const extra = (await import("styled-components")) as ThemedStyledComponentsModule< + const extra = (await import("styled-components")) as any as ThemedStyledComponentsModule< ExtraTheme, BaseTheme >; diff --git a/types/tingle.js/tingle.js-tests.ts b/types/tingle.js/tingle.js-tests.ts index 28c7a08c7e..9734178a00 100644 --- a/types/tingle.js/tingle.js-tests.ts +++ b/types/tingle.js/tingle.js-tests.ts @@ -15,9 +15,6 @@ instance = new modal({ }, }); -instance.addFooterBtn('text', undefined, function(e) { - e.x; - this.innerText; -}); +instance.addFooterBtn('text', undefined, e => e.x); instance.setStickyFooter(false); diff --git a/types/workbox-sw/tsconfig.json b/types/workbox-sw/tsconfig.json index d6c2821525..28446158f9 100644 --- a/types/workbox-sw/tsconfig.json +++ b/types/workbox-sw/tsconfig.json @@ -8,7 +8,6 @@ "target": "es2017", "lib": [ "es2015", - "dom", "webworker" ], "noImplicitAny": true,