@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.
@@ -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
- return (0, combi_1.seq)((0, combi_1.opt)(":"), (0, combi_1.regex)(/^\$?#?[\w_]+$/));
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
- return (0, combi_1.seq)((0, combi_1.regex)(/^[\w_]+$/), (0, combi_1.opt)(_1.CDSAs));
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);
@@ -63,7 +63,7 @@ class Registry {
63
63
  }
64
64
  static abaplintVersion() {
65
65
  // magic, see build script "version.sh"
66
- return "2.93.60";
66
+ return "2.93.61";
67
67
  }
68
68
  getDDICReferences() {
69
69
  return this.references;
@@ -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.60",
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.8",
52
+ "@types/node": "^18.11.9",
53
53
  "chai": "^4.3.6",
54
54
  "eslint": "^8.26.0",
55
55
  "mocha": "^10.1.0",