@abaplint/transpiler 2.5.6 → 2.5.8
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.
|
@@ -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 ReadReportTranspiler implements IStatementTranspiler {
|
|
6
|
-
transpile(
|
|
6
|
+
transpile(node: abaplint.Nodes.StatementNode, traversal: Traversal): Chunk;
|
|
7
7
|
}
|
|
@@ -2,9 +2,24 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ReadReportTranspiler = void 0;
|
|
4
4
|
const chunk_1 = require("../chunk");
|
|
5
|
+
const expressions_1 = require("../expressions");
|
|
5
6
|
class ReadReportTranspiler {
|
|
6
|
-
transpile(
|
|
7
|
-
|
|
7
|
+
transpile(node, traversal) {
|
|
8
|
+
const reportNode = node.findExpressionAfterToken("REPORT");
|
|
9
|
+
const reportChunk = new expressions_1.SourceTranspiler().transpile(reportNode, traversal);
|
|
10
|
+
const options = [];
|
|
11
|
+
const intoNode = node.findExpressionAfterToken("INTO");
|
|
12
|
+
if (intoNode) {
|
|
13
|
+
options.push("into: " + new expressions_1.TargetTranspiler().transpile(intoNode, traversal).getCode());
|
|
14
|
+
}
|
|
15
|
+
const stateNode = node.findExpressionAfterToken("STATE");
|
|
16
|
+
if (stateNode) {
|
|
17
|
+
options.push("state: " + new expressions_1.SourceTranspiler().transpile(stateNode, traversal).getCode());
|
|
18
|
+
}
|
|
19
|
+
return new chunk_1.Chunk().appendString(`abap.statements.readReport(`)
|
|
20
|
+
.appendChunk(reportChunk)
|
|
21
|
+
.appendString(", {" + options.join(",") + "}")
|
|
22
|
+
.appendString(");");
|
|
8
23
|
}
|
|
9
24
|
}
|
|
10
25
|
exports.ReadReportTranspiler = ReadReportTranspiler;
|
|
@@ -22,6 +22,10 @@ class ReadTableTranspiler {
|
|
|
22
22
|
const s = new expressions_1.SourceTranspiler().transpile(from, traversal).getCode();
|
|
23
23
|
extra.push("from: " + s);
|
|
24
24
|
}
|
|
25
|
+
const keyName = node.findExpressionAfterToken("KEY");
|
|
26
|
+
if (keyName && node.findDirectTokenByText("COMPONENTS")) {
|
|
27
|
+
extra.push("keyName: \"" + keyName.concatTokens() + "\"");
|
|
28
|
+
}
|
|
25
29
|
const binary = node.findTokenSequencePosition("BINARY", "SEARCH");
|
|
26
30
|
if (binary) {
|
|
27
31
|
extra.push("binarySearch: true");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.8",
|
|
4
4
|
"description": "Transpiler",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/src/index.d.ts",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"author": "abaplint",
|
|
29
29
|
"license": "MIT",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@abaplint/core": "^2.95.
|
|
31
|
+
"@abaplint/core": "^2.95.26",
|
|
32
32
|
"source-map": "^0.7.4"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|