UNPKG

@abaplint/core

Version:
66 lines 2.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MessageClass = void 0; const _abstract_object_1 = require("./_abstract_object"); const message_1 = require("../abap/types/message"); const xml_utils_1 = require("../xml_utils"); class MessageClass extends _abstract_object_1.AbstractObject { constructor() { super(...arguments); this.parsedMessages = undefined; } getType() { return "MSAG"; } getDescription() { this.parseXML(); // todo return undefined; } getAllowedNaming() { return { maxLength: 20, allowNamespace: true, }; } setDirty() { this.parsedMessages = undefined; super.setDirty(); } getMessages() { this.parseXML(); const msg = this.parsedMessages; return msg ? msg : []; } getByNumber(num) { this.parseXML(); // todo, optimize performance, for (const message of this.getMessages()) { if (message.getNumber() === num) { return message; } } return undefined; } ///////////////////////////////// parseXML() { var _a, _b; if (this.parsedMessages !== undefined) { return; } this.parsedMessages = []; const parsed = super.parseRaw2(); if (parsed === undefined) { return; } const t100 = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]["asx:values"]) === null || _b === void 0 ? void 0 : _b.T100; if (t100 === undefined) { return; } for (const msg of (0, xml_utils_1.xmlToArray)(t100.T100)) { this.parsedMessages.push(new message_1.Message(msg.MSGNR, (0, xml_utils_1.unescape)(msg.TEXT))); } } } exports.MessageClass = MessageClass; //# sourceMappingURL=message_class.js.map