@abaplint/core 2.95.18 → 2.95.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3987,12 +3987,21 @@ declare class MethodSource extends Expression {
3987
3987
  }
3988
3988
 
3989
3989
  declare class MIMEObject extends AbstractObject {
3990
+ private parsedXML;
3990
3991
  getType(): string;
3992
+ getURL(): string | undefined;
3993
+ getClass(): string | undefined;
3991
3994
  getAllowedNaming(): {
3992
3995
  maxLength: number;
3993
3996
  allowNamespace: boolean;
3994
3997
  };
3998
+ getDataFile(): IFile | undefined;
3999
+ setDirty(): void;
3995
4000
  getDescription(): string | undefined;
4001
+ parse(): {
4002
+ updated: boolean;
4003
+ runtime: number;
4004
+ };
3996
4005
  }
3997
4006
 
3998
4007
  declare class Modif extends Expression {
@@ -6495,9 +6504,16 @@ declare class WebDynproComponentConfiguration extends AbstractObject {
6495
6504
  }
6496
6505
 
6497
6506
  declare class WebMIME extends AbstractObject {
6507
+ private parsedXML;
6498
6508
  getType(): string;
6499
6509
  getAllowedNaming(): IAllowedNaming;
6500
6510
  getDescription(): string | undefined;
6511
+ setDirty(): void;
6512
+ getDataFile(): IFile | undefined;
6513
+ parse(): {
6514
+ updated: boolean;
6515
+ runtime: number;
6516
+ };
6501
6517
  }
6502
6518
 
6503
6519
  declare class When implements IStructure {
@@ -6,16 +6,56 @@ class MIMEObject extends _abstract_object_1.AbstractObject {
6
6
  getType() {
7
7
  return "SMIM";
8
8
  }
9
+ getURL() {
10
+ var _a;
11
+ this.parse();
12
+ return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.URL;
13
+ }
14
+ getClass() {
15
+ var _a;
16
+ this.parse();
17
+ return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.CLASS;
18
+ }
9
19
  getAllowedNaming() {
10
20
  return {
11
21
  maxLength: 32,
12
22
  allowNamespace: false,
13
23
  };
14
24
  }
25
+ getDataFile() {
26
+ const main = this.getXMLFile();
27
+ for (const f of this.getFiles()) {
28
+ if (f.getFilename() !== (main === null || main === void 0 ? void 0 : main.getFilename())) {
29
+ return f;
30
+ }
31
+ }
32
+ return undefined;
33
+ }
34
+ setDirty() {
35
+ this.parsedXML = undefined;
36
+ super.setDirty();
37
+ }
15
38
  getDescription() {
16
- // todo
39
+ // this object type does not have a description
17
40
  return undefined;
18
41
  }
42
+ parse() {
43
+ if (this.parsedXML) {
44
+ return { updated: false, runtime: 0 };
45
+ }
46
+ const start = Date.now();
47
+ this.parsedXML = {};
48
+ const parsed = super.parseRaw2();
49
+ if (parsed === undefined
50
+ || parsed.abapGit === undefined
51
+ || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
52
+ return { updated: false, runtime: 0 };
53
+ }
54
+ this.parsedXML.URL = parsed.abapGit["asx:abap"]["asx:values"].URL;
55
+ this.parsedXML.CLASS = parsed.abapGit["asx:abap"]["asx:values"].CLASS;
56
+ const end = Date.now();
57
+ return { updated: true, runtime: end - start };
58
+ }
19
59
  }
20
60
  exports.MIMEObject = MIMEObject;
21
61
  //# sourceMappingURL=mime_object.js.map
@@ -14,9 +14,38 @@ class WebMIME extends _abstract_object_1.AbstractObject {
14
14
  };
15
15
  }
16
16
  getDescription() {
17
- // todo
17
+ var _a;
18
+ this.parse();
19
+ return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;
20
+ }
21
+ setDirty() {
22
+ this.parsedXML = undefined;
23
+ super.setDirty();
24
+ }
25
+ getDataFile() {
26
+ for (const f of this.getFiles()) {
27
+ if (f.getFilename().includes(".data.")) {
28
+ return f;
29
+ }
30
+ }
18
31
  return undefined;
19
32
  }
33
+ parse() {
34
+ if (this.parsedXML) {
35
+ return { updated: false, runtime: 0 };
36
+ }
37
+ const start = Date.now();
38
+ this.parsedXML = {};
39
+ const parsed = super.parseRaw2();
40
+ if (parsed === undefined
41
+ || parsed.abapGit === undefined
42
+ || parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
43
+ return { updated: false, runtime: 0 };
44
+ }
45
+ this.parsedXML.description = parsed.abapGit["asx:abap"]["asx:values"].TEXT;
46
+ const end = Date.now();
47
+ return { updated: true, runtime: end - start };
48
+ }
20
49
  }
21
50
  exports.WebMIME = WebMIME;
22
51
  //# sourceMappingURL=web_mime.js.map
@@ -63,7 +63,7 @@ class Registry {
63
63
  }
64
64
  static abaplintVersion() {
65
65
  // magic, see build script "version.sh"
66
- return "2.95.18";
66
+ return "2.95.19";
67
67
  }
68
68
  getDDICReferences() {
69
69
  return this.references;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.95.18",
3
+ "version": "2.95.19",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",
@@ -54,7 +54,7 @@
54
54
  "chai": "^4.3.7",
55
55
  "eslint": "^8.34.0",
56
56
  "mocha": "^10.2.0",
57
- "c8": "^7.12.0",
57
+ "c8": "^7.13.0",
58
58
  "source-map-support": "^0.5.21",
59
59
  "ts-json-schema-generator": "^1.2.0",
60
60
  "typescript": "^4.9.5"