diff --git a/loopback/util/flatten.js b/loopback/util/flatten.js index d6030f7d03..35c368d3b9 100644 --- a/loopback/util/flatten.js +++ b/loopback/util/flatten.js @@ -1,7 +1,22 @@ +/** + * Flattens an array of objects by converting each object into a flat structure. + * + * @param {Array} dataArray Array of objects to be flattened + * @return {Array} Array of flattened objects + */ function flatten(dataArray) { return dataArray.map(item => flattenObj(item.__data)); } + +/** + * Recursively flattens an object, converting nested properties into a single level object + * with keys representing the original nested structure. + * + * @param {Object} data The object to be flattened + * @param {String} [prefix=''] Optional prefix for nested keys + * @return {Object} Flattened object + */ function flattenObj(data, prefix = '') { let result = {}; try { diff --git a/modules/entry/back/methods/entry/getBuysCsv.js b/modules/entry/back/methods/entry/getBuysCsv.js index 647f41d22e..a46f09c669 100644 --- a/modules/entry/back/methods/entry/getBuysCsv.js +++ b/modules/entry/back/methods/entry/getBuysCsv.js @@ -40,27 +40,3 @@ module.exports = Self => { return [toCSV(dataFlatted), 'text/csv', `inline; filename="buys-${id}.csv"`]; }; }; -// function flattenJSON(dataArray) { -// return dataArray.map(item => flatten(item.__data)); -// } -// function flatten(data, prefix = '') { -// let result = {}; -// try { -// for (let key in data) { -// if (!data[key]) continue; - -// const newKey = prefix ? `${prefix}_${key}` : key; -// const value = data[key]; - -// if (typeof value === 'object' && value !== null && !Array.isArray(value)) -// Object.assign(result, flatten(value.__data, newKey)); -// else -// result[newKey] = value; -// } -// } catch (error) { -// console.error(error); -// } - -// return result; -// } -