{"version":3,"file":"index.mjs","sources":[""],"sourcesContent":["type TFormDataEntryValue = string | File;\r\ntype TFormDataReturn = Record<string, TFormDataEntryValue | TFormDataEntryValue[]>;\r\n\r\nexport type TGetObjFromFormDataArgs = Parameters<typeof getObjFromFormData>;\r\n\r\nexport type TGetObjFromFormDataReturn = ReturnType<typeof getObjFromFormData>;\r\n\r\n/**\r\n * Gets an object from `FormData` interface\r\n * @param {FormData} [fd=new FormData()] Source `FormData` instance\r\n * @returns {Record<string, string|File|(string|File)[]>} Object representation\r\n * @throws {TypeError} getObjFromFormData: fd must be a FormData instance\r\n * @example\r\n * // How to convert `FormData` to object?\r\n * const fd = new FormData();\r\n * fd.append(\"test\", \"val\");\r\n * getObjFromFormData(fd); // { test: \"val\" }\r\n */\r\nexport const getObjFromFormData = (fd: FormData = new FormData()): TFormDataReturn => {\r\n  if (!(fd instanceof FormData)) {\r\n    throw new TypeError(\"getObjFromFormData: fd must be a FormData instance\");\r\n  }\r\n\r\n  const entries: [string, TFormDataEntryValue | TFormDataEntryValue[]][] = [ ...fd ].map(([ name, value ]) => {\r\n    const values = fd.getAll(name) as TFormDataEntryValue[];\r\n    return [ name, values.length > 1 ? values : value as TFormDataEntryValue ];\r\n  });\r\n\r\n  return Object.fromEntries(entries);\r\n};\r\n"],"names":["getObjFromFormData","fd","FormData","TypeError","entries","map","name","value","values","getAll","length","Object","fromEntries"],"mappings":";;;;;;;;;;;AAkBO,MAAMA,mBAAqBA,CAACC,GAAe,IAAIC,YACpD,KAAMD,cAAcC,UAClB,MAAM,IAAIC,UAAU,sDAGtB,MAAMC,QAAmE,IAAKH,IAAKI,IAAI,EAAGC,KAAMC,UAC9F,MAAMC,OAASP,GAAGQ,OAAOH,MACzB,MAAO,CAAEA,KAAME,OAAOE,OAAS,EAAIF,OAASD,SAG9C,OAAOI,OAAOC,YAAYR"}