All files / lib/generate-renderer createClassificationInfos.js

23.52% Statements 4/17
0% Branches 0/2
0% Functions 0/6
25% Lines 4/16

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 431x 1x 1x   1x                                                                            
const _ = require('lodash')
const { createColorRamp } = require('./color-ramp')
const { createSymbol } = require('./createSymbol')
 
module.exports = { createClassBreakInfos, createUniqueValueInfos }
 
function createClassBreakInfos (breaks, classification, geomType) {
  const { colorRamp: colorRampConfig = {}, baseSymbol } = classification
  const colorRamp = createColorRamp({ breaks, ...colorRampConfig })
 
  return breaks.map((currBreak, index) => {
    return {
      classMinValue: currBreak[0],
      classMaxValue: currBreak[1],
      label: `${currBreak[0]}-${currBreak[1]}`,
      description: '', // TODO: ? fill in description
      symbol: createSymbol(baseSymbol, colorRamp[index], geomType)
    }
  })
}
 
function createUniqueValueInfos (breaks, classificationDefinition, geomType) {
  const { colorRamp: colorRampConfig = {}, baseSymbol } = classificationDefinition
  const colorRamp = createColorRamp({ breaks, ...colorRampConfig })
 
  return breaks.map((currBreak, index) => {
    const value = parseUniqueValues(currBreak, classificationDefinition.fieldDelimiter)
    return {
      value,
      count: currBreak.count,
      label: value,
      description: '',
      symbol: createSymbol(baseSymbol, colorRamp[index], geomType)
    }
  })
}
 
function parseUniqueValues (currBreak, delimiter) {
  const thisBreak = _.cloneDeep(currBreak)
  delete thisBreak.count
  return Object.keys(thisBreak).map(key => thisBreak[key]).join(delimiter)
}