UNPKG

@mikezimm/fps-core-v7

Version:

Library of reusable core interfaces, types and constants migrated from fps-library-v2

45 lines 1.48 kB
/** * cleanSearchedResults will go through results.items and flatten the results into traditional objects. * * @param results * @returns */ export function cleanSearchResults(results) { const { fetchAPI } = results; if (!fetchAPI || fetchAPI.indexOf('_api/search') === -1) return results; const rows = results.items; const cleanItems = []; rows.map((row) => { const thisItem = {}; row.Cells.map((cell) => { const { Key, Value, ValueType } = cell; const convertedValue = converValueType(Value, ValueType); thisItem[Key] = convertedValue; }); cleanItems.push(thisItem); }); results.search = rows; results.items = cleanItems; return results; } export function converValueType(value, valueType) { switch (valueType) { case 'Edm.String': case 'Edm.Guid': // Treat as a string case 'Edm.DateTime': // return new Date(value); return value; case 'Edm.Int32': case 'Edm.Int64': return parseInt(value, 10); case 'Edm.Double': return parseFloat(value); case 'Edm.Boolean': return value.toLowerCase() === 'true'; default: console.warn(`Unhandled ValueType: ${valueType}`); return value; // Return as is for unknown types } } //# sourceMappingURL=cleanSearchedResults.js.map