{"version":3,"file":"utils.mjs","sources":["../../../src/http/utils.ts"],"sourcesContent":["import { QueryParams, SanitizedQueryParams } from \"../models/http/params\";\nimport crossFetch from \"cross-fetch\";\n\n/**\n * Performs a fetch, using the polyfill if needed.\n *\n * @internal\n */\nexport function fetch(\n  url: string,\n  queryParams: QueryParams,\n  reqInit: RequestInit\n): Promise<Response> {\n  const urlWithParams = addParamsToURL(url, queryParams);\n  if (typeof window !== \"undefined\" && window.fetch) {\n    return window.fetch(urlWithParams, reqInit);\n  }\n  return crossFetch(urlWithParams, reqInit);\n}\n\n/**\n * Removes params with undefined or null values.\n *\n * @internal\n */\nexport function sanitizeQueryParams(params: QueryParams): SanitizedQueryParams {\n  Object.keys(params).forEach((key) => {\n    if (params[key] === undefined || params[key] === null) {\n      delete params[key];\n    }\n  });\n\n  return params as SanitizedQueryParams;\n}\n\n/**\n * Updates a url with the given params.\n *\n * @internal\n */\nexport function addParamsToURL(url: string, params: QueryParams): string {\n  const parsedUrl = new URL(url);\n  const sanitizedParams: SanitizedQueryParams = sanitizeQueryParams(params);\n\n  Object.entries(sanitizedParams).forEach(([k, v]) => {\n    parsedUrl.searchParams.append(k, v.toString());\n  });\n  return parsedUrl.toString();\n}\n"],"names":[],"mappings":";;AAGA;;;;AAIG;SACa,KAAK,CACnB,GAAW,EACX,WAAwB,EACxB,OAAoB,EAAA;IAEpB,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE;QACjD,OAAO,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAC7C,KAAA;AACD,IAAA,OAAO,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;;;AAIG;AACG,SAAU,mBAAmB,CAAC,MAAmB,EAAA;IACrD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAClC,QAAA,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;AACrD,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,SAAA;AACH,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,MAA8B,CAAC;AACxC,CAAC;AAED;;;;AAIG;AACa,SAAA,cAAc,CAAC,GAAW,EAAE,MAAmB,EAAA;AAC7D,IAAA,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,IAAA,MAAM,eAAe,GAAyB,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAE1E,IAAA,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAI;AACjD,QAAA,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjD,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC9B;;;;"}