UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

43 lines 4.4 kB
import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; export 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: "18.2.13", ngImport: i0, type: DatapointParserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapointParserService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatapointParserService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXBvaW50LXBhcnNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZGF0YXBvaW50LWxpYnJhcnkvc2VydmljZXMvZGF0YXBvaW50LXBhcnNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFFcUIscUJBQWdCLEdBQUc7WUFDcEMsUUFBUTtZQUNSLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGFBQWE7WUFDYixLQUFLO1lBQ0wsS0FBSztTQUNHLENBQUM7S0F5Qlo7SUF2QkMsZUFBZSxDQUFDLFVBQTRCO1FBQzFDLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsY0FBYyxDQUFDLFNBQXlCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDOUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QyxJQUFJLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUN2QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO2dCQUNqQixDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7K0dBakNVLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRFQsTUFBTTs7NEZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBEYXRhcG9pbnRQYXJzZXJTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGF0dHJpYnV0ZVRvUGFyc2UgPSBbXG4gICAgJ3RhcmdldCcsXG4gICAgJ3llbGxvd1JhbmdlTWluJyxcbiAgICAneWVsbG93UmFuZ2VNYXgnLFxuICAgICdyZWRSYW5nZU1pbicsXG4gICAgJ3JlZFJhbmdlTWF4JyxcbiAgICAnbWluJyxcbiAgICAnbWF4J1xuICBdIGFzIGNvbnN0O1xuXG4gIHBhcnNlRGF0YXBvaW50cyhkYXRhcG9pbnRzOiBJTWFuYWdlZE9iamVjdFtdKSB7XG4gICAgcmV0dXJuIGRhdGFwb2ludHMubWFwKGRwID0+IHRoaXMucGFyc2VEYXRhcG9pbnQoZHApKTtcbiAgfVxuXG4gIHBhcnNlRGF0YXBvaW50KGRhdGFwb2ludDogSU1hbmFnZWRPYmplY3QpOiBJTWFuYWdlZE9iamVjdCB7XG4gICAgaWYgKCFkYXRhcG9pbnQuYzh5X0twaSkge1xuICAgICAgcmV0dXJuIGRhdGFwb2ludDtcbiAgICB9XG5cbiAgICBjb25zdCBrcGkgPSBkYXRhcG9pbnQuYzh5X0twaTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiB0aGlzLmF0dHJpYnV0ZVRvUGFyc2UpIHtcbiAgICAgIGlmICh0eXBlb2Yga3BpW2tleV0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IG51bSA9IE51bWJlci5wYXJzZUZsb2F0KGtwaVtrZXldKTtcbiAgICAgICAgaWYgKCFOdW1iZXIuaXNOYU4obnVtKSkge1xuICAgICAgICAgIGtwaVtrZXldID0gbnVtO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlbGV0ZSBrcGlba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkYXRhcG9pbnQ7XG4gIH1cbn1cbiJdfQ==