@koopjs/featureserver
Version:
*An open source implementation of the GeoServices specification*
48 lines (43 loc) • 1.18 kB
JavaScript
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,
};