@abaplint/cli 2.113.127 → 2.113.128
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 +327 -328
- package/package.json +5 -5
package/build/cli.js
CHANGED
|
@@ -19366,7 +19366,7 @@ const _combi_1 = __webpack_require__(/*! ./_combi */ "./node_modules/@abaplint/c
|
|
|
19366
19366
|
const chain_1 = __webpack_require__(/*! ./chain */ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/chain.js");
|
|
19367
19367
|
class DynproLoop {
|
|
19368
19368
|
getMatcher() {
|
|
19369
|
-
return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.DynproLoop), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.Module), (0, _combi_1.sub)(chain_1.Chain))), (0, _combi_1.sta)(Statements.EndLoop));
|
|
19369
|
+
return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.DynproLoop), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.Module), (0, _combi_1.sta)(Statements.Field), (0, _combi_1.sub)(chain_1.Chain))), (0, _combi_1.sta)(Statements.EndLoop));
|
|
19370
19370
|
}
|
|
19371
19371
|
}
|
|
19372
19372
|
exports.DynproLoop = DynproLoop;
|
|
@@ -23722,6 +23722,9 @@ class TypeUtils {
|
|
|
23722
23722
|
else if ((target instanceof basic_1.StringType || target instanceof basic_1.CharacterType)
|
|
23723
23723
|
&& source instanceof basic_1.StructureType
|
|
23724
23724
|
&& this.isCharLike(source)) {
|
|
23725
|
+
if (this.structureContainsString(source) === true) {
|
|
23726
|
+
return false;
|
|
23727
|
+
}
|
|
23725
23728
|
return true;
|
|
23726
23729
|
}
|
|
23727
23730
|
else if (source instanceof basic_1.StructureType) {
|
|
@@ -24740,8 +24743,7 @@ class AttributeChain {
|
|
|
24740
24743
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), "Not an object reference(AttributeChain)"));
|
|
24741
24744
|
return void_type_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
24742
24745
|
}
|
|
24743
|
-
const
|
|
24744
|
-
const first = children[0];
|
|
24746
|
+
const first = node.getChildren()[0];
|
|
24745
24747
|
if (!(first.get() instanceof expressions_1.AttributeName)) {
|
|
24746
24748
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), "AttributeChain, unexpected first child"));
|
|
24747
24749
|
return void_type_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
@@ -26528,23 +26530,25 @@ class MethodCallChain {
|
|
|
26528
26530
|
static runSyntax(node, input, targetType) {
|
|
26529
26531
|
var _a, _b;
|
|
26530
26532
|
const helper = new _object_oriented_1.ObjectOriented(input.scope);
|
|
26531
|
-
const children = node.getChildren()
|
|
26532
|
-
const first = children
|
|
26533
|
+
const children = node.getChildren();
|
|
26534
|
+
const first = children[0];
|
|
26533
26535
|
if (first === undefined) {
|
|
26534
26536
|
const message = "MethodCallChain, first child expected";
|
|
26535
26537
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
26536
26538
|
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
26537
26539
|
}
|
|
26540
|
+
let currentIndex = 1;
|
|
26538
26541
|
let context = this.findTop(first, input, targetType);
|
|
26539
26542
|
if (first.get() instanceof Expressions.MethodCall) {
|
|
26540
|
-
|
|
26543
|
+
currentIndex--;
|
|
26541
26544
|
}
|
|
26542
26545
|
let previous = undefined;
|
|
26543
|
-
while (children.length
|
|
26544
|
-
const current = children
|
|
26546
|
+
while (currentIndex <= children.length) {
|
|
26547
|
+
const current = children[currentIndex];
|
|
26545
26548
|
if (current === undefined) {
|
|
26546
26549
|
break;
|
|
26547
26550
|
}
|
|
26551
|
+
currentIndex++;
|
|
26548
26552
|
if (current instanceof nodes_1.ExpressionNode && current.get() instanceof Expressions.MethodCall) {
|
|
26549
26553
|
// for built-in methods set className to undefined
|
|
26550
26554
|
const className = context instanceof basic_1.ObjectReferenceType ? context.getIdentifierName() : undefined;
|
|
@@ -28095,46 +28099,49 @@ class Source {
|
|
|
28095
28099
|
let hexExpected = false;
|
|
28096
28100
|
let hexNext = false;
|
|
28097
28101
|
while (children.length >= 0) {
|
|
28098
|
-
if (first instanceof nodes_1.ExpressionNode
|
|
28099
|
-
|
|
28100
|
-
if (
|
|
28101
|
-
|
|
28102
|
-
|
|
28103
|
-
|
|
28102
|
+
if (first instanceof nodes_1.ExpressionNode) {
|
|
28103
|
+
const get = first.get();
|
|
28104
|
+
if (get instanceof Expressions.MethodCallChain) {
|
|
28105
|
+
context = method_call_chain_1.MethodCallChain.runSyntax(first, input, targetType);
|
|
28106
|
+
if (context === undefined) {
|
|
28107
|
+
const message = "Method has no RETURNING value";
|
|
28108
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
28109
|
+
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
28110
|
+
}
|
|
28104
28111
|
}
|
|
28105
|
-
|
|
28106
|
-
|
|
28107
|
-
context = field_chain_1.FieldChain.runSyntax(first, input, type);
|
|
28108
|
-
}
|
|
28109
|
-
else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.StringTemplate) {
|
|
28110
|
-
context = string_template_1.StringTemplate.runSyntax(first, input);
|
|
28111
|
-
}
|
|
28112
|
-
else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Source) {
|
|
28113
|
-
const found = Source.runSyntax(first, input);
|
|
28114
|
-
context = this.infer(context, found);
|
|
28115
|
-
}
|
|
28116
|
-
else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Constant) {
|
|
28117
|
-
const found = constant_1.Constant.runSyntax(first);
|
|
28118
|
-
context = this.infer(context, found);
|
|
28119
|
-
}
|
|
28120
|
-
else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Dereference) {
|
|
28121
|
-
context = dereference_1.Dereference.runSyntax(first, context, input);
|
|
28122
|
-
}
|
|
28123
|
-
else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.ComponentChain) {
|
|
28124
|
-
context = component_chain_1.ComponentChain.runSyntax(context, first, input);
|
|
28125
|
-
}
|
|
28126
|
-
else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.ArithOperator) {
|
|
28127
|
-
if (first.concatTokens() === "**") {
|
|
28128
|
-
context = new basic_1.FloatType();
|
|
28112
|
+
else if (get instanceof Expressions.FieldChain) {
|
|
28113
|
+
context = field_chain_1.FieldChain.runSyntax(first, input, type);
|
|
28129
28114
|
}
|
|
28130
|
-
|
|
28131
|
-
|
|
28132
|
-
|
|
28133
|
-
|
|
28115
|
+
else if (get instanceof Expressions.StringTemplate) {
|
|
28116
|
+
context = string_template_1.StringTemplate.runSyntax(first, input);
|
|
28117
|
+
}
|
|
28118
|
+
else if (get instanceof Expressions.Source) {
|
|
28119
|
+
const found = Source.runSyntax(first, input);
|
|
28120
|
+
context = this.infer(context, found);
|
|
28121
|
+
}
|
|
28122
|
+
else if (get instanceof Expressions.Constant) {
|
|
28123
|
+
const found = constant_1.Constant.runSyntax(first);
|
|
28124
|
+
context = this.infer(context, found);
|
|
28125
|
+
}
|
|
28126
|
+
else if (get instanceof Expressions.Dereference) {
|
|
28127
|
+
context = dereference_1.Dereference.runSyntax(first, context, input);
|
|
28128
|
+
}
|
|
28129
|
+
else if (get instanceof Expressions.ComponentChain) {
|
|
28130
|
+
context = component_chain_1.ComponentChain.runSyntax(context, first, input);
|
|
28131
|
+
}
|
|
28132
|
+
else if (get instanceof Expressions.ArithOperator) {
|
|
28133
|
+
if (first.concatTokens() === "**") {
|
|
28134
|
+
context = new basic_1.FloatType();
|
|
28135
|
+
}
|
|
28136
|
+
const operator = first.concatTokens().toUpperCase();
|
|
28137
|
+
if (operator === "BIT-OR" || operator === "BIT-AND" || operator === "BIT-XOR") {
|
|
28138
|
+
hexExpected = true;
|
|
28139
|
+
hexNext = true;
|
|
28140
|
+
}
|
|
28141
|
+
}
|
|
28142
|
+
else if (get instanceof Expressions.AttributeChain) {
|
|
28143
|
+
context = attribute_chain_1.AttributeChain.runSyntax(context, first, input, type);
|
|
28134
28144
|
}
|
|
28135
|
-
}
|
|
28136
|
-
else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.AttributeChain) {
|
|
28137
|
-
context = attribute_chain_1.AttributeChain.runSyntax(context, first, input, type);
|
|
28138
28145
|
}
|
|
28139
28146
|
if (hexExpected === true) {
|
|
28140
28147
|
if (!(context instanceof basic_1.VoidType)
|
|
@@ -28179,7 +28186,7 @@ class Source {
|
|
|
28179
28186
|
}
|
|
28180
28187
|
static addIfInferred(node, input, inferredType) {
|
|
28181
28188
|
const basic = new basic_types_1.BasicTypes(input);
|
|
28182
|
-
const typeExpression = node.
|
|
28189
|
+
const typeExpression = node.findDirectExpression(Expressions.TypeNameOrInfer);
|
|
28183
28190
|
const typeToken = typeExpression === null || typeExpression === void 0 ? void 0 : typeExpression.getFirstToken();
|
|
28184
28191
|
const typeName = typeToken === null || typeToken === void 0 ? void 0 : typeToken.getStr();
|
|
28185
28192
|
if (typeName === "#" && inferredType && typeToken) {
|
|
@@ -28203,7 +28210,7 @@ class Source {
|
|
|
28203
28210
|
}
|
|
28204
28211
|
static determineType(node, input, targetType) {
|
|
28205
28212
|
const basic = new basic_types_1.BasicTypes(input);
|
|
28206
|
-
const typeExpression = node.
|
|
28213
|
+
const typeExpression = node.findDirectExpression(Expressions.TypeNameOrInfer);
|
|
28207
28214
|
const typeToken = typeExpression === null || typeExpression === void 0 ? void 0 : typeExpression.getFirstToken();
|
|
28208
28215
|
const typeName = typeToken === null || typeToken === void 0 ? void 0 : typeToken.getStr();
|
|
28209
28216
|
if (typeExpression === undefined) {
|
|
@@ -28740,8 +28747,8 @@ class Target {
|
|
|
28740
28747
|
return found.getType();
|
|
28741
28748
|
}
|
|
28742
28749
|
}
|
|
28743
|
-
const children = node.getChildren()
|
|
28744
|
-
const first = children
|
|
28750
|
+
const children = node.getChildren();
|
|
28751
|
+
const first = children[0];
|
|
28745
28752
|
if (first === undefined || !(first instanceof nodes_1.ExpressionNode)) {
|
|
28746
28753
|
return undefined;
|
|
28747
28754
|
}
|
|
@@ -28751,11 +28758,13 @@ class Target {
|
|
|
28751
28758
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
28752
28759
|
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
28753
28760
|
}
|
|
28754
|
-
|
|
28755
|
-
|
|
28761
|
+
let currentIndex = 1;
|
|
28762
|
+
while (currentIndex <= children.length) {
|
|
28763
|
+
const current = children[currentIndex];
|
|
28756
28764
|
if (current === undefined) {
|
|
28757
28765
|
break;
|
|
28758
28766
|
}
|
|
28767
|
+
currentIndex++;
|
|
28759
28768
|
if (current.get() instanceof tokens_1.Dash) {
|
|
28760
28769
|
if (context instanceof unknown_type_1.UnknownType) {
|
|
28761
28770
|
const message = "Not a structure, type unknown, target";
|
|
@@ -54308,7 +54317,7 @@ class Registry {
|
|
|
54308
54317
|
}
|
|
54309
54318
|
static abaplintVersion() {
|
|
54310
54319
|
// magic, see build script "version.sh"
|
|
54311
|
-
return "2.113.
|
|
54320
|
+
return "2.113.128";
|
|
54312
54321
|
}
|
|
54313
54322
|
getDDICReferences() {
|
|
54314
54323
|
return this.ddicReferences;
|
|
@@ -60635,7 +60644,8 @@ ${indentation}${uniqueName1}-attr3 = 'IF_T100_DYN_MSG~MSGV3'.
|
|
|
60635
60644
|
${indentation}${uniqueName1}-attr4 = 'IF_T100_DYN_MSG~MSGV4'.\n`;
|
|
60636
60645
|
}
|
|
60637
60646
|
abap += `${indentation}DATA ${uniqueName2} TYPE REF TO ${className}.
|
|
60638
|
-
${indentation}CREATE OBJECT ${uniqueName2}
|
|
60647
|
+
${indentation}CREATE OBJECT ${uniqueName2}.
|
|
60648
|
+
${indentation}${uniqueName2}->if_t100_message~t100key = ${uniqueName1}.\n`;
|
|
60639
60649
|
if (withs.length > 0) {
|
|
60640
60650
|
abap += `${indentation}${uniqueName2}->if_t100_dyn_msg~msgty = 'E'.\n`;
|
|
60641
60651
|
}
|
|
@@ -77950,73 +77960,278 @@ function unescape(str) {
|
|
|
77950
77960
|
|
|
77951
77961
|
/***/ }),
|
|
77952
77962
|
|
|
77953
|
-
/***/ "./node_modules/balanced-match/index.js":
|
|
77954
|
-
|
|
77955
|
-
!*** ./node_modules/balanced-match/index.js ***!
|
|
77956
|
-
|
|
77957
|
-
/***/ ((
|
|
77963
|
+
/***/ "./node_modules/@isaacs/balanced-match/dist/commonjs/index.js":
|
|
77964
|
+
/*!********************************************************************!*\
|
|
77965
|
+
!*** ./node_modules/@isaacs/balanced-match/dist/commonjs/index.js ***!
|
|
77966
|
+
\********************************************************************/
|
|
77967
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
77958
77968
|
|
|
77959
77969
|
"use strict";
|
|
77960
77970
|
|
|
77961
|
-
|
|
77962
|
-
|
|
77963
|
-
|
|
77964
|
-
|
|
77965
|
-
|
|
77966
|
-
|
|
77967
|
-
|
|
77968
|
-
|
|
77969
|
-
|
|
77970
|
-
|
|
77971
|
-
|
|
77972
|
-
|
|
77973
|
-
|
|
77974
|
-
|
|
77975
|
-
|
|
77971
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
77972
|
+
exports.range = exports.balanced = void 0;
|
|
77973
|
+
const balanced = (a, b, str) => {
|
|
77974
|
+
const ma = a instanceof RegExp ? maybeMatch(a, str) : a;
|
|
77975
|
+
const mb = b instanceof RegExp ? maybeMatch(b, str) : b;
|
|
77976
|
+
const r = ma !== null && mb != null && (0, exports.range)(ma, mb, str);
|
|
77977
|
+
return (r && {
|
|
77978
|
+
start: r[0],
|
|
77979
|
+
end: r[1],
|
|
77980
|
+
pre: str.slice(0, r[0]),
|
|
77981
|
+
body: str.slice(r[0] + ma.length, r[1]),
|
|
77982
|
+
post: str.slice(r[1] + mb.length),
|
|
77983
|
+
});
|
|
77984
|
+
};
|
|
77985
|
+
exports.balanced = balanced;
|
|
77986
|
+
const maybeMatch = (reg, str) => {
|
|
77987
|
+
const m = str.match(reg);
|
|
77988
|
+
return m ? m[0] : null;
|
|
77989
|
+
};
|
|
77990
|
+
const range = (a, b, str) => {
|
|
77991
|
+
let begs, beg, left, right = undefined, result;
|
|
77992
|
+
let ai = str.indexOf(a);
|
|
77993
|
+
let bi = str.indexOf(b, ai + 1);
|
|
77994
|
+
let i = ai;
|
|
77995
|
+
if (ai >= 0 && bi > 0) {
|
|
77996
|
+
if (a === b) {
|
|
77997
|
+
return [ai, bi];
|
|
77998
|
+
}
|
|
77999
|
+
begs = [];
|
|
78000
|
+
left = str.length;
|
|
78001
|
+
while (i >= 0 && !result) {
|
|
78002
|
+
if (i === ai) {
|
|
78003
|
+
begs.push(i);
|
|
78004
|
+
ai = str.indexOf(a, i + 1);
|
|
78005
|
+
}
|
|
78006
|
+
else if (begs.length === 1) {
|
|
78007
|
+
const r = begs.pop();
|
|
78008
|
+
if (r !== undefined)
|
|
78009
|
+
result = [r, bi];
|
|
78010
|
+
}
|
|
78011
|
+
else {
|
|
78012
|
+
beg = begs.pop();
|
|
78013
|
+
if (beg !== undefined && beg < left) {
|
|
78014
|
+
left = beg;
|
|
78015
|
+
right = bi;
|
|
78016
|
+
}
|
|
78017
|
+
bi = str.indexOf(b, i + 1);
|
|
78018
|
+
}
|
|
78019
|
+
i = ai < bi && ai >= 0 ? ai : bi;
|
|
78020
|
+
}
|
|
78021
|
+
if (begs.length && right !== undefined) {
|
|
78022
|
+
result = [left, right];
|
|
78023
|
+
}
|
|
78024
|
+
}
|
|
78025
|
+
return result;
|
|
78026
|
+
};
|
|
78027
|
+
exports.range = range;
|
|
78028
|
+
//# sourceMappingURL=index.js.map
|
|
77976
78029
|
|
|
77977
|
-
|
|
77978
|
-
var m = str.match(reg);
|
|
77979
|
-
return m ? m[0] : null;
|
|
77980
|
-
}
|
|
78030
|
+
/***/ }),
|
|
77981
78031
|
|
|
77982
|
-
|
|
77983
|
-
|
|
77984
|
-
|
|
77985
|
-
|
|
77986
|
-
|
|
77987
|
-
var i = ai;
|
|
78032
|
+
/***/ "./node_modules/@isaacs/brace-expansion/dist/commonjs/index.js":
|
|
78033
|
+
/*!*********************************************************************!*\
|
|
78034
|
+
!*** ./node_modules/@isaacs/brace-expansion/dist/commonjs/index.js ***!
|
|
78035
|
+
\*********************************************************************/
|
|
78036
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
77988
78037
|
|
|
77989
|
-
|
|
77990
|
-
begs = [];
|
|
77991
|
-
left = str.length;
|
|
78038
|
+
"use strict";
|
|
77992
78039
|
|
|
77993
|
-
|
|
77994
|
-
|
|
77995
|
-
|
|
77996
|
-
|
|
77997
|
-
|
|
77998
|
-
|
|
77999
|
-
|
|
78000
|
-
|
|
78001
|
-
|
|
78002
|
-
|
|
78003
|
-
|
|
78040
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
78041
|
+
exports.expand = expand;
|
|
78042
|
+
const balanced_match_1 = __webpack_require__(/*! @isaacs/balanced-match */ "./node_modules/@isaacs/balanced-match/dist/commonjs/index.js");
|
|
78043
|
+
const escSlash = '\0SLASH' + Math.random() + '\0';
|
|
78044
|
+
const escOpen = '\0OPEN' + Math.random() + '\0';
|
|
78045
|
+
const escClose = '\0CLOSE' + Math.random() + '\0';
|
|
78046
|
+
const escComma = '\0COMMA' + Math.random() + '\0';
|
|
78047
|
+
const escPeriod = '\0PERIOD' + Math.random() + '\0';
|
|
78048
|
+
const escSlashPattern = new RegExp(escSlash, 'g');
|
|
78049
|
+
const escOpenPattern = new RegExp(escOpen, 'g');
|
|
78050
|
+
const escClosePattern = new RegExp(escClose, 'g');
|
|
78051
|
+
const escCommaPattern = new RegExp(escComma, 'g');
|
|
78052
|
+
const escPeriodPattern = new RegExp(escPeriod, 'g');
|
|
78053
|
+
const slashPattern = /\\\\/g;
|
|
78054
|
+
const openPattern = /\\{/g;
|
|
78055
|
+
const closePattern = /\\}/g;
|
|
78056
|
+
const commaPattern = /\\,/g;
|
|
78057
|
+
const periodPattern = /\\./g;
|
|
78058
|
+
function numeric(str) {
|
|
78059
|
+
return !isNaN(str) ? parseInt(str, 10) : str.charCodeAt(0);
|
|
78060
|
+
}
|
|
78061
|
+
function escapeBraces(str) {
|
|
78062
|
+
return str
|
|
78063
|
+
.replace(slashPattern, escSlash)
|
|
78064
|
+
.replace(openPattern, escOpen)
|
|
78065
|
+
.replace(closePattern, escClose)
|
|
78066
|
+
.replace(commaPattern, escComma)
|
|
78067
|
+
.replace(periodPattern, escPeriod);
|
|
78068
|
+
}
|
|
78069
|
+
function unescapeBraces(str) {
|
|
78070
|
+
return str
|
|
78071
|
+
.replace(escSlashPattern, '\\')
|
|
78072
|
+
.replace(escOpenPattern, '{')
|
|
78073
|
+
.replace(escClosePattern, '}')
|
|
78074
|
+
.replace(escCommaPattern, ',')
|
|
78075
|
+
.replace(escPeriodPattern, '.');
|
|
78076
|
+
}
|
|
78077
|
+
/**
|
|
78078
|
+
* Basically just str.split(","), but handling cases
|
|
78079
|
+
* where we have nested braced sections, which should be
|
|
78080
|
+
* treated as individual members, like {a,{b,c},d}
|
|
78081
|
+
*/
|
|
78082
|
+
function parseCommaParts(str) {
|
|
78083
|
+
if (!str) {
|
|
78084
|
+
return [''];
|
|
78085
|
+
}
|
|
78086
|
+
const parts = [];
|
|
78087
|
+
const m = (0, balanced_match_1.balanced)('{', '}', str);
|
|
78088
|
+
if (!m) {
|
|
78089
|
+
return str.split(',');
|
|
78090
|
+
}
|
|
78091
|
+
const { pre, body, post } = m;
|
|
78092
|
+
const p = pre.split(',');
|
|
78093
|
+
p[p.length - 1] += '{' + body + '}';
|
|
78094
|
+
const postParts = parseCommaParts(post);
|
|
78095
|
+
if (post.length) {
|
|
78096
|
+
;
|
|
78097
|
+
p[p.length - 1] += postParts.shift();
|
|
78098
|
+
p.push.apply(p, postParts);
|
|
78099
|
+
}
|
|
78100
|
+
parts.push.apply(parts, p);
|
|
78101
|
+
return parts;
|
|
78102
|
+
}
|
|
78103
|
+
function expand(str) {
|
|
78104
|
+
if (!str) {
|
|
78105
|
+
return [];
|
|
78106
|
+
}
|
|
78107
|
+
// I don't know why Bash 4.3 does this, but it does.
|
|
78108
|
+
// Anything starting with {} will have the first two bytes preserved
|
|
78109
|
+
// but *only* at the top level, so {},a}b will not expand to anything,
|
|
78110
|
+
// but a{},b}c will be expanded to [a}c,abc].
|
|
78111
|
+
// One could argue that this is a bug in Bash, but since the goal of
|
|
78112
|
+
// this module is to match Bash's rules, we escape a leading {}
|
|
78113
|
+
if (str.slice(0, 2) === '{}') {
|
|
78114
|
+
str = '\\{\\}' + str.slice(2);
|
|
78115
|
+
}
|
|
78116
|
+
return expand_(escapeBraces(str), true).map(unescapeBraces);
|
|
78117
|
+
}
|
|
78118
|
+
function embrace(str) {
|
|
78119
|
+
return '{' + str + '}';
|
|
78120
|
+
}
|
|
78121
|
+
function isPadded(el) {
|
|
78122
|
+
return /^-?0\d/.test(el);
|
|
78123
|
+
}
|
|
78124
|
+
function lte(i, y) {
|
|
78125
|
+
return i <= y;
|
|
78126
|
+
}
|
|
78127
|
+
function gte(i, y) {
|
|
78128
|
+
return i >= y;
|
|
78129
|
+
}
|
|
78130
|
+
function expand_(str, isTop) {
|
|
78131
|
+
/** @type {string[]} */
|
|
78132
|
+
const expansions = [];
|
|
78133
|
+
const m = (0, balanced_match_1.balanced)('{', '}', str);
|
|
78134
|
+
if (!m)
|
|
78135
|
+
return [str];
|
|
78136
|
+
// no need to expand pre, since it is guaranteed to be free of brace-sets
|
|
78137
|
+
const pre = m.pre;
|
|
78138
|
+
const post = m.post.length ? expand_(m.post, false) : [''];
|
|
78139
|
+
if (/\$$/.test(m.pre)) {
|
|
78140
|
+
for (let k = 0; k < post.length; k++) {
|
|
78141
|
+
const expansion = pre + '{' + m.body + '}' + post[k];
|
|
78142
|
+
expansions.push(expansion);
|
|
78004
78143
|
}
|
|
78005
|
-
|
|
78006
|
-
bi = str.indexOf(b, i + 1);
|
|
78007
|
-
}
|
|
78008
|
-
|
|
78009
|
-
i = ai < bi && ai >= 0 ? ai : bi;
|
|
78010
78144
|
}
|
|
78011
|
-
|
|
78012
|
-
|
|
78013
|
-
|
|
78145
|
+
else {
|
|
78146
|
+
const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
|
|
78147
|
+
const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
|
|
78148
|
+
const isSequence = isNumericSequence || isAlphaSequence;
|
|
78149
|
+
const isOptions = m.body.indexOf(',') >= 0;
|
|
78150
|
+
if (!isSequence && !isOptions) {
|
|
78151
|
+
// {a},b}
|
|
78152
|
+
if (m.post.match(/,(?!,).*\}/)) {
|
|
78153
|
+
str = m.pre + '{' + m.body + escClose + m.post;
|
|
78154
|
+
return expand_(str);
|
|
78155
|
+
}
|
|
78156
|
+
return [str];
|
|
78157
|
+
}
|
|
78158
|
+
let n;
|
|
78159
|
+
if (isSequence) {
|
|
78160
|
+
n = m.body.split(/\.\./);
|
|
78161
|
+
}
|
|
78162
|
+
else {
|
|
78163
|
+
n = parseCommaParts(m.body);
|
|
78164
|
+
if (n.length === 1 && n[0] !== undefined) {
|
|
78165
|
+
// x{{a,b}}y ==> x{a}y x{b}y
|
|
78166
|
+
n = expand_(n[0], false).map(embrace);
|
|
78167
|
+
//XXX is this necessary? Can't seem to hit it in tests.
|
|
78168
|
+
/* c8 ignore start */
|
|
78169
|
+
if (n.length === 1) {
|
|
78170
|
+
return post.map(p => m.pre + n[0] + p);
|
|
78171
|
+
}
|
|
78172
|
+
/* c8 ignore stop */
|
|
78173
|
+
}
|
|
78174
|
+
}
|
|
78175
|
+
// at this point, n is the parts, and we know it's not a comma set
|
|
78176
|
+
// with a single entry.
|
|
78177
|
+
let N;
|
|
78178
|
+
if (isSequence && n[0] !== undefined && n[1] !== undefined) {
|
|
78179
|
+
const x = numeric(n[0]);
|
|
78180
|
+
const y = numeric(n[1]);
|
|
78181
|
+
const width = Math.max(n[0].length, n[1].length);
|
|
78182
|
+
let incr = n.length === 3 && n[2] !== undefined ? Math.abs(numeric(n[2])) : 1;
|
|
78183
|
+
let test = lte;
|
|
78184
|
+
const reverse = y < x;
|
|
78185
|
+
if (reverse) {
|
|
78186
|
+
incr *= -1;
|
|
78187
|
+
test = gte;
|
|
78188
|
+
}
|
|
78189
|
+
const pad = n.some(isPadded);
|
|
78190
|
+
N = [];
|
|
78191
|
+
for (let i = x; test(i, y); i += incr) {
|
|
78192
|
+
let c;
|
|
78193
|
+
if (isAlphaSequence) {
|
|
78194
|
+
c = String.fromCharCode(i);
|
|
78195
|
+
if (c === '\\') {
|
|
78196
|
+
c = '';
|
|
78197
|
+
}
|
|
78198
|
+
}
|
|
78199
|
+
else {
|
|
78200
|
+
c = String(i);
|
|
78201
|
+
if (pad) {
|
|
78202
|
+
const need = width - c.length;
|
|
78203
|
+
if (need > 0) {
|
|
78204
|
+
const z = new Array(need + 1).join('0');
|
|
78205
|
+
if (i < 0) {
|
|
78206
|
+
c = '-' + z + c.slice(1);
|
|
78207
|
+
}
|
|
78208
|
+
else {
|
|
78209
|
+
c = z + c;
|
|
78210
|
+
}
|
|
78211
|
+
}
|
|
78212
|
+
}
|
|
78213
|
+
}
|
|
78214
|
+
N.push(c);
|
|
78215
|
+
}
|
|
78216
|
+
}
|
|
78217
|
+
else {
|
|
78218
|
+
N = [];
|
|
78219
|
+
for (let j = 0; j < n.length; j++) {
|
|
78220
|
+
N.push.apply(N, expand_(n[j], false));
|
|
78221
|
+
}
|
|
78222
|
+
}
|
|
78223
|
+
for (let j = 0; j < N.length; j++) {
|
|
78224
|
+
for (let k = 0; k < post.length; k++) {
|
|
78225
|
+
const expansion = pre + N[j] + post[k];
|
|
78226
|
+
if (!isTop || isSequence || expansion) {
|
|
78227
|
+
expansions.push(expansion);
|
|
78228
|
+
}
|
|
78229
|
+
}
|
|
78230
|
+
}
|
|
78014
78231
|
}
|
|
78015
|
-
|
|
78016
|
-
|
|
78017
|
-
return result;
|
|
78232
|
+
return expansions;
|
|
78018
78233
|
}
|
|
78019
|
-
|
|
78234
|
+
//# sourceMappingURL=index.js.map
|
|
78020
78235
|
|
|
78021
78236
|
/***/ }),
|
|
78022
78237
|
|
|
@@ -80197,219 +80412,6 @@ class GlobStream extends GlobUtil {
|
|
|
80197
80412
|
exports.GlobStream = GlobStream;
|
|
80198
80413
|
//# sourceMappingURL=walker.js.map
|
|
80199
80414
|
|
|
80200
|
-
/***/ }),
|
|
80201
|
-
|
|
80202
|
-
/***/ "./node_modules/glob/node_modules/brace-expansion/index.js":
|
|
80203
|
-
/*!*****************************************************************!*\
|
|
80204
|
-
!*** ./node_modules/glob/node_modules/brace-expansion/index.js ***!
|
|
80205
|
-
\*****************************************************************/
|
|
80206
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
80207
|
-
|
|
80208
|
-
var balanced = __webpack_require__(/*! balanced-match */ "./node_modules/balanced-match/index.js");
|
|
80209
|
-
|
|
80210
|
-
module.exports = expandTop;
|
|
80211
|
-
|
|
80212
|
-
var escSlash = '\0SLASH'+Math.random()+'\0';
|
|
80213
|
-
var escOpen = '\0OPEN'+Math.random()+'\0';
|
|
80214
|
-
var escClose = '\0CLOSE'+Math.random()+'\0';
|
|
80215
|
-
var escComma = '\0COMMA'+Math.random()+'\0';
|
|
80216
|
-
var escPeriod = '\0PERIOD'+Math.random()+'\0';
|
|
80217
|
-
|
|
80218
|
-
function numeric(str) {
|
|
80219
|
-
return parseInt(str, 10) == str
|
|
80220
|
-
? parseInt(str, 10)
|
|
80221
|
-
: str.charCodeAt(0);
|
|
80222
|
-
}
|
|
80223
|
-
|
|
80224
|
-
function escapeBraces(str) {
|
|
80225
|
-
return str.split('\\\\').join(escSlash)
|
|
80226
|
-
.split('\\{').join(escOpen)
|
|
80227
|
-
.split('\\}').join(escClose)
|
|
80228
|
-
.split('\\,').join(escComma)
|
|
80229
|
-
.split('\\.').join(escPeriod);
|
|
80230
|
-
}
|
|
80231
|
-
|
|
80232
|
-
function unescapeBraces(str) {
|
|
80233
|
-
return str.split(escSlash).join('\\')
|
|
80234
|
-
.split(escOpen).join('{')
|
|
80235
|
-
.split(escClose).join('}')
|
|
80236
|
-
.split(escComma).join(',')
|
|
80237
|
-
.split(escPeriod).join('.');
|
|
80238
|
-
}
|
|
80239
|
-
|
|
80240
|
-
|
|
80241
|
-
// Basically just str.split(","), but handling cases
|
|
80242
|
-
// where we have nested braced sections, which should be
|
|
80243
|
-
// treated as individual members, like {a,{b,c},d}
|
|
80244
|
-
function parseCommaParts(str) {
|
|
80245
|
-
if (!str)
|
|
80246
|
-
return [''];
|
|
80247
|
-
|
|
80248
|
-
var parts = [];
|
|
80249
|
-
var m = balanced('{', '}', str);
|
|
80250
|
-
|
|
80251
|
-
if (!m)
|
|
80252
|
-
return str.split(',');
|
|
80253
|
-
|
|
80254
|
-
var pre = m.pre;
|
|
80255
|
-
var body = m.body;
|
|
80256
|
-
var post = m.post;
|
|
80257
|
-
var p = pre.split(',');
|
|
80258
|
-
|
|
80259
|
-
p[p.length-1] += '{' + body + '}';
|
|
80260
|
-
var postParts = parseCommaParts(post);
|
|
80261
|
-
if (post.length) {
|
|
80262
|
-
p[p.length-1] += postParts.shift();
|
|
80263
|
-
p.push.apply(p, postParts);
|
|
80264
|
-
}
|
|
80265
|
-
|
|
80266
|
-
parts.push.apply(parts, p);
|
|
80267
|
-
|
|
80268
|
-
return parts;
|
|
80269
|
-
}
|
|
80270
|
-
|
|
80271
|
-
function expandTop(str) {
|
|
80272
|
-
if (!str)
|
|
80273
|
-
return [];
|
|
80274
|
-
|
|
80275
|
-
// I don't know why Bash 4.3 does this, but it does.
|
|
80276
|
-
// Anything starting with {} will have the first two bytes preserved
|
|
80277
|
-
// but *only* at the top level, so {},a}b will not expand to anything,
|
|
80278
|
-
// but a{},b}c will be expanded to [a}c,abc].
|
|
80279
|
-
// One could argue that this is a bug in Bash, but since the goal of
|
|
80280
|
-
// this module is to match Bash's rules, we escape a leading {}
|
|
80281
|
-
if (str.substr(0, 2) === '{}') {
|
|
80282
|
-
str = '\\{\\}' + str.substr(2);
|
|
80283
|
-
}
|
|
80284
|
-
|
|
80285
|
-
return expand(escapeBraces(str), true).map(unescapeBraces);
|
|
80286
|
-
}
|
|
80287
|
-
|
|
80288
|
-
function embrace(str) {
|
|
80289
|
-
return '{' + str + '}';
|
|
80290
|
-
}
|
|
80291
|
-
function isPadded(el) {
|
|
80292
|
-
return /^-?0\d/.test(el);
|
|
80293
|
-
}
|
|
80294
|
-
|
|
80295
|
-
function lte(i, y) {
|
|
80296
|
-
return i <= y;
|
|
80297
|
-
}
|
|
80298
|
-
function gte(i, y) {
|
|
80299
|
-
return i >= y;
|
|
80300
|
-
}
|
|
80301
|
-
|
|
80302
|
-
function expand(str, isTop) {
|
|
80303
|
-
var expansions = [];
|
|
80304
|
-
|
|
80305
|
-
var m = balanced('{', '}', str);
|
|
80306
|
-
if (!m) return [str];
|
|
80307
|
-
|
|
80308
|
-
// no need to expand pre, since it is guaranteed to be free of brace-sets
|
|
80309
|
-
var pre = m.pre;
|
|
80310
|
-
var post = m.post.length
|
|
80311
|
-
? expand(m.post, false)
|
|
80312
|
-
: [''];
|
|
80313
|
-
|
|
80314
|
-
if (/\$$/.test(m.pre)) {
|
|
80315
|
-
for (var k = 0; k < post.length; k++) {
|
|
80316
|
-
var expansion = pre+ '{' + m.body + '}' + post[k];
|
|
80317
|
-
expansions.push(expansion);
|
|
80318
|
-
}
|
|
80319
|
-
} else {
|
|
80320
|
-
var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
|
|
80321
|
-
var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
|
|
80322
|
-
var isSequence = isNumericSequence || isAlphaSequence;
|
|
80323
|
-
var isOptions = m.body.indexOf(',') >= 0;
|
|
80324
|
-
if (!isSequence && !isOptions) {
|
|
80325
|
-
// {a},b}
|
|
80326
|
-
if (m.post.match(/,.*\}/)) {
|
|
80327
|
-
str = m.pre + '{' + m.body + escClose + m.post;
|
|
80328
|
-
return expand(str);
|
|
80329
|
-
}
|
|
80330
|
-
return [str];
|
|
80331
|
-
}
|
|
80332
|
-
|
|
80333
|
-
var n;
|
|
80334
|
-
if (isSequence) {
|
|
80335
|
-
n = m.body.split(/\.\./);
|
|
80336
|
-
} else {
|
|
80337
|
-
n = parseCommaParts(m.body);
|
|
80338
|
-
if (n.length === 1) {
|
|
80339
|
-
// x{{a,b}}y ==> x{a}y x{b}y
|
|
80340
|
-
n = expand(n[0], false).map(embrace);
|
|
80341
|
-
if (n.length === 1) {
|
|
80342
|
-
return post.map(function(p) {
|
|
80343
|
-
return m.pre + n[0] + p;
|
|
80344
|
-
});
|
|
80345
|
-
}
|
|
80346
|
-
}
|
|
80347
|
-
}
|
|
80348
|
-
|
|
80349
|
-
// at this point, n is the parts, and we know it's not a comma set
|
|
80350
|
-
// with a single entry.
|
|
80351
|
-
var N;
|
|
80352
|
-
|
|
80353
|
-
if (isSequence) {
|
|
80354
|
-
var x = numeric(n[0]);
|
|
80355
|
-
var y = numeric(n[1]);
|
|
80356
|
-
var width = Math.max(n[0].length, n[1].length)
|
|
80357
|
-
var incr = n.length == 3
|
|
80358
|
-
? Math.abs(numeric(n[2]))
|
|
80359
|
-
: 1;
|
|
80360
|
-
var test = lte;
|
|
80361
|
-
var reverse = y < x;
|
|
80362
|
-
if (reverse) {
|
|
80363
|
-
incr *= -1;
|
|
80364
|
-
test = gte;
|
|
80365
|
-
}
|
|
80366
|
-
var pad = n.some(isPadded);
|
|
80367
|
-
|
|
80368
|
-
N = [];
|
|
80369
|
-
|
|
80370
|
-
for (var i = x; test(i, y); i += incr) {
|
|
80371
|
-
var c;
|
|
80372
|
-
if (isAlphaSequence) {
|
|
80373
|
-
c = String.fromCharCode(i);
|
|
80374
|
-
if (c === '\\')
|
|
80375
|
-
c = '';
|
|
80376
|
-
} else {
|
|
80377
|
-
c = String(i);
|
|
80378
|
-
if (pad) {
|
|
80379
|
-
var need = width - c.length;
|
|
80380
|
-
if (need > 0) {
|
|
80381
|
-
var z = new Array(need + 1).join('0');
|
|
80382
|
-
if (i < 0)
|
|
80383
|
-
c = '-' + z + c.slice(1);
|
|
80384
|
-
else
|
|
80385
|
-
c = z + c;
|
|
80386
|
-
}
|
|
80387
|
-
}
|
|
80388
|
-
}
|
|
80389
|
-
N.push(c);
|
|
80390
|
-
}
|
|
80391
|
-
} else {
|
|
80392
|
-
N = [];
|
|
80393
|
-
|
|
80394
|
-
for (var j = 0; j < n.length; j++) {
|
|
80395
|
-
N.push.apply(N, expand(n[j], false));
|
|
80396
|
-
}
|
|
80397
|
-
}
|
|
80398
|
-
|
|
80399
|
-
for (var j = 0; j < N.length; j++) {
|
|
80400
|
-
for (var k = 0; k < post.length; k++) {
|
|
80401
|
-
var expansion = pre + N[j] + post[k];
|
|
80402
|
-
if (!isTop || isSequence || expansion)
|
|
80403
|
-
expansions.push(expansion);
|
|
80404
|
-
}
|
|
80405
|
-
}
|
|
80406
|
-
}
|
|
80407
|
-
|
|
80408
|
-
return expansions;
|
|
80409
|
-
}
|
|
80410
|
-
|
|
80411
|
-
|
|
80412
|
-
|
|
80413
80415
|
/***/ }),
|
|
80414
80416
|
|
|
80415
80417
|
/***/ "./node_modules/glob/node_modules/lru-cache/dist/commonjs/index.js":
|
|
@@ -82810,16 +82812,13 @@ exports.escape = escape;
|
|
|
82810
82812
|
/*!*************************************************************************!*\
|
|
82811
82813
|
!*** ./node_modules/glob/node_modules/minimatch/dist/commonjs/index.js ***!
|
|
82812
82814
|
\*************************************************************************/
|
|
82813
|
-
/***/ (
|
|
82815
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
82814
82816
|
|
|
82815
82817
|
"use strict";
|
|
82816
82818
|
|
|
82817
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
82818
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
82819
|
-
};
|
|
82820
82819
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
82821
82820
|
exports.unescape = exports.escape = exports.AST = exports.Minimatch = exports.match = exports.makeRe = exports.braceExpand = exports.defaults = exports.filter = exports.GLOBSTAR = exports.sep = exports.minimatch = void 0;
|
|
82822
|
-
const brace_expansion_1 =
|
|
82821
|
+
const brace_expansion_1 = __webpack_require__(/*! @isaacs/brace-expansion */ "./node_modules/@isaacs/brace-expansion/dist/commonjs/index.js");
|
|
82823
82822
|
const assert_valid_pattern_js_1 = __webpack_require__(/*! ./assert-valid-pattern.js */ "./node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js");
|
|
82824
82823
|
const ast_js_1 = __webpack_require__(/*! ./ast.js */ "./node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js");
|
|
82825
82824
|
const escape_js_1 = __webpack_require__(/*! ./escape.js */ "./node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js");
|
|
@@ -82972,7 +82971,7 @@ const braceExpand = (pattern, options = {}) => {
|
|
|
82972
82971
|
// shortcut. no need to expand.
|
|
82973
82972
|
return [pattern];
|
|
82974
82973
|
}
|
|
82975
|
-
return (0, brace_expansion_1.
|
|
82974
|
+
return (0, brace_expansion_1.expand)(pattern);
|
|
82976
82975
|
};
|
|
82977
82976
|
exports.braceExpand = braceExpand;
|
|
82978
82977
|
exports.minimatch.braceExpand = exports.braceExpand;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.113.
|
|
3
|
+
"version": "2.113.128",
|
|
4
4
|
"description": "abaplint - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -38,17 +38,17 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://abaplint.org",
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@abaplint/core": "^2.113.
|
|
41
|
+
"@abaplint/core": "^2.113.128",
|
|
42
42
|
"@types/chai": "^4.3.20",
|
|
43
43
|
"@types/minimist": "^1.2.5",
|
|
44
44
|
"@types/mocha": "^10.0.10",
|
|
45
|
-
"@types/node": "^24.0.
|
|
45
|
+
"@types/node": "^24.0.1",
|
|
46
46
|
"@types/progress": "^2.0.7",
|
|
47
47
|
"chai": "^4.5.0",
|
|
48
48
|
"p-limit": "^3.1.0",
|
|
49
49
|
"chalk": "^5.4.1",
|
|
50
|
-
"eslint": "^9.
|
|
51
|
-
"glob": "^11.0.
|
|
50
|
+
"eslint": "^9.29.0",
|
|
51
|
+
"glob": "^11.0.3",
|
|
52
52
|
"json5": "^2.2.3",
|
|
53
53
|
"memfs": "^4.17.2",
|
|
54
54
|
"minimist": "^1.2.8",
|