diff --git a/types/blissfuljs/index.d.ts b/types/blissfuljs/index.d.ts index 9174ee4e94..5ea06224f1 100644 --- a/types/blissfuljs/index.d.ts +++ b/types/blissfuljs/index.d.ts @@ -2,6 +2,7 @@ // Project: http://blissfuljs.com/ // Definitions by: François Skorzec // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 3.0 interface Element { _: BlissNS.BlissBindedElement; @@ -285,7 +286,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 +555,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/package.json b/types/debounce-promise/ts3.1/package.json new file mode 100644 index 0000000000..d27d838dc6 --- /dev/null +++ b/types/debounce-promise/ts3.1/package.json @@ -0,0 +1,7 @@ +{ + "private": true, + "types": "index", + "typesVersions": { + ">=3.2.0-0": { "*": ["ts3.2/*"] } + } +} 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 +}