@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
@@ -4,17 +4,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { DecoratedModule, ForthicWord, ForthicDirectWord, registerModuleDoc } from "../../decorators/word.js";
7
+ import { DecoratedModule, ForthicWord, registerModuleDoc } from "../../decorators/word.js";
8
8
  export class MathModule extends DecoratedModule {
9
9
  static {
10
10
  registerModuleDoc(MathModule, `
11
11
  Mathematical operations and utilities including arithmetic, aggregation, and conversions.
12
12
 
13
13
  ## Categories
14
- - Arithmetic: +, -, *, /, ADD, SUBTRACT, MULTIPLY, DIVIDE, MOD
15
- - Aggregates: MEAN, MAX, MIN, SUM
16
- - Type conversion: >INT, >FLOAT, >FIXED, ROUND
17
- - Special values: INFINITY, UNIFORM-RANDOM
14
+ - Arithmetic: +, -, *, /, MOD, RANGE
15
+ - Aggregates: MEAN, MAX, MIN, SUM, PRODUCT
16
+ - Type conversion: >INT, >FLOAT, FORMAT-FIXED, ROUND
18
17
  - Math functions: ABS, SQRT, FLOOR, CEIL, CLAMP
19
18
 
20
19
  ## Examples
@@ -31,27 +30,13 @@ Mathematical operations and utilities including arithmetic, aggregation, and con
31
30
  // ========================================
32
31
  // Arithmetic Operations
33
32
  // ========================================
34
- async plus(interp) {
35
- const b = interp.stack_pop();
36
- // Case 1: Array on top of stack
37
- if (Array.isArray(b)) {
38
- let result = 0;
39
- for (const num of b) {
40
- if (num !== null && num !== undefined) {
41
- result += num;
42
- }
43
- }
44
- interp.stack_push(result);
45
- return;
33
+ async plus(a, b) {
34
+ if (Array.isArray(a) || Array.isArray(b)) {
35
+ throw new Error("+ takes two numbers. For an array of numbers, use SUM.");
46
36
  }
47
- // Case 2: Two numbers
48
- const a = interp.stack_pop();
49
37
  const num_a = a === null || a === undefined ? 0 : a;
50
38
  const num_b = b === null || b === undefined ? 0 : b;
51
- interp.stack_push(num_a + num_b);
52
- }
53
- async plus_ADD(interp) {
54
- return this.plus(interp);
39
+ return num_a + num_b;
55
40
  }
56
41
  async minus(a, b) {
57
42
  if (a === null || a === undefined || b === null || b === undefined) {
@@ -59,48 +44,16 @@ Mathematical operations and utilities including arithmetic, aggregation, and con
59
44
  }
60
45
  return a - b;
61
46
  }
62
- async minus_SUBTRACT(a, b) {
63
- if (a === null || a === undefined || b === null || b === undefined) {
64
- return null;
65
- }
66
- return a - b;
67
- }
68
- async times(interp) {
69
- const b = interp.stack_pop();
70
- // Case 1: Array on top of stack
71
- if (Array.isArray(b)) {
72
- let result = 1;
73
- for (const num of b) {
74
- if (num === null || num === undefined) {
75
- interp.stack_push(null);
76
- return;
77
- }
78
- result *= num;
79
- }
80
- interp.stack_push(result);
81
- return;
82
- }
83
- // Case 2: Two numbers
84
- const a = interp.stack_pop();
85
- if (a === null || a === undefined || b === null || b === undefined) {
86
- interp.stack_push(null);
87
- return;
47
+ async times(a, b) {
48
+ if (Array.isArray(a) || Array.isArray(b)) {
49
+ throw new Error("* takes two numbers. For an array of numbers, use PRODUCT.");
88
50
  }
89
- interp.stack_push(a * b);
90
- }
91
- async times_MULTIPLY(interp) {
92
- return this.times(interp);
93
- }
94
- async divide_by(a, b) {
95
51
  if (a === null || a === undefined || b === null || b === undefined) {
96
52
  return null;
97
53
  }
98
- if (b === 0) {
99
- return null;
100
- }
101
- return a / b;
54
+ return a * b;
102
55
  }
103
- async divide_by_DIVIDE(a, b) {
56
+ async divide_by(a, b) {
104
57
  if (a === null || a === undefined || b === null || b === undefined) {
105
58
  return null;
106
59
  }
@@ -116,6 +69,16 @@ Mathematical operations and utilities including arithmetic, aggregation, and con
116
69
  }
117
70
  return m % n;
118
71
  }
72
+ async RANGE(start, end) {
73
+ if (start === null || start === undefined || end === null || end === undefined) {
74
+ return [];
75
+ }
76
+ const result = [];
77
+ for (let i = start; i <= end; i++) {
78
+ result.push(i);
79
+ }
80
+ return result;
81
+ }
119
82
  async MEAN(items) {
120
83
  if (!items || (Array.isArray(items) && items.length === 0)) {
121
84
  return 0;
@@ -187,35 +150,42 @@ Mathematical operations and utilities including arithmetic, aggregation, and con
187
150
  }
188
151
  return 0;
189
152
  }
190
- async MAX(interp) {
191
- const b = interp.stack_pop();
192
- // Case 1: Array on top of stack
193
- if (Array.isArray(b)) {
194
- if (b.length === 0) {
195
- interp.stack_push(null);
196
- return;
197
- }
198
- interp.stack_push(Math.max(...b));
199
- return;
153
+ async MAX(numbers) {
154
+ if (!Array.isArray(numbers)) {
155
+ throw new Error("MAX requires an array of numbers. For two numbers use > with IF.");
156
+ }
157
+ let result = null;
158
+ for (const num of numbers) {
159
+ if (num === null || num === undefined)
160
+ continue;
161
+ if (result === null || num > result)
162
+ result = num;
200
163
  }
201
- // Case 2: Two values
202
- const a = interp.stack_pop();
203
- interp.stack_push(Math.max(a, b));
164
+ return result;
204
165
  }
205
- async MIN(interp) {
206
- const b = interp.stack_pop();
207
- // Case 1: Array on top of stack
208
- if (Array.isArray(b)) {
209
- if (b.length === 0) {
210
- interp.stack_push(null);
211
- return;
212
- }
213
- interp.stack_push(Math.min(...b));
214
- return;
166
+ async MIN(numbers) {
167
+ if (!Array.isArray(numbers)) {
168
+ throw new Error("MIN requires an array of numbers. For two numbers use < with IF.");
169
+ }
170
+ let result = null;
171
+ for (const num of numbers) {
172
+ if (num === null || num === undefined)
173
+ continue;
174
+ if (result === null || num < result)
175
+ result = num;
215
176
  }
216
- // Case 2: Two values
217
- const a = interp.stack_pop();
218
- interp.stack_push(Math.min(a, b));
177
+ return result;
178
+ }
179
+ async PRODUCT(numbers) {
180
+ if (!Array.isArray(numbers))
181
+ return null;
182
+ let result = 1;
183
+ for (const num of numbers) {
184
+ if (num === null || num === undefined)
185
+ return null;
186
+ result *= num;
187
+ }
188
+ return result;
219
189
  }
220
190
  async SUM(numbers) {
221
191
  if (!numbers || !Array.isArray(numbers)) {
@@ -254,7 +224,7 @@ Mathematical operations and utilities including arithmetic, aggregation, and con
254
224
  return null;
255
225
  }
256
226
  }
257
- async [">FIXED"](num, digits) {
227
+ async FORMAT_FIXED(num, digits) {
258
228
  if (num === null || num === undefined) {
259
229
  return null;
260
230
  }
@@ -266,12 +236,6 @@ Mathematical operations and utilities including arithmetic, aggregation, and con
266
236
  }
267
237
  return Math.round(num);
268
238
  }
269
- async INFINITY() {
270
- return Infinity;
271
- }
272
- async ["UNIFORM-RANDOM"](low, high) {
273
- return Math.random() * (high - low) + low;
274
- }
275
239
  async ABS(n) {
276
240
  if (n === null || n === undefined) {
277
241
  return null;
@@ -304,41 +268,35 @@ Mathematical operations and utilities including arithmetic, aggregation, and con
304
268
  }
305
269
  }
306
270
  __decorate([
307
- ForthicDirectWord("( a:number b:number -- sum:number ) OR ( numbers:number[] -- sum:number )", "Add two numbers or sum array", "+")
271
+ ForthicWord("( a:number b:number -- sum:number )", "Add two numbers. For arrays use SUM.", "+")
308
272
  ], MathModule.prototype, "plus", null);
309
- __decorate([
310
- ForthicDirectWord("( a:number b:number -- sum:number ) OR ( numbers:number[] -- sum:number )", "Add two numbers or sum array", "ADD")
311
- ], MathModule.prototype, "plus_ADD", null);
312
273
  __decorate([
313
274
  ForthicWord("( a:number b:number -- difference:number )", "Subtract b from a", "-")
314
275
  ], MathModule.prototype, "minus", null);
315
276
  __decorate([
316
- ForthicWord("( a:number b:number -- difference:number )", "Subtract b from a", "SUBTRACT")
317
- ], MathModule.prototype, "minus_SUBTRACT", null);
318
- __decorate([
319
- ForthicDirectWord("( a:number b:number -- product:number ) OR ( numbers:number[] -- product:number )", "Multiply two numbers or product of array", "*")
277
+ ForthicWord("( a:number b:number -- product:number )", "Multiply two numbers. For arrays use PRODUCT.", "*")
320
278
  ], MathModule.prototype, "times", null);
321
- __decorate([
322
- ForthicDirectWord("( a:number b:number -- product:number ) OR ( numbers:number[] -- product:number )", "Multiply two numbers or product of array", "MULTIPLY")
323
- ], MathModule.prototype, "times_MULTIPLY", null);
324
279
  __decorate([
325
280
  ForthicWord("( a:number b:number -- quotient:number )", "Divide a by b", "/")
326
281
  ], MathModule.prototype, "divide_by", null);
327
- __decorate([
328
- ForthicWord("( a:number b:number -- quotient:number )", "Divide a by b", "DIVIDE")
329
- ], MathModule.prototype, "divide_by_DIVIDE", null);
330
282
  __decorate([
331
283
  ForthicWord("( m:number n:number -- remainder:number )", "Modulo operation (m % n)")
332
284
  ], MathModule.prototype, "MOD", null);
285
+ __decorate([
286
+ ForthicWord("( start:number end:number -- numbers:number[] )", "Generate inclusive integer range from start to end (e.g. 1 5 RANGE -> [1,2,3,4,5]). Empty if start > end.")
287
+ ], MathModule.prototype, "RANGE", null);
333
288
  __decorate([
334
289
  ForthicWord("( items:any[] -- mean:any )", "Calculate mean of array (handles numbers, strings, objects)")
335
290
  ], MathModule.prototype, "MEAN", null);
336
291
  __decorate([
337
- ForthicDirectWord("( a:number b:number -- max:number ) OR ( items:number[] -- max:number )", "Maximum of two numbers or array", "MAX")
292
+ ForthicWord("( numbers:number[] -- max:number )", "Maximum of an array of numbers. Null/undefined elements are skipped. Returns null for empty/all-null array.", "MAX")
338
293
  ], MathModule.prototype, "MAX", null);
339
294
  __decorate([
340
- ForthicDirectWord("( a:number b:number -- min:number ) OR ( items:number[] -- min:number )", "Minimum of two numbers or array", "MIN")
295
+ ForthicWord("( numbers:number[] -- min:number )", "Minimum of an array of numbers. Null/undefined elements are skipped. Returns null for empty/all-null array.", "MIN")
341
296
  ], MathModule.prototype, "MIN", null);
297
+ __decorate([
298
+ ForthicWord("( numbers:number[] -- product:number )", "Product of array of numbers (1 if empty). Null/undefined elements yield null.", "PRODUCT")
299
+ ], MathModule.prototype, "PRODUCT", null);
342
300
  __decorate([
343
301
  ForthicWord("( numbers:number[] -- sum:number )", "Sum of array (explicit)")
344
302
  ], MathModule.prototype, "SUM", null);
@@ -349,17 +307,11 @@ __decorate([
349
307
  ForthicWord("( a:any -- float:number )", "Convert to float")
350
308
  ], MathModule.prototype, ">FLOAT", null);
351
309
  __decorate([
352
- ForthicWord("( num:number digits:number -- result:string )", "Format number with fixed decimal places")
353
- ], MathModule.prototype, ">FIXED", null);
310
+ ForthicWord("( num:number digits:number -- result:string )", "Format number with fixed decimal places", "FORMAT-FIXED")
311
+ ], MathModule.prototype, "FORMAT_FIXED", null);
354
312
  __decorate([
355
313
  ForthicWord("( num:number -- int:number )", "Round to nearest integer")
356
314
  ], MathModule.prototype, "ROUND", null);
357
- __decorate([
358
- ForthicWord("( -- infinity:number )", "Push Infinity value")
359
- ], MathModule.prototype, "INFINITY", null);
360
- __decorate([
361
- ForthicWord("( low:number high:number -- random:number )", "Generate random number in range [low, high)")
362
- ], MathModule.prototype, "UNIFORM-RANDOM", null);
363
315
  __decorate([
364
316
  ForthicWord("( n:number -- abs:number )", "Absolute value")
365
317
  ], MathModule.prototype, "ABS", null);
@@ -1 +1 @@
1
- {"version":3,"file":"math_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/math_module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/math_module.ts"],"names":[],"mappings":"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"}
@@ -9,14 +9,33 @@ export declare class RecordModule extends DecoratedModule {
9
9
  * @returns The value at the end of the field path, or null if not found
10
10
  */
11
11
  private static drill_for_value;
12
+ /**
13
+ * Build a record from an array of [key, value] pairs.
14
+ * Each pair must be an array of exactly 2 elements; otherwise a descriptive
15
+ * error is thrown that identifies the offending pair.
16
+ * @param key_vals - Array of [key, value] pairs (null/undefined treated as empty)
17
+ * @param wordName - Name of the calling word, used in error messages
18
+ */
19
+ private static build_record;
12
20
  REC(key_vals: any[]): Promise<any>;
13
21
  REC_at(rec: any, field: any): Promise<any>;
14
22
  pipe_REC_at(records: any, field: any): Promise<any>;
15
23
  l_REC_bang(rec: any, value: any, field: any): Promise<any>;
16
- RELABEL(container: any, old_keys: any[], new_keys: any[]): Promise<any>;
17
- INVERT_KEYS(record: any): Promise<any>;
18
- REC_DEFAULTS(record: any, key_vals: any[]): Promise<any>;
19
- l_DEL(container: any, key: any): Promise<any>;
24
+ private static parse_jq_path;
25
+ private static jq_get;
26
+ private static seg_key;
27
+ private static jq_set;
28
+ private static jq_del;
29
+ JQ_at(container: any, path: any): Promise<any>;
30
+ JQ_bang(container: any, value: any, path: any): Promise<any>;
31
+ ["JQ-DEL"](container: any, path: any): Promise<any>;
32
+ ENTRIES_to_REC(pairs: any[]): Promise<any>;
33
+ REC_to_ENTRIES(rec: any): Promise<any[][]>;
34
+ MERGE(rec1: any, rec2: any): Promise<any>;
35
+ PICK(rec: any, keys: any[]): Promise<Record<string, any>>;
36
+ OMIT(rec: any, keys: any[]): Promise<Record<string, any>>;
37
+ HAS_KEY(rec: any, key: any): Promise<any>;
38
+ DELETE(container: any, key: any): Promise<any>;
20
39
  KEYS(container: any): Promise<any>;
21
40
  VALUES(container: any): Promise<any>;
22
41
  }