deno.land / x / deno@v1.28.2 / ext / url / lib.deno_url.d.ts
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
// deno-lint-ignore-file no-explicit-any
/// <reference no-default-lib="true" />/// <reference lib="esnext" />
/** @category Web APIs */declare class URLSearchParams { constructor( init?: string[][] | Record<string, string> | string | URLSearchParams, ); static toString(): string;
/** Appends a specified key/value pair as a new search parameter. * * ```ts * let searchParams = new URLSearchParams(); * searchParams.append('name', 'first'); * searchParams.append('name', 'second'); * ``` */ append(name: string, value: string): void;
/** Deletes the given search parameter and its associated value, * from the list of all search parameters. * * ```ts * let searchParams = new URLSearchParams([['name', 'value']]); * searchParams.delete('name'); * ``` */ delete(name: string): void;
/** Returns all the values associated with a given search parameter * as an array. * * ```ts * searchParams.getAll('name'); * ``` */ getAll(name: string): string[];
/** Returns the first value associated to the given search parameter. * * ```ts * searchParams.get('name'); * ``` */ get(name: string): string | null;
/** Returns a Boolean that indicates whether a parameter with the * specified name exists. * * ```ts * searchParams.has('name'); * ``` */ has(name: string): boolean;
/** Sets the value associated with a given search parameter to the * given value. If there were several matching values, this method * deletes the others. If the search parameter doesn't exist, this * method creates it. * * ```ts * searchParams.set('name', 'value'); * ``` */ set(name: string, value: string): void;
/** Sort all key/value pairs contained in this object in place and * return undefined. The sort order is according to Unicode code * points of the keys. * * ```ts * searchParams.sort(); * ``` */ sort(): void;
/** Calls a function for each element contained in this object in * place and return undefined. Optionally accepts an object to use * as this when executing callback as second argument. * * ```ts * const params = new URLSearchParams([["a", "b"], ["c", "d"]]); * params.forEach((value, key, parent) => { * console.log(value, key, parent); * }); * ``` */ forEach( callbackfn: (value: string, key: string, parent: this) => void, thisArg?: any, ): void;
/** Returns an iterator allowing to go through all keys contained * in this object. * * ```ts * const params = new URLSearchParams([["a", "b"], ["c", "d"]]); * for (const key of params.keys()) { * console.log(key); * } * ``` */ keys(): IterableIterator<string>;
/** Returns an iterator allowing to go through all values contained * in this object. * * ```ts * const params = new URLSearchParams([["a", "b"], ["c", "d"]]); * for (const value of params.values()) { * console.log(value); * } * ``` */ values(): IterableIterator<string>;
/** Returns an iterator allowing to go through all key/value * pairs contained in this object. * * ```ts * const params = new URLSearchParams([["a", "b"], ["c", "d"]]); * for (const [key, value] of params.entries()) { * console.log(key, value); * } * ``` */ entries(): IterableIterator<[string, string]>;
/** Returns an iterator allowing to go through all key/value * pairs contained in this object. * * ```ts * const params = new URLSearchParams([["a", "b"], ["c", "d"]]); * for (const [key, value] of params) { * console.log(key, value); * } * ``` */ [Symbol.iterator](): IterableIterator<[string, string]>;
/** Returns a query string suitable for use in a URL. * * ```ts * searchParams.toString(); * ``` */ toString(): string;}
/** The URL interface represents an object providing static methods used for * creating object URLs. * * @category Web APIs */declare class URL { constructor(url: string | URL, base?: string | URL); static createObjectURL(blob: Blob): string; static revokeObjectURL(url: string): void;
hash: string; host: string; hostname: string; href: string; toString(): string; readonly origin: string; password: string; pathname: string; port: string; protocol: string; search: string; readonly searchParams: URLSearchParams; username: string; toJSON(): string;}
/** @category Web APIs */declare interface URLPatternInit { protocol?: string; username?: string; password?: string; hostname?: string; port?: string; pathname?: string; search?: string; hash?: string; baseURL?: string;}
/** @category Web APIs */declare type URLPatternInput = string | URLPatternInit;
/** @category Web APIs */declare interface URLPatternComponentResult { input: string; groups: Record<string, string>;}
/** `URLPatternResult` is the object returned from `URLPattern.exec`. * * @category Web APIs */declare interface URLPatternResult { /** The inputs provided when matching. */ inputs: [URLPatternInit] | [URLPatternInit, string];
/** The matched result for the `protocol` matcher. */ protocol: URLPatternComponentResult; /** The matched result for the `username` matcher. */ username: URLPatternComponentResult; /** The matched result for the `password` matcher. */ password: URLPatternComponentResult; /** The matched result for the `hostname` matcher. */ hostname: URLPatternComponentResult; /** The matched result for the `port` matcher. */ port: URLPatternComponentResult; /** The matched result for the `pathname` matcher. */ pathname: URLPatternComponentResult; /** The matched result for the `search` matcher. */ search: URLPatternComponentResult; /** The matched result for the `hash` matcher. */ hash: URLPatternComponentResult;}
/** * The URLPattern API provides a web platform primitive for matching URLs based * on a convenient pattern syntax. * * The syntax is based on path-to-regexp. Wildcards, named capture groups, * regular groups, and group modifiers are all supported. * * ```ts * // Specify the pattern as structured data. * const pattern = new URLPattern({ pathname: "/users/:user" }); * const match = pattern.exec("/users/joe"); * console.log(match.pathname.groups.user); // joe * ``` * * ```ts * // Specify a fully qualified string pattern. * const pattern = new URLPattern("https://example.com/books/:id"); * console.log(pattern.test("https://example.com/books/123")); // true * console.log(pattern.test("https://deno.land/books/123")); // false * ``` * * ```ts * // Specify a relative string pattern with a base URL. * const pattern = new URLPattern("/:article", "https://blog.example.com"); * console.log(pattern.test("https://blog.example.com/article")); // true * console.log(pattern.test("https://blog.example.com/article/123")); // false * ``` * * @category Web APIs */declare class URLPattern { constructor(input: URLPatternInput, baseURL?: string);
/** * Test if the given input matches the stored pattern. * * The input can either be provided as a url string (with an optional base), * or as individual components in the form of an object. * * ```ts * const pattern = new URLPattern("https://example.com/books/:id"); * * // Test a url string. * console.log(pattern.test("https://example.com/books/123")); // true * * // Test a relative url with a base. * console.log(pattern.test("/books/123", "https://example.com")); // true * * // Test an object of url components. * console.log(pattern.test({ pathname: "/books/123" })); // true * ``` */ test(input: URLPatternInput, baseURL?: string): boolean;
/** * Match the given input against the stored pattern. * * The input can either be provided as a url string (with an optional base), * or as individual components in the form of an object. * * ```ts * const pattern = new URLPattern("https://example.com/books/:id"); * * // Match a url string. * let match = pattern.exec("https://example.com/books/123"); * console.log(match.pathname.groups.id); // 123 * * // Match a relative url with a base. * match = pattern.exec("/books/123", "https://example.com"); * console.log(match.pathname.groups.id); // 123 * * // Match an object of url components. * match = pattern.exec({ pathname: "/books/123" }); * console.log(match.pathname.groups.id); // 123 * ``` */ exec(input: URLPatternInput, baseURL?: string): URLPatternResult | null;
/** The pattern string for the `protocol`. */ readonly protocol: string; /** The pattern string for the `username`. */ readonly username: string; /** The pattern string for the `password`. */ readonly password: string; /** The pattern string for the `hostname`. */ readonly hostname: string; /** The pattern string for the `port`. */ readonly port: string; /** The pattern string for the `pathname`. */ readonly pathname: string; /** The pattern string for the `search`. */ readonly search: string; /** The pattern string for the `hash`. */ readonly hash: string;}
Version Info