{"version":3,"sources":["../../../src/uploads/fetchAPI-multipart/processNested.ts"],"sourcesContent":["import { isSafeFromPollution } from './utilities.js'\n\nexport const processNested = function (data: Record) {\n if (!data || data.length < 1) {\n return Object.create(null)\n }\n\n const d = Object.create(null),\n keys = Object.keys(data)\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]!,\n keyParts = key?.replace(new RegExp(/\\[/g), '.').replace(new RegExp(/\\]/g), '').split('.'),\n value = data[key]\n let current = d\n\n for (let index = 0; index < keyParts.length; index++) {\n const k = keyParts[index]!\n\n // Ensure we don't allow prototype pollution\n if (!isSafeFromPollution(current, k)) {\n continue\n }\n\n if (index >= keyParts.length - 1) {\n current[k] = value\n } else {\n if (!current[k]) {\n current[k] = !keyParts[index + 1] ? [] : Object.create(null)\n }\n current = current[k]\n }\n }\n }\n return d\n}\n"],"names":["isSafeFromPollution","processNested","data","length","Object","create","d","keys","i","key","keyParts","replace","RegExp","split","value","current","index","k"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,iBAAgB;AAEpD,OAAO,MAAMC,gBAAgB,SAAUC,IAAyB;IAC9D,IAAI,CAACA,QAAQA,KAAKC,MAAM,GAAG,GAAG;QAC5B,OAAOC,OAAOC,MAAM,CAAC;IACvB;IAEA,MAAMC,IAAIF,OAAOC,MAAM,CAAC,OACtBE,OAAOH,OAAOG,IAAI,CAACL;IAErB,IAAK,IAAIM,IAAI,GAAGA,IAAID,KAAKJ,MAAM,EAAEK,IAAK;QACpC,MAAMC,MAAMF,IAAI,CAACC,EAAE,EACjBE,WAAWD,KAAKE,QAAQ,IAAIC,OAAO,QAAQ,KAAKD,QAAQ,IAAIC,OAAO,QAAQ,IAAIC,MAAM,MACrFC,QAAQZ,IAAI,CAACO,IAAI;QACnB,IAAIM,UAAUT;QAEd,IAAK,IAAIU,QAAQ,GAAGA,QAAQN,SAASP,MAAM,EAAEa,QAAS;YACpD,MAAMC,IAAIP,QAAQ,CAACM,MAAM;YAEzB,4CAA4C;YAC5C,IAAI,CAAChB,oBAAoBe,SAASE,IAAI;gBACpC;YACF;YAEA,IAAID,SAASN,SAASP,MAAM,GAAG,GAAG;gBAChCY,OAAO,CAACE,EAAE,GAAGH;YACf,OAAO;gBACL,IAAI,CAACC,OAAO,CAACE,EAAE,EAAE;oBACfF,OAAO,CAACE,EAAE,GAAG,CAACP,QAAQ,CAACM,QAAQ,EAAE,GAAG,EAAE,GAAGZ,OAAOC,MAAM,CAAC;gBACzD;gBACAU,UAAUA,OAAO,CAACE,EAAE;YACtB;QACF;IACF;IACA,OAAOX;AACT,EAAC"}