featureserver
Version:
*An open source implementation of the GeoServices specification*
32 lines (24 loc) • 655 B
JavaScript
const Fields = require('./fields')
class QueryFields extends Fields {
static create (inputOptions = {}) {
const options = Fields.normalizeOptions(inputOptions)
return new QueryFields(options)
}
constructor (options = {}) {
super(options)
const {
outFields
} = options
if (outFields && outFields !== '*') {
return filterByOutfields(outFields, this.fields)
}
return this.fields
}
}
function filterByOutfields (outFields, fields) {
const outFieldNames = outFields.split(/\s*,\s*/)
return fields.filter(field => {
return outFieldNames.includes(field.name)
})
}
module.exports = QueryFields