@vulppi/toolbelt
Version:
A collection of tools and utilities.
2 lines (1 loc) • 850 B
JavaScript
;var l=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var g=(t,e)=>{for(var r in e)l(t,r,{get:e[r],enumerable:!0})},p=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of y(e))!d.call(t,n)&&n!==r&&l(t,n,{get:()=>e[n],enumerable:!(s=f(e,n))||s.enumerable});return t};var F=t=>p(l({},"__esModule",{value:!0}),t);var k={};g(k,{serializeForm:()=>b});module.exports=F(k);function b(t){let e=t instanceof FormData?t:new FormData(t),r=Object.fromEntries(e),s={};for(let n in r)if(n.includes(".")){let i=n.split("."),c=s;for(let o=0;o<i.length;o++){let a=m(i[o]);if(o===i.length-1)c[a]=r[n];else{let u=typeof m(i[o+1])=="number";c=c[a]=c[a]||(u?[]:{})}}}else s[n]=r[n];return s}function m(t){return/^\d+$/.test(t.trim())?parseInt(t):t.trim()}