@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
51 lines (47 loc) • 1.73 kB
JavaScript
import * as i0 from '@angular/core';
import { Injectable } from '@angular/core';
class DatapointParserService {
constructor() {
this.attributeToParse = [
'target',
'yellowRangeMin',
'yellowRangeMax',
'redRangeMin',
'redRangeMax',
'min',
'max'
];
}
parseDatapoints(datapoints) {
return datapoints.map(dp => this.parseDatapoint(dp));
}
parseDatapoint(datapoint) {
if (!datapoint.c8y_Kpi) {
return datapoint;
}
const kpi = datapoint.c8y_Kpi;
for (const key of this.attributeToParse) {
if (typeof kpi[key] === 'string') {
const num = Number.parseFloat(kpi[key]);
if (!Number.isNaN(num)) {
kpi[key] = num;
}
else {
delete kpi[key];
}
}
}
return datapoint;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DatapointParserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DatapointParserService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DatapointParserService, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}] });
/**
* Generated bundle index. Do not edit.
*/
export { DatapointParserService };
//# sourceMappingURL=c8y-ngx-components-datapoint-library-services.mjs.map