import { Utils } from "./Utils";
/**
* @class MonitorDataProcessor
* Responsible for converting each piece of data into distributable data: id key value.
* @memberof THING
* @public
*/
class MonitorDataProcessor {
constructor(processors) {
if (Utils.isArray(processors)) {
this.processors = processors;
}
else if (processors !== undefined && processors !== null) {
this.processors = [processors];
}
else {
this.processors = [];
}
}
process(data) {
if (!Utils.isArray(data)) {
data = [data];
}
let processedDatas = [];
data.forEach((_data_) => {
let _processedData_ = Utils.cloneObject(_data_);
this.processors.forEach(processor => {
if (Utils.isFunction(processor)) {
_processedData_ = processor(_processedData_);
}
})
processedDatas.push(_processedData_);
});
return processedDatas;
}
}
export { MonitorDataProcessor }