@abaplint/runtime 2.5.38 → 2.5.40

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 (327) hide show
  1. package/build/src/abap_regex.d.ts +4 -4
  2. package/build/src/abap_regex.js +18 -18
  3. package/build/src/binary_search.d.ts +5 -5
  4. package/build/src/binary_search.js +48 -48
  5. package/build/src/builtin/abs.d.ts +5 -5
  6. package/build/src/builtin/abs.js +17 -17
  7. package/build/src/builtin/boolc.d.ts +4 -4
  8. package/build/src/builtin/boolc.js +22 -22
  9. package/build/src/builtin/ceil.d.ts +5 -5
  10. package/build/src/builtin/ceil.js +17 -17
  11. package/build/src/builtin/concat_lines_of.d.ts +7 -7
  12. package/build/src/builtin/concat_lines_of.js +15 -15
  13. package/build/src/builtin/condense.d.ts +9 -9
  14. package/build/src/builtin/condense.js +28 -28
  15. package/build/src/builtin/contains.d.ts +12 -12
  16. package/build/src/builtin/contains.js +15 -15
  17. package/build/src/builtin/cos.d.ts +5 -5
  18. package/build/src/builtin/cos.js +22 -22
  19. package/build/src/builtin/count.d.ts +12 -12
  20. package/build/src/builtin/count.js +37 -37
  21. package/build/src/builtin/count_any_of.d.ts +8 -8
  22. package/build/src/builtin/count_any_of.js +17 -17
  23. package/build/src/builtin/escape.d.ts +7 -7
  24. package/build/src/builtin/escape.js +30 -30
  25. package/build/src/builtin/find.d.ts +13 -13
  26. package/build/src/builtin/find.js +57 -57
  27. package/build/src/builtin/floor.d.ts +5 -5
  28. package/build/src/builtin/floor.js +17 -17
  29. package/build/src/builtin/frac.d.ts +6 -6
  30. package/build/src/builtin/frac.js +40 -40
  31. package/build/src/builtin/index.d.ts +47 -47
  32. package/build/src/builtin/index.js +64 -64
  33. package/build/src/builtin/insert.d.ts +9 -9
  34. package/build/src/builtin/insert.js +15 -15
  35. package/build/src/builtin/ipow.d.ts +6 -6
  36. package/build/src/builtin/ipow.js +27 -27
  37. package/build/src/builtin/lines.d.ts +4 -4
  38. package/build/src/builtin/lines.js +8 -8
  39. package/build/src/builtin/match.d.ts +5 -5
  40. package/build/src/builtin/match.js +22 -22
  41. package/build/src/builtin/matches.d.ts +6 -6
  42. package/build/src/builtin/matches.js +29 -29
  43. package/build/src/builtin/nmax.d.ts +14 -14
  44. package/build/src/builtin/nmax.js +34 -34
  45. package/build/src/builtin/nmin.d.ts +14 -14
  46. package/build/src/builtin/nmin.js +34 -34
  47. package/build/src/builtin/numofchar.d.ts +5 -5
  48. package/build/src/builtin/numofchar.js +15 -15
  49. package/build/src/builtin/repeat.d.ts +6 -6
  50. package/build/src/builtin/repeat.js +9 -9
  51. package/build/src/builtin/replace.d.ts +13 -13
  52. package/build/src/builtin/replace.js +65 -65
  53. package/build/src/builtin/reverse.d.ts +5 -5
  54. package/build/src/builtin/reverse.js +16 -16
  55. package/build/src/builtin/round.d.ts +8 -8
  56. package/build/src/builtin/round.js +41 -41
  57. package/build/src/builtin/segment.d.ts +8 -8
  58. package/build/src/builtin/segment.js +32 -32
  59. package/build/src/builtin/shift_left.d.ts +9 -9
  60. package/build/src/builtin/shift_left.js +30 -30
  61. package/build/src/builtin/sign.d.ts +5 -5
  62. package/build/src/builtin/sign.js +17 -17
  63. package/build/src/builtin/sin.d.ts +5 -5
  64. package/build/src/builtin/sin.js +22 -22
  65. package/build/src/builtin/sqrt.d.ts +5 -5
  66. package/build/src/builtin/sqrt.js +22 -22
  67. package/build/src/builtin/strlen.d.ts +5 -5
  68. package/build/src/builtin/strlen.js +15 -15
  69. package/build/src/builtin/substring.d.ts +8 -8
  70. package/build/src/builtin/substring.js +28 -28
  71. package/build/src/builtin/substring_after.d.ts +6 -6
  72. package/build/src/builtin/substring_after.js +28 -28
  73. package/build/src/builtin/substring_before.d.ts +6 -6
  74. package/build/src/builtin/substring_before.js +28 -28
  75. package/build/src/builtin/sy.d.ts +2 -2
  76. package/build/src/builtin/sy.js +30 -30
  77. package/build/src/builtin/tan.d.ts +5 -5
  78. package/build/src/builtin/tan.js +22 -22
  79. package/build/src/builtin/to_lower.d.ts +4 -4
  80. package/build/src/builtin/to_lower.js +9 -9
  81. package/build/src/builtin/to_mixed.d.ts +9 -9
  82. package/build/src/builtin/to_mixed.js +48 -48
  83. package/build/src/builtin/to_upper.d.ts +4 -4
  84. package/build/src/builtin/to_upper.js +9 -9
  85. package/build/src/builtin/translate.d.ts +6 -6
  86. package/build/src/builtin/translate.js +19 -19
  87. package/build/src/builtin/trunc.d.ts +5 -5
  88. package/build/src/builtin/trunc.js +17 -17
  89. package/build/src/builtin/xstrlen.d.ts +5 -5
  90. package/build/src/builtin/xstrlen.js +13 -13
  91. package/build/src/classic_error.d.ts +6 -6
  92. package/build/src/classic_error.js +10 -10
  93. package/build/src/clone.d.ts +1 -1
  94. package/build/src/clone.js +37 -37
  95. package/build/src/compare/assigned.d.ts +2 -2
  96. package/build/src/compare/assigned.js +7 -7
  97. package/build/src/compare/between.d.ts +2 -2
  98. package/build/src/compare/between.js +9 -9
  99. package/build/src/compare/ca.d.ts +3 -3
  100. package/build/src/compare/ca.js +36 -36
  101. package/build/src/compare/cn.d.ts +3 -3
  102. package/build/src/compare/cn.js +8 -8
  103. package/build/src/compare/co.d.ts +4 -4
  104. package/build/src/compare/co.js +37 -37
  105. package/build/src/compare/cp.d.ts +4 -4
  106. package/build/src/compare/cp.js +48 -48
  107. package/build/src/compare/cs.d.ts +3 -3
  108. package/build/src/compare/cs.js +33 -33
  109. package/build/src/compare/eq.d.ts +4 -4
  110. package/build/src/compare/eq.js +134 -134
  111. package/build/src/compare/ge.d.ts +3 -3
  112. package/build/src/compare/ge.js +8 -8
  113. package/build/src/compare/gt.d.ts +4 -4
  114. package/build/src/compare/gt.js +107 -107
  115. package/build/src/compare/in.d.ts +4 -4
  116. package/build/src/compare/in.js +34 -34
  117. package/build/src/compare/index.d.ts +22 -22
  118. package/build/src/compare/index.js +40 -40
  119. package/build/src/compare/initial.d.ts +4 -4
  120. package/build/src/compare/initial.js +63 -63
  121. package/build/src/compare/instance_of.d.ts +2 -2
  122. package/build/src/compare/instance_of.js +7 -7
  123. package/build/src/compare/le.d.ts +3 -3
  124. package/build/src/compare/le.js +8 -8
  125. package/build/src/compare/lt.d.ts +4 -4
  126. package/build/src/compare/lt.js +8 -8
  127. package/build/src/compare/m.d.ts +3 -3
  128. package/build/src/compare/m.js +37 -37
  129. package/build/src/compare/na.d.ts +3 -3
  130. package/build/src/compare/na.js +8 -8
  131. package/build/src/compare/ne.d.ts +3 -3
  132. package/build/src/compare/ne.js +8 -8
  133. package/build/src/compare/np.d.ts +3 -3
  134. package/build/src/compare/np.js +8 -8
  135. package/build/src/compare/ns.d.ts +3 -3
  136. package/build/src/compare/ns.js +8 -8
  137. package/build/src/compare/o.d.ts +2 -2
  138. package/build/src/compare/o.js +28 -28
  139. package/build/src/compare/z.d.ts +2 -2
  140. package/build/src/compare/z.js +28 -28
  141. package/build/src/console.d.ts +7 -7
  142. package/build/src/console.js +21 -21
  143. package/build/src/context.d.ts +13 -13
  144. package/build/src/context.js +17 -17
  145. package/build/src/db/db.d.ts +55 -55
  146. package/build/src/db/db.js +2 -2
  147. package/build/src/expand_dynamic.d.ts +2 -2
  148. package/build/src/expand_dynamic.js +22 -22
  149. package/build/src/expand_in.d.ts +2 -2
  150. package/build/src/expand_in.js +24 -24
  151. package/build/src/index.d.ts +52 -52
  152. package/build/src/index.js +54 -54
  153. package/build/src/offset_length.d.ts +16 -16
  154. package/build/src/offset_length.js +78 -78
  155. package/build/src/operators/_bit_operations.d.ts +6 -6
  156. package/build/src/operators/_bit_operations.js +29 -29
  157. package/build/src/operators/_parse.d.ts +4 -4
  158. package/build/src/operators/_parse.js +45 -45
  159. package/build/src/operators/add.d.ts +4 -4
  160. package/build/src/operators/add.js +42 -42
  161. package/build/src/operators/bit-and.d.ts +2 -2
  162. package/build/src/operators/bit-and.js +18 -18
  163. package/build/src/operators/bit-not.d.ts +2 -2
  164. package/build/src/operators/bit-not.js +14 -14
  165. package/build/src/operators/bit-or.d.ts +2 -2
  166. package/build/src/operators/bit-or.js +18 -18
  167. package/build/src/operators/bit-xor.d.ts +2 -2
  168. package/build/src/operators/bit-xor.js +18 -18
  169. package/build/src/operators/concat.d.ts +4 -4
  170. package/build/src/operators/concat.js +35 -35
  171. package/build/src/operators/div.d.ts +4 -4
  172. package/build/src/operators/div.js +12 -12
  173. package/build/src/operators/divide.d.ts +4 -4
  174. package/build/src/operators/divide.js +16 -16
  175. package/build/src/operators/index.d.ts +12 -12
  176. package/build/src/operators/index.js +28 -28
  177. package/build/src/operators/minus.d.ts +4 -4
  178. package/build/src/operators/minus.js +41 -41
  179. package/build/src/operators/mod.d.ts +4 -4
  180. package/build/src/operators/mod.js +12 -12
  181. package/build/src/operators/multiply.d.ts +4 -4
  182. package/build/src/operators/multiply.js +29 -29
  183. package/build/src/operators/power.d.ts +4 -4
  184. package/build/src/operators/power.js +9 -9
  185. package/build/src/rfc.d.ts +25 -25
  186. package/build/src/rfc.js +2 -2
  187. package/build/src/statements/append.d.ts +13 -13
  188. package/build/src/statements/append.js +66 -66
  189. package/build/src/statements/assert.d.ts +1 -1
  190. package/build/src/statements/assert.js +9 -9
  191. package/build/src/statements/assign.d.ts +12 -12
  192. package/build/src/statements/assign.js +136 -136
  193. package/build/src/statements/call_function.d.ts +15 -15
  194. package/build/src/statements/call_function.js +35 -35
  195. package/build/src/statements/cast.d.ts +2 -2
  196. package/build/src/statements/cast.js +56 -56
  197. package/build/src/statements/clear.d.ts +4 -4
  198. package/build/src/statements/clear.js +7 -7
  199. package/build/src/statements/collect.d.ts +3 -3
  200. package/build/src/statements/collect.js +13 -13
  201. package/build/src/statements/commit.d.ts +1 -1
  202. package/build/src/statements/commit.js +7 -7
  203. package/build/src/statements/concatenate.d.ts +11 -11
  204. package/build/src/statements/concatenate.js +47 -47
  205. package/build/src/statements/condense.d.ts +4 -4
  206. package/build/src/statements/condense.js +15 -15
  207. package/build/src/statements/convert.d.ts +14 -14
  208. package/build/src/statements/convert.js +78 -78
  209. package/build/src/statements/create_data.d.ts +16 -16
  210. package/build/src/statements/create_data.js +154 -154
  211. package/build/src/statements/delete_database.d.ts +13 -13
  212. package/build/src/statements/delete_database.js +51 -51
  213. package/build/src/statements/delete_internal.d.ts +12 -12
  214. package/build/src/statements/delete_internal.js +106 -99
  215. package/build/src/statements/describe.d.ts +13 -13
  216. package/build/src/statements/describe.js +89 -89
  217. package/build/src/statements/find.d.ts +17 -17
  218. package/build/src/statements/find.js +173 -168
  219. package/build/src/statements/get_bit.d.ts +4 -4
  220. package/build/src/statements/get_bit.js +12 -12
  221. package/build/src/statements/get_locale.d.ts +2 -2
  222. package/build/src/statements/get_locale.js +8 -8
  223. package/build/src/statements/get_parameter.d.ts +2 -2
  224. package/build/src/statements/get_parameter.js +9 -9
  225. package/build/src/statements/get_run_time.d.ts +2 -2
  226. package/build/src/statements/get_run_time.js +16 -16
  227. package/build/src/statements/get_time.d.ts +9 -9
  228. package/build/src/statements/get_time.js +30 -30
  229. package/build/src/statements/index.d.ts +96 -96
  230. package/build/src/statements/index.js +115 -115
  231. package/build/src/statements/insert_database.d.ts +13 -13
  232. package/build/src/statements/insert_database.js +56 -56
  233. package/build/src/statements/insert_internal.d.ts +13 -13
  234. package/build/src/statements/insert_internal.js +113 -113
  235. package/build/src/statements/loop.d.ts +15 -15
  236. package/build/src/statements/loop.js +115 -115
  237. package/build/src/statements/message.d.ts +17 -17
  238. package/build/src/statements/message.js +89 -89
  239. package/build/src/statements/modify_database.d.ts +12 -12
  240. package/build/src/statements/modify_database.js +39 -39
  241. package/build/src/statements/modify_internal.d.ts +7 -7
  242. package/build/src/statements/modify_internal.js +29 -29
  243. package/build/src/statements/move_corresponding.d.ts +2 -2
  244. package/build/src/statements/move_corresponding.js +10 -10
  245. package/build/src/statements/overlay.d.ts +3 -3
  246. package/build/src/statements/overlay.js +16 -16
  247. package/build/src/statements/raise_event.d.ts +1 -1
  248. package/build/src/statements/raise_event.js +8 -8
  249. package/build/src/statements/read_report.d.ts +8 -8
  250. package/build/src/statements/read_report.js +14 -14
  251. package/build/src/statements/read_table.d.ts +22 -22
  252. package/build/src/statements/read_table.js +130 -130
  253. package/build/src/statements/replace.d.ts +13 -13
  254. package/build/src/statements/replace.js +60 -60
  255. package/build/src/statements/rollback.d.ts +1 -1
  256. package/build/src/statements/rollback.js +7 -7
  257. package/build/src/statements/select.d.ts +8 -8
  258. package/build/src/statements/select.js +77 -77
  259. package/build/src/statements/set_bit.d.ts +4 -4
  260. package/build/src/statements/set_bit.js +41 -41
  261. package/build/src/statements/set_handler.d.ts +3 -3
  262. package/build/src/statements/set_handler.js +8 -8
  263. package/build/src/statements/set_locale.d.ts +2 -2
  264. package/build/src/statements/set_locale.js +7 -7
  265. package/build/src/statements/shift.d.ts +12 -12
  266. package/build/src/statements/shift.js +113 -113
  267. package/build/src/statements/sort.d.ts +9 -9
  268. package/build/src/statements/sort.js +82 -82
  269. package/build/src/statements/split.d.ts +9 -9
  270. package/build/src/statements/split.js +38 -38
  271. package/build/src/statements/translate.d.ts +2 -2
  272. package/build/src/statements/translate.js +39 -39
  273. package/build/src/statements/update_database.d.ts +14 -14
  274. package/build/src/statements/update_database.js +53 -53
  275. package/build/src/statements/write.d.ts +17 -17
  276. package/build/src/statements/write.js +56 -56
  277. package/build/src/template_formatting.d.ts +14 -14
  278. package/build/src/template_formatting.js +82 -82
  279. package/build/src/throw_error.d.ts +1 -1
  280. package/build/src/throw_error.js +14 -14
  281. package/build/src/types/_abstract_type_data.d.ts +5 -5
  282. package/build/src/types/_abstract_type_data.js +2 -2
  283. package/build/src/types/_character.d.ts +11 -11
  284. package/build/src/types/_character.js +2 -2
  285. package/build/src/types/_date_helper.d.ts +2 -2
  286. package/build/src/types/_date_helper.js +40 -40
  287. package/build/src/types/_numeric.d.ts +5 -5
  288. package/build/src/types/_numeric.js +2 -2
  289. package/build/src/types/abap_object.d.ts +11 -11
  290. package/build/src/types/abap_object.js +32 -32
  291. package/build/src/types/character.d.ts +26 -26
  292. package/build/src/types/character.js +111 -111
  293. package/build/src/types/data_reference.d.ts +28 -28
  294. package/build/src/types/data_reference.js +88 -88
  295. package/build/src/types/date.d.ts +20 -20
  296. package/build/src/types/date.js +66 -66
  297. package/build/src/types/decfloat34.d.ts +11 -11
  298. package/build/src/types/decfloat34.js +45 -45
  299. package/build/src/types/field_symbol.d.ts +32 -32
  300. package/build/src/types/field_symbol.js +115 -115
  301. package/build/src/types/float.d.ts +15 -15
  302. package/build/src/types/float.js +74 -74
  303. package/build/src/types/hex.d.ts +20 -20
  304. package/build/src/types/hex.js +81 -81
  305. package/build/src/types/index.d.ts +17 -17
  306. package/build/src/types/index.js +33 -33
  307. package/build/src/types/integer.d.ts +15 -15
  308. package/build/src/types/integer.js +56 -56
  309. package/build/src/types/numc.d.ts +21 -21
  310. package/build/src/types/numc.js +48 -48
  311. package/build/src/types/packed.d.ts +19 -19
  312. package/build/src/types/packed.js +53 -53
  313. package/build/src/types/string.d.ts +19 -19
  314. package/build/src/types/string.js +86 -86
  315. package/build/src/types/structure.d.ts +23 -23
  316. package/build/src/types/structure.js +113 -113
  317. package/build/src/types/table.d.ts +55 -55
  318. package/build/src/types/table.js +220 -220
  319. package/build/src/types/time.d.ts +20 -20
  320. package/build/src/types/time.js +67 -67
  321. package/build/src/types/utc_long.d.ts +18 -18
  322. package/build/src/types/utc_long.js +26 -26
  323. package/build/src/types/xstring.d.ts +18 -18
  324. package/build/src/types/xstring.js +70 -70
  325. package/build/src/unit_test.d.ts +26 -26
  326. package/build/src/unit_test.js +75 -75
  327. package/package.json +2 -2
