UNPKG

@wbg-mde/r-factory

Version:

Metadata editor R integration module

68 lines (67 loc) 3.44 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); const repository_1 = require("@wbg-mde/repository"); const api_helper_1 = require("../shared/api-helper"); const _ = require('lodash'); let VariableStatistics = class VariableStatistics { updateVariableStatistics(params) { this.formatInput(params.variableInfo); return api_helper_1.APIHelper.call('updateStats', 'post', { "typeOfActions": params.variableInfo, "csvpath": params.csvPath }).then((response) => { return response.data; }); } formatInput(statisticsInfo) { var destringInfo = _.filter(statisticsInfo, (x) => x.action === 'destring'); if (destringInfo && destringInfo.length > 0) { destringInfo.forEach((dinfo) => { var statsInfo = _.find(statisticsInfo, (x) => (x.action === 'recalcStats' && x.name === dinfo.name)); if (statsInfo) { statsInfo.properties.forEach((prop) => { prop.catValu = parseFloat(prop.catValu); }); } }); } let encodeMissings = _.filter(statisticsInfo, (x) => x.action === 'encodeMissing'); encodeMissings.forEach((opData) => { var equalToOpData = opData.properties.filter((x) => x.op === '='); var gteOpData = opData.properties.filter((x) => x.op === '>='); var lteOpData = opData.properties.filter((x) => x.op === '<='); var rangeOpData = opData.properties.filter((x) => x.op === '..'); if (rangeOpData.length == 1) { if (rangeOpData[0].val === '*' && rangeOpData[0].val2 === '*') { rangeOpData = []; } else if (rangeOpData[0].val === '*' || rangeOpData[0].val2 === '*') { if (rangeOpData[0].val === '*') { lteOpData.push({ "op": '<=', val: rangeOpData[0].val2 }); } if (rangeOpData[0].val2 === '*') { gteOpData.push({ "op": '>=', val: rangeOpData[0].val }); } rangeOpData = []; } } if (gteOpData.length > 1) { gteOpData = [_.minBy(gteOpData, function (o) { return parseFloat(o.val); })]; } if (lteOpData.length > 1) { lteOpData = [_.maxBy(lteOpData, function (o) { return parseFloat(o.val); })]; } opData.properties = [...equalToOpData, ...rangeOpData, ...gteOpData, ...lteOpData]; }); } }; VariableStatistics = __decorate([ repository_1.Trace() ], VariableStatistics); exports.VariableStatistics = VariableStatistics;