@forthix/forthic 0.11.0 → 0.12.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 +11 -14
  10. package/dist/cjs/forthic/modules/standard/core_module.js +91 -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 +15 -4
  22. package/dist/cjs/forthic/modules/standard/record_module.js +311 -45
  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 +11 -14
  38. package/dist/esm/forthic/modules/standard/core_module.js +76 -82
  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 +15 -4
  50. package/dist/esm/forthic/modules/standard/record_module.js +292 -44
  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
@@ -12,7 +12,13 @@ Record (object/dictionary) manipulation operations for working with key-value da
12
12
 
13
13
  ## Categories
14
14
  - Core: REC, REC@, |REC@, <REC!
15
- - Transform: RELABEL, INVERT-KEYS, REC-DEFAULTS, <DEL
15
+ - Path access (jq-style): JQ@, JQ!, JQ-DEL
16
+ - Construct: ENTRIES>REC
17
+ - Disassemble: REC>ENTRIES
18
+ - Combine: MERGE
19
+ - Subset: PICK, OMIT
20
+ - Predicate: HAS-KEY?
21
+ - Transform: DELETE
16
22
  - Access: KEYS, VALUES
17
23
  `);
18
24
  }
@@ -95,53 +101,277 @@ Record (object/dictionary) manipulation operations for working with key-value da
95
101
  cur_rec[fields[fields.length - 1]] = value;
96
102
  return _rec;
97
103
  }
98
- async RELABEL(container, old_keys, new_keys) {
99
- if (!container)
104
+ // ========================================
105
+ // JQ-style path access
106
+ // ========================================
107
+ static parse_jq_path(path) {
108
+ if (Array.isArray(path)) {
109
+ return path.map((p) => {
110
+ if (typeof p === "number")
111
+ return { kind: "index", n: p };
112
+ return { kind: "field", name: String(p) };
113
+ });
114
+ }
115
+ let s = String(path ?? "");
116
+ if (s === "" || s === ".")
117
+ return [];
118
+ if (s.startsWith("."))
119
+ s = s.slice(1);
120
+ const segments = [];
121
+ let i = 0;
122
+ while (i < s.length) {
123
+ const ch = s[i];
124
+ if (ch === ".") {
125
+ i++;
126
+ continue;
127
+ }
128
+ if (ch === "[") {
129
+ i++;
130
+ if (i >= s.length) {
131
+ throw new Error(`JQ path: unclosed '[' in "${path}"`);
132
+ }
133
+ if (s[i] === "]") {
134
+ segments.push({ kind: "iterate" });
135
+ i++;
136
+ }
137
+ else if (s[i] === '"' || s[i] === "'") {
138
+ const quote = s[i];
139
+ i++;
140
+ let name = "";
141
+ while (i < s.length && s[i] !== quote) {
142
+ name += s[i];
143
+ i++;
144
+ }
145
+ if (i >= s.length) {
146
+ throw new Error(`JQ path: unclosed quote in "${path}"`);
147
+ }
148
+ i++;
149
+ if (s[i] !== "]") {
150
+ throw new Error(`JQ path: expected ']' after quoted key in "${path}"`);
151
+ }
152
+ i++;
153
+ segments.push({ kind: "field", name });
154
+ }
155
+ else {
156
+ let num = "";
157
+ while (i < s.length && s[i] !== "]") {
158
+ num += s[i];
159
+ i++;
160
+ }
161
+ if (i >= s.length) {
162
+ throw new Error(`JQ path: unclosed '[' in "${path}"`);
163
+ }
164
+ i++;
165
+ const n = parseInt(num, 10);
166
+ if (isNaN(n)) {
167
+ throw new Error(`JQ path: invalid index "${num}" in "${path}"`);
168
+ }
169
+ segments.push({ kind: "index", n });
170
+ }
171
+ }
172
+ else {
173
+ let name = "";
174
+ while (i < s.length && s[i] !== "." && s[i] !== "[") {
175
+ name += s[i];
176
+ i++;
177
+ }
178
+ if (name)
179
+ segments.push({ kind: "field", name });
180
+ }
181
+ }
182
+ return segments;
183
+ }
184
+ static jq_get(container, segments) {
185
+ if (segments.length === 0)
186
+ return container ?? null;
187
+ if (container == null)
188
+ return null;
189
+ const [first, ...rest] = segments;
190
+ if (first.kind === "iterate") {
191
+ let items;
192
+ if (Array.isArray(container)) {
193
+ items = container;
194
+ }
195
+ else if (typeof container === "object") {
196
+ items = Object.keys(container)
197
+ .sort()
198
+ .map((k) => container[k]);
199
+ }
200
+ else {
201
+ return [];
202
+ }
203
+ const rest_iterates = rest.some((s) => s.kind === "iterate");
204
+ const result = [];
205
+ for (const item of items) {
206
+ if (rest.length === 0) {
207
+ result.push(item);
208
+ }
209
+ else {
210
+ const r = RecordModule.jq_get(item, rest);
211
+ if (rest_iterates && Array.isArray(r)) {
212
+ result.push(...r);
213
+ }
214
+ else {
215
+ result.push(r);
216
+ }
217
+ }
218
+ }
219
+ return result;
220
+ }
221
+ if (first.kind === "field") {
222
+ const next = container[first.name];
223
+ return RecordModule.jq_get(next, rest);
224
+ }
225
+ // index
226
+ if (Array.isArray(container)) {
227
+ const n = first.n < 0 ? container.length + first.n : first.n;
228
+ if (n < 0 || n >= container.length)
229
+ return null;
230
+ return RecordModule.jq_get(container[n], rest);
231
+ }
232
+ if (typeof container === "object") {
233
+ const keys = Object.keys(container).sort();
234
+ const n = first.n < 0 ? keys.length + first.n : first.n;
235
+ if (n < 0 || n >= keys.length)
236
+ return null;
237
+ return RecordModule.jq_get(container[keys[n]], rest);
238
+ }
239
+ return null;
240
+ }
241
+ static seg_key(seg) {
242
+ if (seg.kind === "field")
243
+ return seg.name;
244
+ if (seg.kind === "index")
245
+ return seg.n;
246
+ throw new Error("JQ: [] iteration not supported here");
247
+ }
248
+ static jq_set(container, segments, value) {
249
+ let cur = container;
250
+ for (let i = 0; i < segments.length - 1; i++) {
251
+ const seg = segments[i];
252
+ const next = segments[i + 1];
253
+ const key = RecordModule.seg_key(seg);
254
+ let child = cur[key];
255
+ if (child == null || typeof child !== "object") {
256
+ child = next.kind === "index" ? [] : {};
257
+ cur[key] = child;
258
+ }
259
+ cur = child;
260
+ }
261
+ const last_key = RecordModule.seg_key(segments[segments.length - 1]);
262
+ cur[last_key] = value;
263
+ return container;
264
+ }
265
+ static jq_del(container, segments) {
266
+ let cur = container;
267
+ for (let i = 0; i < segments.length - 1; i++) {
268
+ const key = RecordModule.seg_key(segments[i]);
269
+ if (cur == null || typeof cur !== "object")
270
+ return container;
271
+ cur = cur[key];
272
+ }
273
+ if (cur == null || typeof cur !== "object")
100
274
  return container;
101
- if (old_keys.length !== new_keys.length) {
102
- throw new Error("RELABEL: old_keys and new_keys must be same length");
275
+ const last = segments[segments.length - 1];
276
+ if (last.kind === "field") {
277
+ delete cur[last.name];
103
278
  }
104
- const new_to_old = {};
105
- for (let i = 0; i < old_keys.length; i++) {
106
- new_to_old[new_keys[i]] = old_keys[i];
279
+ else if (last.kind === "index") {
280
+ if (Array.isArray(cur)) {
281
+ const n = last.n < 0 ? cur.length + last.n : last.n;
282
+ if (n >= 0 && n < cur.length)
283
+ cur.splice(n, 1);
284
+ }
285
+ else {
286
+ delete cur[last.n];
287
+ }
107
288
  }
108
- let result;
109
- if (container instanceof Array) {
110
- result = [];
111
- Object.keys(new_to_old)
112
- .sort()
113
- .forEach((k) => result.push(container[new_to_old[k]]));
289
+ return container;
290
+ }
291
+ async JQ_at(container, path) {
292
+ const segments = RecordModule.parse_jq_path(path);
293
+ return RecordModule.jq_get(container, segments);
294
+ }
295
+ async JQ_bang(container, value, path) {
296
+ const segments = RecordModule.parse_jq_path(path);
297
+ if (segments.some((s) => s.kind === "iterate")) {
298
+ throw new Error("JQ!: [] iteration not supported in set paths");
114
299
  }
115
- else {
116
- result = {};
117
- Object.keys(new_to_old).forEach((k) => (result[k] = container[new_to_old[k]]));
300
+ if (segments.length === 0)
301
+ return value;
302
+ let _container = container;
303
+ if (_container == null || typeof _container !== "object") {
304
+ _container = segments[0].kind === "index" ? [] : {};
118
305
  }
119
- return result;
306
+ return RecordModule.jq_set(_container, segments, value);
307
+ }
308
+ async ["JQ-DEL"](container, path) {
309
+ const segments = RecordModule.parse_jq_path(path);
310
+ if (segments.some((s) => s.kind === "iterate")) {
311
+ throw new Error("JQ-DEL: [] iteration not supported in delete paths");
312
+ }
313
+ if (segments.length === 0 || container == null)
314
+ return container;
315
+ return RecordModule.jq_del(container, segments);
120
316
  }
121
- async INVERT_KEYS(record) {
317
+ async ENTRIES_to_REC(pairs) {
318
+ let _key_vals = pairs;
319
+ if (!_key_vals)
320
+ _key_vals = [];
122
321
  const result = {};
123
- Object.keys(record).forEach((first_key) => {
124
- const sub_record = record[first_key];
125
- Object.keys(sub_record).forEach((second_key) => {
126
- const value = sub_record[second_key];
127
- if (!result[second_key])
128
- result[second_key] = {};
129
- result[second_key][first_key] = value;
130
- });
322
+ _key_vals.forEach((pair) => {
323
+ let key = null;
324
+ let val = null;
325
+ if (pair) {
326
+ if (pair.length >= 1)
327
+ key = pair[0];
328
+ if (pair.length >= 2)
329
+ val = pair[1];
330
+ }
331
+ result[key] = val;
131
332
  });
132
333
  return result;
133
334
  }
134
- async REC_DEFAULTS(record, key_vals) {
135
- key_vals.forEach((key_val) => {
136
- const key = key_val[0];
137
- const value = record[key];
138
- if (value === undefined || value === null || value === "") {
139
- record[key] = key_val[1];
335
+ async REC_to_ENTRIES(rec) {
336
+ if (!rec || typeof rec !== "object" || Array.isArray(rec))
337
+ return [];
338
+ const keys = Object.keys(rec).sort();
339
+ return keys.map((k) => [k, rec[k]]);
340
+ }
341
+ async MERGE(rec1, rec2) {
342
+ const a = rec1 && typeof rec1 === "object" && !Array.isArray(rec1) ? rec1 : {};
343
+ const b = rec2 && typeof rec2 === "object" && !Array.isArray(rec2) ? rec2 : {};
344
+ return { ...a, ...b };
345
+ }
346
+ async PICK(rec, keys) {
347
+ if (!rec || typeof rec !== "object" || Array.isArray(rec))
348
+ return {};
349
+ const ks = Array.isArray(keys) ? keys : [];
350
+ const result = {};
351
+ for (const k of ks) {
352
+ if (Object.prototype.hasOwnProperty.call(rec, k)) {
353
+ result[k] = rec[k];
140
354
  }
141
- });
142
- return record;
355
+ }
356
+ return result;
143
357
  }
144
- async l_DEL(container, key) {
358
+ async OMIT(rec, keys) {
359
+ if (!rec || typeof rec !== "object" || Array.isArray(rec))
360
+ return {};
361
+ const drop = new Set(Array.isArray(keys) ? keys : []);
362
+ const result = {};
363
+ for (const k of Object.keys(rec)) {
364
+ if (!drop.has(k))
365
+ result[k] = rec[k];
366
+ }
367
+ return result;
368
+ }
369
+ async HAS_KEY(rec, key) {
370
+ if (!rec || typeof rec !== "object" || Array.isArray(rec))
371
+ return false;
372
+ return Object.prototype.hasOwnProperty.call(rec, key);
373
+ }
374
+ async DELETE(container, key) {
145
375
  if (!container)
146
376
  return container;
147
377
  if (container instanceof Array) {
@@ -196,17 +426,35 @@ __decorate([
196
426
  ForthicWord("( rec:any value:any field:any -- rec:any )", "Set value in record at field path", "<REC!")
197
427
  ], RecordModule.prototype, "l_REC_bang", null);
198
428
  __decorate([
199
- ForthicWord("( container:any old_keys:any[] new_keys:any[] -- container:any )", "Rename record keys")
200
- ], RecordModule.prototype, "RELABEL", null);
429
+ 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@")
430
+ ], RecordModule.prototype, "JQ_at", null);
431
+ __decorate([
432
+ 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!")
433
+ ], RecordModule.prototype, "JQ_bang", null);
434
+ __decorate([
435
+ 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")
436
+ ], RecordModule.prototype, "JQ-DEL", null);
437
+ __decorate([
438
+ 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")
439
+ ], RecordModule.prototype, "ENTRIES_to_REC", null);
440
+ __decorate([
441
+ 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")
442
+ ], RecordModule.prototype, "REC_to_ENTRIES", null);
443
+ __decorate([
444
+ ForthicWord("( rec1:any rec2:any -- merged:any )", "Shallow merge two records. Keys present in rec2 override rec1.", "MERGE")
445
+ ], RecordModule.prototype, "MERGE", null);
446
+ __decorate([
447
+ ForthicWord("( rec:any keys:any[] -- rec:any )", "Return a new record containing only the listed keys (missing keys are skipped).", "PICK")
448
+ ], RecordModule.prototype, "PICK", null);
201
449
  __decorate([
202
- ForthicWord("( record:any -- inverted:any )", "Invert two-level nested record structure", "INVERT-KEYS")
203
- ], RecordModule.prototype, "INVERT_KEYS", null);
450
+ ForthicWord("( rec:any keys:any[] -- rec:any )", "Return a new record without the listed keys.", "OMIT")
451
+ ], RecordModule.prototype, "OMIT", null);
204
452
  __decorate([
205
- ForthicWord("( record:any key_vals:any[] -- record:any )", "Set default values for missing/empty fields", "REC-DEFAULTS")
206
- ], RecordModule.prototype, "REC_DEFAULTS", null);
453
+ 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?")
454
+ ], RecordModule.prototype, "HAS_KEY", null);
207
455
  __decorate([
208
- ForthicWord("( container:any key:any -- container:any )", "Delete key from record or index from array", "<DEL")
209
- ], RecordModule.prototype, "l_DEL", null);
456
+ ForthicWord("( container:any key:any -- container:any )", "Delete key from record or index from array", "DELETE")
457
+ ], RecordModule.prototype, "DELETE", null);
210
458
  __decorate([
211
459
  ForthicWord("( container:any -- keys:any[] )", "Get keys from record or indices from array")
212
460
  ], RecordModule.prototype, "KEYS", null);
@@ -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
  }