Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 24x 24x 1x 1x 5x 5x 5x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 7x 7x 7x 1x 1x 2x 2x 2x 1x 1x 13x 6x 6x 7x 7x 7x 7x 7x 7x 13x 13x 3x 3x 4x 13x 13x 13x 13x 13x 13x 13x 1x | import {IFile} from "../files/_ifile";
import {AbstractObject} from "./_abstract_object";
export class MIMEObject extends AbstractObject {
private parsedXML: {
URL?: string,
CLASS?: string,
FOLDER?: string,
} | undefined;
public getType(): string {
return "SMIM";
}
public getURL(): string | undefined {
this.parse();
return this.parsedXML?.URL;
}
public getClass(): string | undefined {
this.parse();
return this.parsedXML?.CLASS;
}
public isFolder() {
return this.parsedXML?.FOLDER === "X";
}
public getAllowedNaming() {
return {
maxLength: 32,
allowNamespace: false,
};
}
public getDataFile(): IFile | undefined {
const main = this.getXMLFile();
for (const f of this.getFiles()) {
if (f.getFilename() !== main?.getFilename()) {
return f;
}
}
return undefined;
}
public setDirty(): void {
this.parsedXML = undefined;
super.setDirty();
}
public getDescription(): string | undefined {
// this object type does not have a description
return undefined;
}
public 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};
}
this.parsedXML.URL = parsed.abapGit?.["asx:abap"]?.["asx:values"]?.URL;
this.parsedXML.CLASS = parsed.abapGit?.["asx:abap"]?.["asx:values"]?.CLASS;
this.parsedXML.FOLDER = parsed.abapGit?.["asx:abap"]?.["asx:values"]?.FOLDER;
const end = Date.now();
return {updated: true, runtime: end - start};
}
}
|