您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

url.d.ts 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. declare module "url" {
  2. import { ParsedUrlQuery, ParsedUrlQueryInput } from 'querystring';
  3. interface UrlObjectCommon {
  4. auth?: string;
  5. hash?: string;
  6. host?: string;
  7. hostname?: string;
  8. href?: string;
  9. path?: string;
  10. pathname?: string;
  11. protocol?: string;
  12. search?: string;
  13. slashes?: boolean;
  14. }
  15. // Input to `url.format`
  16. interface UrlObject extends UrlObjectCommon {
  17. port?: string | number;
  18. query?: string | null | ParsedUrlQueryInput;
  19. }
  20. // Output of `url.parse`
  21. interface Url extends UrlObjectCommon {
  22. port?: string;
  23. query?: string | null | ParsedUrlQuery;
  24. }
  25. interface UrlWithParsedQuery extends Url {
  26. query: ParsedUrlQuery;
  27. }
  28. interface UrlWithStringQuery extends Url {
  29. query: string | null;
  30. }
  31. function parse(urlStr: string): UrlWithStringQuery;
  32. function parse(urlStr: string, parseQueryString: false | undefined, slashesDenoteHost?: boolean): UrlWithStringQuery;
  33. function parse(urlStr: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery;
  34. function parse(urlStr: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url;
  35. function format(URL: URL, options?: URLFormatOptions): string;
  36. function format(urlObject: UrlObject | string): string;
  37. function resolve(from: string, to: string): string;
  38. function domainToASCII(domain: string): string;
  39. function domainToUnicode(domain: string): string;
  40. /**
  41. * This function ensures the correct decodings of percent-encoded characters as
  42. * well as ensuring a cross-platform valid absolute path string.
  43. * @param url The file URL string or URL object to convert to a path.
  44. */
  45. function fileURLToPath(url: string | URL): string;
  46. /**
  47. * This function ensures that path is resolved absolutely, and that the URL
  48. * control characters are correctly encoded when converting into a File URL.
  49. * @param url The path to convert to a File URL.
  50. */
  51. function pathToFileURL(url: string): URL;
  52. interface URLFormatOptions {
  53. auth?: boolean;
  54. fragment?: boolean;
  55. search?: boolean;
  56. unicode?: boolean;
  57. }
  58. class URL {
  59. constructor(input: string, base?: string | URL);
  60. hash: string;
  61. host: string;
  62. hostname: string;
  63. href: string;
  64. readonly origin: string;
  65. password: string;
  66. pathname: string;
  67. port: string;
  68. protocol: string;
  69. search: string;
  70. readonly searchParams: URLSearchParams;
  71. username: string;
  72. toString(): string;
  73. toJSON(): string;
  74. }
  75. class URLSearchParams implements Iterable<[string, string]> {
  76. constructor(init?: URLSearchParams | string | { [key: string]: string | string[] | undefined } | Iterable<[string, string]> | Array<[string, string]>);
  77. append(name: string, value: string): void;
  78. delete(name: string): void;
  79. entries(): IterableIterator<[string, string]>;
  80. forEach(callback: (value: string, name: string, searchParams: this) => void): void;
  81. get(name: string): string | null;
  82. getAll(name: string): string[];
  83. has(name: string): boolean;
  84. keys(): IterableIterator<string>;
  85. set(name: string, value: string): void;
  86. sort(): void;
  87. toString(): string;
  88. values(): IterableIterator<string>;
  89. [Symbol.iterator](): IterableIterator<[string, string]>;
  90. }
  91. }