UNPKG

@abaplint/core

Version:
48 lines 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CDSMetadataExtension = void 0; const cds_parser_1 = require("../cds/cds_parser"); const _abstract_object_1 = require("./_abstract_object"); class CDSMetadataExtension extends _abstract_object_1.AbstractObject { constructor() { super(...arguments); this.parserError = undefined; this.parsedData = undefined; } getType() { return "DDLX"; } getAllowedNaming() { return { maxLength: 40, allowNamespace: true, }; } hasParserError() { return this.parserError; } parse() { if (this.isDirty() === false) { return { updated: false, runtime: 0 }; } const start = Date.now(); this.parsedData = { tree: undefined, }; this.parsedData.tree = new cds_parser_1.CDSParser().parse(this.findSourceFile()); if (this.parsedData.tree === undefined) { this.parserError = true; } this.dirty = false; return { updated: true, runtime: Date.now() - start }; } getDescription() { // todo return undefined; } findSourceFile() { return this.getFiles().find(f => f.getFilename().endsWith(".asddlxs") || f.getFilename().endsWith(".acds")); } } exports.CDSMetadataExtension = CDSMetadataExtension; //# sourceMappingURL=cds_metadata_extension.js.map