@abaplint/core 2.113.87 → 2.113.89
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/abaplint.d.ts +6 -1
- package/build/src/abap/2_statements/expressions/field_length.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_field_name.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_function.js +2 -1
- package/build/src/abap/2_statements/statements/delete_memory.js +1 -1
- package/build/src/abap/2_statements/statements/export.js +1 -1
- package/build/src/abap/2_statements/statements/get_property.js +1 -1
- package/build/src/abap/2_statements/statements/index.js +1 -0
- package/build/src/abap/2_statements/statements/method_def.js +1 -1
- package/build/src/abap/2_statements/statements/verification_message.js +14 -0
- package/build/src/cds/expressions/cds_condition.js +6 -5
- package/build/src/cds/expressions/cds_join.js +1 -1
- package/build/src/cds/expressions/cds_source.js +1 -1
- package/build/src/objects/table_type.js +3 -0
- package/build/src/registry.js +1 -1
- package/package.json +4 -4
package/build/abaplint.d.ts
CHANGED
|
@@ -6520,7 +6520,8 @@ declare namespace Statements {
|
|
|
6520
6520
|
SetLocks,
|
|
6521
6521
|
Enhancement_2 as Enhancement,
|
|
6522
6522
|
EndEnhancement,
|
|
6523
|
-
FormDefinition
|
|
6523
|
+
FormDefinition,
|
|
6524
|
+
VerificationMessage
|
|
6524
6525
|
}
|
|
6525
6526
|
}
|
|
6526
6527
|
export { Statements }
|
|
@@ -7262,6 +7263,10 @@ declare class ValueBodyLines extends Expression {
|
|
|
7262
7263
|
getRunnable(): IStatementRunnable;
|
|
7263
7264
|
}
|
|
7264
7265
|
|
|
7266
|
+
declare class VerificationMessage implements IStatement {
|
|
7267
|
+
getMatcher(): IStatementRunnable;
|
|
7268
|
+
}
|
|
7269
|
+
|
|
7265
7270
|
export declare enum Version {
|
|
7266
7271
|
OpenABAP = "open-abap",// as 702, but with some extra new language features
|
|
7267
7272
|
v700 = "v700",
|
|
@@ -7,7 +7,7 @@ const _1 = require(".");
|
|
|
7
7
|
class FieldLength extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
9
|
const normal = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.Plus)), (0, combi_1.altPrio)((0, combi_1.regex)(/^\d+$/), _1.SimpleFieldChain2));
|
|
10
|
-
const length = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.altPrio)(normal, "*"), (0, combi_1.tok)(tokens_1.ParenRightW));
|
|
10
|
+
const length = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.optPrio)((0, combi_1.altPrio)(normal, "*")), (0, combi_1.tok)(tokens_1.ParenRightW));
|
|
11
11
|
return length;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -4,7 +4,7 @@ exports.SQLFieldName = void 0;
|
|
|
4
4
|
const combi_1 = require("../combi");
|
|
5
5
|
class SQLFieldName extends combi_1.Expression {
|
|
6
6
|
getRunnable() {
|
|
7
|
-
return (0, combi_1.regex)(/^(?!(?:SINGLE|INTO|DISTINCT|AS|WHERE|FOR|HAVING|APPENDING|UP|FROM)$)(\/\w+\/)?(\w+~(\w+|\*)|\w+)$/i);
|
|
7
|
+
return (0, combi_1.regex)(/^(?!(?:SINGLE|INTO|DISTINCT|AS|WHERE|FOR|HAVING|APPENDING|UP|FROM)$)(\/\w+\/)?(\w+~(\/\w+\/)?(\w+|\*)|\w+)$/i);
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
exports.SQLFieldName = SQLFieldName;
|
|
@@ -25,7 +25,8 @@ class SQLFunction extends combi_1.Expression {
|
|
|
25
25
|
const round = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^round$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
26
26
|
const upper = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)((0, combi_1.regex)(/^upper$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
27
27
|
const uuid = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)((0, combi_1.regex)(/^uuid$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
28
|
-
|
|
28
|
+
const concat_with_space = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^uuid$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
29
|
+
return (0, combi_1.altPrio)(uuid, abs, ceil, floor, cast, div, mod, coalesce, concat, replace, length, lower, upper, round, concat_with_space);
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
exports.SQLFunction = SQLFunction;
|
|
@@ -9,7 +9,7 @@ class DeleteMemory {
|
|
|
9
9
|
const memory = (0, combi_1.seq)("MEMORY ID", expressions_1.Source);
|
|
10
10
|
const id = (0, combi_1.seq)("ID", expressions_1.Source);
|
|
11
11
|
const client = (0, combi_1.seq)("CLIENT", expressions_1.Source);
|
|
12
|
-
const shared = (0, combi_1.seq)("SHARED", (0, combi_1.altPrio)("MEMORY", "BUFFER"), expressions_1.Field, "(", (0, combi_1.regex)(
|
|
12
|
+
const shared = (0, combi_1.seq)("SHARED", (0, combi_1.altPrio)("MEMORY", "BUFFER"), expressions_1.Field, "(", (0, combi_1.regex)(/^[\w%]+$/), ")", (0, combi_1.optPrio)(client), id);
|
|
13
13
|
const ret = (0, combi_1.seq)("DELETE FROM", (0, combi_1.alt)(memory, shared));
|
|
14
14
|
return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
|
|
15
15
|
}
|
|
@@ -11,7 +11,7 @@ class Export {
|
|
|
11
11
|
const client = (0, combi_1.seq)("CLIENT", expressions_1.Source);
|
|
12
12
|
const id = (0, combi_1.seq)("ID", expressions_1.Source);
|
|
13
13
|
const using = (0, combi_1.seq)("USING", expressions_1.Source);
|
|
14
|
-
const cluster = (0, combi_1.seq)(expressions_1.NamespaceSimpleName, (0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.regex)(/^[\w
|
|
14
|
+
const cluster = (0, combi_1.seq)(expressions_1.NamespaceSimpleName, (0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.regex)(/^[\w$%\^~]{2}$/), (0, combi_1.tok)(tokens_1.ParenRightW));
|
|
15
15
|
const buffer = (0, combi_1.seq)("DATA BUFFER", expressions_1.Target);
|
|
16
16
|
const memory = (0, combi_1.seq)("MEMORY", (0, combi_1.opt)((0, combi_1.seq)("ID", expressions_1.Source)));
|
|
17
17
|
const table = (0, combi_1.seq)("INTERNAL TABLE", expressions_1.Target);
|
|
@@ -6,7 +6,7 @@ const expressions_1 = require("../expressions");
|
|
|
6
6
|
const version_1 = require("../../../version");
|
|
7
7
|
class GetProperty {
|
|
8
8
|
getMatcher() {
|
|
9
|
-
const ret = (0, combi_1.seq)("GET PROPERTY OF", expressions_1.FieldSub, expressions_1.Source, "=", expressions_1.Source, (0, combi_1.opt)("NO FLUSH"), (0, combi_1.opt)("QUEUE-ONLY"), (0, combi_1.opt)(expressions_1.OLEExporting));
|
|
9
|
+
const ret = (0, combi_1.seq)("GET PROPERTY OF", expressions_1.FieldSub, (0, combi_1.alt)(expressions_1.Source, expressions_1.ConstantString), "=", expressions_1.Source, (0, combi_1.opt)("NO FLUSH"), (0, combi_1.opt)((0, combi_1.alt)("QUEUE-ONLY", "QUEUEONLY")), (0, combi_1.opt)(expressions_1.OLEExporting));
|
|
10
10
|
return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -329,4 +329,5 @@ __exportStar(require("./set_locks"), exports);
|
|
|
329
329
|
__exportStar(require("./enhancement"), exports);
|
|
330
330
|
__exportStar(require("./end_enhancement"), exports);
|
|
331
331
|
__exportStar(require("./form_definition"), exports);
|
|
332
|
+
__exportStar(require("./verification_message"), exports);
|
|
332
333
|
//# sourceMappingURL=index.js.map
|
|
@@ -21,7 +21,7 @@ class MethodDef {
|
|
|
21
21
|
const forfunction = (0, combi_1.seq)("FOR FUNCTION", expressions_1.TypeName, result);
|
|
22
22
|
const behavior = (0, combi_1.altPrio)((0, combi_1.seq)("VALIDATE ON SAVE IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("MODIFY IMPORTING", expressions_1.MethodParamName, modify), (0, combi_1.seq)("READ IMPORTING", expressions_1.MethodParamName, (0, combi_1.altPrio)(forRead, forfunction)), (0, combi_1.seq)("FEATURES IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.NamespaceSimpleName, "FOR", expressions_1.NamespaceSimpleName, result), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR CREATE", expressions_1.TypeName, expressions_1.MethodParamName, "FOR UPDATE", expressions_1.TypeName, expressions_1.MethodParamName, "FOR DELETE", expressions_1.TypeName), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR READ", expressions_1.TypeName, result), (0, combi_1.seq)((0, combi_1.alt)("BEHAVIOR", "LOCK"), "IMPORTING", expressions_1.MethodParamName, "FOR LOCK", expressions_1.TypeName), (0, combi_1.seq)("DETERMINE", (0, combi_1.alt)("ON MODIFY", "ON SAVE"), "IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("GLOBAL AUTHORIZATION IMPORTING REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("INSTANCE AUTHORIZATION IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("INSTANCE FEATURES IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result));
|
|
23
23
|
// todo, this is only from version something
|
|
24
|
-
const amdp = (0, combi_1.seq)("AMDP OPTIONS CDS SESSION CLIENT CURRENT", (0, combi_1.optPrio)(expressions_1.MethodDefImporting), (0, combi_1.optPrio)(expressions_1.MethodDefExporting), (0, combi_1.optPrio)(expressions_1.MethodDefRaising));
|
|
24
|
+
const amdp = (0, combi_1.seq)("AMDP OPTIONS", (0, combi_1.optPrio)("READ-ONLY"), "CDS SESSION CLIENT CURRENT", (0, combi_1.optPrio)(expressions_1.MethodDefImporting), (0, combi_1.optPrio)(expressions_1.MethodDefExporting), (0, combi_1.optPrio)(expressions_1.MethodDefRaising));
|
|
25
25
|
const ret = (0, combi_1.seq)((0, combi_1.altPrio)("CLASS-METHODS", "METHODS"), expressions_1.MethodName, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.optPrio)(expressions_1.Abstract), (0, combi_1.optPrio)(def), expressions_1.EventHandler), parameters, testing, (0, combi_1.seq)("FOR", (0, combi_1.alt)(tableFunction, ddl, behavior)), amdp, "NOT AT END OF MODE", (0, combi_1.optPrio)(expressions_1.Redefinition)));
|
|
26
26
|
return ret;
|
|
27
27
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VerificationMessage = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const expressions_1 = require("../expressions");
|
|
6
|
+
const version_1 = require("../../../version");
|
|
7
|
+
class VerificationMessage {
|
|
8
|
+
getMatcher() {
|
|
9
|
+
const ret = (0, combi_1.seq)("VERIFICATION-MESSAGE", expressions_1.Source, expressions_1.Source);
|
|
10
|
+
return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.VerificationMessage = VerificationMessage;
|
|
14
|
+
//# sourceMappingURL=verification_message.js.map
|
|
@@ -6,13 +6,14 @@ const combi_1 = require("../../abap/2_statements/combi");
|
|
|
6
6
|
const cds_integer_1 = require("./cds_integer");
|
|
7
7
|
class CDSCondition extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
|
-
const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.optPrio)((0, combi_1.seq)(".", (0, combi_1.
|
|
10
|
-
const left = (0, combi_1.
|
|
11
|
-
const
|
|
9
|
+
const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.optPrio)((0, combi_1.seq)(".", (0, combi_1.altPrio)(_1.CDSString, _1.CDSName))));
|
|
10
|
+
const left = (0, combi_1.altPrio)(_1.CDSString, _1.CDSFunction, name);
|
|
11
|
+
const operators = (0, combi_1.altPrio)("=", (0, combi_1.seq)("!", "="), (0, combi_1.seq)("<", ">"), (0, combi_1.seq)(">", "="), (0, combi_1.seq)("<", "="), "<", ">", "LIKE", "NOT LIKE");
|
|
12
|
+
const compare = (0, combi_1.seq)(left, operators, (0, combi_1.alt)(left, cds_integer_1.CDSInteger));
|
|
12
13
|
const is = (0, combi_1.seq)(left, "IS", (0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)("INITIAL", "NULL"));
|
|
13
|
-
const condition = (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.
|
|
14
|
+
const condition = (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)(compare, is));
|
|
14
15
|
const paren = (0, combi_1.seq)("(", CDSCondition, ")");
|
|
15
|
-
return (0, combi_1.seq)((0, combi_1.
|
|
16
|
+
return (0, combi_1.seq)((0, combi_1.altPrio)(condition, paren), (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.altPrio)("AND", "OR"), (0, combi_1.altPrio)(condition, paren))));
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
exports.CDSCondition = CDSCondition;
|
|
@@ -6,7 +6,7 @@ const combi_1 = require("../../abap/2_statements/combi");
|
|
|
6
6
|
const cds_condition_1 = require("./cds_condition");
|
|
7
7
|
class CDSJoin extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
|
-
return (0, combi_1.seq)((0, combi_1.
|
|
9
|
+
return (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)("LEFT OUTER TO ONE", "LEFT OUTER", "INNER")), "JOIN", _1.CDSSource, "ON", cds_condition_1.CDSCondition);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
exports.CDSJoin = CDSJoin;
|
|
@@ -5,7 +5,7 @@ const _1 = require(".");
|
|
|
5
5
|
const combi_1 = require("../../abap/2_statements/combi");
|
|
6
6
|
class CDSSource extends combi_1.Expression {
|
|
7
7
|
getRunnable() {
|
|
8
|
-
return (0, combi_1.seq)(_1.CDSName, (0, combi_1.
|
|
8
|
+
return (0, combi_1.seq)(_1.CDSName, (0, combi_1.optPrio)(_1.CDSParametersSelect), (0, combi_1.optPrio)(_1.CDSAs));
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
exports.CDSSource = CDSSource;
|
|
@@ -170,6 +170,9 @@ class TableType extends _abstract_object_1.AbstractObject {
|
|
|
170
170
|
return;
|
|
171
171
|
}
|
|
172
172
|
const values = parsed.abapGit["asx:abap"]["asx:values"];
|
|
173
|
+
if (values === undefined) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
173
176
|
const dd40v = values.DD40V;
|
|
174
177
|
this.parsedXML.rowtype = dd40v.ROWTYPE ? dd40v.ROWTYPE : "";
|
|
175
178
|
this.parsedXML.rowkind = dd40v.ROWKIND ? dd40v.ROWKIND : "";
|
package/build/src/registry.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.113.
|
|
3
|
+
"version": "2.113.89",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -50,17 +50,17 @@
|
|
|
50
50
|
},
|
|
51
51
|
"homepage": "https://abaplint.org",
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@microsoft/api-extractor": "^7.
|
|
53
|
+
"@microsoft/api-extractor": "^7.49.1",
|
|
54
54
|
"@types/chai": "^4.3.20",
|
|
55
55
|
"@types/mocha": "^10.0.10",
|
|
56
56
|
"@types/node": "^22.10.5",
|
|
57
57
|
"chai": "^4.5.0",
|
|
58
|
-
"eslint": "^9.
|
|
58
|
+
"eslint": "^9.18.0",
|
|
59
59
|
"mocha": "^11.0.1",
|
|
60
60
|
"c8": "^10.1.3",
|
|
61
61
|
"source-map-support": "^0.5.21",
|
|
62
62
|
"ts-json-schema-generator": "^2.3.0",
|
|
63
|
-
"typescript": "^5.7.
|
|
63
|
+
"typescript": "^5.7.3"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
66
|
"fast-xml-parser": "^4.5.1",
|