@abaplint/runtime 2.10.82 → 2.11.0

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.
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CharacterFactory = void 0;
4
4
  const types_1 = require("./types");
5
5
  class CharacterFactory {
6
+ static map = {};
6
7
  static get(length, value) {
7
8
  if (CharacterFactory.map[value] === undefined) {
8
9
  CharacterFactory.map[value] = new types_1.Character(length).set(value).setConstant();
@@ -11,5 +12,4 @@ class CharacterFactory {
11
12
  }
12
13
  }
13
14
  exports.CharacterFactory = CharacterFactory;
14
- CharacterFactory.map = {};
15
15
  //# sourceMappingURL=character_factory.js.map
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClassicError = void 0;
4
4
  class ClassicError extends Error {
5
+ classic;
5
6
  constructor(input) {
6
7
  super();
7
8
  this.classic = input.classic;
@@ -2,9 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MemoryConsole = void 0;
4
4
  class MemoryConsole {
5
- constructor() {
6
- this.data = "";
7
- }
5
+ data = "";
8
6
  clear() {
9
7
  this.data = "";
10
8
  }
@@ -2,9 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StandardOutConsole = void 0;
4
4
  class StandardOutConsole {
5
- constructor() {
6
- this.empty = true;
7
- }
5
+ empty = true;
8
6
  clear() {
9
7
  throw new Error("transpiler runtime: not supported for stdio console");
10
8
  }
@@ -2,13 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Context = void 0;
4
4
  class Context {
5
- constructor() {
6
- this.cursorCounter = 0;
7
- this.cursors = {};
8
- // DEFAULT and secondary database connections
9
- this.databaseConnections = {};
10
- this.RFCDestinations = {};
11
- }
5
+ console;
6
+ cursorCounter = 0;
7
+ cursors = {};
8
+ // DEFAULT and secondary database connections
9
+ databaseConnections = {};
10
+ RFCDestinations = {};
12
11
  defaultDB() {
13
12
  if (this.databaseConnections["DEFAULT"] === undefined) {
14
13
  throw new Error("Runtime, database not initialized");
@@ -25,32 +25,37 @@ const integer_factory_1 = require("./integer_factory");
25
25
  const dynamic_call_lookup_1 = require("./dynamic_call_lookup");
26
26
  const character_factory_1 = require("./character_factory");
27
27
  class ABAP {
28
+ // global objects
29
+ Classes = {};
30
+ Forms = {};
31
+ DDIC = {};
32
+ FunctionModules = {};
33
+ Interfaces = {};
34
+ MSAG = {};
35
+ OA2P = {};
36
+ SMIM = {};
37
+ TypePools = {};
38
+ W3MI = {};
39
+ internalIdCounter = 1;
40
+ // stuff for runtime
41
+ statements;
42
+ types = types;
43
+ builtin = builtin;
44
+ operators = operators;
45
+ compare = compare;
46
+ console;
47
+ OffsetLength = offset_length_1.OffsetLength;
48
+ templateFormatting = template_formatting_1.templateFormatting;
49
+ expandIN = expand_in_1.expandIN;
50
+ expandDynamic = expand_dynamic_1.expandDynamic;
51
+ buildDbTableName = prefix_1.buildDbTableName;
52
+ ClassicError = classic_error_1.ClassicError;
53
+ dynamicCallLookup = dynamic_call_lookup_1.dynamicCallLookup;
54
+ IntegerFactory = integer_factory_1.IntegerFactory;
55
+ CharacterFactory = character_factory_1.CharacterFactory;
56
+ context;
57
+ dbo;
28
58
  constructor(input) {
29
- // global objects
30
- this.Classes = {};
31
- this.Forms = {};
32
- this.DDIC = {};
33
- this.FunctionModules = {};
34
- this.Interfaces = {};
35
- this.MSAG = {};
36
- this.OA2P = {};
37
- this.SMIM = {};
38
- this.TypePools = {};
39
- this.W3MI = {};
40
- this.internalIdCounter = 1;
41
- this.types = types;
42
- this.builtin = builtin;
43
- this.operators = operators;
44
- this.compare = compare;
45
- this.OffsetLength = offset_length_1.OffsetLength;
46
- this.templateFormatting = template_formatting_1.templateFormatting;
47
- this.expandIN = expand_in_1.expandIN;
48
- this.expandDynamic = expand_dynamic_1.expandDynamic;
49
- this.buildDbTableName = prefix_1.buildDbTableName;
50
- this.ClassicError = classic_error_1.ClassicError;
51
- this.dynamicCallLookup = dynamic_call_lookup_1.dynamicCallLookup;
52
- this.IntegerFactory = integer_factory_1.IntegerFactory;
53
- this.CharacterFactory = character_factory_1.CharacterFactory;
54
59
  this.context = new context_1.Context();
55
60
  this.console = input?.console ? input?.console : new standard_out_console_1.StandardOutConsole();
56
61
  this.context.console = this.console;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IntegerFactory = void 0;
4
4
  const types_1 = require("./types");
5
5
  class IntegerFactory {
6
+ static map = {};
6
7
  static get(value) {
7
8
  if (IntegerFactory.map[value] === undefined) {
8
9
  IntegerFactory.map[value] = new types_1.Integer().set(value).setConstant();
@@ -11,5 +12,4 @@ class IntegerFactory {
11
12
  }
12
13
  }
13
14
  exports.IntegerFactory = IntegerFactory;
14
- IntegerFactory.map = {};
15
15
  //# sourceMappingURL=integer_factory.js.map
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OffsetLength = void 0;
4
4
  const types_1 = require("./types");
5
5
  class OffsetLength {
6
+ obj;
7
+ offset;
8
+ length;
9
+ isHex;
6
10
  constructor(obj, options) {
7
11
  this.obj = obj;
8
12
  if (this.obj instanceof types_1.FieldSymbol) {
@@ -5,6 +5,7 @@ const throw_error_1 = require("../throw_error");
5
5
  const types_1 = require("../types");
6
6
  const receive_1 = require("./receive");
7
7
  class CallFunction {
8
+ context;
8
9
  constructor(context) {
9
10
  this.context = context;
10
11
  }
@@ -50,6 +50,7 @@ import { FieldSymbol, Structure, Table } from "../types";
50
50
  import { INumeric } from "../types/_numeric";
51
51
  import { ICallFunctionOptions } from "./call_function";
52
52
  import { SelectDatabaseOptions, SelectRuntimeOptions } from "../db/db";
53
+ import { Trace } from "../trace";
53
54
  export declare class Statements {
54
55
  append: typeof append;
55
56
  assert: typeof assert;
@@ -91,11 +92,8 @@ export declare class Statements {
91
92
  receive: typeof receive;
92
93
  callTransaction: typeof callTransaction;
93
94
  private readonly context;
94
- private readonly traceTotals;
95
95
  constructor(context: Context);
96
- private _trace;
97
- private _traceAsync;
98
- _setTrace(min?: number, totals?: boolean): void;
96
+ _setTrace(min?: number, totals?: boolean): Trace;
99
97
  openCursor(target: INumeric, select: string, options: IOpenCursorDatabaseOptions): Promise<void>;
100
98
  fetchNextCursor(cursor: INumeric, target: any, packageSize?: INumeric): Promise<void>;
101
99
  closeCursor(cursor: INumeric): Promise<void>;
@@ -51,111 +51,55 @@ const call_transaction_1 = require("./call_transaction");
51
51
  const update_database_1 = require("./update_database");
52
52
  const write_1 = require("./write");
53
53
  const call_function_1 = require("./call_function");
54
- const types_1 = require("util/types");
54
+ const trace_1 = require("../trace");
55
55
  // this is a class, as statements like SELECT needs access to the database object instance
56
56
  // and WRITE will access the Console
57
57
  class Statements {
58
+ append = append_1.append;
59
+ assert = assert_1.assert;
60
+ assign = assign_1.assign;
61
+ cast = cast_1.cast;
62
+ collect = collect_1.collect;
63
+ commit = commit_1.commit;
64
+ concatenate = concatenate_1.concatenate;
65
+ condense = condense_1.condense;
66
+ convert = convert_1.convert;
67
+ createData = create_data_1.createData;
68
+ deleteInternal = delete_internal_1.deleteInternal;
69
+ describe = describe_1.describe;
70
+ find = find_1.find;
71
+ unpack = unpack_1.unpack;
72
+ getBit = get_bit_1.getBit;
73
+ readReport = read_report_1.readReport;
74
+ getLocale = get_locale_1.getLocale;
75
+ getParameter = get_parameter_1.getParameter;
76
+ getRunTime = get_run_time_1.getRunTime;
77
+ getTime = get_time_1.getTime;
78
+ insertInternal = insert_internal_1.insertInternal;
79
+ loop = loop_1.loop;
80
+ modifyInternal = modify_internal_1.modifyInternal;
81
+ moveCorresponding = move_corresponding_1.moveCorresponding;
82
+ overlay = overlay_1.overlay;
83
+ raiseEvent = raise_event_1.raiseEvent;
84
+ readTable = read_table_1.readTable;
85
+ replace = replace_1.replace;
86
+ rollback = rollback_1.rollback;
87
+ setBit = set_bit_1.setBit;
88
+ setHandler = set_handler_1.setHandler;
89
+ setLocale = set_locale_1.setLocale;
90
+ shift = shift_1.shift;
91
+ sort = sort_1.sort;
92
+ split = split_1.split;
93
+ translate = translate_1.translate;
94
+ wait = wait_1.wait;
95
+ receive = receive_1.receive;
96
+ callTransaction = call_transaction_1.callTransaction;
97
+ context;
58
98
  constructor(context) {
59
- this.append = append_1.append;
60
- this.assert = assert_1.assert;
61
- this.assign = assign_1.assign;
62
- this.cast = cast_1.cast;
63
- this.collect = collect_1.collect;
64
- this.commit = commit_1.commit;
65
- this.concatenate = concatenate_1.concatenate;
66
- this.condense = condense_1.condense;
67
- this.convert = convert_1.convert;
68
- this.createData = create_data_1.createData;
69
- this.deleteInternal = delete_internal_1.deleteInternal;
70
- this.describe = describe_1.describe;
71
- this.find = find_1.find;
72
- this.unpack = unpack_1.unpack;
73
- this.getBit = get_bit_1.getBit;
74
- this.readReport = read_report_1.readReport;
75
- this.getLocale = get_locale_1.getLocale;
76
- this.getParameter = get_parameter_1.getParameter;
77
- this.getRunTime = get_run_time_1.getRunTime;
78
- this.getTime = get_time_1.getTime;
79
- this.insertInternal = insert_internal_1.insertInternal;
80
- this.loop = loop_1.loop;
81
- this.modifyInternal = modify_internal_1.modifyInternal;
82
- this.moveCorresponding = move_corresponding_1.moveCorresponding;
83
- this.overlay = overlay_1.overlay;
84
- this.raiseEvent = raise_event_1.raiseEvent;
85
- this.readTable = read_table_1.readTable;
86
- this.replace = replace_1.replace;
87
- this.rollback = rollback_1.rollback;
88
- this.setBit = set_bit_1.setBit;
89
- this.setHandler = set_handler_1.setHandler;
90
- this.setLocale = set_locale_1.setLocale;
91
- this.shift = shift_1.shift;
92
- this.sort = sort_1.sort;
93
- this.split = split_1.split;
94
- this.translate = translate_1.translate;
95
- this.wait = wait_1.wait;
96
- this.receive = receive_1.receive;
97
- this.callTransaction = call_transaction_1.callTransaction;
98
99
  this.context = context;
99
- this.traceTotals = {};
100
- }
101
- _trace(func, name, min, totals) {
102
- const tt = this.traceTotals;
103
- const exec = (...options) => {
104
- const start = Date.now();
105
- const result = func.bind(this)(...options);
106
- const runtime = Date.now() - start;
107
- if (totals === true) {
108
- if (tt[name] === undefined) {
109
- tt[name] = 0;
110
- }
111
- tt[name] += runtime;
112
- }
113
- if (runtime >= min) {
114
- console.log(`STATEMENT: ${name}, ${runtime} ms`);
115
- if (totals === true) {
116
- console.log(JSON.stringify(tt));
117
- }
118
- }
119
- return result;
120
- };
121
- return exec;
122
- }
123
- _traceAsync(func, name, min, totals) {
124
- const tt = this.traceTotals;
125
- const exec = async (...options) => {
126
- const start = Date.now();
127
- const result = await func.bind(this)(...options);
128
- const runtime = Date.now() - start;
129
- if (totals === true) {
130
- if (tt[name] === undefined) {
131
- tt[name] = 0;
132
- }
133
- tt[name] += runtime;
134
- }
135
- if (runtime >= min) {
136
- console.log(`STATEMENT: ${name}, ${runtime} ms`);
137
- if (totals === true) {
138
- console.log(JSON.stringify(tt));
139
- }
140
- }
141
- return result;
142
- };
143
- return exec;
144
100
  }
145
101
  _setTrace(min = 10, totals = false) {
146
- const candidates = [...Object.keys(this), ...Object.getOwnPropertyNames(Statements.prototype)];
147
- for (const c of candidates) {
148
- if (c === "context" || c === "constructor" || c.startsWith("_") || c === "loop") {
149
- continue;
150
- }
151
- const func = this[c];
152
- if ((0, types_1.isAsyncFunction)(func)) {
153
- this[c] = this._traceAsync(func, c, min, totals);
154
- }
155
- else {
156
- this[c] = this._trace(func, c, min, totals);
157
- }
158
- }
102
+ return new trace_1.Trace().setTrace(min, totals, this);
159
103
  }
160
104
  async openCursor(target, select, options) {
161
105
  const num = await (0, open_cursor_1.openCursor)(this.context, select, options);
@@ -50,6 +50,7 @@ async function findText(context, arbgb, msgnr, msgty) {
50
50
  return text;
51
51
  }
52
52
  class MessageStatement {
53
+ context;
53
54
  constructor(context) {
54
55
  this.context = context;
55
56
  }
@@ -4,6 +4,7 @@ exports.WriteStatement = void 0;
4
4
  const types_1 = require("../types");
5
5
  const NO_DEICMAL_CURRENCIES = ["HUF", "KRW", "JPY"];
6
6
  class WriteStatement {
7
+ context;
7
8
  constructor(context) {
8
9
  this.context = context;
9
10
  }
@@ -0,0 +1,12 @@
1
+ export declare class Trace {
2
+ private readonly traceTotals;
3
+ setTrace(min: number, totals: boolean, statements: any): this;
4
+ getTotals(): {
5
+ [name: string]: {
6
+ calls: number;
7
+ totalRuntime: number;
8
+ };
9
+ };
10
+ private _trace;
11
+ private _traceAsync;
12
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Trace = void 0;
4
+ const types_1 = require("util/types");
5
+ const statements_1 = require("./statements");
6
+ class Trace {
7
+ traceTotals = {};
8
+ setTrace(min, totals, statements) {
9
+ const candidates = [...Object.keys(statements), ...Object.getOwnPropertyNames(statements_1.Statements.prototype)];
10
+ for (const c of candidates) {
11
+ if (c === "context" || c === "constructor" || c.startsWith("_") || c === "loop") {
12
+ continue;
13
+ }
14
+ const func = statements[c];
15
+ if ((0, types_1.isAsyncFunction)(func)) {
16
+ statements[c] = this._traceAsync(func, c, min, totals);
17
+ }
18
+ else {
19
+ statements[c] = this._trace(func, c, min, totals);
20
+ }
21
+ }
22
+ return this;
23
+ }
24
+ getTotals() {
25
+ return this.traceTotals;
26
+ }
27
+ //////////////////////////////////////////
28
+ _trace(func, name, min, totals) {
29
+ const tt = this.traceTotals;
30
+ const exec1 = (...options) => {
31
+ const start = Date.now();
32
+ const result = func.bind(this)(...options);
33
+ const runtime = Date.now() - start;
34
+ if (totals === true) {
35
+ if (tt[name] === undefined) {
36
+ tt[name] = { calls: 0, totalRuntime: 0 };
37
+ }
38
+ tt[name].totalRuntime += runtime;
39
+ tt[name].calls++;
40
+ }
41
+ if (min > 0 && runtime >= min) {
42
+ console.log(`STATEMENT: ${name}, ${runtime} ms`);
43
+ if (totals === true) {
44
+ console.log(JSON.stringify(tt));
45
+ }
46
+ }
47
+ return result;
48
+ };
49
+ return exec1;
50
+ }
51
+ _traceAsync(func, name, min, totals) {
52
+ const tt = this.traceTotals;
53
+ const exec2 = async (...options) => {
54
+ const start = Date.now();
55
+ const result = await func.bind(this)(...options);
56
+ const runtime = Date.now() - start;
57
+ if (totals === true) {
58
+ if (tt[name] === undefined) {
59
+ tt[name] = { calls: 0, totalRuntime: 0 };
60
+ }
61
+ tt[name].totalRuntime += runtime;
62
+ tt[name].calls++;
63
+ }
64
+ if (min > 0 && runtime >= min) {
65
+ console.log(`STATEMENT: ${name}, ${runtime} ms`);
66
+ if (totals === true) {
67
+ console.log(JSON.stringify(tt));
68
+ }
69
+ }
70
+ return result;
71
+ };
72
+ return exec2;
73
+ }
74
+ }
75
+ exports.Trace = Trace;
76
+ //# sourceMappingURL=trace.js.map
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ABAPObject = void 0;
4
4
  const field_symbol_1 = require("./field_symbol");
5
5
  class ABAPObject {
6
+ value;
7
+ qualifiedName;
8
+ RTTIName;
6
9
  constructor(input) {
7
10
  this.qualifiedName = input?.qualifiedName;
8
11
  this.RTTIName = input?.RTTIName;
@@ -9,8 +9,11 @@ const integer_1 = require("./integer");
9
9
  const TRIMREGEX = / *$/;
10
10
  const initialValues = {};
11
11
  class Character {
12
+ value;
13
+ constant = false;
14
+ length;
15
+ extra;
12
16
  constructor(length, extra) {
13
- this.constant = false;
14
17
  this.length = length || 1;
15
18
  if (typeof this.length === "object") {
16
19
  throw "Character, invalid length, object: " + JSON.stringify(this.length);
@@ -5,6 +5,8 @@ const string_1 = require("./string");
5
5
  const _parse_1 = require("../operators/_parse");
6
6
  const field_symbol_1 = require("./field_symbol");
7
7
  class DataReference {
8
+ pointer;
9
+ type;
8
10
  constructor(type) {
9
11
  this.pointer = undefined;
10
12
  this.type = type;
@@ -6,6 +6,8 @@ const _date_helper_1 = require("./_date_helper");
6
6
  const float_1 = require("./float");
7
7
  const _parse_1 = require("../operators/_parse");
8
8
  class Date {
9
+ value;
10
+ qualifiedName;
9
11
  constructor(input) {
10
12
  this.clear();
11
13
  this.qualifiedName = input?.qualifiedName;
@@ -5,6 +5,7 @@ const _1 = require(".");
5
5
  const hex_1 = require("./hex");
6
6
  const xstring_1 = require("./xstring");
7
7
  class DecFloat34 {
8
+ value;
8
9
  constructor() {
9
10
  this.value = 0;
10
11
  }
@@ -8,6 +8,9 @@ const float_1 = require("./float");
8
8
  const data_reference_1 = require("./data_reference");
9
9
  const hex_uint8_1 = require("./hex_uint8");
10
10
  class FieldSymbol {
11
+ pointer;
12
+ casting;
13
+ type;
11
14
  constructor(type) {
12
15
  this.pointer = undefined;
13
16
  this.casting = false;
@@ -20,6 +20,8 @@ function getNumberParts(x: number) {
20
20
  }
21
21
  */
22
22
  class Float {
23
+ value;
24
+ qualifiedName;
23
25
  constructor(input) {
24
26
  this.value = 0;
25
27
  this.qualifiedName = input?.qualifiedName;
@@ -8,6 +8,9 @@ const throw_error_1 = require("../throw_error");
8
8
  const integer8_1 = require("./integer8");
9
9
  const REGEXP = /^(?![A-F0-9])/;
10
10
  class Hex {
11
+ value;
12
+ length;
13
+ qualifiedName;
11
14
  constructor(input) {
12
15
  this.length = input?.length ? input?.length : 1;
13
16
  this.qualifiedName = input?.qualifiedName;
@@ -14,6 +14,9 @@ for (let n = 0; n < 0x100; n++) {
14
14
  LUT_HEX_8b[n] = `${LUT_HEX_4b[(n >>> 4) & 0xF]}${LUT_HEX_4b[n & 0xF]}`;
15
15
  }
16
16
  class HexUInt8 {
17
+ value;
18
+ length;
19
+ qualifiedName;
17
20
  constructor(input) {
18
21
  this.length = input?.length ? input?.length : 1;
19
22
  this.qualifiedName = input?.qualifiedName;
@@ -31,8 +31,10 @@ function toInteger(value, exception = true) {
31
31
  return Math.round(parseFloat(value));
32
32
  }
33
33
  class Integer {
34
+ value;
35
+ constant = false;
36
+ qualifiedName;
34
37
  constructor(input) {
35
- this.constant = false;
36
38
  this.value = 0;
37
39
  this.qualifiedName = input?.qualifiedName;
38
40
  }
@@ -11,6 +11,8 @@ const character_1 = require("./character");
11
11
  const hex_uint8_1 = require("./hex_uint8");
12
12
  const digits = new RegExp(/^\s*-?\+?\d+\.?\d* *$/i);
13
13
  class Integer8 {
14
+ value;
15
+ qualifiedName;
14
16
  constructor(input) {
15
17
  this.value = 0n;
16
18
  this.qualifiedName = input?.qualifiedName;
@@ -7,6 +7,9 @@ const float_1 = require("./float");
7
7
  const initialValues = {};
8
8
  const regexCharacters = /[a-zA-Z]/g;
9
9
  class Numc {
10
+ value;
11
+ length;
12
+ qualifiedName;
10
13
  constructor(input) {
11
14
  this.length = input?.length ? input?.length : 1;
12
15
  this.qualifiedName = input?.qualifiedName;
@@ -6,6 +6,11 @@ const throw_error_1 = require("../throw_error");
6
6
  const integer8_1 = require("./integer8");
7
7
  const digits = new RegExp(/^\s*-?\+?\d*\.?\d* *$/i);
8
8
  class Packed {
9
+ // todo: change this to bigint to get the proper precision? for larger than maxsafeint
10
+ value;
11
+ length;
12
+ decimals;
13
+ qualifiedName;
9
14
  constructor(input) {
10
15
  this.value = 0;
11
16
  this.length = 666;
@@ -10,6 +10,8 @@ const packed_1 = require("./packed");
10
10
  const structure_1 = require("./structure");
11
11
  const float_1 = require("./float");
12
12
  class String {
13
+ value;
14
+ qualifiedName;
13
15
  constructor(input) {
14
16
  this.value = "";
15
17
  this.qualifiedName = input?.qualifiedName;
@@ -7,6 +7,11 @@ const _parse_1 = require("../operators/_parse");
7
7
  const character_1 = require("./character");
8
8
  const throw_error_1 = require("../throw_error");
9
9
  class Structure {
10
+ value;
11
+ qualifiedName;
12
+ ddicName;
13
+ suffix;
14
+ asInclude;
10
15
  constructor(fields, qualifiedName, ddicName, suffix, asInclude) {
11
16
  this.value = fields;
12
17
  this.qualifiedName = qualifiedName?.toUpperCase();
@@ -28,6 +28,9 @@ var TableKeyType;
28
28
  TableKeyType["empty"] = "EMPTY";
29
29
  })(TableKeyType || (exports.TableKeyType = TableKeyType = {}));
30
30
  class LoopController {
31
+ index;
32
+ loopTo;
33
+ array;
31
34
  constructor(from, loopTo, array) {
32
35
  this.index = from;
33
36
  this.loopTo = loopTo;
@@ -64,6 +67,14 @@ export class SortedTable {
64
67
  }
65
68
  */
66
69
  class HashedTable {
70
+ value;
71
+ header;
72
+ rowType;
73
+ loops;
74
+ options;
75
+ qualifiedName;
76
+ isStructured;
77
+ secondaryIndexes;
67
78
  constructor(rowType, options, qualifiedName) {
68
79
  this.value = {};
69
80
  this.secondaryIndexes = {};
@@ -297,6 +308,14 @@ class HashedTable {
297
308
  }
298
309
  exports.HashedTable = HashedTable;
299
310
  class Table {
311
+ value;
312
+ header;
313
+ rowType;
314
+ loops;
315
+ options;
316
+ qualifiedName;
317
+ isStructured;
318
+ secondaryIndexes;
300
319
  constructor(rowType, options, qualifiedName) {
301
320
  this.value = [];
302
321
  this.secondaryIndexes = {};
@@ -5,6 +5,8 @@ const string_1 = require("./string");
5
5
  const _1 = require(".");
6
6
  const _parse_1 = require("../operators/_parse");
7
7
  class Time {
8
+ value;
9
+ qualifiedName;
8
10
  constructor(input) {
9
11
  this.clear();
10
12
  this.qualifiedName = input?.qualifiedName;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UTCLong = void 0;
4
4
  class UTCLong {
5
+ value;
6
+ qualifiedName;
5
7
  constructor(input) {
6
8
  this.clear();
7
9
  this.qualifiedName = input?.qualifiedName;
@@ -7,6 +7,8 @@ const character_1 = require("./character");
7
7
  const throw_error_1 = require("../throw_error");
8
8
  const integer8_1 = require("./integer8");
9
9
  class XString {
10
+ value;
11
+ qualifiedName;
10
12
  constructor(input) {
11
13
  this.value = "";
12
14
  this.qualifiedName = input?.qualifiedName;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/runtime",
3
- "version": "2.10.82",
3
+ "version": "2.11.0",
4
4
  "description": "Transpiler - Runtime",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/src/index.d.ts",