@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.
- package/dist/cjs/forthic/interpreter.js +2 -0
- package/dist/cjs/forthic/interpreter.js.map +1 -1
- package/dist/cjs/forthic/modules/standard/array_module.d.ts +17 -7
- package/dist/cjs/forthic/modules/standard/array_module.js +326 -78
- package/dist/cjs/forthic/modules/standard/array_module.js.map +1 -1
- package/dist/cjs/forthic/modules/standard/boolean_module.d.ts +5 -6
- package/dist/cjs/forthic/modules/standard/boolean_module.js +43 -60
- package/dist/cjs/forthic/modules/standard/boolean_module.js.map +1 -1
- package/dist/cjs/forthic/modules/standard/core_module.d.ts +11 -14
- package/dist/cjs/forthic/modules/standard/core_module.js +91 -97
- package/dist/cjs/forthic/modules/standard/core_module.js.map +1 -1
- package/dist/cjs/forthic/modules/standard/datetime_module.d.ts +4 -2
- package/dist/cjs/forthic/modules/standard/datetime_module.js +39 -20
- package/dist/cjs/forthic/modules/standard/datetime_module.js.map +1 -1
- package/dist/cjs/forthic/modules/standard/json_module.d.ts +0 -1
- package/dist/cjs/forthic/modules/standard/json_module.js +0 -15
- package/dist/cjs/forthic/modules/standard/json_module.js.map +1 -1
- package/dist/cjs/forthic/modules/standard/math_module.d.ts +7 -12
- package/dist/cjs/forthic/modules/standard/math_module.js +76 -137
- package/dist/cjs/forthic/modules/standard/math_module.js.map +1 -1
- package/dist/cjs/forthic/modules/standard/record_module.d.ts +15 -4
- package/dist/cjs/forthic/modules/standard/record_module.js +311 -45
- package/dist/cjs/forthic/modules/standard/record_module.js.map +1 -1
- package/dist/cjs/forthic/modules/standard/string_module.d.ts +14 -6
- package/dist/cjs/forthic/modules/standard/string_module.js +183 -60
- package/dist/cjs/forthic/modules/standard/string_module.js.map +1 -1
- package/dist/cjs/forthic/tokenizer.js +29 -1
- package/dist/cjs/forthic/tokenizer.js.map +1 -1
- package/dist/esm/forthic/interpreter.js +2 -0
- package/dist/esm/forthic/interpreter.js.map +1 -1
- package/dist/esm/forthic/modules/standard/array_module.d.ts +17 -7
- package/dist/esm/forthic/modules/standard/array_module.js +293 -72
- package/dist/esm/forthic/modules/standard/array_module.js.map +1 -1
- package/dist/esm/forthic/modules/standard/boolean_module.d.ts +5 -6
- package/dist/esm/forthic/modules/standard/boolean_module.js +38 -54
- package/dist/esm/forthic/modules/standard/boolean_module.js.map +1 -1
- package/dist/esm/forthic/modules/standard/core_module.d.ts +11 -14
- package/dist/esm/forthic/modules/standard/core_module.js +76 -82
- package/dist/esm/forthic/modules/standard/core_module.js.map +1 -1
- package/dist/esm/forthic/modules/standard/datetime_module.d.ts +4 -2
- package/dist/esm/forthic/modules/standard/datetime_module.js +30 -17
- package/dist/esm/forthic/modules/standard/datetime_module.js.map +1 -1
- package/dist/esm/forthic/modules/standard/json_module.d.ts +0 -1
- package/dist/esm/forthic/modules/standard/json_module.js +0 -12
- package/dist/esm/forthic/modules/standard/json_module.js.map +1 -1
- package/dist/esm/forthic/modules/standard/math_module.d.ts +7 -12
- package/dist/esm/forthic/modules/standard/math_module.js +69 -117
- package/dist/esm/forthic/modules/standard/math_module.js.map +1 -1
- package/dist/esm/forthic/modules/standard/record_module.d.ts +15 -4
- package/dist/esm/forthic/modules/standard/record_module.js +292 -44
- package/dist/esm/forthic/modules/standard/record_module.js.map +1 -1
- package/dist/esm/forthic/modules/standard/string_module.d.ts +14 -6
- package/dist/esm/forthic/modules/standard/string_module.js +151 -54
- package/dist/esm/forthic/modules/standard/string_module.js.map +1 -1
- package/dist/esm/forthic/tokenizer.js +29 -1
- package/dist/esm/forthic/tokenizer.js.map +1 -1
- 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
|
-
-
|
|
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
|
}
|
|
@@ -101,53 +107,277 @@ Record (object/dictionary) manipulation operations for working with key-value da
|
|
|
101
107
|
cur_rec[fields[fields.length - 1]] = value;
|
|
102
108
|
return _rec;
|
|
103
109
|
}
|
|
104
|
-
|
|
105
|
-
|
|
110
|
+
// ========================================
|
|
111
|
+
// JQ-style path access
|
|
112
|
+
// ========================================
|
|
113
|
+
static parse_jq_path(path) {
|
|
114
|
+
if (Array.isArray(path)) {
|
|
115
|
+
return path.map((p) => {
|
|
116
|
+
if (typeof p === "number")
|
|
117
|
+
return { kind: "index", n: p };
|
|
118
|
+
return { kind: "field", name: String(p) };
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
let s = String(path ?? "");
|
|
122
|
+
if (s === "" || s === ".")
|
|
123
|
+
return [];
|
|
124
|
+
if (s.startsWith("."))
|
|
125
|
+
s = s.slice(1);
|
|
126
|
+
const segments = [];
|
|
127
|
+
let i = 0;
|
|
128
|
+
while (i < s.length) {
|
|
129
|
+
const ch = s[i];
|
|
130
|
+
if (ch === ".") {
|
|
131
|
+
i++;
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
if (ch === "[") {
|
|
135
|
+
i++;
|
|
136
|
+
if (i >= s.length) {
|
|
137
|
+
throw new Error(`JQ path: unclosed '[' in "${path}"`);
|
|
138
|
+
}
|
|
139
|
+
if (s[i] === "]") {
|
|
140
|
+
segments.push({ kind: "iterate" });
|
|
141
|
+
i++;
|
|
142
|
+
}
|
|
143
|
+
else if (s[i] === '"' || s[i] === "'") {
|
|
144
|
+
const quote = s[i];
|
|
145
|
+
i++;
|
|
146
|
+
let name = "";
|
|
147
|
+
while (i < s.length && s[i] !== quote) {
|
|
148
|
+
name += s[i];
|
|
149
|
+
i++;
|
|
150
|
+
}
|
|
151
|
+
if (i >= s.length) {
|
|
152
|
+
throw new Error(`JQ path: unclosed quote in "${path}"`);
|
|
153
|
+
}
|
|
154
|
+
i++;
|
|
155
|
+
if (s[i] !== "]") {
|
|
156
|
+
throw new Error(`JQ path: expected ']' after quoted key in "${path}"`);
|
|
157
|
+
}
|
|
158
|
+
i++;
|
|
159
|
+
segments.push({ kind: "field", name });
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
let num = "";
|
|
163
|
+
while (i < s.length && s[i] !== "]") {
|
|
164
|
+
num += s[i];
|
|
165
|
+
i++;
|
|
166
|
+
}
|
|
167
|
+
if (i >= s.length) {
|
|
168
|
+
throw new Error(`JQ path: unclosed '[' in "${path}"`);
|
|
169
|
+
}
|
|
170
|
+
i++;
|
|
171
|
+
const n = parseInt(num, 10);
|
|
172
|
+
if (isNaN(n)) {
|
|
173
|
+
throw new Error(`JQ path: invalid index "${num}" in "${path}"`);
|
|
174
|
+
}
|
|
175
|
+
segments.push({ kind: "index", n });
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
let name = "";
|
|
180
|
+
while (i < s.length && s[i] !== "." && s[i] !== "[") {
|
|
181
|
+
name += s[i];
|
|
182
|
+
i++;
|
|
183
|
+
}
|
|
184
|
+
if (name)
|
|
185
|
+
segments.push({ kind: "field", name });
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return segments;
|
|
189
|
+
}
|
|
190
|
+
static jq_get(container, segments) {
|
|
191
|
+
if (segments.length === 0)
|
|
192
|
+
return container ?? null;
|
|
193
|
+
if (container == null)
|
|
194
|
+
return null;
|
|
195
|
+
const [first, ...rest] = segments;
|
|
196
|
+
if (first.kind === "iterate") {
|
|
197
|
+
let items;
|
|
198
|
+
if (Array.isArray(container)) {
|
|
199
|
+
items = container;
|
|
200
|
+
}
|
|
201
|
+
else if (typeof container === "object") {
|
|
202
|
+
items = Object.keys(container)
|
|
203
|
+
.sort()
|
|
204
|
+
.map((k) => container[k]);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
return [];
|
|
208
|
+
}
|
|
209
|
+
const rest_iterates = rest.some((s) => s.kind === "iterate");
|
|
210
|
+
const result = [];
|
|
211
|
+
for (const item of items) {
|
|
212
|
+
if (rest.length === 0) {
|
|
213
|
+
result.push(item);
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
const r = RecordModule.jq_get(item, rest);
|
|
217
|
+
if (rest_iterates && Array.isArray(r)) {
|
|
218
|
+
result.push(...r);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
result.push(r);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
return result;
|
|
226
|
+
}
|
|
227
|
+
if (first.kind === "field") {
|
|
228
|
+
const next = container[first.name];
|
|
229
|
+
return RecordModule.jq_get(next, rest);
|
|
230
|
+
}
|
|
231
|
+
// index
|
|
232
|
+
if (Array.isArray(container)) {
|
|
233
|
+
const n = first.n < 0 ? container.length + first.n : first.n;
|
|
234
|
+
if (n < 0 || n >= container.length)
|
|
235
|
+
return null;
|
|
236
|
+
return RecordModule.jq_get(container[n], rest);
|
|
237
|
+
}
|
|
238
|
+
if (typeof container === "object") {
|
|
239
|
+
const keys = Object.keys(container).sort();
|
|
240
|
+
const n = first.n < 0 ? keys.length + first.n : first.n;
|
|
241
|
+
if (n < 0 || n >= keys.length)
|
|
242
|
+
return null;
|
|
243
|
+
return RecordModule.jq_get(container[keys[n]], rest);
|
|
244
|
+
}
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
static seg_key(seg) {
|
|
248
|
+
if (seg.kind === "field")
|
|
249
|
+
return seg.name;
|
|
250
|
+
if (seg.kind === "index")
|
|
251
|
+
return seg.n;
|
|
252
|
+
throw new Error("JQ: [] iteration not supported here");
|
|
253
|
+
}
|
|
254
|
+
static jq_set(container, segments, value) {
|
|
255
|
+
let cur = container;
|
|
256
|
+
for (let i = 0; i < segments.length - 1; i++) {
|
|
257
|
+
const seg = segments[i];
|
|
258
|
+
const next = segments[i + 1];
|
|
259
|
+
const key = RecordModule.seg_key(seg);
|
|
260
|
+
let child = cur[key];
|
|
261
|
+
if (child == null || typeof child !== "object") {
|
|
262
|
+
child = next.kind === "index" ? [] : {};
|
|
263
|
+
cur[key] = child;
|
|
264
|
+
}
|
|
265
|
+
cur = child;
|
|
266
|
+
}
|
|
267
|
+
const last_key = RecordModule.seg_key(segments[segments.length - 1]);
|
|
268
|
+
cur[last_key] = value;
|
|
269
|
+
return container;
|
|
270
|
+
}
|
|
271
|
+
static jq_del(container, segments) {
|
|
272
|
+
let cur = container;
|
|
273
|
+
for (let i = 0; i < segments.length - 1; i++) {
|
|
274
|
+
const key = RecordModule.seg_key(segments[i]);
|
|
275
|
+
if (cur == null || typeof cur !== "object")
|
|
276
|
+
return container;
|
|
277
|
+
cur = cur[key];
|
|
278
|
+
}
|
|
279
|
+
if (cur == null || typeof cur !== "object")
|
|
106
280
|
return container;
|
|
107
|
-
|
|
108
|
-
|
|
281
|
+
const last = segments[segments.length - 1];
|
|
282
|
+
if (last.kind === "field") {
|
|
283
|
+
delete cur[last.name];
|
|
109
284
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
285
|
+
else if (last.kind === "index") {
|
|
286
|
+
if (Array.isArray(cur)) {
|
|
287
|
+
const n = last.n < 0 ? cur.length + last.n : last.n;
|
|
288
|
+
if (n >= 0 && n < cur.length)
|
|
289
|
+
cur.splice(n, 1);
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
delete cur[last.n];
|
|
293
|
+
}
|
|
113
294
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
295
|
+
return container;
|
|
296
|
+
}
|
|
297
|
+
async JQ_at(container, path) {
|
|
298
|
+
const segments = RecordModule.parse_jq_path(path);
|
|
299
|
+
return RecordModule.jq_get(container, segments);
|
|
300
|
+
}
|
|
301
|
+
async JQ_bang(container, value, path) {
|
|
302
|
+
const segments = RecordModule.parse_jq_path(path);
|
|
303
|
+
if (segments.some((s) => s.kind === "iterate")) {
|
|
304
|
+
throw new Error("JQ!: [] iteration not supported in set paths");
|
|
120
305
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
306
|
+
if (segments.length === 0)
|
|
307
|
+
return value;
|
|
308
|
+
let _container = container;
|
|
309
|
+
if (_container == null || typeof _container !== "object") {
|
|
310
|
+
_container = segments[0].kind === "index" ? [] : {};
|
|
124
311
|
}
|
|
125
|
-
return
|
|
312
|
+
return RecordModule.jq_set(_container, segments, value);
|
|
313
|
+
}
|
|
314
|
+
async ["JQ-DEL"](container, path) {
|
|
315
|
+
const segments = RecordModule.parse_jq_path(path);
|
|
316
|
+
if (segments.some((s) => s.kind === "iterate")) {
|
|
317
|
+
throw new Error("JQ-DEL: [] iteration not supported in delete paths");
|
|
318
|
+
}
|
|
319
|
+
if (segments.length === 0 || container == null)
|
|
320
|
+
return container;
|
|
321
|
+
return RecordModule.jq_del(container, segments);
|
|
126
322
|
}
|
|
127
|
-
async
|
|
323
|
+
async ENTRIES_to_REC(pairs) {
|
|
324
|
+
let _key_vals = pairs;
|
|
325
|
+
if (!_key_vals)
|
|
326
|
+
_key_vals = [];
|
|
128
327
|
const result = {};
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
if (
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
328
|
+
_key_vals.forEach((pair) => {
|
|
329
|
+
let key = null;
|
|
330
|
+
let val = null;
|
|
331
|
+
if (pair) {
|
|
332
|
+
if (pair.length >= 1)
|
|
333
|
+
key = pair[0];
|
|
334
|
+
if (pair.length >= 2)
|
|
335
|
+
val = pair[1];
|
|
336
|
+
}
|
|
337
|
+
result[key] = val;
|
|
137
338
|
});
|
|
138
339
|
return result;
|
|
139
340
|
}
|
|
140
|
-
async
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
341
|
+
async REC_to_ENTRIES(rec) {
|
|
342
|
+
if (!rec || typeof rec !== "object" || Array.isArray(rec))
|
|
343
|
+
return [];
|
|
344
|
+
const keys = Object.keys(rec).sort();
|
|
345
|
+
return keys.map((k) => [k, rec[k]]);
|
|
346
|
+
}
|
|
347
|
+
async MERGE(rec1, rec2) {
|
|
348
|
+
const a = rec1 && typeof rec1 === "object" && !Array.isArray(rec1) ? rec1 : {};
|
|
349
|
+
const b = rec2 && typeof rec2 === "object" && !Array.isArray(rec2) ? rec2 : {};
|
|
350
|
+
return { ...a, ...b };
|
|
351
|
+
}
|
|
352
|
+
async PICK(rec, keys) {
|
|
353
|
+
if (!rec || typeof rec !== "object" || Array.isArray(rec))
|
|
354
|
+
return {};
|
|
355
|
+
const ks = Array.isArray(keys) ? keys : [];
|
|
356
|
+
const result = {};
|
|
357
|
+
for (const k of ks) {
|
|
358
|
+
if (Object.prototype.hasOwnProperty.call(rec, k)) {
|
|
359
|
+
result[k] = rec[k];
|
|
146
360
|
}
|
|
147
|
-
}
|
|
148
|
-
return
|
|
361
|
+
}
|
|
362
|
+
return result;
|
|
149
363
|
}
|
|
150
|
-
async
|
|
364
|
+
async OMIT(rec, keys) {
|
|
365
|
+
if (!rec || typeof rec !== "object" || Array.isArray(rec))
|
|
366
|
+
return {};
|
|
367
|
+
const drop = new Set(Array.isArray(keys) ? keys : []);
|
|
368
|
+
const result = {};
|
|
369
|
+
for (const k of Object.keys(rec)) {
|
|
370
|
+
if (!drop.has(k))
|
|
371
|
+
result[k] = rec[k];
|
|
372
|
+
}
|
|
373
|
+
return result;
|
|
374
|
+
}
|
|
375
|
+
async HAS_KEY(rec, key) {
|
|
376
|
+
if (!rec || typeof rec !== "object" || Array.isArray(rec))
|
|
377
|
+
return false;
|
|
378
|
+
return Object.prototype.hasOwnProperty.call(rec, key);
|
|
379
|
+
}
|
|
380
|
+
async DELETE(container, key) {
|
|
151
381
|
if (!container)
|
|
152
382
|
return container;
|
|
153
383
|
if (container instanceof Array) {
|
|
@@ -215,29 +445,65 @@ __decorate([
|
|
|
215
445
|
__metadata("design:returntype", Promise)
|
|
216
446
|
], RecordModule.prototype, "l_REC_bang", null);
|
|
217
447
|
__decorate([
|
|
218
|
-
(0, word_js_1.ForthicWord)("( container:any
|
|
448
|
+
(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@"),
|
|
449
|
+
__metadata("design:type", Function),
|
|
450
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
451
|
+
__metadata("design:returntype", Promise)
|
|
452
|
+
], RecordModule.prototype, "JQ_at", null);
|
|
453
|
+
__decorate([
|
|
454
|
+
(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!"),
|
|
455
|
+
__metadata("design:type", Function),
|
|
456
|
+
__metadata("design:paramtypes", [Object, Object, Object]),
|
|
457
|
+
__metadata("design:returntype", Promise)
|
|
458
|
+
], RecordModule.prototype, "JQ_bang", null);
|
|
459
|
+
__decorate([
|
|
460
|
+
(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"),
|
|
219
461
|
__metadata("design:type", Function),
|
|
220
|
-
__metadata("design:paramtypes", [Object,
|
|
462
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
221
463
|
__metadata("design:returntype", Promise)
|
|
222
|
-
], RecordModule.prototype, "
|
|
464
|
+
], RecordModule.prototype, "JQ-DEL", null);
|
|
223
465
|
__decorate([
|
|
224
|
-
(0, word_js_1.ForthicWord)("(
|
|
466
|
+
(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"),
|
|
467
|
+
__metadata("design:type", Function),
|
|
468
|
+
__metadata("design:paramtypes", [Array]),
|
|
469
|
+
__metadata("design:returntype", Promise)
|
|
470
|
+
], RecordModule.prototype, "ENTRIES_to_REC", null);
|
|
471
|
+
__decorate([
|
|
472
|
+
(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
473
|
__metadata("design:type", Function),
|
|
226
474
|
__metadata("design:paramtypes", [Object]),
|
|
227
475
|
__metadata("design:returntype", Promise)
|
|
228
|
-
], RecordModule.prototype, "
|
|
476
|
+
], RecordModule.prototype, "REC_to_ENTRIES", null);
|
|
477
|
+
__decorate([
|
|
478
|
+
(0, word_js_1.ForthicWord)("( rec1:any rec2:any -- merged:any )", "Shallow merge two records. Keys present in rec2 override rec1.", "MERGE"),
|
|
479
|
+
__metadata("design:type", Function),
|
|
480
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
481
|
+
__metadata("design:returntype", Promise)
|
|
482
|
+
], RecordModule.prototype, "MERGE", null);
|
|
229
483
|
__decorate([
|
|
230
|
-
(0, word_js_1.ForthicWord)("(
|
|
484
|
+
(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"),
|
|
231
485
|
__metadata("design:type", Function),
|
|
232
486
|
__metadata("design:paramtypes", [Object, Array]),
|
|
233
487
|
__metadata("design:returntype", Promise)
|
|
234
|
-
], RecordModule.prototype, "
|
|
488
|
+
], RecordModule.prototype, "PICK", null);
|
|
489
|
+
__decorate([
|
|
490
|
+
(0, word_js_1.ForthicWord)("( rec:any keys:any[] -- rec:any )", "Return a new record without the listed keys.", "OMIT"),
|
|
491
|
+
__metadata("design:type", Function),
|
|
492
|
+
__metadata("design:paramtypes", [Object, Array]),
|
|
493
|
+
__metadata("design:returntype", Promise)
|
|
494
|
+
], RecordModule.prototype, "OMIT", null);
|
|
495
|
+
__decorate([
|
|
496
|
+
(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?"),
|
|
497
|
+
__metadata("design:type", Function),
|
|
498
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
499
|
+
__metadata("design:returntype", Promise)
|
|
500
|
+
], RecordModule.prototype, "HAS_KEY", null);
|
|
235
501
|
__decorate([
|
|
236
|
-
(0, word_js_1.ForthicWord)("( container:any key:any -- container:any )", "Delete key from record or index from array", "
|
|
502
|
+
(0, word_js_1.ForthicWord)("( container:any key:any -- container:any )", "Delete key from record or index from array", "DELETE"),
|
|
237
503
|
__metadata("design:type", Function),
|
|
238
504
|
__metadata("design:paramtypes", [Object, Object]),
|
|
239
505
|
__metadata("design:returntype", Promise)
|
|
240
|
-
], RecordModule.prototype, "
|
|
506
|
+
], RecordModule.prototype, "DELETE", null);
|
|
241
507
|
__decorate([
|
|
242
508
|
(0, word_js_1.ForthicWord)("( container:any -- keys:any[] )", "Get keys from record or indices from array"),
|
|
243
509
|
__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(
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
}
|