diff --git a/types/url-search-params/index.d.ts b/types/url-search-params/index.d.ts index c58357a909..e1d559690e 100644 --- a/types/url-search-params/index.d.ts +++ b/types/url-search-params/index.d.ts @@ -1,20 +1,29 @@ -// Type definitions for url-search-params 0.10 +// Type definitions for url-search-params 1.1 // Project: https://github.com/WebReflection/url-search-params // Definitions by: Nick // Neha // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.1 +/** + * Based on definitions of lib.dom and lib.dom.iteralbe + */ declare class URLSearchParams { - constructor(init?: string | URLSearchParams | any); - append(name: string, value: any): void; + constructor(init?: string[][] | Record | string | URLSearchParams); + + append(name: string, value: string): void; delete(name: string): void; - entries(): Iterator; get(name: string): string | null; getAll(name: string): string[]; has(name: string): boolean; - keys(): Iterator; - set(name: string, value: any): void; - values(): Iterator; + set(name: string, value: string): void; + sort(): void; + forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any): void; + [Symbol.iterator](): IterableIterator<[string, string]>; + + entries(): IterableIterator<[string, string]>; + keys(): IterableIterator; + values(): IterableIterator; } export = URLSearchParams; diff --git a/types/url-search-params/url-search-params-tests.ts b/types/url-search-params/url-search-params-tests.ts index c468c692d0..74fee88f71 100644 --- a/types/url-search-params/url-search-params-tests.ts +++ b/types/url-search-params/url-search-params-tests.ts @@ -1,27 +1,33 @@ import URLSearchParams = require("url-search-params"); -const params = new URLSearchParams('a=1&b=2'); +new URLSearchParams([["1", "2"]]); +new URLSearchParams({ x: "y" }); +new URLSearchParams(); +new URLSearchParams(new URLSearchParams()); -params.append("b", 3); +const params = new URLSearchParams("a=1&b=2"); +params.append("b", "3"); params.delete("a"); params.delete("c"); - -params.entries(); - params.get("b"); - params.get("d"); - params.getAll("b"); - params.has("b"); - params.keys(); - -params.set("b", 4); -params.set("c", 5); - +params.set("b", "4"); +params.set("c", "5"); params.toString(); - params.values(); + +params.forEach((value, key, params) => { + const test: [string, string, URLSearchParams] = [value, key, params]; +}); + +for (const [key, value] of params) { + const test: [string, string] = [key, value]; +} + +for (const [key, value] of params.entries()) { + const test: [string, string] = [key, value]; +}