{"version":3,"file":"get-request-url.cjs","names":["queryToParams"],"sources":["../../src/utils/get-request-url.ts"],"sourcesContent":["import { queryToParams } from './query-to-params.js';\n\nconst SEPARATOR = '/';\n\nconst mergePaths = (a: string, b: string) => {\n\tif (a.endsWith(SEPARATOR)) a = a.slice(0, -1);\n\tif (!b.startsWith(SEPARATOR)) b = SEPARATOR + b;\n\treturn a + b;\n};\n\n/**\n * Build URL based on provided options\n *\n * @param baseUrl The base URL\n * @param options The request options\n *\n * @returns URL\n */\nexport const getRequestUrl = (baseUrl: URL, path: string, params?: Record<string, any>): URL => {\n\tconst newPath = baseUrl.pathname === SEPARATOR ? path : mergePaths(baseUrl.pathname, path);\n\tconst url = new globalThis.URL(newPath, baseUrl);\n\n\tif (params) {\n\t\tfor (const [k, v] of Object.entries(queryToParams(params))) {\n\t\t\tif (v && typeof v === 'object' && !Array.isArray(v)) {\n\t\t\t\tfor (const [k2, v2] of Object.entries(v)) {\n\t\t\t\t\turl.searchParams.set(`${k}[${k2}]`, String(v2));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\turl.searchParams.set(k, v);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn url;\n};\n"],"mappings":"yCAEM,EAAY,IAEZ,GAAc,EAAW,KAC1B,EAAE,SAAS,IAAU,GAAE,EAAI,EAAE,MAAM,EAAG,GAAG,EACxC,EAAE,WAAW,IAAU,GAAE,EAAI,IAAY,GACvC,EAAI,GAWC,GAAiB,EAAc,EAAc,IAAsC,CAC/F,IAAM,EAAU,EAAQ,WAAa,IAAY,EAAO,EAAW,EAAQ,SAAU,EAAK,CACpF,EAAM,IAAI,WAAW,IAAI,EAAS,EAAQ,CAEhD,GAAI,EACH,IAAK,GAAM,CAAC,EAAG,KAAM,OAAO,QAAQA,EAAAA,cAAc,EAAO,CAAC,CACzD,GAAI,GAAK,OAAO,GAAM,UAAY,CAAC,MAAM,QAAQ,EAAE,CAClD,IAAK,GAAM,CAAC,EAAI,KAAO,OAAO,QAAQ,EAAE,CACvC,EAAI,aAAa,IAAI,GAAG,EAAE,GAAG,EAAG,GAAI,OAAO,EAAG,CAAC,MAGhD,EAAI,aAAa,IAAI,EAAG,EAAE,CAK7B,OAAO"}