UNPKG

@abaplint/core

Version:
59 lines 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ICFService = void 0; const _abstract_object_1 = require("./_abstract_object"); const xml_utils_1 = require("../xml_utils"); class ICFService extends _abstract_object_1.AbstractObject { getType() { return "SICF"; } getAllowedNaming() { return { maxLength: 100, allowNamespace: true, }; } setDirty() { this.parsedXML = undefined; super.setDirty(); } getDescription() { // todo return undefined; } getURL() { var _a; this.parse(); return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.url; } getHandlerList() { var _a; this.parse(); return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.handlers; } parse() { if (this.parsedXML) { return { updated: false, runtime: 0 }; } const start = Date.now(); this.parsedXML = {}; const parsed = super.parseRaw2(); if (parsed === undefined || parsed.abapGit === undefined || parsed.abapGit["asx:abap"]["asx:values"] === undefined) { return { updated: false, runtime: 0 }; } const table = parsed.abapGit["asx:abap"]["asx:values"].ICFHANDLER_TABLE; this.parsedXML.handlers = []; for (const h of (0, xml_utils_1.xmlToArray)(table)) { if (h.ICFHANDLER !== undefined) { this.parsedXML.handlers.push(h.ICFHANDLER.ICFHANDLER); } } this.parsedXML.url = parsed.abapGit["asx:abap"]["asx:values"].URL; const end = Date.now(); return { updated: true, runtime: end - start }; } } exports.ICFService = ICFService; //# sourceMappingURL=icf_service.js.map