@wbg-mde/r-factory
Version:
Metadata editor R integration module
58 lines (57 loc) • 2.5 kB
JavaScript
;
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 utility_1 = require("../shared/utility");
const api_helper_1 = require("../shared/api-helper");
const _ = require('lodash');
let DeString = class DeString {
destringVariables(variables, listOfVariables, datafile, updatedDataPath) {
const varDescr = utility_1.Utility.formatVariable(variables, [
'name',
'internalName',
'type',
'dataType'
]);
let varNameMap = variables
.filter((x) => listOfVariables.indexOf(x.name) !== -1)
.reduce((result, variable) => {
result[variable.internalName || variable.name] = variable.name;
return result;
}, {});
return api_helper_1.APIHelper.call('destring', 'post', {
varDescr,
datafile,
updatedDataPath,
listOfVariables
}).then((response) => {
if (response.data && response.data.result === 'ok') {
if (response.data.variables && response.data.variables.length > 0) {
response.data.variables.forEach((x) => {
x.name = varNameMap[x.name];
});
}
varNameMap = null;
return Object.assign({ result: "ok", data: response.data.variables });
}
else {
return Object.assign({ result: 'error', message: response.data.message });
}
}).catch((err) => {
return Object.assign({ result: 'error', message: err.toString() });
});
}
};
DeString = __decorate([
repository_1.Trace({
params: {
destringVariables: [0]
}
})
], DeString);
exports.DeString = DeString;