UNPKG

@dxspring/formdata

Version:
45 lines 2.6 kB
// Services import { ObjectService } from '../Services/ObjectService'; // Providers import { ArrayProvider } from './ArrayProvider'; // Object Provider export const ObjectProvider = ({ data, key }) => { var _a; const FinalData = {}; // Looping On Object Data if (data && !!Object.keys(data).length) { for (let Index = 0; Index < Object.keys(data).length; Index++) { // Value Is Object if (data[Object.keys(data)[Index]] instanceof Object && !(data[Object.keys(data)[Index]] instanceof Array) && !!Object.keys(data[Object.keys(data)[Index]]).length) { const ObjectData = ObjectService({ data: data[Object.keys(data)[Index]], key: `${key ? key + '[' : ''}${Object.keys(data)[Index]}${key ? ']' : ''}` }); if (ObjectData && Object.keys(ObjectData).length) { for (let Index = 0; Index < Object.keys(ObjectData).length; Index++) { FinalData[Object.keys(ObjectData)[Index]] = ObjectData[Object.keys(ObjectData)[Index]]; } } } // Value Is Array if (data[Object.keys(data)[Index]] instanceof Array && data[Object.keys(data)[Index]].length) { const ArrayData = ArrayProvider({ data: data[Object.keys(data)[Index]], key: `${key ? key + '[' : ''}${Object.keys(data)[Index]}${key ? ']' : ''}` }); if (ArrayData && Object.keys(ArrayData).length) { for (let Index = 0; Index < Object.keys(ArrayData).length; Index++) { FinalData[Object.keys(ArrayData)[Index]] = ArrayData[Object.keys(ArrayData)[Index]]; } } } // Value Is File if (data[Object.keys(data)[Index]] instanceof FileList && ((_a = data[Object.keys(data)[Index]]) === null || _a === void 0 ? void 0 : _a.length) === 1) { FinalData[`${key ? key + '[' : ''}${Object.keys(data)[Index]}${key ? ']' : ''}`] = data[Object.keys(data)[Index]][0]; } // Value Is String, Number Or Boolean if (data[Object.keys(data)[Index]] && !(data[Object.keys(data)[Index]] instanceof Array) && !(data[Object.keys(data)[Index]] instanceof Object) && !(data[Object.keys(data)[Index]] instanceof FileList)) { FinalData[`${key ? key + '[' : ''}${Object.keys(data)[Index]}${key ? ']' : ''}`] = data[Object.keys(data)[Index]]; } } } return FinalData; }; //# sourceMappingURL=ObjectProvider.js.map