@abaplint/core
Version:
abaplint - Core API
64 lines • 2.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Transaction = void 0;
const _abstract_object_1 = require("./_abstract_object");
const xml_utils_1 = require("../xml_utils");
class Transaction extends _abstract_object_1.AbstractObject {
getType() {
return "TRAN";
}
setDirty() {
this.parsedXML = undefined;
super.setDirty();
}
getAllowedNaming() {
return {
maxLength: 20,
allowNamespace: true,
};
}
getCInfo() {
var _a;
this.parse();
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.cinfo;
}
getProgramName() {
var _a;
this.parse();
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.programName;
}
getDescription() {
var _a;
this.parse();
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;
}
getTextsTranslations() {
var _a;
this.parse();
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.textsTranslations;
}
parse() {
var _a, _b, _c, _d, _e, _f;
if (this.parsedXML) {
return { updated: false, runtime: 0 };
}
const start = Date.now();
this.parsedXML = {};
const parsed = super.parseRaw2();
const values = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"];
if (values === undefined) {
return { updated: false, runtime: 0 };
}
this.parsedXML.description = (_c = values.TSTCT) === null || _c === void 0 ? void 0 : _c.TTEXT;
this.parsedXML.programName = (_d = values.TSTC) === null || _d === void 0 ? void 0 : _d.PGMNA;
this.parsedXML.cinfo = (_e = values.TSTC) === null || _e === void 0 ? void 0 : _e.CINFO;
this.parsedXML.textsTranslations = [];
for (const item of (0, xml_utils_1.xmlToArray)((_f = values.I18N_TPOOL) === null || _f === void 0 ? void 0 : _f.TSTCT)) {
this.parsedXML.textsTranslations.push({ language: item.SPRSL, description: item.TTEXT });
}
const end = Date.now();
return { updated: true, runtime: end - start };
}
}
exports.Transaction = Transaction;
//# sourceMappingURL=transaction.js.map