@abaplint/cli 2.113.36 → 2.113.38

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.
Files changed (2) hide show
  1. package/build/cli.js +19 -6
  2. package/package.json +2 -2
package/build/cli.js CHANGED
@@ -7501,6 +7501,7 @@ const sql_hints_1 = __webpack_require__(/*! ./sql_hints */ "./node_modules/@abap
7501
7501
  const sql_field_list_loop_1 = __webpack_require__(/*! ./sql_field_list_loop */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list_loop.js");
7502
7502
  const sql_up_to_1 = __webpack_require__(/*! ./sql_up_to */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_up_to.js");
7503
7503
  const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
7504
+ // note: SELECT loops are matched before single statement SELECTs
7504
7505
  class SelectLoop extends combi_1.Expression {
7505
7506
  getRunnable() {
7506
7507
  const where = (0, combi_1.seq)("WHERE", _1.SQLCond);
@@ -7510,7 +7511,7 @@ class SelectLoop extends combi_1.Expression {
7510
7511
  const packTab = (0, combi_1.seq)(pack, _1.SQLIntoTable);
7511
7512
  const into = (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);
7512
7513
  const perm = (0, combi_1.per)(_1.SQLFrom, where, sql_up_to_1.SQLUpTo, sql_order_by_1.SQLOrderBy, sql_having_1.SQLHaving, _1.SQLClient, bypass, _1.SQLGroupBy, _1.SQLForAllEntries, (0, combi_1.alt)(tab, into, packTab));
7513
- const strict = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.ver)(version_1.Version.v750, _1.SQLFields), (0, combi_1.optPrio)((0, combi_1.seq)(where, into, sql_up_to_1.SQLUpTo)));
7514
+ const strict = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.ver)(version_1.Version.v750, _1.SQLFields), (0, combi_1.optPrio)((0, combi_1.seq)(where, (0, combi_1.optPrio)(sql_order_by_1.SQLOrderBy), into, sql_up_to_1.SQLUpTo)));
7514
7515
  const ret = (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), sql_field_list_loop_1.SQLFieldListLoop, perm), strict), (0, combi_1.optPrio)(sql_hints_1.SQLHints));
7515
7516
  return ret;
7516
7517
  }
@@ -9364,7 +9365,8 @@ class TypeTable extends combi_1.Expression {
9364
9365
  const derived = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("TABLE FOR", (0, combi_1.altPrio)("ACTION IMPORT", "ACTION RESULT", "CREATE", "EVENT", "FAILED", "LOCK", "READ RESULT", "UPDATE"), _1.TypeName));
9365
9366
  const oldType = (0, combi_1.seq)((0, combi_1.opt)("REF TO"), _1.TypeName, (0, combi_1.alt)((0, combi_1.seq)(occurs, (0, combi_1.opt)(header)), header));
9366
9367
  const oldLike = (0, combi_1.seq)((0, combi_1.opt)("REF TO"), field_chain_1.FieldChain, (0, combi_1.alt)((0, combi_1.seq)(occurs, (0, combi_1.opt)(header)), header));
9367
- const ret = (0, combi_1.altPrio)((0, combi_1.seq)(occurs, (0, combi_1.opt)(header)), (0, combi_1.seq)("LIKE", (0, combi_1.alt)(oldLike, likeType, rangeLike)), (0, combi_1.seq)("TYPE", (0, combi_1.alt)(oldType, typetable, rangeType, derived)));
9368
+ const typeLine = (0, combi_1.seq)("LINE OF", _1.TypeName, occurs, header);
9369
+ const ret = (0, combi_1.altPrio)((0, combi_1.seq)(occurs, (0, combi_1.opt)(header)), (0, combi_1.seq)("LIKE", (0, combi_1.alt)(oldLike, likeType, rangeLike)), (0, combi_1.seq)("TYPE", (0, combi_1.alt)(oldType, typetable, rangeType, typeLine, derived)));
9368
9370
  return ret;
9369
9371
  }
9370
9372
  }
