UNPKG

@ajoelp/json-to-formdata

Version:

Convert json data to a FormData object

3 lines (2 loc) 759 B
import e from"lodash/isObject";import a from"lodash/isArray";const o=(r,s,t,l)=>{const n=l||"";(e=>null===e)(r)||(e=>void 0===e)(r)?s.excludeNull||t.append(n,""):(e=>e instanceof File)(r)||(e=>e instanceof Blob)(r)?t.append(n,r):a(r)?r.forEach((e,a)=>{let r=n;s.useBrackets&&(r+=`[${s.arrayIndexes?a:""}]`),o(e,s,t,r)}):e(r)?Object.entries(r).forEach(([e,a])=>{let r=e;l&&(r=s.useDotSeparator?`${l}.${e}`:`${l}[${e}]`),o(a,s,t,r)}):(e=>"boolean"==typeof e)(r)?t.append(n,s.booleanAsNumbers?`${Number(r)}`:r?"true":"false"):t.append(n,r)},r={arrayIndexes:!0,excludeNull:!0,useDotSeparator:!1,useBrackets:!0,booleanAsNumbers:!1},s=(e,a={},s=new FormData)=>e?(a=Object.assign({},r,a),o(e,a,s),s):s;export{s as default}; //# sourceMappingURL=index.modern.mjs.map