/**
* Класс AbstractDataSource предназначен для наследования частных классов - источнков данных
*/
class AbstractDataSource {
/**
* Создает экземпляр класса AbstractDataSource
* @param params
*/
constructor(params) {
this.params = params || {};
}
getDataSource() {
return this;
}
/**
* Возвращает источник данных
* @return {*}
*/
getSource() {
return this.source;
}
/**
* Устанавливает источник данных
* @param source
*/
setSource(source) {
this.source = source;
}
getMappings() {
if (this.params.mappings) return this.params.mappings;
return {};
}
setMappings(params) {
this.params.mappings = params;
}
getFieldAlias(item) {
let mappings = this.getMappings();
let fieldName = item.fieldName;
let alias = mappings[fieldName].alias || fieldName;
return alias;
}
}
module.exports = AbstractDataSource;