@abaplint/runtime 1.7.29 → 1.7.33
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.
- package/build/src/compare/initial.js +3 -0
- package/build/src/index.d.ts +2 -1
- package/build/src/index.js +3 -1
- package/build/src/rfc.d.ts +25 -0
- package/build/src/rfc.js +3 -0
- package/build/src/statements/insert_internal.d.ts +1 -1
- package/build/src/statements/insert_internal.js +11 -4
- package/package.json +2 -2
|
@@ -12,6 +12,9 @@ function initial(val) {
|
|
|
12
12
|
else if (val instanceof types_1.Date) {
|
|
13
13
|
return val.get() === "00000000";
|
|
14
14
|
}
|
|
15
|
+
else if (val instanceof types_1.Numc) {
|
|
16
|
+
return val.get().match(/^0+$/) !== null;
|
|
17
|
+
}
|
|
15
18
|
else if (val instanceof types_1.Time) {
|
|
16
19
|
return val.get() === "000000";
|
|
17
20
|
}
|
package/build/src/index.d.ts
CHANGED
|
@@ -3,11 +3,12 @@ import * as builtin from "./builtin";
|
|
|
3
3
|
import * as compare from "./compare";
|
|
4
4
|
import * as operators from "./operators";
|
|
5
5
|
import { Statements } from "./statements";
|
|
6
|
+
import * as RFC from "./rfc";
|
|
6
7
|
import { Console } from "./console";
|
|
7
8
|
import { UnitTestResult } from "./unit_test";
|
|
8
9
|
import { OffsetLength } from "./offset_length";
|
|
9
10
|
import { templateFormatting } from "./template_formatting";
|
|
10
|
-
export { UnitTestResult };
|
|
11
|
+
export { UnitTestResult, RFC };
|
|
11
12
|
export declare class ABAP {
|
|
12
13
|
FunctionModules: {};
|
|
13
14
|
Classes: {};
|
package/build/src/index.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ABAP = exports.UnitTestResult = void 0;
|
|
3
|
+
exports.ABAP = exports.RFC = exports.UnitTestResult = void 0;
|
|
4
4
|
const types = require("./types");
|
|
5
5
|
const builtin = require("./builtin");
|
|
6
6
|
const compare = require("./compare");
|
|
7
7
|
const operators = require("./operators");
|
|
8
8
|
const statements_1 = require("./statements");
|
|
9
|
+
const RFC = require("./rfc");
|
|
10
|
+
exports.RFC = RFC;
|
|
9
11
|
const sql_js_1 = require("sql.js");
|
|
10
12
|
const console_1 = require("./console");
|
|
11
13
|
const unit_test_1 = require("./unit_test");
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { FieldSymbol, Structure, Table } from "./types";
|
|
2
|
+
import { ICharacter } from "./types/_character";
|
|
3
|
+
import { INumeric } from "./types/_numeric";
|
|
4
|
+
declare type TypeType = INumeric | Table | ICharacter | Structure | FieldSymbol;
|
|
5
|
+
export declare type RFCCallInput = {
|
|
6
|
+
exporting?: {
|
|
7
|
+
[name: string]: TypeType;
|
|
8
|
+
};
|
|
9
|
+
importing?: {
|
|
10
|
+
[name: string]: TypeType;
|
|
11
|
+
};
|
|
12
|
+
tables?: {
|
|
13
|
+
[name: string]: TypeType;
|
|
14
|
+
};
|
|
15
|
+
changing?: {
|
|
16
|
+
[name: string]: TypeType;
|
|
17
|
+
};
|
|
18
|
+
exceptions?: {
|
|
19
|
+
[name: string]: number;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export interface RFCClient {
|
|
23
|
+
call(name: string, input?: RFCCallInput): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
package/build/src/rfc.js
ADDED
|
@@ -4,7 +4,7 @@ import { INumeric } from "../types/_numeric";
|
|
|
4
4
|
export interface IInsertInternalOptions {
|
|
5
5
|
index?: INumeric;
|
|
6
6
|
initial?: boolean;
|
|
7
|
-
data?: INumeric | ICharacter | Structure | ABAPObject | Table;
|
|
7
|
+
data?: INumeric | ICharacter | Structure | ABAPObject | Table | string;
|
|
8
8
|
table: Table;
|
|
9
9
|
referenceInto?: DataReference;
|
|
10
10
|
assigning?: FieldSymbol;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.insertInternal = void 0;
|
|
4
|
+
const clone_1 = require("../clone");
|
|
4
5
|
const compare_1 = require("../compare");
|
|
5
6
|
const types_1 = require("../types");
|
|
6
7
|
const read_table_1 = require("./read_table");
|
|
@@ -27,9 +28,15 @@ function insertInternal(options) {
|
|
|
27
28
|
return;
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
|
-
|
|
31
|
+
let data = options.data;
|
|
32
|
+
if (typeof data === "string") {
|
|
33
|
+
const tmp = (0, clone_1.clone)(options.table.getRowType());
|
|
34
|
+
tmp.set(data);
|
|
35
|
+
data = tmp;
|
|
36
|
+
}
|
|
37
|
+
if (data && options.index) {
|
|
31
38
|
const index = options.index.get() - 1;
|
|
32
|
-
const val = options.table.insertIndex(
|
|
39
|
+
const val = options.table.insertIndex(data, index);
|
|
33
40
|
if (options.assigning) {
|
|
34
41
|
options.assigning.assign(val);
|
|
35
42
|
}
|
|
@@ -49,9 +56,9 @@ function insertInternal(options) {
|
|
|
49
56
|
options.assigning.assign(val);
|
|
50
57
|
}
|
|
51
58
|
}
|
|
52
|
-
else if (
|
|
59
|
+
else if (data) {
|
|
53
60
|
// todo, for now it just appends, this is not correct, but currently the table type is not known
|
|
54
|
-
const val = options.table.insertIndex(
|
|
61
|
+
const val = options.table.insertIndex(data, options.table.array().length);
|
|
55
62
|
if (options.assigning) {
|
|
56
63
|
options.assigning.assign(val);
|
|
57
64
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/runtime",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.33",
|
|
4
4
|
"description": "Transpiler - Runtime",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/src/index.d.ts",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@types/chai": "^4.3.0",
|
|
35
35
|
"@types/mocha": "^9.1.0",
|
|
36
36
|
"@types/sql.js": "^1.4.3",
|
|
37
|
-
"chai": "^4.3.
|
|
37
|
+
"chai": "^4.3.6",
|
|
38
38
|
"mocha": "^9.2.0",
|
|
39
39
|
"source-map-support": "^0.5.21",
|
|
40
40
|
"typescript": "^4.5.5"
|