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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 27x 27x 1x 1x 5x 5x 5x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 8x 8x 8x 1x 1x 14x 6x 6x 8x 8x 8x 8x 8x 8x 14x 14x 3x 3x 5x 14x 14x 14x 14x 14x 14x 14x 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() {
this.parse();
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 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};
}
}
|