diff --git a/types/node/index.d.ts b/types/node/index.d.ts index 72b1e1765c..246e0e8d6d 100644 --- a/types/node/index.d.ts +++ b/types/node/index.d.ts @@ -1854,10 +1854,31 @@ declare module "url" { path?: string; } + export interface UrlObject { + protocol?: string; + slashes?: boolean; + auth?: string; + host?: string; + hostname?: string; + port?: string | number; + pathname?: string; + search?: string; + query?: { [key: string]: any; }; + hash?: string; + } + export function parse(urlStr: string, parseQueryString?: boolean, slashesDenoteHost?: boolean): Url; - export function format(url: Url): string; + export function format(URL: URL, options?: URLFormatOptions): string; + export function format(urlObject: UrlObject): string; export function resolve(from: string, to: string): string; + export interface URLFormatOptions { + auth?: boolean; + fragment?: boolean; + search?: boolean; + unicode?: boolean; + } + export class URLSearchParams implements Iterable { constructor(init?: URLSearchParams | string | { [key: string]: string | string[] } | Iterable ); append(name: string, value: string): void; diff --git a/types/node/node-tests.ts b/types/node/node-tests.ts index e8ac602625..a305984e4a 100644 --- a/types/node/node-tests.ts +++ b/types/node/node-tests.ts @@ -415,6 +415,9 @@ namespace url_tests { pathname: 'search', query: { q: "you're a lizard, gary" } }); + + const myURL = new url.URL('https://a:b@你好你好?abc#foo'); + url.format(myURL, { fragment: false, unicode: true, auth: false }); } { diff --git a/types/node/v6/index.d.ts b/types/node/v6/index.d.ts index 384966b4aa..34fce92f77 100644 --- a/types/node/v6/index.d.ts +++ b/types/node/v6/index.d.ts @@ -1801,8 +1801,21 @@ declare module "url" { path?: string; } + export interface UrlObject { + protocol?: string; + slashes?: boolean; + auth?: string; + host?: string; + hostname?: string; + port?: string | number; + pathname?: string; + search?: string; + query?: { [key: string]: any; }; + hash?: string; + } + export function parse(urlStr: string, parseQueryString?: boolean, slashesDenoteHost?: boolean): Url; - export function format(url: Url): string; + export function format(urlObject: UrlObject): string; export function resolve(from: string, to: string): string; } diff --git a/types/universal-analytics/index.d.ts b/types/universal-analytics/index.d.ts index 462348f332..011a3adc01 100644 --- a/types/universal-analytics/index.d.ts +++ b/types/universal-analytics/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for universal-analytics v0.4.13 +// Type definitions for universal-analytics 0.4 // Project: https://github.com/peaksandpies/universal-analytics // Definitions by: Bart van der Schoor , Iker Pérez Brunelli // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/types/universal-analytics/tslint.json b/types/universal-analytics/tslint.json index 232c31409b..f93cf8562a 100644 --- a/types/universal-analytics/tslint.json +++ b/types/universal-analytics/tslint.json @@ -1,3 +1,3 @@ { - "extends": "../tslint.json" + "extends": "dtslint/dt.json" }