@abaplint/transpiler 1.8.2 → 1.8.6

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.
@@ -36,6 +36,7 @@ export * from "./simple_source3";
36
36
  export * from "./simple_source4";
37
37
  export * from "./source_field_symbol";
38
38
  export * from "./source";
39
+ export * from "./sql_source_simple";
39
40
  export * from "./sql_source";
40
41
  export * from "./string_template_source";
41
42
  export * from "./string_template";
@@ -48,6 +48,7 @@ __exportStar(require("./simple_source3"), exports);
48
48
  __exportStar(require("./simple_source4"), exports);
49
49
  __exportStar(require("./source_field_symbol"), exports);
50
50
  __exportStar(require("./source"), exports);
51
+ __exportStar(require("./sql_source_simple"), exports);
51
52
  __exportStar(require("./sql_source"), exports);
52
53
  __exportStar(require("./string_template_source"), exports);
53
54
  __exportStar(require("./string_template"), exports);
@@ -0,0 +1,7 @@
1
+ import { Nodes } from "@abaplint/core";
2
+ import { IExpressionTranspiler } from "./_expression_transpiler";
3
+ import { Traversal } from "../traversal";
4
+ import { Chunk } from "../chunk";
5
+ export declare class SQLSourceSimpleTranspiler implements IExpressionTranspiler {
6
+ transpile(node: Nodes.ExpressionNode, traversal: Traversal): Chunk;
7
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLSourceSimpleTranspiler = void 0;
4
+ const abaplint = require("@abaplint/core");
5
+ class SQLSourceSimpleTranspiler {
6
+ transpile(node, traversal) {
7
+ let s = node.findDirectExpression(abaplint.Expressions.Source);
8
+ if (s === undefined) {
9
+ s = node.findDirectExpression(abaplint.Expressions.SimpleSource3);
10
+ }
11
+ return traversal.traverse(s);
12
+ }
13
+ }
14
+ exports.SQLSourceSimpleTranspiler = SQLSourceSimpleTranspiler;
15
+ //# sourceMappingURL=sql_source_simple.js.map
@@ -11,8 +11,18 @@ class HandleDataElement {
11
11
  return [];
12
12
  }
13
13
  const type = obj.parseType(reg);
14
+ let fixedValues = undefined;
15
+ if (obj.getDomainName()) {
16
+ const doma = reg.getObject("DOMA", obj.getDomainName());
17
+ if (doma) {
18
+ fixedValues = doma.getFixedValues();
19
+ }
20
+ }
14
21
  const chunk = new chunk_1.Chunk().appendString(`abap.DDIC["${obj.getName().toUpperCase()}"] = {
22
+ "objectType": "DTEL",
15
23
  "type": ${new transpile_types_1.TranspileTypes().toType(type)},
24
+ "domain": ${JSON.stringify(obj.getDomainName())},
25
+ "fixedValues": ${JSON.stringify(fixedValues)},
16
26
  };`);
17
27
  const output = {
18
28
  object: {
@@ -13,6 +13,7 @@ class HandleTable {
13
13
  }
14
14
  const type = obj.parseType(reg);
15
15
  const chunk = new chunk_1.Chunk().appendString(`abap.DDIC["${obj.getName().toUpperCase()}"] = {
16
+ "objectType": "TABL",
16
17
  "type": ${new transpile_types_1.TranspileTypes().toType(type)},
17
18
  "keyFields": ${JSON.stringify(obj.listKeys())},
18
19
  };`);
@@ -12,6 +12,7 @@ class HandleTableType {
12
12
  }
13
13
  const type = obj.parseType(reg);
14
14
  const chunk = new chunk_1.Chunk().appendString(`abap.DDIC["${obj.getName().toUpperCase()}"] = {
15
+ "objectType": "TTYP",
15
16
  "type": ${new transpile_types_1.TranspileTypes().toType(type)},
16
17
  };`);
17
18
  const output = {
@@ -3,5 +3,5 @@ import { IStatementTranspiler } from "./_statement_transpiler";
3
3
  import { Traversal } from "../traversal";
4
4
  import { Chunk } from "../chunk";
5
5
  export declare class DeleteDatabaseTranspiler implements IStatementTranspiler {
6
- transpile(_node: abaplint.Nodes.StatementNode, _traversal: Traversal): Chunk;
6
+ transpile(node: abaplint.Nodes.StatementNode, traversal: Traversal): Chunk;
7
7
  }
@@ -1,10 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeleteDatabaseTranspiler = void 0;
4
+ const abaplint = require("@abaplint/core");
4
5
  const chunk_1 = require("../chunk");
5
6
  class DeleteDatabaseTranspiler {
6
- transpile(_node, _traversal) {
7
- return new chunk_1.Chunk(`throw new Error("DeleteDatabase, transpiler todo");`);
7
+ transpile(node, traversal) {
8
+ const table = traversal.traverse(node.findFirstExpression(abaplint.Expressions.DatabaseTable));
9
+ const options = [];
10
+ const tab = node.findExpressionAfterToken("TABLE");
11
+ if (tab) {
12
+ const ttab = traversal.traverse(tab);
13
+ options.push(`"table": ` + ttab.getCode());
14
+ }
15
+ return new chunk_1.Chunk(`abap.statements.deleteDatabase(${table.getCode()}, {${options.join(", ")}});`);
8
16
  }
9
17
  }
10
18
  exports.DeleteDatabaseTranspiler = DeleteDatabaseTranspiler;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler",
3
- "version": "1.8.2",
3
+ "version": "1.8.6",
4
4
  "description": "Transpiler",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/src/index.d.ts",
@@ -27,7 +27,7 @@
27
27
  "author": "abaplint",
28
28
  "license": "MIT",
29
29
  "dependencies": {
30
- "@abaplint/core": "^2.85.13",
30
+ "@abaplint/core": "^2.85.17",
31
31
  "source-map": "^0.7.3"
32
32
  },
33
33
  "devDependencies": {