@abaplint/core 2.93.60 → 2.93.61
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 +10 -0
- package/build/src/abap/5_syntax/statements/commit_entities.js +26 -0
- package/build/src/abap/5_syntax/statements/modify_entities.js +26 -0
- package/build/src/abap/5_syntax/statements/read_entities.js +26 -0
- package/build/src/abap/5_syntax/syntax.js +6 -0
- package/build/src/cds/expressions/cds_define_projection.js +1 -1
- package/build/src/cds/expressions/cds_name.js +2 -1
- package/build/src/cds/expressions/cds_source.js +2 -1
- package/build/src/objects/communication_scenario.js +21 -0
- package/build/src/objects/index.js +1 -0
- package/build/src/registry.js +1 -1
- package/build/src/rules/cloud_types.js +2 -0
- package/package.json +2 -2
package/build/abaplint.d.ts
CHANGED
|
@@ -987,6 +987,15 @@ declare class Communication implements IStatement {
|
|
|
987
987
|
getMatcher(): IStatementRunnable;
|
|
988
988
|
}
|
|
989
989
|
|
|
990
|
+
declare class CommunicationScenario extends AbstractObject {
|
|
991
|
+
getType(): string;
|
|
992
|
+
getAllowedNaming(): {
|
|
993
|
+
maxLength: number;
|
|
994
|
+
allowNamespace: boolean;
|
|
995
|
+
};
|
|
996
|
+
getDescription(): string | undefined;
|
|
997
|
+
}
|
|
998
|
+
|
|
990
999
|
declare class Compare extends Expression {
|
|
991
1000
|
getRunnable(): IStatementRunnable;
|
|
992
1001
|
}
|
|
@@ -4070,6 +4079,7 @@ declare namespace Objects {
|
|
|
4070
4079
|
ChangeDocument,
|
|
4071
4080
|
ChapterOfBookStructure,
|
|
4072
4081
|
CheckpointGroup,
|
|
4082
|
+
CommunicationScenario,
|
|
4073
4083
|
ClassCategory,
|
|
4074
4084
|
Class,
|
|
4075
4085
|
Classification,
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommitEntities = void 0;
|
|
4
|
+
const Expressions = require("../../2_statements/expressions");
|
|
5
|
+
const source_1 = require("../expressions/source");
|
|
6
|
+
const target_1 = require("../expressions/target");
|
|
7
|
+
const inline_data_1 = require("../expressions/inline_data");
|
|
8
|
+
const basic_1 = require("../../types/basic");
|
|
9
|
+
class CommitEntities {
|
|
10
|
+
runSyntax(node, scope, filename) {
|
|
11
|
+
for (const s of node.findDirectExpressions(Expressions.Source)) {
|
|
12
|
+
new source_1.Source().runSyntax(s, scope, filename);
|
|
13
|
+
}
|
|
14
|
+
for (const t of node.findDirectExpressions(Expressions.Target)) {
|
|
15
|
+
const inline = t === null || t === void 0 ? void 0 : t.findDirectExpression(Expressions.InlineData);
|
|
16
|
+
if (inline) {
|
|
17
|
+
new inline_data_1.InlineData().runSyntax(inline, scope, filename, new basic_1.VoidType("CommitEntities"));
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
new target_1.Target().runSyntax(t, scope, filename);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.CommitEntities = CommitEntities;
|
|
26
|
+
//# sourceMappingURL=commit_entities.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModifyEntities = void 0;
|
|
4
|
+
const Expressions = require("../../2_statements/expressions");
|
|
5
|
+
const source_1 = require("../expressions/source");
|
|
6
|
+
const target_1 = require("../expressions/target");
|
|
7
|
+
const inline_data_1 = require("../expressions/inline_data");
|
|
8
|
+
const basic_1 = require("../../types/basic");
|
|
9
|
+
class ModifyEntities {
|
|
10
|
+
runSyntax(node, scope, filename) {
|
|
11
|
+
for (const s of node.findDirectExpressions(Expressions.Source)) {
|
|
12
|
+
new source_1.Source().runSyntax(s, scope, filename);
|
|
13
|
+
}
|
|
14
|
+
for (const t of node.findDirectExpressions(Expressions.Target)) {
|
|
15
|
+
const inline = t === null || t === void 0 ? void 0 : t.findDirectExpression(Expressions.InlineData);
|
|
16
|
+
if (inline) {
|
|
17
|
+
new inline_data_1.InlineData().runSyntax(inline, scope, filename, new basic_1.VoidType("ModifyEntities"));
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
new target_1.Target().runSyntax(t, scope, filename);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.ModifyEntities = ModifyEntities;
|
|
26
|
+
//# sourceMappingURL=modify_entities.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReadEntities = void 0;
|
|
4
|
+
const Expressions = require("../../2_statements/expressions");
|
|
5
|
+
const source_1 = require("../expressions/source");
|
|
6
|
+
const target_1 = require("../expressions/target");
|
|
7
|
+
const inline_data_1 = require("../expressions/inline_data");
|
|
8
|
+
const basic_1 = require("../../types/basic");
|
|
9
|
+
class ReadEntities {
|
|
10
|
+
runSyntax(node, scope, filename) {
|
|
11
|
+
for (const s of node.findDirectExpressions(Expressions.Source)) {
|
|
12
|
+
new source_1.Source().runSyntax(s, scope, filename);
|
|
13
|
+
}
|
|
14
|
+
for (const t of node.findDirectExpressions(Expressions.Target)) {
|
|
15
|
+
const inline = t === null || t === void 0 ? void 0 : t.findDirectExpression(Expressions.InlineData);
|
|
16
|
+
if (inline) {
|
|
17
|
+
new inline_data_1.InlineData().runSyntax(inline, scope, filename, new basic_1.VoidType("ReadEntities"));
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
new target_1.Target().runSyntax(t, scope, filename);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.ReadEntities = ReadEntities;
|
|
26
|
+
//# sourceMappingURL=read_entities.js.map
|
|
@@ -132,6 +132,9 @@ const insert_textpool_1 = require("./statements/insert_textpool");
|
|
|
132
132
|
const get_cursor_1 = require("./statements/get_cursor");
|
|
133
133
|
const loop_at_screen_1 = require("./statements/loop_at_screen");
|
|
134
134
|
const insert_field_group_1 = require("./statements/insert_field_group");
|
|
135
|
+
const read_entities_1 = require("./statements/read_entities");
|
|
136
|
+
const modify_entities_1 = require("./statements/modify_entities");
|
|
137
|
+
const commit_entities_1 = require("./statements/commit_entities");
|
|
135
138
|
// -----------------------------------
|
|
136
139
|
const map = {};
|
|
137
140
|
function addToMap(handler) {
|
|
@@ -250,6 +253,9 @@ if (Object.keys(map).length === 0) {
|
|
|
250
253
|
addToMap(new tables_1.Tables());
|
|
251
254
|
addToMap(new parameter_1.Parameter());
|
|
252
255
|
addToMap(new fieldsymbol_1.FieldSymbol());
|
|
256
|
+
addToMap(new read_entities_1.ReadEntities());
|
|
257
|
+
addToMap(new modify_entities_1.ModifyEntities());
|
|
258
|
+
addToMap(new commit_entities_1.CommitEntities());
|
|
253
259
|
}
|
|
254
260
|
// -----------------------------------
|
|
255
261
|
class SyntaxLogic {
|
|
@@ -6,7 +6,7 @@ const __1 = require("../..");
|
|
|
6
6
|
const combi_1 = require("../../abap/2_statements/combi");
|
|
7
7
|
class CDSDefineProjection extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
|
-
return (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), "DEFINE", (0, combi_1.opt)("ROOT"), "VIEW", (0, combi_1.ver)(__1.Version.v755, (0, combi_1.opt)("ENTITY")), _1.CDSName, "PROVIDER CONTRACT", _1.CDSName, "AS PROJECTION ON", _1.CDSName, (0, combi_1.str)("{"), (0, combi_1.plus)(_1.CDSElement), (0, combi_1.star)((0, combi_1.seq)(",", _1.CDSElement)), (0, combi_1.str)("}"), (0, combi_1.opt)(";"));
|
|
9
|
+
return (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), "DEFINE", (0, combi_1.opt)("ROOT"), "VIEW", (0, combi_1.ver)(__1.Version.v755, (0, combi_1.opt)("ENTITY")), _1.CDSName, (0, combi_1.opt)((0, combi_1.seq)("PROVIDER CONTRACT", _1.CDSName)), "AS PROJECTION ON", _1.CDSName, (0, combi_1.str)("{"), (0, combi_1.plus)(_1.CDSElement), (0, combi_1.star)((0, combi_1.seq)(",", _1.CDSElement)), (0, combi_1.str)("}"), (0, combi_1.opt)(";"));
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
exports.CDSDefineProjection = CDSDefineProjection;
|
|
@@ -4,7 +4,8 @@ exports.CDSName = void 0;
|
|
|
4
4
|
const combi_1 = require("../../abap/2_statements/combi");
|
|
5
5
|
class CDSName extends combi_1.Expression {
|
|
6
6
|
getRunnable() {
|
|
7
|
-
|
|
7
|
+
const pre = (0, combi_1.seq)("/", (0, combi_1.regex)(/^[\w_]+$/), "/");
|
|
8
|
+
return (0, combi_1.seq)((0, combi_1.opt)(":"), (0, combi_1.opt)(pre), (0, combi_1.regex)(/^\$?#?[\w_]+$/));
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
11
|
exports.CDSName = CDSName;
|
|
@@ -5,7 +5,8 @@ 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
|
-
|
|
8
|
+
const pre = (0, combi_1.seq)("/", (0, combi_1.regex)(/^[\w_]+$/), "/");
|
|
9
|
+
return (0, combi_1.seq)((0, combi_1.opt)(pre), (0, combi_1.regex)(/^[\w_]+$/), (0, combi_1.opt)(_1.CDSAs));
|
|
9
10
|
}
|
|
10
11
|
}
|
|
11
12
|
exports.CDSSource = CDSSource;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommunicationScenario = void 0;
|
|
4
|
+
const _abstract_object_1 = require("./_abstract_object");
|
|
5
|
+
class CommunicationScenario extends _abstract_object_1.AbstractObject {
|
|
6
|
+
getType() {
|
|
7
|
+
return "SCO1";
|
|
8
|
+
}
|
|
9
|
+
getAllowedNaming() {
|
|
10
|
+
return {
|
|
11
|
+
maxLength: 30,
|
|
12
|
+
allowNamespace: true,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
getDescription() {
|
|
16
|
+
// todo
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.CommunicationScenario = CommunicationScenario;
|
|
21
|
+
//# sourceMappingURL=communication_scenario.js.map
|
|
@@ -34,6 +34,7 @@ __exportStar(require("./cds_metadata_extension"), exports);
|
|
|
34
34
|
__exportStar(require("./change_document"), exports);
|
|
35
35
|
__exportStar(require("./chapter_of_book_structure"), exports);
|
|
36
36
|
__exportStar(require("./checkpoint_group"), exports);
|
|
37
|
+
__exportStar(require("./communication_scenario"), exports);
|
|
37
38
|
__exportStar(require("./class"), exports);
|
|
38
39
|
__exportStar(require("./classification"), exports);
|
|
39
40
|
__exportStar(require("./composite_enhancement_implementation"), exports);
|
package/build/src/registry.js
CHANGED
|
@@ -50,12 +50,14 @@ class CloudTypes {
|
|
|
50
50
|
|| obj instanceof Objects.FunctionGroup
|
|
51
51
|
|| obj instanceof Objects.HttpService
|
|
52
52
|
|| obj instanceof Objects.IAMApp
|
|
53
|
+
|| obj instanceof Objects.CommunicationScenario
|
|
53
54
|
|| obj instanceof Objects.InboundService
|
|
54
55
|
|| obj instanceof Objects.Interface
|
|
55
56
|
|| obj instanceof Objects.LockObject
|
|
56
57
|
|| obj instanceof Objects.MessageClass
|
|
57
58
|
|| obj instanceof Objects.Package
|
|
58
59
|
|| obj instanceof Objects.ServiceBinding
|
|
60
|
+
|| obj instanceof Objects.ServiceDefinition
|
|
59
61
|
|| obj instanceof Objects.Table
|
|
60
62
|
|| obj instanceof Objects.TableType
|
|
61
63
|
|| obj instanceof Objects.Transformation) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.93.
|
|
3
|
+
"version": "2.93.61",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@microsoft/api-extractor": "^7.33.5",
|
|
50
50
|
"@types/chai": "^4.3.3",
|
|
51
51
|
"@types/mocha": "^10.0.0",
|
|
52
|
-
"@types/node": "^18.11.
|
|
52
|
+
"@types/node": "^18.11.9",
|
|
53
53
|
"chai": "^4.3.6",
|
|
54
54
|
"eslint": "^8.26.0",
|
|
55
55
|
"mocha": "^10.1.0",
|