@forthix/forthic 0.11.0 → 0.13.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.
Files changed (57) hide show
  1. package/dist/cjs/forthic/interpreter.js +2 -0
  2. package/dist/cjs/forthic/interpreter.js.map +1 -1
  3. package/dist/cjs/forthic/modules/standard/array_module.d.ts +17 -7
  4. package/dist/cjs/forthic/modules/standard/array_module.js +326 -78
  5. package/dist/cjs/forthic/modules/standard/array_module.js.map +1 -1
  6. package/dist/cjs/forthic/modules/standard/boolean_module.d.ts +5 -6
  7. package/dist/cjs/forthic/modules/standard/boolean_module.js +43 -60
  8. package/dist/cjs/forthic/modules/standard/boolean_module.js.map +1 -1
  9. package/dist/cjs/forthic/modules/standard/core_module.d.ts +13 -14
  10. package/dist/cjs/forthic/modules/standard/core_module.js +101 -97
  11. package/dist/cjs/forthic/modules/standard/core_module.js.map +1 -1
  12. package/dist/cjs/forthic/modules/standard/datetime_module.d.ts +4 -2
  13. package/dist/cjs/forthic/modules/standard/datetime_module.js +39 -20
  14. package/dist/cjs/forthic/modules/standard/datetime_module.js.map +1 -1
  15. package/dist/cjs/forthic/modules/standard/json_module.d.ts +0 -1
  16. package/dist/cjs/forthic/modules/standard/json_module.js +0 -15
  17. package/dist/cjs/forthic/modules/standard/json_module.js.map +1 -1
  18. package/dist/cjs/forthic/modules/standard/math_module.d.ts +7 -12
  19. package/dist/cjs/forthic/modules/standard/math_module.js +76 -137
  20. package/dist/cjs/forthic/modules/standard/math_module.js.map +1 -1
  21. package/dist/cjs/forthic/modules/standard/record_module.d.ts +23 -4
  22. package/dist/cjs/forthic/modules/standard/record_module.js +319 -58
  23. package/dist/cjs/forthic/modules/standard/record_module.js.map +1 -1
  24. package/dist/cjs/forthic/modules/standard/string_module.d.ts +14 -6
  25. package/dist/cjs/forthic/modules/standard/string_module.js +183 -60
  26. package/dist/cjs/forthic/modules/standard/string_module.js.map +1 -1
  27. package/dist/cjs/forthic/tokenizer.js +29 -1
  28. package/dist/cjs/forthic/tokenizer.js.map +1 -1
  29. package/dist/esm/forthic/interpreter.js +2 -0
  30. package/dist/esm/forthic/interpreter.js.map +1 -1
  31. package/dist/esm/forthic/modules/standard/array_module.d.ts +17 -7
  32. package/dist/esm/forthic/modules/standard/array_module.js +293 -72
  33. package/dist/esm/forthic/modules/standard/array_module.js.map +1 -1
  34. package/dist/esm/forthic/modules/standard/boolean_module.d.ts +5 -6
  35. package/dist/esm/forthic/modules/standard/boolean_module.js +38 -54
  36. package/dist/esm/forthic/modules/standard/boolean_module.js.map +1 -1
  37. package/dist/esm/forthic/modules/standard/core_module.d.ts +13 -14
  38. package/dist/esm/forthic/modules/standard/core_module.js +83 -83
  39. package/dist/esm/forthic/modules/standard/core_module.js.map +1 -1
  40. package/dist/esm/forthic/modules/standard/datetime_module.d.ts +4 -2
  41. package/dist/esm/forthic/modules/standard/datetime_module.js +30 -17
  42. package/dist/esm/forthic/modules/standard/datetime_module.js.map +1 -1
  43. package/dist/esm/forthic/modules/standard/json_module.d.ts +0 -1
  44. package/dist/esm/forthic/modules/standard/json_module.js +0 -12
  45. package/dist/esm/forthic/modules/standard/json_module.js.map +1 -1
  46. package/dist/esm/forthic/modules/standard/math_module.d.ts +7 -12
  47. package/dist/esm/forthic/modules/standard/math_module.js +69 -117
  48. package/dist/esm/forthic/modules/standard/math_module.js.map +1 -1
  49. package/dist/esm/forthic/modules/standard/record_module.d.ts +23 -4
  50. package/dist/esm/forthic/modules/standard/record_module.js +300 -57
  51. package/dist/esm/forthic/modules/standard/record_module.js.map +1 -1
  52. package/dist/esm/forthic/modules/standard/string_module.d.ts +14 -6
  53. package/dist/esm/forthic/modules/standard/string_module.js +151 -54
  54. package/dist/esm/forthic/modules/standard/string_module.js.map +1 -1
  55. package/dist/esm/forthic/tokenizer.js +29 -1
  56. package/dist/esm/forthic/tokenizer.js.map +1 -1
  57. package/package.json +1 -1
