Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | 2x 2x 2x 2x 2x 2x 2x 2x 3x 3x 13x 4x 9x 13x 2x | const _ = require('lodash') const { isValidISODateString, isValidDate } = require('iso-datestring-validator') const { StatisticsFields } = require('../helpers/fields') function renderPrecalculatedStatisticsResponse (input, options) { const { statistics } = input const normalizedStatistics = Array.isArray(statistics) ? statistics : [statistics] const fields = StatisticsFields.create({ ...input, ...options }) return { fields, features: createStatisticFeatures(normalizedStatistics) } } function createStatisticFeatures (statistics) { return statistics.map(statistic => { return { attributes: convertDatePropertiesToTimestamps(statistic) } }) } function convertDatePropertiesToTimestamps (obj) { return _.mapValues(obj, value => { if (isDate(value)) { return new Date(value).getTime() } return value }) } function isDate (value) { return value instanceof Date || ((typeof value === 'string') && (isValidDate(value) || isValidISODateString(value))) } module.exports = { renderPrecalculatedStatisticsResponse } |