All files / lib/helpers/fields esri-type-utils.js

100% Statements 18/18
100% Branches 14/14
100% Functions 2/2
100% Lines 18/18

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 47 481x         1x     82x   3x   8x   7x   2x   2x   2x   2x   2x   2x   2x   2x     48x         26x   26x     1x        
const { getDataTypeFromValue } = require('../data-type-utils')
const {
  ESRI_FIELD_TYPE_STRING,
  ESRI_FIELD_TYPE_DATE,
  ESRI_FIELD_TYPE_DOUBLE
} = require('./constants')
 
function getEsriTypeFromDefinition (typeDefinition = '') {
  switch (typeDefinition.toLowerCase()) {
    case 'double':
      return ESRI_FIELD_TYPE_DOUBLE
    case 'integer':
      return 'esriFieldTypeInteger'
    case 'date':
      return ESRI_FIELD_TYPE_DATE
    case 'blob':
      return 'esriFieldTypeBlob'
    case 'geometry':
      return 'esriFieldTypeGeometry'
    case 'globalid':
      return 'esriFieldTypeGlobalID'
    case 'guid':
      return 'esriFieldTypeGUID'
    case 'raster':
      return 'esriFieldTypeRaster'
    case 'single':
      return 'esriFieldTypeSingle'
    case 'smallinteger':
      return 'esriFieldTypeSmallInteger'
    case 'xml':
      return 'esriFieldTypeXML'
    case 'string':
    default:
      return ESRI_FIELD_TYPE_STRING
  }
}
 
function getEsriTypeFromValue (value) {
  const dataType = getDataTypeFromValue(value)
 
  return getEsriTypeFromDefinition(dataType)
}
 
module.exports = {
  getEsriTypeFromDefinition,
  getEsriTypeFromValue
}