{"version":3,"file":"create-url-search-params.mjs","names":["urlSearchParams"],"sources":["../src/create-url-search-params.ts"],"sourcesContent":["import type { Nullable, Primitive } from \"./types.ts\";\n\nexport type CreateUrlSearchParamsParams =\n\t| Array<[string, Nullable<Primitive>]>\n\t| FormData\n\t| Record<string, Array<Nullable<Primitive>> | Nullable<Primitive>>\n\t| URLSearchParams\n\t| string;\n\nexport function createUrlSearchParams(params: CreateUrlSearchParamsParams): URLSearchParams {\n\tif (typeof params === \"string\") {\n\t\treturn new URLSearchParams(params);\n\t}\n\n\tif (\n\t\tparams instanceof URLSearchParams ||\n\t\t/**\n\t\t * Typescript does not natively allow passing `FormData`, because it could contain `File` fields,\n\t\t * which would be serialized as `\"[object File]\"`.\n\t\t *\n\t\t * @see https://github.com/microsoft/TypeScript/issues/30584\n\t\t */\n\t\tparams instanceof FormData\n\t) {\n\t\t// @ts-expect-error See above.\n\t\treturn new URLSearchParams(params);\n\t}\n\n\tif (Array.isArray(params)) {\n\t\tconst urlSearchParams = new URLSearchParams();\n\n\t\tparams.forEach(([key, value]) => {\n\t\t\tif (value != null) {\n\t\t\t\turlSearchParams.append(key, String(value));\n\t\t\t}\n\t\t});\n\n\t\treturn urlSearchParams;\n\t}\n\n\tconst urlSearchParams = new URLSearchParams();\n\n\tObject.entries(params).forEach(([key, value]) => {\n\t\tif (Array.isArray(value)) {\n\t\t\tvalue.forEach((v) => {\n\t\t\t\tif (v != null) {\n\t\t\t\t\turlSearchParams.append(key, String(v));\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (value != null) {\n\t\t\turlSearchParams.set(key, String(value));\n\t\t}\n\t});\n\n\treturn urlSearchParams;\n}\n"],"mappings":";AASA,SAAgB,sBAAsB,QAAsD;AAC3F,KAAI,OAAO,WAAW,SACrB,QAAO,IAAI,gBAAgB,OAAO;AAGnC,KACC,kBAAkB,mBAOlB,kBAAkB,SAGlB,QAAO,IAAI,gBAAgB,OAAO;AAGnC,KAAI,MAAM,QAAQ,OAAO,EAAE;EAC1B,MAAMA,oBAAkB,IAAI,iBAAiB;AAE7C,SAAO,SAAS,CAAC,KAAK,WAAW;AAChC,OAAI,SAAS,KACZ,mBAAgB,OAAO,KAAK,OAAO,MAAM,CAAC;IAE1C;AAEF,SAAOA;;CAGR,MAAM,kBAAkB,IAAI,iBAAiB;AAE7C,QAAO,QAAQ,OAAO,CAAC,SAAS,CAAC,KAAK,WAAW;AAChD,MAAI,MAAM,QAAQ,MAAM,CACvB,OAAM,SAAS,MAAM;AACpB,OAAI,KAAK,KACR,iBAAgB,OAAO,KAAK,OAAO,EAAE,CAAC;IAEtC;WACQ,SAAS,KACnB,iBAAgB,IAAI,KAAK,OAAO,MAAM,CAAC;GAEvC;AAEF,QAAO"}