@abaplint/cli 2.119.56 → 2.119.58
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/cli.js +171 -59
- package/package.json +2 -2
package/build/cli.js
CHANGED
|
@@ -1811,6 +1811,7 @@ exports.verNotLang = verNotLang;
|
|
|
1811
1811
|
exports.failCombinator = failCombinator;
|
|
1812
1812
|
exports.failStar = failStar;
|
|
1813
1813
|
exports.stopBefore = stopBefore;
|
|
1814
|
+
exports.stopBefore1 = stopBefore1;
|
|
1814
1815
|
const Tokens = __importStar(__webpack_require__(/*! ../1_lexer/tokens */ "../core/build/src/abap/1_lexer/tokens/index.js"));
|
|
1815
1816
|
const nodes_1 = __webpack_require__(/*! ../nodes */ "../core/build/src/abap/nodes/index.js");
|
|
1816
1817
|
const version_1 = __webpack_require__(/*! ../../version */ "../core/build/src/version.js");
|
|
@@ -2791,6 +2792,29 @@ class StopBefore2 {
|
|
|
2791
2792
|
function stopBefore(t1, t2) {
|
|
2792
2793
|
return new StopBefore2(t1, t2);
|
|
2793
2794
|
}
|
|
2795
|
+
class StopBefore1 {
|
|
2796
|
+
constructor(words) { this.words = words.map(w => w.toUpperCase()); }
|
|
2797
|
+
listKeywords() { return []; }
|
|
2798
|
+
getUsing() { return []; }
|
|
2799
|
+
run(r) {
|
|
2800
|
+
var _a;
|
|
2801
|
+
const result = [];
|
|
2802
|
+
for (const input of r) {
|
|
2803
|
+
const next = (_a = input.peek()) === null || _a === void 0 ? void 0 : _a.getUpperStr();
|
|
2804
|
+
if (next !== undefined && this.words.includes(next)) {
|
|
2805
|
+
continue;
|
|
2806
|
+
}
|
|
2807
|
+
result.push(input);
|
|
2808
|
+
}
|
|
2809
|
+
return result;
|
|
2810
|
+
}
|
|
2811
|
+
railroad() { return "Railroad.Terminal('stopBefore(" + this.words.join("|") + ")')"; }
|
|
2812
|
+
toStr() { return "stopBefore(" + this.words.join(",") + ")"; }
|
|
2813
|
+
first() { return [""]; }
|
|
2814
|
+
}
|
|
2815
|
+
function stopBefore1(...words) {
|
|
2816
|
+
return new StopBefore1(words);
|
|
2817
|
+
}
|
|
2794
2818
|
//# sourceMappingURL=combi.js.map
|
|
2795
2819
|
|
|
2796
2820
|
/***/ },
|
|
@@ -3820,8 +3844,8 @@ const combi_1 = __webpack_require__(/*! ../combi */ "../core/build/src/abap/2_st
|
|
|
3820
3844
|
const _1 = __webpack_require__(/*! . */ "../core/build/src/abap/2_statements/expressions/index.js");
|
|
3821
3845
|
class ComponentChainSimple extends combi_1.Expression {
|
|
3822
3846
|
getRunnable() {
|
|
3823
|
-
const chain = (0, combi_1.
|
|
3824
|
-
const ret = (0, combi_1.seq)(chain, (0, combi_1.optPrio)(_1.FieldOffset), (0, combi_1.optPrio)(_1.FieldLength));
|
|
3847
|
+
const chain = (0, combi_1.starPrio)((0, combi_1.altPrio)(_1.Dereference, (0, combi_1.seq)(_1.ArrowOrDash, _1.ComponentName)));
|
|
3848
|
+
const ret = (0, combi_1.seq)(_1.ComponentName, chain, (0, combi_1.optPrio)(_1.FieldOffset), (0, combi_1.optPrio)(_1.FieldLength));
|
|
3825
3849
|
return ret;
|
|
3826
3850
|
}
|
|
3827
3851
|
}
|
|
@@ -6763,7 +6787,7 @@ const combi_1 = __webpack_require__(/*! ../combi */ "../core/build/src/abap/2_st
|
|
|
6763
6787
|
const _1 = __webpack_require__(/*! . */ "../core/build/src/abap/2_statements/expressions/index.js");
|
|
6764
6788
|
class ParameterListS extends combi_1.Expression {
|
|
6765
6789
|
getRunnable() {
|
|
6766
|
-
return (0, combi_1.
|
|
6790
|
+
return (0, combi_1.plusPrio)(_1.ParameterS);
|
|
6767
6791
|
}
|
|
6768
6792
|
}
|
|
6769
6793
|
exports.ParameterListS = ParameterListS;
|
|
@@ -10854,10 +10878,10 @@ class TypeTableKey extends combi_1.Expression {
|
|
|
10854
10878
|
const uniqueness = (0, combi_1.alt)("NON-UNIQUE", "UNIQUE");
|
|
10855
10879
|
const defaultKey = "DEFAULT KEY";
|
|
10856
10880
|
const emptyKey = (0, combi_1.ver)(version_1.Release.v740sp02, "EMPTY KEY", { also: combi_1.AlsoIn.OpenABAP });
|
|
10857
|
-
const components = (0, combi_1.
|
|
10881
|
+
const components = (0, combi_1.plusPrio)((0, combi_1.seq)((0, combi_1.stopBefore1)("WITH", "INITIAL", "WITHOUT"), (0, combi_1.stopBefore)("READ", "-"), _1.FieldSub));
|
|
10858
10882
|
const further = (0, combi_1.seq)((0, combi_1.alt)("WITHOUT", "WITH"), "FURTHER SECONDARY KEYS");
|
|
10859
10883
|
const alias = (0, combi_1.seq)("ALIAS", _1.Field);
|
|
10860
|
-
const key = (0, combi_1.seq)("WITH", (0, combi_1.
|
|
10884
|
+
const key = (0, combi_1.seq)("WITH", (0, combi_1.optPrio)(uniqueness), (0, combi_1.altPrio)(defaultKey, emptyKey, (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.alt)("SORTED", "HASHED")), "KEY", (0, combi_1.altPrio)((0, combi_1.seq)(_1.Field, (0, combi_1.opt)(alias), "COMPONENTS", components), components))), (0, combi_1.optPrio)(further), (0, combi_1.optPrio)("READ-ONLY"));
|
|
10861
10885
|
return key;
|
|
10862
10886
|
}
|
|
10863
10887
|
}
|
|
@@ -10926,7 +10950,7 @@ const _1 = __webpack_require__(/*! . */ "../core/build/src/abap/2_statements/exp
|
|
|
10926
10950
|
const version_1 = __webpack_require__(/*! ../../../version */ "../core/build/src/version.js");
|
|
10927
10951
|
class ValueBody extends combi_1.Expression {
|
|
10928
10952
|
getRunnable() {
|
|
10929
|
-
const strucOrTab = (0, combi_1.seq)((0, combi_1.optPrio)(_1.Let), (0, combi_1.optPrio)(_1.ValueBase), (0, combi_1.
|
|
10953
|
+
const strucOrTab = (0, combi_1.seq)((0, combi_1.optPrio)(_1.Let), (0, combi_1.optPrio)(_1.ValueBase), (0, combi_1.starPrio)(_1.For), (0, combi_1.plusPrio)((0, combi_1.altPrio)(_1.FieldAssignment, _1.ValueBodyLine)));
|
|
10930
10954
|
const tabdef = (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.altPrio)("OPTIONAL", (0, combi_1.seq)("DEFAULT", _1.Source)), { also: combi_1.AlsoIn.OpenABAP });
|
|
10931
10955
|
return (0, combi_1.optPrio)((0, combi_1.altPrio)(strucOrTab, (0, combi_1.seq)(_1.Source, (0, combi_1.optPrio)(tabdef))));
|
|
10932
10956
|
}
|
|
@@ -24724,16 +24748,20 @@ class BuiltIn {
|
|
|
24724
24748
|
return def.predicate;
|
|
24725
24749
|
}
|
|
24726
24750
|
getTypes() {
|
|
24727
|
-
|
|
24728
|
-
{
|
|
24729
|
-
const
|
|
24730
|
-
|
|
24731
|
-
|
|
24732
|
-
|
|
24733
|
-
|
|
24734
|
-
|
|
24751
|
+
// the identifiers are identical for every object, share them to reduce memory usage
|
|
24752
|
+
if (BuiltIn.typesCache === undefined) {
|
|
24753
|
+
const ret = this.buildSY();
|
|
24754
|
+
{
|
|
24755
|
+
const id = new tokens_1.Identifier(new position_1.Position(1, 1), "abap_bool");
|
|
24756
|
+
ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, new basic_1.CharacterType(1, { qualifiedName: "ABAP_BOOL", ddicName: "ABAP_BOOL" })));
|
|
24757
|
+
}
|
|
24758
|
+
{
|
|
24759
|
+
const id = new tokens_1.Identifier(new position_1.Position(1, 1), "cursor");
|
|
24760
|
+
ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, basic_1.IntegerType.get({ qualifiedName: "CURSOR", ddicName: "CURSOR" })));
|
|
24761
|
+
}
|
|
24762
|
+
BuiltIn.typesCache = ret;
|
|
24735
24763
|
}
|
|
24736
|
-
return
|
|
24764
|
+
return BuiltIn.typesCache;
|
|
24737
24765
|
}
|
|
24738
24766
|
get(extras) {
|
|
24739
24767
|
const ret = [];
|
|
@@ -24766,10 +24794,17 @@ class BuiltIn {
|
|
|
24766
24794
|
BuiltIn.getCache.push(this.buildConstant("space", new basic_1.CharacterType(1, { derivedFromConstant: true }), "' '"));
|
|
24767
24795
|
}
|
|
24768
24796
|
ret.push(...BuiltIn.getCache);
|
|
24769
|
-
for
|
|
24770
|
-
|
|
24771
|
-
|
|
24797
|
+
// the extras are identical for every object, share them to reduce memory usage
|
|
24798
|
+
const key = extras.join("|");
|
|
24799
|
+
if (key !== BuiltIn.extrasCacheKey) {
|
|
24800
|
+
BuiltIn.extrasCacheKey = key;
|
|
24801
|
+
BuiltIn.extrasCache = [];
|
|
24802
|
+
for (const e of extras) {
|
|
24803
|
+
const id = new tokens_1.Identifier(new position_1.Position(this.row++, 1), e);
|
|
24804
|
+
BuiltIn.extrasCache.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, basic_1.VoidType.get(e), ["read_only" /* IdentifierMeta.ReadOnly */, "built-in" /* IdentifierMeta.BuiltIn */], "'?'"));
|
|
24805
|
+
}
|
|
24772
24806
|
}
|
|
24807
|
+
ret.push(...BuiltIn.extrasCache);
|
|
24773
24808
|
return ret;
|
|
24774
24809
|
}
|
|
24775
24810
|
/////////////////////////////
|
|
@@ -24978,6 +25013,9 @@ exports.BuiltIn = BuiltIn;
|
|
|
24978
25013
|
BuiltIn.filename = "_builtin.prog.abap";
|
|
24979
25014
|
BuiltIn.counter = 1;
|
|
24980
25015
|
BuiltIn.getCache = [];
|
|
25016
|
+
BuiltIn.typesCache = undefined;
|
|
25017
|
+
BuiltIn.extrasCacheKey = undefined;
|
|
25018
|
+
BuiltIn.extrasCache = [];
|
|
24981
25019
|
// todo: "pcre" vs "regex", only one of these parameters are allowed
|
|
24982
25020
|
// todo: "pcre", only possible from 755
|
|
24983
25021
|
BuiltIn.methods = {
|
|
@@ -29267,6 +29305,15 @@ class ComponentChain {
|
|
|
29267
29305
|
if (i === 0 && child.concatTokens().toUpperCase() === "TABLE_LINE") {
|
|
29268
29306
|
continue;
|
|
29269
29307
|
}
|
|
29308
|
+
else if (child.get() instanceof Expressions.Dereference) {
|
|
29309
|
+
if (!(context instanceof basic_1.DataReference)) {
|
|
29310
|
+
const message = "Not a data reference, cannot be dereferenced";
|
|
29311
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, child.getFirstToken(), message));
|
|
29312
|
+
return void_type_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
29313
|
+
}
|
|
29314
|
+
context = context.getType();
|
|
29315
|
+
continue;
|
|
29316
|
+
}
|
|
29270
29317
|
else if (child.get() instanceof Expressions.ArrowOrDash) {
|
|
29271
29318
|
const concat = child.concatTokens();
|
|
29272
29319
|
if (concat === "-") {
|
|
@@ -47834,15 +47881,21 @@ exports.CrossIncludeMacros = CrossIncludeMacros;
|
|
|
47834
47881
|
|
|
47835
47882
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
47836
47883
|
exports.AbstractNode = void 0;
|
|
47884
|
+
// shared constant, so nodes without children don't waste memory on empty arrays
|
|
47885
|
+
const EMPTY = Object.freeze([]);
|
|
47837
47886
|
class AbstractNode {
|
|
47838
47887
|
constructor() {
|
|
47839
|
-
this.children =
|
|
47888
|
+
this.children = EMPTY;
|
|
47840
47889
|
}
|
|
47841
47890
|
addChild(n) {
|
|
47891
|
+
if (this.children === EMPTY) {
|
|
47892
|
+
this.children = [];
|
|
47893
|
+
}
|
|
47842
47894
|
this.children.push(n);
|
|
47843
47895
|
}
|
|
47844
47896
|
setChildren(children) {
|
|
47845
|
-
|
|
47897
|
+
// copy, input arrays are built via push() and carry over-allocated backing stores
|
|
47898
|
+
this.children = children.slice();
|
|
47846
47899
|
}
|
|
47847
47900
|
getChildren() {
|
|
47848
47901
|
return this.children;
|
|
@@ -48198,17 +48251,13 @@ const string_template_middle_1 = __webpack_require__(/*! ../1_lexer/tokens/strin
|
|
|
48198
48251
|
const string_template_end_1 = __webpack_require__(/*! ../1_lexer/tokens/string_template_end */ "../core/build/src/abap/1_lexer/tokens/string_template_end.js");
|
|
48199
48252
|
const string_template_begin_1 = __webpack_require__(/*! ../1_lexer/tokens/string_template_begin */ "../core/build/src/abap/1_lexer/tokens/string_template_begin.js");
|
|
48200
48253
|
const string_template_1 = __webpack_require__(/*! ../1_lexer/tokens/string_template */ "../core/build/src/abap/1_lexer/tokens/string_template.js");
|
|
48254
|
+
const EMPTY_PRAGMAS = Object.freeze([]);
|
|
48201
48255
|
class StatementNode extends _abstract_node_1.AbstractNode {
|
|
48202
48256
|
constructor(statement, colon, pragmas) {
|
|
48203
48257
|
super();
|
|
48204
48258
|
this.statement = statement;
|
|
48205
48259
|
this.colon = colon;
|
|
48206
|
-
|
|
48207
|
-
this.pragmas = pragmas;
|
|
48208
|
-
}
|
|
48209
|
-
else {
|
|
48210
|
-
this.pragmas = [];
|
|
48211
|
-
}
|
|
48260
|
+
this.pragmas = pragmas !== null && pragmas !== void 0 ? pragmas : EMPTY_PRAGMAS;
|
|
48212
48261
|
}
|
|
48213
48262
|
get() {
|
|
48214
48263
|
return this.statement;
|
|
@@ -48223,7 +48272,7 @@ class StatementNode extends _abstract_node_1.AbstractNode {
|
|
|
48223
48272
|
if (children.length === 0) {
|
|
48224
48273
|
throw new Error("statement: zero children");
|
|
48225
48274
|
}
|
|
48226
|
-
|
|
48275
|
+
super.setChildren(children);
|
|
48227
48276
|
return this;
|
|
48228
48277
|
}
|
|
48229
48278
|
getStart() {
|
|
@@ -48804,6 +48853,7 @@ exports.StructureNode = StructureNode;
|
|
|
48804
48853
|
|
|
48805
48854
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
48806
48855
|
exports.TokenNode = void 0;
|
|
48856
|
+
const EMPTY_CHILDREN = Object.freeze([]);
|
|
48807
48857
|
class TokenNode {
|
|
48808
48858
|
constructor(token) {
|
|
48809
48859
|
this.token = token;
|
|
@@ -48815,7 +48865,7 @@ class TokenNode {
|
|
|
48815
48865
|
throw new Error("TokenNode, Method not implemented.");
|
|
48816
48866
|
}
|
|
48817
48867
|
getChildren() {
|
|
48818
|
-
return
|
|
48868
|
+
return EMPTY_CHILDREN;
|
|
48819
48869
|
}
|
|
48820
48870
|
concatTokens() {
|
|
48821
48871
|
return this.token.getStr();
|
|
@@ -52664,8 +52714,9 @@ var Mode;
|
|
|
52664
52714
|
(function (Mode) {
|
|
52665
52715
|
Mode[Mode["Default"] = 0] = "Default";
|
|
52666
52716
|
Mode[Mode["String"] = 1] = "String";
|
|
52667
|
-
Mode[Mode["
|
|
52668
|
-
Mode[Mode["
|
|
52717
|
+
Mode[Mode["DoubleQuoteString"] = 2] = "DoubleQuoteString";
|
|
52718
|
+
Mode[Mode["SingleLineComment"] = 3] = "SingleLineComment";
|
|
52719
|
+
Mode[Mode["MultiLineComment"] = 4] = "MultiLineComment";
|
|
52669
52720
|
})(Mode || (Mode = {}));
|
|
52670
52721
|
class Result {
|
|
52671
52722
|
constructor() {
|
|
@@ -52725,6 +52776,23 @@ class CDSLexer {
|
|
|
52725
52776
|
}
|
|
52726
52777
|
continue;
|
|
52727
52778
|
}
|
|
52779
|
+
// double-quote string handling
|
|
52780
|
+
if (mode === Mode.DoubleQuoteString) {
|
|
52781
|
+
build += next;
|
|
52782
|
+
if (next === "\\" && nextNext === "\"") {
|
|
52783
|
+
build += stream.takeNext();
|
|
52784
|
+
col++;
|
|
52785
|
+
}
|
|
52786
|
+
else if (next === "\"" && nextNext === "\"") {
|
|
52787
|
+
build += stream.takeNext();
|
|
52788
|
+
col++;
|
|
52789
|
+
}
|
|
52790
|
+
else if (next === "\"") {
|
|
52791
|
+
build = result.add(build, row, col, mode);
|
|
52792
|
+
mode = Mode.Default;
|
|
52793
|
+
}
|
|
52794
|
+
continue;
|
|
52795
|
+
}
|
|
52728
52796
|
// single line comment handling
|
|
52729
52797
|
if (mode === Mode.SingleLineComment) {
|
|
52730
52798
|
if (next === "\n") {
|
|
@@ -52771,6 +52839,11 @@ class CDSLexer {
|
|
|
52771
52839
|
mode = Mode.String;
|
|
52772
52840
|
build += next;
|
|
52773
52841
|
break;
|
|
52842
|
+
case "\"":
|
|
52843
|
+
build = result.add(build, row, col, mode);
|
|
52844
|
+
mode = Mode.DoubleQuoteString;
|
|
52845
|
+
build += next;
|
|
52846
|
+
break;
|
|
52774
52847
|
case " ":
|
|
52775
52848
|
case "\t":
|
|
52776
52849
|
build = result.add(build, row, col, mode);
|
|
@@ -53185,7 +53258,9 @@ class CDSAs extends combi_1.Expression {
|
|
|
53185
53258
|
getRunnable() {
|
|
53186
53259
|
const redirected = (0, combi_1.seq)(": REDIRECTED TO", (0, combi_1.optPrio)((0, combi_1.altPrio)("PARENT", "COMPOSITION CHILD")), _1.CDSName);
|
|
53187
53260
|
const colonType = (0, combi_1.seq)(":", (0, combi_1.altPrio)(_1.CDSType, _1.CDSName, "LOCALIZED"));
|
|
53188
|
-
|
|
53261
|
+
const ident = (0, combi_1.regex)(/^\w+$/);
|
|
53262
|
+
const namespacedAlias = (0, combi_1.seq)(ident, "/", ident, "/", ident);
|
|
53263
|
+
return (0, combi_1.seq)("AS", (0, combi_1.altPrio)(namespacedAlias, _1.CDSName), (0, combi_1.optPrio)((0, combi_1.altPrio)(redirected, colonType)));
|
|
53189
53264
|
}
|
|
53190
53265
|
}
|
|
53191
53266
|
exports.CDSAs = CDSAs;
|
|
@@ -53219,8 +53294,9 @@ class CDSAssociation extends combi_1.Expression {
|
|
|
53219
53294
|
// Numeric OF form: "association of [0..1] to Target on ..."
|
|
53220
53295
|
const ofNumericForm = (0, combi_1.seq)("ASSOCIATION", "OF", numericCardinality, "TO", _1.CDSRelation, "ON", _1.CDSCondition);
|
|
53221
53296
|
// "association [0..1] to Target as _Alias on condition" — standard form
|
|
53297
|
+
const parentForm = (0, combi_1.seq)("ASSOCIATION", "TO", "PARENT", _1.CDSRelation);
|
|
53222
53298
|
const standardForm = (0, combi_1.seq)("ASSOCIATION", (0, combi_1.optPrio)(cds_cardinality_1.CDSCardinality), "TO", (0, combi_1.opt)((0, combi_1.altPrio)(textCardinality, "PARENT")), _1.CDSRelation, "ON", _1.CDSCondition, (0, combi_1.opt)((0, combi_1.seq)("WITH", "DEFAULT", "FILTER", _1.CDSCondition)));
|
|
53223
|
-
return (0, combi_1.altPrio)(ofTextForm, ofNumericForm, standardForm);
|
|
53299
|
+
return (0, combi_1.altPrio)(ofTextForm, ofNumericForm, standardForm, parentForm);
|
|
53224
53300
|
}
|
|
53225
53301
|
}
|
|
53226
53302
|
exports.CDSAssociation = CDSAssociation;
|
|
@@ -53477,11 +53553,9 @@ class CDSDefineHierarchy extends combi_1.Expression {
|
|
|
53477
53553
|
const directory = (0, combi_1.seq)("DIRECTORY", _1.CDSName, "FILTER", "BY", _1.CDSCondition);
|
|
53478
53554
|
// DATE PERIOD: period from <field> to <field> [valid from :p to :p]
|
|
53479
53555
|
const datePeriod = (0, combi_1.seq)("PERIOD", "FROM", _1.CDSName, "TO", _1.CDSName, (0, combi_1.opt)((0, combi_1.seq)("VALID", "FROM", _1.CDSPrefixedName, "TO", _1.CDSPrefixedName)));
|
|
53480
|
-
|
|
53481
|
-
const depthValue = (0, combi_1.altPrio)(_1.CDSInteger, _1.CDSPrefixedName);
|
|
53482
|
-
// LOAD mode: BULK, INCREMENTAL, or a parameter reference ($parameters.p_load)
|
|
53556
|
+
const depthValue = (0, combi_1.altPrio)(_1.CDSString, _1.CDSInteger, _1.CDSPrefixedName);
|
|
53483
53557
|
const loadMode = (0, combi_1.altPrio)("BULK", "INCREMENTAL", _1.CDSPrefixedName);
|
|
53484
|
-
const hierarchyBody = (0, combi_1.seq)("SOURCE", _1.CDSName, (0, combi_1.opt)(_1.CDSParametersSelect), "CHILD", "TO", "PARENT", "ASSOCIATION", _1.CDSName, (0, combi_1.opt)(directory), (0, combi_1.opt)(datePeriod), (0, combi_1.opt)((0, combi_1.seq)("START", "WHERE", _1.CDSCondition)), (0, combi_1.opt)(siblingsOrder), (0, combi_1.opt)((0, combi_1.seq)("LOAD", loadMode)), (0, combi_1.opt)((0, combi_1.seq)("
|
|
53558
|
+
const hierarchyBody = (0, combi_1.seq)("SOURCE", _1.CDSName, (0, combi_1.opt)(_1.CDSParametersSelect), "CHILD", "TO", "PARENT", "ASSOCIATION", _1.CDSName, (0, combi_1.opt)(directory), (0, combi_1.opt)(datePeriod), (0, combi_1.opt)((0, combi_1.seq)("START", "WHERE", _1.CDSCondition)), (0, combi_1.opt)(siblingsOrder), (0, combi_1.opt)((0, combi_1.seq)("LOAD", loadMode)), (0, combi_1.opt)((0, combi_1.seq)("DEPTH", depthValue)), (0, combi_1.opt)((0, combi_1.seq)("NODETYPE", _1.CDSName)), (0, combi_1.opt)((0, combi_1.seq)("MULTIPLE", "PARENTS", (0, combi_1.altPrio)("NOT ALLOWED", "ALLOWED", (0, combi_1.seq)("LEAVES", (0, combi_1.optPrio)("ONLY"))))), (0, combi_1.opt)((0, combi_1.seq)("ORPHANS", (0, combi_1.altPrio)("IGNORE", "ROOT", "ERROR"))), (0, combi_1.opt)((0, combi_1.seq)("CYCLES", (0, combi_1.altPrio)("BREAKUP", "ERROR"))), (0, combi_1.opt)((0, combi_1.seq)("GENERATE", "SPANTREE")), (0, combi_1.opt)((0, combi_1.seq)("CACHE", (0, combi_1.altPrio)("ON", "OFF", "FORCE"))));
|
|
53485
53559
|
return (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), "DEFINE", "HIERARCHY", _1.CDSName, (0, combi_1.opt)(_1.CDSWithParameters), "AS", "PARENT", "CHILD", "HIERARCHY", "(", hierarchyBody, ")", "{", (0, combi_1.seq)(field, (0, combi_1.star)((0, combi_1.seq)(",", field))), "}", (0, combi_1.opt)(";"));
|
|
53486
53560
|
}
|
|
53487
53561
|
}
|
|
@@ -53529,10 +53603,10 @@ const _1 = __webpack_require__(/*! . */ "../core/build/src/cds/expressions/index
|
|
|
53529
53603
|
const combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ "../core/build/src/abap/2_statements/combi.js");
|
|
53530
53604
|
class CDSDefineTableEntity extends combi_1.Expression {
|
|
53531
53605
|
getRunnable() {
|
|
53532
|
-
|
|
53533
|
-
|
|
53534
|
-
|
|
53535
|
-
const inlineBody = (0, combi_1.plus)(
|
|
53606
|
+
// Inline `{ ... }` body: one or more table-field entries. Each entry is
|
|
53607
|
+
// wrapped in a CDSTableField node so downstream tooling can pair each
|
|
53608
|
+
// field name with its own annotations.
|
|
53609
|
+
const inlineBody = (0, combi_1.plus)(_1.CDSTableField);
|
|
53536
53610
|
const elementList = (0, combi_1.seq)(_1.CDSElement, (0, combi_1.star)((0, combi_1.seq)(",", _1.CDSElement)), (0, combi_1.opt)(","));
|
|
53537
53611
|
const elements = (0, combi_1.seq)((0, combi_1.str)("{"), (0, combi_1.altPrio)("*", elementList), (0, combi_1.str)("}"));
|
|
53538
53612
|
const selectBody = (0, combi_1.seq)("AS", "SELECT", "FROM", _1.CDSSource, (0, combi_1.star)(_1.CDSJoin), (0, combi_1.star)((0, combi_1.altPrio)(_1.CDSComposition, _1.CDSAssociation)), (0, combi_1.opt)(elements), (0, combi_1.optPrio)(_1.CDSWhere));
|
|
@@ -53587,8 +53661,10 @@ const cds_with_parameters_1 = __webpack_require__(/*! ./cds_with_parameters */ "
|
|
|
53587
53661
|
class CDSDefineView extends combi_1.Expression {
|
|
53588
53662
|
getRunnable() {
|
|
53589
53663
|
const columnAlias = (0, combi_1.seq)("(", cds_name_1.CDSName, (0, combi_1.star)((0, combi_1.seq)(",", cds_name_1.CDSName)), ")");
|
|
53590
|
-
|
|
53591
|
-
(0, combi_1.
|
|
53664
|
+
const parenSelect = (0, combi_1.seq)("(", cds_select_1.CDSSelect, ")");
|
|
53665
|
+
const unionBranch = (0, combi_1.altPrio)(parenSelect, cds_select_1.CDSSelect);
|
|
53666
|
+
const topLevelSelect = (0, combi_1.altPrio)((0, combi_1.seq)(parenSelect, (0, combi_1.star)((0, combi_1.altPrio)((0, combi_1.seq)("UNION", (0, combi_1.opt)("ALL"), unionBranch), (0, combi_1.seq)("EXCEPT", unionBranch), (0, combi_1.seq)("INTERSECT", unionBranch)))), cds_select_1.CDSSelect);
|
|
53667
|
+
return (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), (0, combi_1.opt)("DEFINE"), (0, combi_1.opt)("ROOT"), (0, combi_1.opt)("WRITABLE"), "VIEW", (0, combi_1.ver)(__1.Release.v755, (0, combi_1.opt)("ENTITY")), cds_name_1.CDSName, (0, combi_1.opt)(columnAlias), (0, combi_1.opt)(cds_with_parameters_1.CDSWithParameters), "AS", topLevelSelect, (0, combi_1.opt)((0, combi_1.seq)("WITH", "HIERARCHY", cds_name_1.CDSName)), (0, combi_1.opt)(";"));
|
|
53592
53668
|
}
|
|
53593
53669
|
}
|
|
53594
53670
|
exports.CDSDefineView = CDSDefineView;
|
|
@@ -53615,9 +53691,13 @@ class CDSElement extends combi_1.Expression {
|
|
|
53615
53691
|
const redirected = (0, combi_1.seq)(": REDIRECTED TO", (0, combi_1.optPrio)((0, combi_1.altPrio)("PARENT", "COMPOSITION CHILD")), _1.CDSName);
|
|
53616
53692
|
const colonThing = (0, combi_1.seq)(":", (0, combi_1.altPrio)(_1.CDSType, _1.CDSName, "LOCALIZED"));
|
|
53617
53693
|
const extensionWildcard = (0, combi_1.seq)("$extension", ".", "*");
|
|
53618
|
-
const
|
|
53694
|
+
const excludingNames = (0, combi_1.seq)(_1.CDSName, (0, combi_1.starPrio)((0, combi_1.seq)(",", _1.CDSName)));
|
|
53695
|
+
const excluding = (0, combi_1.seq)("EXCLUDING", "{", excludingNames, "}");
|
|
53696
|
+
const includeElement = (0, combi_1.seq)("INCLUDE", _1.CDSPrefixedName, (0, combi_1.optPrio)(excluding), (0, combi_1.optPrio)("SIGNATURE ONLY"));
|
|
53619
53697
|
const typedVirtual = (0, combi_1.seq)("VIRTUAL", _1.CDSName, ":", _1.CDSType);
|
|
53620
|
-
const
|
|
53698
|
+
const pathSegment = (0, combi_1.seq)(".", (0, combi_1.altPrio)(_1.CDSString, _1.CDSName, "*"), (0, combi_1.optPrio)((0, combi_1.altPrio)(_1.CDSParametersSelect, _1.CDSParameters)));
|
|
53699
|
+
const funcWithPath = (0, combi_1.seq)(_1.CDSFunction, (0, combi_1.plusPrio)(pathSegment));
|
|
53700
|
+
const body = (0, combi_1.altPrio)(extensionWildcard, includeElement, _1.CDSArithmetics, _1.CDSAggregate, _1.CDSString, _1.CDSArithParen, funcWithPath, _1.CDSFunction, cds_cast_1.CDSCast, _1.CDSCase, (0, combi_1.seq)("(", _1.CDSCase, ")"), (0, combi_1.seq)(_1.CDSPrefixedName, (0, combi_1.optPrio)(cds_as_1.CDSAs), (0, combi_1.optPrio)((0, combi_1.altPrio)(redirected, colonThing))), _1.CDSInteger);
|
|
53621
53701
|
const elementBody = (0, combi_1.altPrio)(typedVirtual, (0, combi_1.seq)((0, combi_1.altPrio)("KEY", "VIRTUAL"), body), body);
|
|
53622
53702
|
return (0, combi_1.seq)((0, combi_1.starPrio)(_1.CDSAnnotation), elementBody, (0, combi_1.optPrio)(cds_as_1.CDSAs));
|
|
53623
53703
|
}
|
|
@@ -53644,7 +53724,9 @@ class CDSExtendView extends combi_1.Expression {
|
|
|
53644
53724
|
const namedot = (0, combi_1.seq)(_1.CDSName, (0, combi_1.optPrio)((0, combi_1.seq)(".", _1.CDSName)), (0, combi_1.optPrio)(_1.CDSAs));
|
|
53645
53725
|
const valueNested = (0, combi_1.seq)("{", namedot, (0, combi_1.star)((0, combi_1.seq)(",", namedot)), "}");
|
|
53646
53726
|
const redefineAssoc = (0, combi_1.seq)("REDEFINE", "ASSOCIATION", _1.CDSPrefixedName, (0, combi_1.optPrio)((0, combi_1.seq)("[", _1.CDSCondition, "]")), (0, combi_1.opt)(_1.CDSAs), "REDIRECTED", "TO", (0, combi_1.optPrio)((0, combi_1.altPrio)((0, combi_1.seq)("COMPOSITION", "CHILD"), "PARENT")), _1.CDSName);
|
|
53647
|
-
const
|
|
53727
|
+
const elementList = (0, combi_1.seq)(_1.CDSElement, (0, combi_1.star)((0, combi_1.seq)(",", _1.CDSElement)), (0, combi_1.opt)(","));
|
|
53728
|
+
const elementNested = (0, combi_1.seq)("{", (0, combi_1.altPrio)("*", elementList), "}");
|
|
53729
|
+
const extendView = (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), (0, combi_1.str)("EXTEND VIEW"), (0, combi_1.opt)((0, combi_1.str)("ENTITY")), _1.CDSName, (0, combi_1.str)("WITH"), (0, combi_1.opt)(_1.CDSName), (0, combi_1.star)(redefineAssoc), (0, combi_1.star)(_1.CDSAssociation), (0, combi_1.altPrio)(elementNested, valueNested), (0, combi_1.opt)(";"));
|
|
53648
53730
|
const field = (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), (0, combi_1.optPrio)((0, combi_1.str)("KEY")), _1.CDSName, ":", _1.CDSType, ";");
|
|
53649
53731
|
const assocOrComp = (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), _1.CDSName, ":", (0, combi_1.alt)(_1.CDSComposition, _1.CDSAssociation), ";");
|
|
53650
53732
|
const entityBody = (0, combi_1.seq)("{", (0, combi_1.plus)((0, combi_1.alt)(field, assocOrComp)), "}");
|
|
@@ -53934,7 +54016,9 @@ class CDSParametersSelect extends combi_1.Expression {
|
|
|
53934
54016
|
getRunnable() {
|
|
53935
54017
|
const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)((0, combi_1.seq)(".", _1.CDSName)));
|
|
53936
54018
|
const value = (0, combi_1.alt)(_1.CDSInteger, name, _1.CDSString);
|
|
53937
|
-
const
|
|
54019
|
+
const colonPair = (0, combi_1.seq)(name, ":", value, (0, combi_1.optPrio)("DEFAULT"));
|
|
54020
|
+
const arrowPair = (0, combi_1.seq)(name, "=", ">", value);
|
|
54021
|
+
const nameValue = (0, combi_1.altPrio)(colonPair, arrowPair);
|
|
53938
54022
|
return (0, combi_1.seq)("(", nameValue, (0, combi_1.star)((0, combi_1.seq)(",", nameValue)), ")");
|
|
53939
54023
|
}
|
|
53940
54024
|
}
|
|
@@ -53968,13 +54052,13 @@ class CDSPrefixedName extends combi_1.Expression {
|
|
|
53968
54052
|
const cardinalityJoin = (0, combi_1.seq)("[", cardSpec, ":", joinType, "]");
|
|
53969
54053
|
const cardinalityJoinWhere = (0, combi_1.seq)("[", cardSpec, ":", joinType, "WHERE", cds_condition_1.CDSCondition, "]");
|
|
53970
54054
|
const joinWhere = (0, combi_1.seq)("[", joinType, "WHERE", cds_condition_1.CDSCondition, "]");
|
|
53971
|
-
const textCard = (0, combi_1.altPrio)("TO EXACT ONE", "TO ONE", "TO MANY");
|
|
54055
|
+
const textCard = (0, combi_1.altPrio)("MANY TO EXACT ONE", "MANY TO ONE", "ONE TO MANY", "ONE TO ONE", "TO EXACT ONE", "TO ONE", "TO MANY");
|
|
53972
54056
|
const textCardFilter = (0, combi_1.seq)("[", textCard, (0, combi_1.optPrio)((0, combi_1.seq)(":", (0, combi_1.altPrio)((0, combi_1.seq)(joinType, "WHERE", cds_condition_1.CDSCondition), joinType, cds_condition_1.CDSCondition))), "]");
|
|
53973
54057
|
const cardNum = (0, combi_1.altPrio)(cds_integer_1.CDSInteger, "*");
|
|
53974
54058
|
const rangeCard = (0, combi_1.seq)(cds_integer_1.CDSInteger, ".", ".", cardNum);
|
|
53975
54059
|
const rangeCardFilter = (0, combi_1.seq)("[", rangeCard, ":", cds_condition_1.CDSCondition, "]");
|
|
53976
54060
|
const pathFilter = (0, combi_1.altPrio)(cardinalityJoinWhere, joinWhere, cardinalityJoin, joinRedirect, textCardFilter, rangeCardFilter, (0, combi_1.seq)("[", cardSpec, ":", cds_condition_1.CDSCondition, "]"), (0, combi_1.seq)("[", cds_condition_1.CDSCondition, "]"));
|
|
53977
|
-
const segment = (0, combi_1.seq)(".", (0, combi_1.altPrio)(cds_string_1.CDSString, cds_name_1.CDSName), (0, combi_1.optPrio)((0, combi_1.altPrio)(cds_parameters_select_1.CDSParametersSelect, cds_parameters_1.CDSParameters)), (0, combi_1.optPrio)(pathFilter));
|
|
54061
|
+
const segment = (0, combi_1.seq)(".", (0, combi_1.altPrio)(cds_string_1.CDSString, cds_name_1.CDSName, "*"), (0, combi_1.optPrio)((0, combi_1.altPrio)(cds_parameters_select_1.CDSParametersSelect, cds_parameters_1.CDSParameters)), (0, combi_1.optPrio)(pathFilter));
|
|
53978
54062
|
return (0, combi_1.seq)(cds_name_1.CDSName, (0, combi_1.optPrio)((0, combi_1.altPrio)(cds_parameters_1.CDSParameters, cds_parameters_select_1.CDSParametersSelect)), (0, combi_1.optPrio)(pathFilter), (0, combi_1.star)(segment));
|
|
53979
54063
|
}
|
|
53980
54064
|
}
|
|
@@ -54019,7 +54103,7 @@ const combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ "../cor
|
|
|
54019
54103
|
class CDSRelation extends combi_1.Expression {
|
|
54020
54104
|
getRunnable() {
|
|
54021
54105
|
const pre = (0, combi_1.seq)("/", (0, combi_1.regex)(/^[\w_]+$/), "/");
|
|
54022
|
-
return (0, combi_1.seq)((0, combi_1.opt)(pre), (0, combi_1.regex)(/^[\w_]+$/), (0, combi_1.opt)(_1.CDSAs));
|
|
54106
|
+
return (0, combi_1.seq)((0, combi_1.opt)(pre), (0, combi_1.regex)(/^[\w_]+$/), (0, combi_1.opt)(_1.CDSParametersSelect), (0, combi_1.opt)(_1.CDSAs));
|
|
54023
54107
|
}
|
|
54024
54108
|
}
|
|
54025
54109
|
exports.CDSRelation = CDSRelation;
|
|
@@ -54047,11 +54131,12 @@ class CDSSelect extends combi_1.Expression {
|
|
|
54047
54131
|
const distinct = (0, combi_1.str)("DISTINCT");
|
|
54048
54132
|
const elementList = (0, combi_1.seq)(_1.CDSElement, (0, combi_1.star)((0, combi_1.seq)(",", _1.CDSElement)), (0, combi_1.opt)(","));
|
|
54049
54133
|
const elements = (0, combi_1.seq)((0, combi_1.str)("{"), (0, combi_1.altPrio)("*", elementList), (0, combi_1.str)("}"));
|
|
54050
|
-
const
|
|
54051
|
-
const
|
|
54134
|
+
const aspectValue = (0, combi_1.altPrio)(_1.CDSString, _1.CDSPrefixedName);
|
|
54135
|
+
const aspectBinding = (0, combi_1.seq)(_1.CDSPrefixedName, "=", ">", aspectValue);
|
|
54136
|
+
const bindAspect = (0, combi_1.seq)("BIND", "ASPECT", _1.CDSName, "(", aspectBinding, (0, combi_1.starPrio)((0, combi_1.seq)(",", aspectBinding)), ")", (0, combi_1.optPrio)((0, combi_1.seq)("AS", _1.CDSName)));
|
|
54052
54137
|
const parenSelect = (0, combi_1.seq)("(", CDSSelect, ")");
|
|
54053
54138
|
const unionBranch = (0, combi_1.altPrio)(parenSelect, CDSSelect);
|
|
54054
|
-
return (0, combi_1.seq)("SELECT", (0, combi_1.optPrio)(distinct), (0, combi_1.opt)((0, combi_1.altPrio)("*", fields)), "FROM", _1.CDSSource, (0, combi_1.star)(cds_join_1.CDSJoin), (0, combi_1.star)((0, combi_1.altPrio)(_1.CDSComposition, cds_association_1.CDSAssociation)), (0, combi_1.
|
|
54139
|
+
return (0, combi_1.seq)("SELECT", (0, combi_1.optPrio)(distinct), (0, combi_1.opt)((0, combi_1.altPrio)("*", fields)), "FROM", _1.CDSSource, (0, combi_1.star)(cds_join_1.CDSJoin), (0, combi_1.star)((0, combi_1.altPrio)(_1.CDSComposition, cds_association_1.CDSAssociation)), (0, combi_1.starPrio)(bindAspect), (0, combi_1.opt)(elements), (0, combi_1.optPrio)(_1.CDSWhere), (0, combi_1.optPrio)(_1.CDSGroupBy), (0, combi_1.optPrio)(_1.CDSHaving), (0, combi_1.optPrio)((0, combi_1.altPrio)((0, combi_1.seq)("UNION", (0, combi_1.optPrio)("ALL"), unionBranch), (0, combi_1.seq)("EXCEPT", unionBranch), (0, combi_1.seq)("INTERSECT", unionBranch))));
|
|
54055
54140
|
}
|
|
54056
54141
|
}
|
|
54057
54142
|
exports.CDSSelect = CDSSelect;
|
|
@@ -54074,10 +54159,7 @@ const combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ "../cor
|
|
|
54074
54159
|
class CDSSource extends combi_1.Expression {
|
|
54075
54160
|
getRunnable() {
|
|
54076
54161
|
const staticFilter = (0, combi_1.seq)("[", _1.CDSCondition, "]");
|
|
54077
|
-
|
|
54078
|
-
const dottedName = (0, combi_1.seq)(_1.CDSName, ".", _1.CDSName);
|
|
54079
|
-
const namedSource = (0, combi_1.altPrio)(dottedName, _1.CDSName);
|
|
54080
|
-
const singleSource = (0, combi_1.seq)(namedSource, (0, combi_1.optPrio)(_1.CDSParametersSelect), (0, combi_1.optPrio)(staticFilter), (0, combi_1.opt)((0, combi_1.altPrio)(_1.CDSAs, _1.CDSName)));
|
|
54162
|
+
const singleSource = (0, combi_1.seq)(_1.CDSPrefixedName, (0, combi_1.optPrio)(_1.CDSParametersSelect), (0, combi_1.optPrio)(staticFilter), (0, combi_1.opt)((0, combi_1.altPrio)(_1.CDSAs, _1.CDSName)));
|
|
54081
54163
|
const funcSingleSource = (0, combi_1.seq)(_1.CDSFunction, (0, combi_1.opt)((0, combi_1.altPrio)(_1.CDSAs, _1.CDSName)));
|
|
54082
54164
|
const parenSource = (0, combi_1.seq)("(", (0, combi_1.altPrio)(CDSSource, singleSource), (0, combi_1.star)(_1.CDSJoin), ")");
|
|
54083
54165
|
return (0, combi_1.altPrio)(parenSource, funcSingleSource, singleSource);
|
|
@@ -54101,8 +54183,8 @@ exports.CDSString = void 0;
|
|
|
54101
54183
|
const combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ "../core/build/src/abap/2_statements/combi.js");
|
|
54102
54184
|
class CDSString extends combi_1.Expression {
|
|
54103
54185
|
getRunnable() {
|
|
54104
|
-
const reg = (0, combi_1.regex)(/^'(?:[^'\\]|''|\\'|\\\\|\\(?!'))*'$/);
|
|
54105
|
-
const abapTypeName = (0, combi_1.regex)(/^(?:int[1-9]|int8|sstring|char|numc|dats|datn|tims|timn|utcl|utclong|fltp|decfloat\d+|dec|string|rawstring|rstr|raw|xstring|clnt|lang|unit|cuky|curr|quan|geom_ewkb|d34n|d16n|d34d|d16d|d34s|d16s|d34r|d16r|d|t|p|n|c|x|f)$/i);
|
|
54186
|
+
const reg = (0, combi_1.regex)(/^(?:'(?:[^'\\]|''|\\'|\\\\|\\(?!'))*'|"(?:[^"\\]|""|\\"|\\\\|\\(?!"))*")$/);
|
|
54187
|
+
const abapTypeName = (0, combi_1.regex)(/^(?:int[1-9]|int8|sstring|sstr|char|numc|dats|datn|tims|timn|utcl|utclong|fltp|decfloat\d+|dec|string|rawstring|rstr|raw|xstring|clnt|lang|unit|cuky|curr|quan|geom_ewkb|d34n|d16n|d34d|d16d|d34s|d16s|d34r|d16r|d|t|p|n|c|x|f)$/i);
|
|
54106
54188
|
const abap = (0, combi_1.seq)("abap", ".", abapTypeName, (0, combi_1.optPrio)((0, combi_1.seq)("(", (0, combi_1.regex)(/^\d+$/), ")")), reg);
|
|
54107
54189
|
return (0, combi_1.altPrio)(abap, reg);
|
|
54108
54190
|
}
|
|
@@ -54112,6 +54194,35 @@ exports.CDSString = CDSString;
|
|
|
54112
54194
|
|
|
54113
54195
|
/***/ },
|
|
54114
54196
|
|
|
54197
|
+
/***/ "../core/build/src/cds/expressions/cds_table_field.js"
|
|
54198
|
+
/*!************************************************************!*\
|
|
54199
|
+
!*** ../core/build/src/cds/expressions/cds_table_field.js ***!
|
|
54200
|
+
\************************************************************/
|
|
54201
|
+
(__unused_webpack_module, exports, __webpack_require__) {
|
|
54202
|
+
|
|
54203
|
+
"use strict";
|
|
54204
|
+
|
|
54205
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
54206
|
+
exports.CDSTableField = void 0;
|
|
54207
|
+
const _1 = __webpack_require__(/*! . */ "../core/build/src/cds/expressions/index.js");
|
|
54208
|
+
const combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ "../core/build/src/abap/2_statements/combi.js");
|
|
54209
|
+
// A single field or association/composition inside a `define table entity { ... }`
|
|
54210
|
+
// inline body. Wraps annotations + name + type together so tooling can iterate
|
|
54211
|
+
// per-field with associated field-level annotations (matches the CDSElement
|
|
54212
|
+
// shape used for select-list elements).
|
|
54213
|
+
class CDSTableField extends combi_1.Expression {
|
|
54214
|
+
getRunnable() {
|
|
54215
|
+
const nullability = (0, combi_1.optPrio)((0, combi_1.alt)("NOT NULL", "NULL"));
|
|
54216
|
+
const field = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.str)("KEY")), _1.CDSName, ":", _1.CDSType, nullability);
|
|
54217
|
+
const assocOrComp = (0, combi_1.seq)(_1.CDSName, ":", (0, combi_1.alt)(_1.CDSComposition, _1.CDSAssociation));
|
|
54218
|
+
return (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), (0, combi_1.alt)(field, assocOrComp), ";");
|
|
54219
|
+
}
|
|
54220
|
+
}
|
|
54221
|
+
exports.CDSTableField = CDSTableField;
|
|
54222
|
+
//# sourceMappingURL=cds_table_field.js.map
|
|
54223
|
+
|
|
54224
|
+
/***/ },
|
|
54225
|
+
|
|
54115
54226
|
/***/ "../core/build/src/cds/expressions/cds_type.js"
|
|
54116
54227
|
/*!*****************************************************!*\
|
|
54117
54228
|
!*** ../core/build/src/cds/expressions/cds_type.js ***!
|
|
@@ -54243,6 +54354,7 @@ __exportStar(__webpack_require__(/*! ./cds_relation */ "../core/build/src/cds/ex
|
|
|
54243
54354
|
__exportStar(__webpack_require__(/*! ./cds_select */ "../core/build/src/cds/expressions/cds_select.js"), exports);
|
|
54244
54355
|
__exportStar(__webpack_require__(/*! ./cds_source */ "../core/build/src/cds/expressions/cds_source.js"), exports);
|
|
54245
54356
|
__exportStar(__webpack_require__(/*! ./cds_string */ "../core/build/src/cds/expressions/cds_string.js"), exports);
|
|
54357
|
+
__exportStar(__webpack_require__(/*! ./cds_table_field */ "../core/build/src/cds/expressions/cds_table_field.js"), exports);
|
|
54246
54358
|
__exportStar(__webpack_require__(/*! ./cds_type */ "../core/build/src/cds/expressions/cds_type.js"), exports);
|
|
54247
54359
|
__exportStar(__webpack_require__(/*! ./cds_where */ "../core/build/src/cds/expressions/cds_where.js"), exports);
|
|
54248
54360
|
__exportStar(__webpack_require__(/*! ./cds_with_parameters */ "../core/build/src/cds/expressions/cds_with_parameters.js"), exports);
|
|
@@ -68572,7 +68684,7 @@ class Registry {
|
|
|
68572
68684
|
}
|
|
68573
68685
|
static abaplintVersion() {
|
|
68574
68686
|
// magic, see build script "version.js"
|
|
68575
|
-
return "2.119.
|
|
68687
|
+
return "2.119.58";
|
|
68576
68688
|
}
|
|
68577
68689
|
getDDICReferences() {
|
|
68578
68690
|
return this.ddicReferences;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.119.
|
|
3
|
+
"version": "2.119.58",
|
|
4
4
|
"description": "abaplint - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"homepage": "https://abaplint.org",
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@abaplint/core": "^2.119.
|
|
42
|
+
"@abaplint/core": "^2.119.58",
|
|
43
43
|
"@types/chai": "^4.3.20",
|
|
44
44
|
"@types/minimist": "^1.2.5",
|
|
45
45
|
"@types/mocha": "^10.0.10",
|