diff --git a/src/index.d.ts b/src/index.d.ts index 365742d..55239b3 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -2,6 +2,7 @@ import type * as Types from "./types.js"; declare global { class URLPattern extends Types.URLPattern {} + type URLPatternArgs = Types.URLPatternArgs; type URLPatternInit = Types.URLPatternInit; type URLPatternResult = Types.URLPatternResult; type URLPatternComponentResult = Types.URLPatternComponentResult; diff --git a/src/types.d.ts b/src/types.d.ts index 8d3d283..9ed27e4 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -1,11 +1,11 @@ -export type URLPatternInput = URLPatternInit | string; +export type URLPatternArgs = + | [URLPatternInit | RegExp | undefined] + | [string, string | undefined]; export declare class URLPattern { - constructor(init?: URLPatternInput, baseURL?: string); - - test(input?: URLPatternInput, baseURL?: string): boolean; - - exec(input?: URLPatternInput, baseURL?: string): URLPatternResult | null; + constructor(...args: URLPatternArgs); + test(...args: URLPatternArgs): boolean; + exec(...args: URLPatternArgs): URLPatternResult | null; readonly protocol: string; readonly username: string; @@ -17,20 +17,20 @@ export declare class URLPattern { readonly hash: string; } -interface URLPatternInit { - baseURL?: string; +export interface URLPatternInit { + protocol?: string; username?: string; password?: string; - protocol?: string; hostname?: string; port?: string; pathname?: string; search?: string; hash?: string; + baseURL?: string; } export interface URLPatternResult { - inputs: [URLPatternInput]; + inputs: URLPatternArgs; protocol: URLPatternComponentResult; username: URLPatternComponentResult; password: URLPatternComponentResult;