@@ -18,7 +18,13 @@ Record (object/dictionary) manipulation operations for working with key-value da
18
18
 
19
19
  ## Categories
20
20
  - Core: REC, REC@, |REC@, <REC!
21
- - Transform: RELABEL, INVERT-KEYS, REC-DEFAULTS, <DEL
21
+ - Path access (jq-style): JQ@, JQ!, JQ-DEL
22
+ - Construct: ENTRIES>REC
23
+ - Disassemble: REC>ENTRIES
24
+ - Combine: MERGE
25
+ - Subset: PICK, OMIT
26
+ - Predicate: HAS-KEY?
27
+ - Transform: DELETE
22
28
  - Access: KEYS, VALUES
23
29
  `);
24
30
  }
@@ -42,24 +48,34 @@ Record (object/dictionary) manipulation operations for working with key-value da
42
48
  }
43
49
  return result === undefined ? null : result;
44
50
  }
45
- async REC(key_vals) {
46
- let _key_vals = key_vals;
47
- if (!_key_vals)
48
- _key_vals = [];
51
+ /**
52
+ * Build a record from an array of [key, value] pairs.
53
+ * Each pair must be an array of exactly 2 elements; otherwise a descriptive
54
+ * error is thrown that identifies the offending pair.
55
+ * @param key_vals - Array of [key, value] pairs (null/undefined treated as empty)
56
+ * @param wordName - Name of the calling word, used in error messages
57
+ */
58
+ static build_record(key_vals, wordName) {
59
+ const _key_vals = key_vals || [];
49
60
  const result = {};
50
- _key_vals.forEach((pair) => {
51
- let key = null;
52
- let val = null;
53
- if (pair) {
54
- if (pair.length >= 1)
55
- key = pair[0];
56
- if (pair.length >= 2)
57
- val = pair[1];
61
+ _key_vals.forEach((pair, index) => {
62
+ if (!Array.isArray(pair)) {
63
+ throw new Error(`${wordName} requires each pair to be a [key, value] array with exactly 2 elements; ` +
64
+ `pair at index ${index} is not an array (got ${typeof pair}).`);
58
65
  }
66
+ if (pair.length !== 2) {
67
+ const key = pair.length >= 1 ? JSON.stringify(pair[0]) : "(none)";
68
+ throw new Error(`${wordName} requires each pair to be a [key, value] array with exactly 2 elements; ` +
69
+ `pair at index ${index} has ${pair.length} element(s) (key: ${key}).`);
70
+ }
71
+ const [key, val] = pair;
59
72
  result[key] = val;
60
73
  });
61
74
  return result;
62
75
  }
76
+ async REC(key_vals) {
77
+ return RecordModule.build_record(key_vals, "REC");
78
+ }
63
79
  async REC_at(rec, field) {
64
80
  if (!rec)
65
81
  return null;
@@ -101,53 +117,262 @@ Record (object/dictionary) manipulation operations for working with key-value da
101
117
  cur_rec[fields[fields.length - 1]] = value;
102
118
  return _rec;
103
119
  }
104
- async RELABEL(container, old_keys, new_keys) {
105
- if (!container)
120
+ // ========================================
121
+ // JQ-style path access
122
+ // ========================================
123
+ static parse_jq_path(path) {
124
+ if (Array.isArray(path)) {
125
+ return path.map((p) => {
126
+ if (typeof p === "number")
127
+ return { kind: "index", n: p };
128
+ return { kind: "field", name: String(p) };
129
+ });
130
+ }
131
+ let s = String(path ?? "");
132
+ if (s === "" || s === ".")
133
+ return [];
134
+ if (s.startsWith("."))
135
+ s = s.slice(1);
136
+ const segments = [];
137
+ let i = 0;
138
+ while (i < s.length) {
139
+ const ch = s[i];
140
+ if (ch === ".") {
141
+ i++;
142
+ continue;
143
+ }
144
+ if (ch === "[") {
145
+ i++;
146
+ if (i >= s.length) {
147
+ throw new Error(`JQ path: unclosed '[' in "${path}"`);
148
+ }
149
+ if (s[i] === "]") {
150
+ segments.push({ kind: "iterate" });
151
+ i++;
152
+ }
153
+ else if (s[i] === '"' || s[i] === "'") {
154
+ const quote = s[i];
155
+ i++;
156
+ let name = "";
157
+ while (i < s.length && s[i] !== quote) {
158
+ name += s[i];
159
+ i++;
160
+ }
161
+ if (i >= s.length) {
162
+ throw new Error(`JQ path: unclosed quote in "${path}"`);
163
+ }
164
+ i++;
165
+ if (s[i] !== "]") {
166
+ throw new Error(`JQ path: expected ']' after quoted key in "${path}"`);
167
+ }
168
+ i++;
169
+ segments.push({ kind: "field", name });
170
+ }
171
+ else {
172
+ let num = "";
173
+ while (i < s.length && s[i] !== "]") {
174
+ num += s[i];
175
+ i++;
176
+ }
177
+ if (i >= s.length) {
178
+ throw new Error(`JQ path: unclosed '[' in "${path}"`);
179
+ }
180
+ i++;
181
+ const n = parseInt(num, 10);
182
+ if (isNaN(n)) {
183
+ throw new Error(`JQ path: invalid index "${num}" in "${path}"`);
184
+ }
185
+ segments.push({ kind: "index", n });
186
+ }
187
+ }
188
+ else {
189
+ let name = "";
190
+ while (i < s.length && s[i] !== "." && s[i] !== "[") {
191
+ name += s[i];
192
+ i++;
193
+ }
194
+ if (name)
195
+ segments.push({ kind: "field", name });
196
+ }
197
+ }
198
+ return segments;
199
+ }
200
+ static jq_get(container, segments) {
201
+ if (segments.length === 0)
202
+ return container ?? null;
203
+ if (container == null)
204
+ return null;
205
+ const [first, ...rest] = segments;
206
+ if (first.kind === "iterate") {
207
+ let items;
208
+ if (Array.isArray(container)) {
209
+ items = container;
210
+ }
211
+ else if (typeof container === "object") {
212
+ items = Object.keys(container)
213
+ .sort()
214
+ .map((k) => container[k]);
215
+ }
216
+ else {
217
+ return [];
218
+ }
219
+ const rest_iterates = rest.some((s) => s.kind === "iterate");
220
+ const result = [];
221
+ for (const item of items) {
222
+ if (rest.length === 0) {
223
+ result.push(item);
224
+ }
225
+ else {
226
+ const r = RecordModule.jq_get(item, rest);
227
+ if (rest_iterates && Array.isArray(r)) {
228
+ result.push(...r);
229
+ }
230
+ else {
231
+ result.push(r);
232
+ }
233
+ }
234
+ }
235
+ return result;
236
+ }
237
+ if (first.kind === "field") {
238
+ const next = container[first.name];
239
+ return RecordModule.jq_get(next, rest);
240
+ }
241
+ // index
242
+ if (Array.isArray(container)) {
243
+ const n = first.n < 0 ? container.length + first.n : first.n;
244
+ if (n < 0 || n >= container.length)
245
+ return null;
246
+ return RecordModule.jq_get(container[n], rest);
247
+ }
248
+ if (typeof container === "object") {
249
+ const keys = Object.keys(container).sort();
250
+ const n = first.n < 0 ? keys.length + first.n : first.n;
251
+ if (n < 0 || n >= keys.length)
252
+ return null;
253
+ return RecordModule.jq_get(container[keys[n]], rest);
254
+ }
255
+ return null;
256
+ }
257
+ static seg_key(seg) {
258
+ if (seg.kind === "field")
259
+ return seg.name;
260
+ if (seg.kind === "index")
261
+ return seg.n;
262
+ throw new Error("JQ: [] iteration not supported here");
263
+ }
264
+ static jq_set(container, segments, value) {
265
+ let cur = container;
266
+ for (let i = 0; i < segments.length - 1; i++) {
267
+ const seg = segments[i];
268
+ const next = segments[i + 1];
269
+ const key = RecordModule.seg_key(seg);
270
+ let child = cur[key];
271
+ if (child == null || typeof child !== "object") {
272
+ child = next.kind === "index" ? [] : {};
273
+ cur[key] = child;
274
+ }
275
+ cur = child;
276
+ }
277
+ const last_key = RecordModule.seg_key(segments[segments.length - 1]);
278
+ cur[last_key] = value;
279
+ return container;
280
+ }
281
+ static jq_del(container, segments) {
282
+ let cur = container;
283
+ for (let i = 0; i < segments.length - 1; i++) {
284
+ const key = RecordModule.seg_key(segments[i]);
285
+ if (cur == null || typeof cur !== "object")
286
+ return container;
287
+ cur = cur[key];
288
+ }
289
+ if (cur == null || typeof cur !== "object")
106
290
  return container;
107
- if (old_keys.length !== new_keys.length) {
108
- throw new Error("RELABEL: old_keys and new_keys must be same length");
291
+ const last = segments[segments.length - 1];
292
+ if (last.kind === "field") {
293
+ delete cur[last.name];
109
294
  }
110
- const new_to_old = {};
111
- for (let i = 0; i < old_keys.length; i++) {
112
- new_to_old[new_keys[i]] = old_keys[i];
295
+ else if (last.kind === "index") {
296
+ if (Array.isArray(cur)) {
297
+ const n = last.n < 0 ? cur.length + last.n : last.n;
298
+ if (n >= 0 && n < cur.length)
299
+ cur.splice(n, 1);
300
+ }
301
+ else {
302
+ delete cur[last.n];
303
+ }
113
304
  }
114
- let result;
115
- if (container instanceof Array) {
116
- result = [];
117
- Object.keys(new_to_old)
118
- .sort()
119
- .forEach((k) => result.push(container[new_to_old[k]]));
305
+ return container;
306
+ }
307
+ async JQ_at(container, path) {
308
+ const segments = RecordModule.parse_jq_path(path);
309
+ return RecordModule.jq_get(container, segments);
310
+ }
311
+ async JQ_bang(container, value, path) {
312
+ const segments = RecordModule.parse_jq_path(path);
313
+ if (segments.some((s) => s.kind === "iterate")) {
314
+ throw new Error("JQ!: [] iteration not supported in set paths");
120
315
  }
121
- else {
122
- result = {};
123
- Object.keys(new_to_old).forEach((k) => (result[k] = container[new_to_old[k]]));
316
+ if (segments.length === 0)
317
+ return value;
318
+ let _container = container;
319
+ if (_container == null || typeof _container !== "object") {
320
+ _container = segments[0].kind === "index" ? [] : {};
321
+ }
322
+ return RecordModule.jq_set(_container, segments, value);
323
+ }
324
+ async ["JQ-DEL"](container, path) {
325
+ const segments = RecordModule.parse_jq_path(path);
326
+ if (segments.some((s) => s.kind === "iterate")) {
327
+ throw new Error("JQ-DEL: [] iteration not supported in delete paths");
328
+ }
329
+ if (segments.length === 0 || container == null)
330
+ return container;
331
+ return RecordModule.jq_del(container, segments);
332
+ }
333
+ async ENTRIES_to_REC(pairs) {
334
+ return RecordModule.build_record(pairs, "ENTRIES>REC");
335
+ }
336
+ async REC_to_ENTRIES(rec) {
337
+ if (!rec || typeof rec !== "object" || Array.isArray(rec))
338
+ return [];
339
+ const keys = Object.keys(rec).sort();
340
+ return keys.map((k) => [k, rec[k]]);
341
+ }
342
+ async MERGE(rec1, rec2) {
343
+ const a = rec1 && typeof rec1 === "object" && !Array.isArray(rec1) ? rec1 : {};
344
+ const b = rec2 && typeof rec2 === "object" && !Array.isArray(rec2) ? rec2 : {};
345
+ return { ...a, ...b };
346
+ }
347
+ async PICK(rec, keys) {
348
+ if (!rec || typeof rec !== "object" || Array.isArray(rec))
349
+ return {};
350
+ const ks = Array.isArray(keys) ? keys : [];
351
+ const result = {};
352
+ for (const k of ks) {
353
+ if (Object.prototype.hasOwnProperty.call(rec, k)) {
354
+ result[k] = rec[k];
355
+ }
124
356
  }
125
357
  return result;
126
358
  }
127
- async INVERT_KEYS(record) {
359
+ async OMIT(rec, keys) {
360
+ if (!rec || typeof rec !== "object" || Array.isArray(rec))
361
+ return {};
362
+ const drop = new Set(Array.isArray(keys) ? keys : []);
128
363
  const result = {};
129
- Object.keys(record).forEach((first_key) => {
130
- const sub_record = record[first_key];
131
- Object.keys(sub_record).forEach((second_key) => {
132
- const value = sub_record[second_key];
133
- if (!result[second_key])
134
- result[second_key] = {};
135
- result[second_key][first_key] = value;
136
- });
137
- });
364
+ for (const k of Object.keys(rec)) {
365
+ if (!drop.has(k))
366
+ result[k] = rec[k];
367
+ }
138
368
  return result;
139
369
  }
140
- async REC_DEFAULTS(record, key_vals) {
141
- key_vals.forEach((key_val) => {
142
- const key = key_val[0];
143
- const value = record[key];
144
- if (value === undefined || value === null || value === "") {
145
- record[key] = key_val[1];
146
- }
147
- });
148
- return record;
370
+ async HAS_KEY(rec, key) {
371
+ if (!rec || typeof rec !== "object" || Array.isArray(rec))
372
+ return false;
373
+ return Object.prototype.hasOwnProperty.call(rec, key);
149
374
  }
150
- async l_DEL(container, key) {
375
+ async DELETE(container, key) {
151
376
  if (!container)
152
377
  return container;
153
378
  if (container instanceof Array) {
@@ -215,29 +440,65 @@ __decorate([
215
440
  __metadata("design:returntype", Promise)
216
441
  ], RecordModule.prototype, "l_REC_bang", null);
217
442
  __decorate([
218
- (0, word_js_1.ForthicWord)("( container:any old_keys:any[] new_keys:any[] -- container:any )", "Rename record keys"),
443
+ (0, word_js_1.ForthicWord)("( container:any path:any -- value:any )", "Get value at jq-style path (e.g., .users[].name). Returns null on miss; [] iterates and flattens. Path arrays accepted for dynamic keys.", "JQ@"),
219
444
  __metadata("design:type", Function),
220
- __metadata("design:paramtypes", [Object, Array, Array]),
445
+ __metadata("design:paramtypes", [Object, Object]),
446
+ __metadata("design:returntype", Promise)
447
+ ], RecordModule.prototype, "JQ_at", null);
448
+ __decorate([
449
+ (0, word_js_1.ForthicWord)("( container:any value:any path:any -- container:any )", "Set value at jq-style path. Auto-creates missing intermediates (record for field, array for index). [] iteration not supported.", "JQ!"),
450
+ __metadata("design:type", Function),
451
+ __metadata("design:paramtypes", [Object, Object, Object]),
221
452
  __metadata("design:returntype", Promise)
222
- ], RecordModule.prototype, "RELABEL", null);
453
+ ], RecordModule.prototype, "JQ_bang", null);
223
454
  __decorate([
224
- (0, word_js_1.ForthicWord)("( record:any -- inverted:any )", "Invert two-level nested record structure", "INVERT-KEYS"),
455
+ (0, word_js_1.ForthicWord)("( container:any path:any -- container:any )", "Delete value at jq-style path. No-op if path doesn't exist. [] iteration not supported.", "JQ-DEL"),
456
+ __metadata("design:type", Function),
457
+ __metadata("design:paramtypes", [Object, Object]),
458
+ __metadata("design:returntype", Promise)
459
+ ], RecordModule.prototype, "JQ-DEL", null);
460
+ __decorate([
461
+ (0, word_js_1.ForthicWord)("( pairs:any[] -- rec:any )", "Build a record from an array of [key, value] pairs. Alias of REC, surfaced for symmetry with REC>ENTRIES.", "ENTRIES>REC"),
462
+ __metadata("design:type", Function),
463
+ __metadata("design:paramtypes", [Array]),
464
+ __metadata("design:returntype", Promise)
465
+ ], RecordModule.prototype, "ENTRIES_to_REC", null);
466
+ __decorate([
467
+ (0, word_js_1.ForthicWord)("( rec:any -- pairs:any[] )", "Convert a record to an array of [key, value] pairs (sorted by key for stability). Inverse of ENTRIES>REC / REC.", "REC>ENTRIES"),
225
468
  __metadata("design:type", Function),
226
469
  __metadata("design:paramtypes", [Object]),
227
470
  __metadata("design:returntype", Promise)
228
- ], RecordModule.prototype, "INVERT_KEYS", null);
471
+ ], RecordModule.prototype, "REC_to_ENTRIES", null);
472
+ __decorate([
473
+ (0, word_js_1.ForthicWord)("( rec1:any rec2:any -- merged:any )", "Shallow merge two records. Keys present in rec2 override rec1.", "MERGE"),
474
+ __metadata("design:type", Function),
475
+ __metadata("design:paramtypes", [Object, Object]),
476
+ __metadata("design:returntype", Promise)
477
+ ], RecordModule.prototype, "MERGE", null);
478
+ __decorate([
479
+ (0, word_js_1.ForthicWord)("( rec:any keys:any[] -- rec:any )", "Return a new record containing only the listed keys (missing keys are skipped).", "PICK"),
480
+ __metadata("design:type", Function),
481
+ __metadata("design:paramtypes", [Object, Array]),
482
+ __metadata("design:returntype", Promise)
483
+ ], RecordModule.prototype, "PICK", null);
229
484
  __decorate([
230
- (0, word_js_1.ForthicWord)("( record:any key_vals:any[] -- record:any )", "Set default values for missing/empty fields", "REC-DEFAULTS"),
485
+ (0, word_js_1.ForthicWord)("( rec:any keys:any[] -- rec:any )", "Return a new record without the listed keys.", "OMIT"),
231
486
  __metadata("design:type", Function),
232
487
  __metadata("design:paramtypes", [Object, Array]),
233
488
  __metadata("design:returntype", Promise)
234
- ], RecordModule.prototype, "REC_DEFAULTS", null);
489
+ ], RecordModule.prototype, "OMIT", null);
490
+ __decorate([
491
+ (0, word_js_1.ForthicWord)("( rec:any key:any -- bool:boolean )", "Returns true if rec has the given key (own property). Distinct from REC@ NULL == — handles intentional null values correctly.", "HAS-KEY?"),
492
+ __metadata("design:type", Function),
493
+ __metadata("design:paramtypes", [Object, Object]),
494
+ __metadata("design:returntype", Promise)
495
+ ], RecordModule.prototype, "HAS_KEY", null);
235
496
  __decorate([
236
- (0, word_js_1.ForthicWord)("( container:any key:any -- container:any )", "Delete key from record or index from array", "<DEL"),
497
+ (0, word_js_1.ForthicWord)("( container:any key:any -- container:any )", "Delete key from record or index from array", "DELETE"),
237
498
  __metadata("design:type", Function),
238
499
  __metadata("design:paramtypes", [Object, Object]),
239
500
  __metadata("design:returntype", Promise)
240
- ], RecordModule.prototype, "l_DEL", null);
501
+ ], RecordModule.prototype, "DELETE", null);
241
502
  __decorate([
242
503
  (0, word_js_1.ForthicWord)("( container:any -- keys:any[] )", "Get keys from record or indices from array"),
243
504
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"record_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/record_module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/record_module.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,30 @@
1
- import { Interpreter } from "../../interpreter.js";
2
1
  import { DecoratedModule } from "../../decorators/word.js";
3
2
  export declare class StringModule extends DecoratedModule {
4
3
  constructor();
5
- CONCAT(interp: Interpreter): Promise<void>;
4
+ CONCAT(strings: any[]): Promise<string>;
5
+ STR_LENGTH(str: any): Promise<number>;
6
6
  to_STR(item: any): Promise<any>;
7
7
  SPLIT(string: string, sep: string): Promise<string[]>;
8
8
  JOIN(strings: string[], sep: string): Promise<string>;
9
9
  slash_N(): Promise<string>;
10
- slash_R(): Promise<string>;
11
10
  slash_T(): Promise<string>;
11
+ STARTS_WITH(str: any, prefix: any): Promise<boolean>;
12
+ ENDS_WITH(str: any, suffix: any): Promise<boolean>;
13
+ TRIM_PREFIX(str: any, prefix: any): Promise<any>;
14
+ TRIM_SUFFIX(str: any, suffix: any): Promise<any>;
15
+ RE_MATCH_TEST(str: any, pattern: any): Promise<boolean>;
12
16
  LOWERCASE(string: string): Promise<string>;
13
17
  UPPERCASE(string: string): Promise<string>;
14
18
  ASCII(string: string): Promise<string>;
15
19
  STRIP(string: string): Promise<string>;
16
20
  REPLACE(string: string, text: string, replace: string): Promise<string>;
21
+ RE_REPLACE(string: string, pattern: string, replace: string): Promise<string>;
17
22
  RE_MATCH(string: string, pattern: string): Promise<any>;
18
23
  RE_MATCH_ALL(string: string, pattern: string): Promise<string[]>;
19
- RE_MATCH_GROUP(match: any, num: number): Promise<any>;
20
- URL_ENCODE(str: string): Promise<string>;
21
- URL_DECODE(urlencoded: string): Promise<string>;
24
+ LINES(str: any): Promise<string[]>;
25
+ UNLINES(lines: any): Promise<string>;
26
+ GREP(strings: any, pattern: any): Promise<any[]>;
27
+ GREP_V(strings: any, pattern: any): Promise<any[]>;
28
+ SED(strings: any, pattern: any, repl: any): Promise<any[]>;
29
+ CUT(strings: any, sep: any, field: any): Promise<string[]>;
22
30
  }