@@ -1,100 +1,107 @@
1
- "use strict";
2
- var __asyncValues = (this && this.__asyncValues) || function (o) {
3
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
4
- var m = o[Symbol.asyncIterator], i;
5
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
6
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
7
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.deleteInternal = void 0;
11
- const types_1 = require("../types");
12
- const compare_1 = require("../compare");
13
- const loop_1 = require("./loop");
14
- async function deleteInternal(target, options) {
15
- var e_1, _a;
16
- let prev = undefined;
17
- let index = 0;
18
- if (target instanceof types_1.FieldSymbol) {
19
- target = target.getPointer();
20
- if (target === undefined) {
21
- throw "FS not assigned";
22
- }
23
- }
24
- if ((options === null || options === void 0 ? void 0 : options.index)
25
- && (options === null || options === void 0 ? void 0 : options.where) === undefined
26
- && (options === null || options === void 0 ? void 0 : options.adjacent) === undefined
27
- && (options === null || options === void 0 ? void 0 : options.fromValue) === undefined
28
- && (options === null || options === void 0 ? void 0 : options.from) === undefined
29
- && (options === null || options === void 0 ? void 0 : options.to) === undefined) {
30
- if (target.array()[options.index.get() - 1] === undefined) {
31
- // @ts-ignore
32
- abap.builtin.sy.get().subrc.set(4);
33
- return;
34
- }
35
- else {
36
- target.deleteIndex(options.index.get() - 1);
37
- // @ts-ignore
38
- abap.builtin.sy.get().subrc.set(0);
39
- return;
40
- }
41
- }
42
- if (options === null || options === void 0 ? void 0 : options.to) {
43
- if ((options === null || options === void 0 ? void 0 : options.from) !== undefined || (options === null || options === void 0 ? void 0 : options.where) !== undefined) {
44
- throw "DeleteInternalTodo";
45
- }
46
- for (let i = 0; i < options.to.get(); i++) {
47
- target.deleteIndex(0);
48
- }
49
- return;
50
- }
51
- try {
52
- for (var _b = __asyncValues((0, loop_1.loop)(target)), _c; _c = await _b.next(), !_c.done;) {
53
- const i = _c.value;
54
- // @ts-ignore
55
- index = abap.builtin.sy.get().tabix.get() - 1;
56
- if (options === null || options === void 0 ? void 0 : options.where) {
57
- const row = i instanceof types_1.Structure ? i.get() : { table_line: i };
58
- if (options.where(row) === true) {
59
- target.deleteIndex(index);
60
- }
61
- }
62
- else if ((options === null || options === void 0 ? void 0 : options.adjacent) === true && prev !== undefined) {
63
- if (options === null || options === void 0 ? void 0 : options.comparing) {
64
- let match = false;
65
- for (const compareField of options.comparing) {
66
- match = (0, compare_1.eq)(prev.get()[compareField], i.get()[compareField]);
67
- if (!match) {
68
- break;
69
- }
70
- }
71
- if (match) {
72
- target.deleteIndex(index);
73
- }
74
- }
75
- else if ((0, compare_1.eq)(prev, i) === true) {
76
- target.deleteIndex(index);
77
- }
78
- }
79
- else if ((options === null || options === void 0 ? void 0 : options.index) && options.index.get() === index) {
80
- target.deleteIndex(options.index.get() - 1);
81
- }
82
- else if ((options === null || options === void 0 ? void 0 : options.fromValue) && (0, compare_1.eq)(options.fromValue, i)) {
83
- target.deleteIndex(index);
84
- }
85
- else if ((options === null || options === void 0 ? void 0 : options.from) && options.from.get() <= index + 1) {
86
- target.deleteIndex(index);
87
- }
88
- prev = i;
89
- }
90
- }
91
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
92
- finally {
93
- try {
94
- if (_c && !_c.done && (_a = _b.return)) await _a.call(_b);
95
- }
96
- finally { if (e_1) throw e_1.error; }
97
- }
98
- }
99
- exports.deleteInternal = deleteInternal;
1
+ "use strict";
2
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
3
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
4
+ var m = o[Symbol.asyncIterator], i;
5
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
6
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
7
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.deleteInternal = void 0;
11
+ const types_1 = require("../types");
12
+ const compare_1 = require("../compare");
13
+ const loop_1 = require("./loop");
14
+ async function deleteInternal(target, options) {
15
+ var _a, e_1, _b, _c;
16
+ let prev = undefined;
17
+ let index = 0;
18
+ if (target instanceof types_1.FieldSymbol) {
19
+ target = target.getPointer();
20
+ if (target === undefined) {
21
+ throw "FS not assigned";
22
+ }
23
+ }
24
+ if ((options === null || options === void 0 ? void 0 : options.index)
25
+ && (options === null || options === void 0 ? void 0 : options.where) === undefined
26
+ && (options === null || options === void 0 ? void 0 : options.adjacent) === undefined
27
+ && (options === null || options === void 0 ? void 0 : options.fromValue) === undefined
28
+ && (options === null || options === void 0 ? void 0 : options.from) === undefined
29
+ && (options === null || options === void 0 ? void 0 : options.to) === undefined) {
30
+ if (target.array()[options.index.get() - 1] === undefined) {
31
+ // @ts-ignore
32
+ abap.builtin.sy.get().subrc.set(4);
33
+ return;
34
+ }
35
+ else {
36
+ target.deleteIndex(options.index.get() - 1);
37
+ // @ts-ignore
38
+ abap.builtin.sy.get().subrc.set(0);
39
+ return;
40
+ }
41
+ }
42
+ if (options === null || options === void 0 ? void 0 : options.to) {
43
+ if ((options === null || options === void 0 ? void 0 : options.from) !== undefined || (options === null || options === void 0 ? void 0 : options.where) !== undefined) {
44
+ throw "DeleteInternalTodo";
45
+ }
46
+ for (let i = 0; i < options.to.get(); i++) {
47
+ target.deleteIndex(0);
48
+ }
49
+ return;
50
+ }
51
+ try {
52
+ for (var _d = true, _e = __asyncValues((0, loop_1.loop)(target)), _f; _f = await _e.next(), _a = _f.done, !_a;) {
53
+ _c = _f.value;
54
+ _d = false;
55
+ try {
56
+ const i = _c;
57
+ // @ts-ignore
58
+ index = abap.builtin.sy.get().tabix.get() - 1;
59
+ if (options === null || options === void 0 ? void 0 : options.where) {
60
+ const row = i instanceof types_1.Structure ? i.get() : { table_line: i };
61
+ if (options.where(row) === true) {
62
+ target.deleteIndex(index);
63
+ }
64
+ }
65
+ else if ((options === null || options === void 0 ? void 0 : options.adjacent) === true && prev !== undefined) {
66
+ if (options === null || options === void 0 ? void 0 : options.comparing) {
67
+ let match = false;
68
+ for (const compareField of options.comparing) {
69
+ match = (0, compare_1.eq)(prev.get()[compareField], i.get()[compareField]);
70
+ if (!match) {
71
+ break;
72
+ }
73
+ }
74
+ if (match) {
75
+ target.deleteIndex(index);
76
+ }
77
+ }
78
+ else if ((0, compare_1.eq)(prev, i) === true) {
79
+ target.deleteIndex(index);
80
+ }
81
+ }
82
+ else if ((options === null || options === void 0 ? void 0 : options.index) && options.index.get() === index) {
83
+ target.deleteIndex(options.index.get() - 1);
84
+ }
85
+ else if ((options === null || options === void 0 ? void 0 : options.fromValue) && (0, compare_1.eq)(options.fromValue, i)) {
86
+ target.deleteIndex(index);
87
+ }
88
+ else if ((options === null || options === void 0 ? void 0 : options.from) && options.from.get() <= index + 1) {
89
+ target.deleteIndex(index);
90
+ }
91
+ prev = i;
92
+ }
93
+ finally {
94
+ _d = true;
95
+ }
96
+ }
97
+ }
98
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
99
+ finally {
100
+ try {
101
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
102
+ }
103
+ finally { if (e_1) throw e_1.error; }
104
+ }
105
+ }
106
+ exports.deleteInternal = deleteInternal;
100
107
  //# sourceMappingURL=delete_internal.js.map
@@ -1,13 +1,13 @@
1
- import { Table } from "../types";
2
- import { ICharacter } from "../types/_character";
3
- import { INumeric } from "../types/_numeric";
4
- export interface IDescribeOptions {
5
- field: any;
6
- type?: ICharacter;
7
- length?: INumeric;
8
- decimals?: INumeric;
9
- lines?: INumeric;
10
- table?: Table;
11
- mode?: "BYTE" | "CHARACTER";
12
- }
13
- export declare function describe(input: IDescribeOptions): void;
1
+ import { Table } from "../types";
2
+ import { ICharacter } from "../types/_character";
3
+ import { INumeric } from "../types/_numeric";
4
+ export interface IDescribeOptions {
5
+ field: any;
6
+ type?: ICharacter;
7
+ length?: INumeric;
8
+ decimals?: INumeric;
9
+ lines?: INumeric;
10
+ table?: Table;
11
+ mode?: "BYTE" | "CHARACTER";
12
+ }
13
+ export declare function describe(input: IDescribeOptions): void;
@@ -1,90 +1,90 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.describe = void 0;
4
- const types_1 = require("../types");
5
- function describe(input) {
6
- var _a;
7
- // console.dir(input);
8
- if (input.type) {
9
- if (input.field instanceof types_1.FieldSymbol) {
10
- describe({ field: input.field.getPointer(), type: input.type, length: input.length, mode: input.mode });
11
- return;
12
- }
13
- if (input.field instanceof types_1.Table) {
14
- input.type.set("h");
15
- }
16
- else if (input.field instanceof types_1.Character || typeof input.field === "string") {
17
- input.type.set("C");
18
- }
19
- else if (input.field instanceof types_1.Integer) {
20
- input.type.set("I");
21
- }
22
- else if (input.field instanceof types_1.Date) {
23
- input.type.set("D");
24
- }
25
- else if (input.field instanceof types_1.Time) {
26
- input.type.set("T");
27
- }
28
- else if (input.field instanceof types_1.Float) {
29
- input.type.set("F");
30
- }
31
- else if (input.field instanceof types_1.Numc) {
32
- input.type.set("N");
33
- }
34
- else if (input.field instanceof types_1.Hex) {
35
- input.type.set("X");
36
- }
37
- else if (input.field instanceof types_1.Packed) {
38
- input.type.set("P");
39
- }
40
- else if (input.field instanceof types_1.String) {
41
- input.type.set("g");
42
- }
43
- else if (input.field instanceof types_1.XString) {
44
- input.type.set("y");
45
- }
46
- else if (input.field instanceof types_1.DecFloat34) {
47
- input.type.set("e");
48
- }
49
- else if (input.field instanceof types_1.Structure) {
50
- input.type.set("u");
51
- }
52
- else if (input.field instanceof types_1.ABAPObject) {
53
- input.type.set("r");
54
- }
55
- else if (input.field instanceof types_1.DataReference) {
56
- input.type.set("l");
57
- }
58
- else {
59
- throw new Error("DESCRIBE, todo, transpiler, " + input.field.constructor.name);
60
- }
61
- }
62
- if (input.field instanceof types_1.FieldSymbol) {
63
- input.field = input.field.getPointer();
64
- }
65
- if (input.length) {
66
- if (input.field instanceof types_1.Character
67
- || input.field instanceof types_1.Packed
68
- || input.field instanceof types_1.Hex) {
69
- input.length.set(input.field.getLength());
70
- }
71
- else {
72
- throw "DESCRIBE length, unsupported or todo";
73
- }
74
- }
75
- if (input.decimals) {
76
- if (input.field instanceof types_1.Packed) {
77
- input.decimals.set(input.field.getDecimals());
78
- }
79
- else {
80
- throw "DESCRIBE decimals, unsupported or todo";
81
- }
82
- }
83
- if (input.table) {
84
- // @ts-ignore
85
- abap.builtin.sy.get().tfill.set(input.table.array().length);
86
- (_a = input.lines) === null || _a === void 0 ? void 0 : _a.set(input.table.array().length);
87
- }
88
- }
89
- exports.describe = describe;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.describe = void 0;
4
+ const types_1 = require("../types");
5
+ function describe(input) {
6
+ var _a;
7
+ // console.dir(input);
8
+ if (input.type) {
9
+ if (input.field instanceof types_1.FieldSymbol) {
10
+ describe({ field: input.field.getPointer(), type: input.type, length: input.length, mode: input.mode });
11
+ return;
12
+ }
13
+ if (input.field instanceof types_1.Table) {
14
+ input.type.set("h");
15
+ }
16
+ else if (input.field instanceof types_1.Character || typeof input.field === "string") {
17
+ input.type.set("C");
18
+ }
19
+ else if (input.field instanceof types_1.Integer) {
20
+ input.type.set("I");
21
+ }
22
+ else if (input.field instanceof types_1.Date) {
23
+ input.type.set("D");
24
+ }
25
+ else if (input.field instanceof types_1.Time) {
26
+ input.type.set("T");
27
+ }
28
+ else if (input.field instanceof types_1.Float) {
29
+ input.type.set("F");
30
+ }
31
+ else if (input.field instanceof types_1.Numc) {
32
+ input.type.set("N");
33
+ }
34
+ else if (input.field instanceof types_1.Hex) {
35
+ input.type.set("X");
36
+ }
37
+ else if (input.field instanceof types_1.Packed) {
38
+ input.type.set("P");
39
+ }
40
+ else if (input.field instanceof types_1.String) {
41
+ input.type.set("g");
42
+ }
43
+ else if (input.field instanceof types_1.XString) {
44
+ input.type.set("y");
45
+ }
46
+ else if (input.field instanceof types_1.DecFloat34) {
47
+ input.type.set("e");
48
+ }
49
+ else if (input.field instanceof types_1.Structure) {
50
+ input.type.set("u");
51
+ }
52
+ else if (input.field instanceof types_1.ABAPObject) {
53
+ input.type.set("r");
54
+ }
55
+ else if (input.field instanceof types_1.DataReference) {
56
+ input.type.set("l");
57
+ }
58
+ else {
59
+ throw new Error("DESCRIBE, todo, transpiler, " + input.field.constructor.name);
60
+ }
61
+ }
62
+ if (input.field instanceof types_1.FieldSymbol) {
63
+ input.field = input.field.getPointer();
64
+ }
65
+ if (input.length) {
66
+ if (input.field instanceof types_1.Character
67
+ || input.field instanceof types_1.Packed
68
+ || input.field instanceof types_1.Hex) {
69
+ input.length.set(input.field.getLength());
70
+ }
71
+ else {
72
+ throw "DESCRIBE length, unsupported or todo";
73
+ }
74
+ }
75
+ if (input.decimals) {
76
+ if (input.field instanceof types_1.Packed) {
77
+ input.decimals.set(input.field.getDecimals());
78
+ }
79
+ else {
80
+ throw "DESCRIBE decimals, unsupported or todo";
81
+ }
82
+ }
83
+ if (input.table) {
84
+ // @ts-ignore
85
+ abap.builtin.sy.get().tfill.set(input.table.array().length);
86
+ (_a = input.lines) === null || _a === void 0 ? void 0 : _a.set(input.table.array().length);
87
+ }
88
+ }
89
+ exports.describe = describe;
90
90
  //# sourceMappingURL=describe.js.map
@@ -1,17 +1,17 @@
1
- import { ABAPObject, Structure, Table } from "../types";
2
- import { ICharacter } from "../types/_character";
3
- import { INumeric } from "../types/_numeric";
4
- export interface IFindOptions {
5
- find?: ICharacter | string;
6
- first?: boolean;
7
- regex?: string | ICharacter | ABAPObject;
8
- offset?: INumeric;
9
- sectionOffset?: INumeric;
10
- byteMode?: boolean;
11
- length?: INumeric;
12
- count?: INumeric;
13
- results?: Table | Structure;
14
- ignoringCase?: boolean;
15
- submatches?: ICharacter[];
16
- }
17
- export declare function find(input: ICharacter | Table, options: IFindOptions): void;
1
+ import { ABAPObject, Structure, Table } from "../types";
2
+ import { ICharacter } from "../types/_character";
3
+ import { INumeric } from "../types/_numeric";
4
+ export interface IFindOptions {
5
+ find?: ICharacter | string;
6
+ first?: boolean;
7
+ regex?: string | ICharacter | ABAPObject;
8
+ offset?: INumeric;
9
+ sectionOffset?: INumeric;
10
+ byteMode?: boolean;
11
+ length?: INumeric;
12
+ count?: INumeric;
13
+ results?: Table | Structure;
14
+ ignoringCase?: boolean;
15
+ submatches?: ICharacter[];
16
+ }
17
+ export declare function find(input: ICharacter | Table, options: IFindOptions): void;