@@ -39740,7 +39742,10 @@ class CDSDetermineTypes {
39740
39742
  const components = [];
39741
39743
  for (const f of (parsedData === null || parsedData === void 0 ? void 0 : parsedData.fields) || []) {
39742
39744
  if (f.prefix !== "") {
39743
- const source = parsedData.sources.find((s) => { var _a; return ((_a = s.as) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === f.prefix.toUpperCase(); });
39745
+ let source = parsedData.sources.find((s) => { var _a; return ((_a = s.as) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === f.prefix.toUpperCase(); });
39746
+ if ((source === null || source === void 0 ? void 0 : source.name) === undefined) {
39747
+ source = parsedData.sources.find((s) => s.name.toUpperCase() === f.prefix.toUpperCase());
39748
+ }
39744
39749
  if ((source === null || source === void 0 ? void 0 : source.name) === undefined) {
39745
39750
  components.push({
39746
39751
  name: f.name,
@@ -40343,7 +40348,7 @@ const cds_integer_1 = __webpack_require__(/*! ./cds_integer */ "./node_modules/@
40343
40348
  class CDSCondition extends combi_1.Expression {
40344
40349
  getRunnable() {
40345
40350
  const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)((0, combi_1.seq)(".", (0, combi_1.alt)(_1.CDSName, _1.CDSString))));
40346
- const left = (0, combi_1.alt)(name, _1.CDSFunction);
40351
+ const left = (0, combi_1.alt)(name, _1.CDSFunction, _1.CDSString);
40347
40352
  const compare = (0, combi_1.seq)(left, (0, combi_1.alt)("=", (0, combi_1.seq)("!", "="), (0, combi_1.seq)("<", ">"), "<", ">", (0, combi_1.seq)(">", "="), (0, combi_1.seq)("<", "="), "LIKE", "NOT LIKE"), (0, combi_1.alt)(left, cds_integer_1.CDSInteger, _1.CDSFunction, _1.CDSString));
40348
40353
  const is = (0, combi_1.seq)(left, "IS", (0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)("INITIAL", "NULL"));
40349
40354
  const condition = (0, combi_1.alt)(compare, is);
@@ -40529,6 +40534,14 @@ class CDSFunction extends combi_1.Expression {
40529
40534
  const substring = (0, combi_1.seq)("SUBSTRING", "(", input, ",", input, ",", input, ")");
40530
40535
  const bintohex = (0, combi_1.seq)("BINTOHEX", "(", input, ")");
40531
40536
  const hextobin = (0, combi_1.seq)("HEXTOBIN", "(", input, ")");
40537
+ const upper = (0, combi_1.seq)("UPPER", "(", input, ")");
40538
+ const lower = (0, combi_1.seq)("LOWER", "(", input, ")");
40539
+ const abs = (0, combi_1.seq)("ABS", "(", input, ")");
40540
+ const ceil = (0, combi_1.seq)("CEIL", "(", input, ")");
40541
+ const floor = (0, combi_1.seq)("FLOOR", "(", input, ")");
40542
+ const round = (0, combi_1.seq)("ROUND", "(", input, ",", input, ")");
40543
+ const div = (0, combi_1.seq)("DIV", "(", input, ",", input, ")");
40544
+ const division = (0, combi_1.seq)("DIVISION", "(", input, ",", input, ")");
40532
40545
  const tstmp_to_dats = (0, combi_1.seq)("TSTMP_TO_DATS", "(", input, ",", input, ",", input, ",", input, ")");
40533
40546
  const tstmp_to_tims = (0, combi_1.seq)("TSTMP_TO_TIMS", "(", input, ",", input, ",", input, ",", input, ")");
40534
40547
  const tstmp_to_dst = (0, combi_1.seq)("TSTMP_TO_DST", "(", input, ",", input, ",", input, ",", input, ")");
@@ -40542,7 +40555,7 @@ class CDSFunction extends combi_1.Expression {
40542
40555
  const mod = (0, combi_1.seq)("MOD", "(", input, ",", input, ")");
40543
40556
  const left = (0, combi_1.seq)("LEFT", "(", input, ",", input, ")");
40544
40557
  const right = (0, combi_1.seq)("RIGHT", "(", input, ",", input, ")");
40545
- return (0, combi_1.altPrio)(substring, coalesce, tstmp_to_dats, concat, tstmp_to_tims, concat_with_space, dats_is_valid, dats_days_between, tstmp_add_seconds, tstmp_seconds_between, tstmp_current_utctimestamp, tstmp_is_valid, abap_system_timezone, abap_user_timezone, bintohex, hextobin, dats_add_days, dats_add_months, tstmp_to_dst, dats_tims_to_tstmp, mod, left, right);
40558
+ return (0, combi_1.altPrio)(substring, coalesce, tstmp_to_dats, concat, tstmp_to_tims, upper, lower, abs, ceil, floor, round, div, division, concat_with_space, dats_is_valid, dats_days_between, tstmp_add_seconds, tstmp_seconds_between, tstmp_current_utctimestamp, tstmp_is_valid, abap_system_timezone, abap_user_timezone, bintohex, hextobin, dats_add_days, dats_add_months, tstmp_to_dst, dats_tims_to_tstmp, mod, left, right);
40546
40559
  }
40547
40560
  }
40548
40561
  exports.CDSFunction = CDSFunction;
@@ -52960,7 +52973,7 @@ class Registry {
52960
52973
  }
52961
52974
  static abaplintVersion() {
52962
52975
  // magic, see build script "version.sh"
52963
- return "2.113.36";
52976
+ return "2.113.38";
52964
52977
  }
52965
52978
  getDDICReferences() {
52966
52979
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.113.36",
3
+ "version": "2.113.38",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.113.36",
41
+ "@abaplint/core": "^2.113.38",
42
42
  "@types/chai": "^4.3.20",
43
43
  "@types/glob": "^8.1.0",
44
44
  "@types/minimist": "^1.2.5",