{"version":3,"file":"url.mjs","sources":["../src/url.ts"],"sourcesContent":["/*\n * This file contains redeclared types for Node `url` and `querystring` modules. These modules\n * don't provide their own typings but instead are a part of the full Node typings. The purpose of\n * this file is to redeclare the required types to avoid having the whole Node types as a\n * dependency.\n */\n\nimport { format as _format, parse as _parse, resolve as _resolve } from 'url';\n\ninterface ParsedUrlQuery\n{\n    [key: string]: string | string[];\n}\n\ninterface ParsedUrlQueryInput\n{\n    [key: string]: unknown;\n}\n\ninterface UrlObjectCommon\n{\n    auth?: string;\n    hash?: string;\n    host?: string;\n    hostname?: string;\n    href?: string;\n    path?: string;\n    pathname?: string;\n    protocol?: string;\n    search?: string;\n    slashes?: boolean;\n}\n\n// Input to `url.format`\ninterface UrlObject extends UrlObjectCommon\n{\n    port?: string | number;\n    query?: string | null | ParsedUrlQueryInput;\n}\n\n// Output of `url.parse`\ninterface Url extends UrlObjectCommon\n{\n    port?: string;\n    query?: string | null | ParsedUrlQuery;\n}\n\ninterface UrlWithParsedQuery extends Url\n{\n    query: ParsedUrlQuery;\n}\n\ninterface UrlWithStringQuery extends Url\n{\n    query: string | null;\n}\n\ninterface URLFormatOptions\n{\n    auth?: boolean;\n    fragment?: boolean;\n    search?: boolean;\n    unicode?: boolean;\n}\n\ntype ParseFunction = {\n    (urlStr: string): UrlWithStringQuery;\n    (urlStr: string, parseQueryString: false | undefined, slashesDenoteHost?: boolean): UrlWithStringQuery;\n    (urlStr: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery;\n    (urlStr: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url;\n};\n\ntype FormatFunction = {\n    (URL: URL, options?: URLFormatOptions): string;\n    (urlObject: UrlObject | string): string;\n};\n\ntype ResolveFunction = {\n    (from: string, to: string): string;\n};\n\nexport const url = {\n    parse: _parse as ParseFunction,\n    format: _format as FormatFunction,\n    resolve: _resolve as ResolveFunction,\n};\n"],"names":["_parse","_format","_resolve"],"mappings":";;AAiFO,MAAM,GAAM,GAAA;AAAA,EACf,KAAO,EAAAA,KAAA;AAAA,EACP,MAAQ,EAAAC,MAAA;AAAA,EACR,OAAS,EAAAC,OAAA;AACb;;;;"}