@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
|
@@ -13,14 +13,13 @@ export class CoreModule extends DecoratedModule {
|
|
|
13
13
|
Essential interpreter operations for stack manipulation, variables, control flow, and module system.
|
|
14
14
|
|
|
15
15
|
## Categories
|
|
16
|
-
- Stack:
|
|
16
|
+
- Stack: DROP, DUP, SWAP
|
|
17
17
|
- Variables: VARIABLES, !, @, !@
|
|
18
|
-
- Module:
|
|
19
|
-
- Execution:
|
|
20
|
-
- Control:
|
|
18
|
+
- Module: USE-MODULES
|
|
19
|
+
- Execution: RUN
|
|
20
|
+
- Control: NOP, DEFAULT, DEFAULT-RUN, NULL, IF, IF-RUN, WHEN
|
|
21
|
+
- Predicates: ARRAY?, NULL?, EMPTY?, STRING?, NUMBER?, RECORD?
|
|
21
22
|
- Options: ~> (converts array to WordOptions)
|
|
22
|
-
- Profiling: PROFILE-START, PROFILE-TIMESTAMP, PROFILE-END, PROFILE-DATA
|
|
23
|
-
- Logging: START-LOG, END-LOG
|
|
24
23
|
- String: INTERPOLATE, PRINT
|
|
25
24
|
- Debug: PEEK!, STACK!
|
|
26
25
|
|
|
@@ -65,7 +64,7 @@ INTERPOLATE and PRINT support options via the ~> operator using syntax: [.option
|
|
|
65
64
|
}
|
|
66
65
|
return variable;
|
|
67
66
|
}
|
|
68
|
-
async
|
|
67
|
+
async DROP(_a) {
|
|
69
68
|
// No return = push nothing
|
|
70
69
|
}
|
|
71
70
|
async DUP(a) {
|
|
@@ -131,22 +130,32 @@ INTERPOLATE and PRINT support options via the ~> operator using syntax: [.option
|
|
|
131
130
|
var_obj.set_value(value);
|
|
132
131
|
return var_obj.get_value();
|
|
133
132
|
}
|
|
134
|
-
async
|
|
133
|
+
async RUN(forthic) {
|
|
135
134
|
const string_location = this.interp.get_string_location();
|
|
136
|
-
if (
|
|
137
|
-
await this.interp.run(
|
|
135
|
+
if (forthic)
|
|
136
|
+
await this.interp.run(forthic, string_location);
|
|
138
137
|
}
|
|
139
|
-
async
|
|
140
|
-
|
|
138
|
+
async IF(bool, then_value, else_value) {
|
|
139
|
+
return bool ? then_value : else_value;
|
|
140
|
+
}
|
|
141
|
+
async IF_RUN(bool, then_forthic, else_forthic) {
|
|
142
|
+
const branch = bool ? then_forthic : else_forthic;
|
|
143
|
+
if (branch) {
|
|
144
|
+
const string_location = this.interp.get_string_location();
|
|
145
|
+
await this.interp.run(branch, string_location);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async WHEN(bool, forthic) {
|
|
149
|
+
if (bool && forthic) {
|
|
150
|
+
const string_location = this.interp.get_string_location();
|
|
151
|
+
await this.interp.run(forthic, string_location);
|
|
152
|
+
}
|
|
141
153
|
}
|
|
142
154
|
async USE_MODULES(names, options) {
|
|
143
155
|
if (!names)
|
|
144
156
|
return;
|
|
145
157
|
this.interp.use_modules(names, options);
|
|
146
158
|
}
|
|
147
|
-
async IDENTITY() {
|
|
148
|
-
// No-op
|
|
149
|
-
}
|
|
150
159
|
async NOP() {
|
|
151
160
|
// No-op
|
|
152
161
|
}
|
|
@@ -156,16 +165,39 @@ INTERPOLATE and PRINT support options via the ~> operator using syntax: [.option
|
|
|
156
165
|
async ["ARRAY?"](value) {
|
|
157
166
|
return value instanceof Array;
|
|
158
167
|
}
|
|
168
|
+
async ["NULL?"](value) {
|
|
169
|
+
return value === null || value === undefined;
|
|
170
|
+
}
|
|
171
|
+
async ["EMPTY?"](value) {
|
|
172
|
+
if (value === null || value === undefined)
|
|
173
|
+
return true;
|
|
174
|
+
if (typeof value === "string")
|
|
175
|
+
return value.length === 0;
|
|
176
|
+
if (Array.isArray(value))
|
|
177
|
+
return value.length === 0;
|
|
178
|
+
if (typeof value === "object")
|
|
179
|
+
return Object.keys(value).length === 0;
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
async ["STRING?"](value) {
|
|
183
|
+
return typeof value === "string";
|
|
184
|
+
}
|
|
185
|
+
async ["NUMBER?"](value) {
|
|
186
|
+
return typeof value === "number" && !Number.isNaN(value);
|
|
187
|
+
}
|
|
188
|
+
async ["RECORD?"](value) {
|
|
189
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
190
|
+
}
|
|
159
191
|
async DEFAULT(value, default_value) {
|
|
160
192
|
if (value === undefined || value === null || value === "") {
|
|
161
193
|
return default_value;
|
|
162
194
|
}
|
|
163
195
|
return value;
|
|
164
196
|
}
|
|
165
|
-
async
|
|
197
|
+
async DEFAULT_RUN(value, forthic) {
|
|
166
198
|
if (value === undefined || value === null || value === "") {
|
|
167
199
|
const string_location = this.interp.get_string_location();
|
|
168
|
-
await this.interp.run(
|
|
200
|
+
await this.interp.run(forthic, string_location);
|
|
169
201
|
return this.interp.stack_pop();
|
|
170
202
|
}
|
|
171
203
|
return value;
|
|
@@ -173,44 +205,6 @@ INTERPOLATE and PRINT support options via the ~> operator using syntax: [.option
|
|
|
173
205
|
async ["~>"](array) {
|
|
174
206
|
return new WordOptions(array);
|
|
175
207
|
}
|
|
176
|
-
async ["PROFILE-START"]() {
|
|
177
|
-
this.interp.start_profiling();
|
|
178
|
-
}
|
|
179
|
-
async ["PROFILE-END"]() {
|
|
180
|
-
this.interp.stop_profiling();
|
|
181
|
-
}
|
|
182
|
-
async ["PROFILE-TIMESTAMP"](label) {
|
|
183
|
-
this.interp.add_timestamp(label);
|
|
184
|
-
}
|
|
185
|
-
async ["PROFILE-DATA"]() {
|
|
186
|
-
const histogram = this.interp.word_histogram();
|
|
187
|
-
const timestamps = this.interp.profile_timestamps();
|
|
188
|
-
const result = {
|
|
189
|
-
word_counts: [],
|
|
190
|
-
timestamps: [],
|
|
191
|
-
};
|
|
192
|
-
histogram.forEach((val) => {
|
|
193
|
-
const rec = { word: val["word"], count: val["count"] };
|
|
194
|
-
result["word_counts"].push(rec);
|
|
195
|
-
});
|
|
196
|
-
let prev_time = 0.0;
|
|
197
|
-
timestamps.forEach((t) => {
|
|
198
|
-
const rec = {
|
|
199
|
-
label: t["label"],
|
|
200
|
-
time_ms: t["time_ms"],
|
|
201
|
-
delta: t["time_ms"] - prev_time,
|
|
202
|
-
};
|
|
203
|
-
prev_time = t["time_ms"];
|
|
204
|
-
result["timestamps"].push(rec);
|
|
205
|
-
});
|
|
206
|
-
return result;
|
|
207
|
-
}
|
|
208
|
-
async START_LOG() {
|
|
209
|
-
this.interp.startStream();
|
|
210
|
-
}
|
|
211
|
-
async END_LOG() {
|
|
212
|
-
this.interp.endStream();
|
|
213
|
-
}
|
|
214
208
|
async INTERPOLATE(string, options) {
|
|
215
209
|
const separator = options.separator ?? ", ";
|
|
216
210
|
const null_text = options.null_text ?? "null";
|
|
@@ -260,7 +254,7 @@ INTERPOLATE and PRINT support options via the ~> operator using syntax: [.option
|
|
|
260
254
|
}
|
|
261
255
|
__decorate([
|
|
262
256
|
ForthicWord("( a:any -- )", "Removes top item from stack")
|
|
263
|
-
], CoreModule.prototype, "
|
|
257
|
+
], CoreModule.prototype, "DROP", null);
|
|
264
258
|
__decorate([
|
|
265
259
|
ForthicWord("( a:any -- a:any a:any )", "Duplicates top stack item")
|
|
266
260
|
], CoreModule.prototype, "DUP", null);
|
|
@@ -286,17 +280,20 @@ __decorate([
|
|
|
286
280
|
ForthicWord("( value:any variable:any -- value:any )", "Sets variable and returns value")
|
|
287
281
|
], CoreModule.prototype, "!@", null);
|
|
288
282
|
__decorate([
|
|
289
|
-
ForthicWord("(
|
|
290
|
-
], CoreModule.prototype, "
|
|
283
|
+
ForthicWord("( forthic:string -- ? )", "Run a Forthic string in the current context. Whatever the forthic produces is left on the stack.", "RUN")
|
|
284
|
+
], CoreModule.prototype, "RUN", null);
|
|
291
285
|
__decorate([
|
|
292
|
-
ForthicWord("(
|
|
293
|
-
], CoreModule.prototype, "
|
|
286
|
+
ForthicWord("( bool:boolean then_value:any else_value:any -- chosen:any )", "Pure value selection: push then_value if bool is truthy, else push else_value. For lazy code execution use IF-RUN; for one-sided side effects use WHEN.")
|
|
287
|
+
], CoreModule.prototype, "IF", null);
|
|
288
|
+
__decorate([
|
|
289
|
+
ForthicWord("( bool:boolean then_forthic:string else_forthic:string -- ? )", "Conditional code execution: if bool is truthy run then_forthic, otherwise run else_forthic. Branches are Forthic strings.", "IF-RUN")
|
|
290
|
+
], CoreModule.prototype, "IF_RUN", null);
|
|
291
|
+
__decorate([
|
|
292
|
+
ForthicWord("( bool:boolean forthic:string -- ? )", "If bool is truthy run forthic, otherwise do nothing. The forthic argument is always treated as code (executed in current context).")
|
|
293
|
+
], CoreModule.prototype, "WHEN", null);
|
|
294
294
|
__decorate([
|
|
295
295
|
ForthicWord("( names:string[] [options:WordOptions] -- )", "Imports modules by name", "USE-MODULES")
|
|
296
296
|
], CoreModule.prototype, "USE_MODULES", null);
|
|
297
|
-
__decorate([
|
|
298
|
-
ForthicWord("( -- )", "Does nothing (identity operation)")
|
|
299
|
-
], CoreModule.prototype, "IDENTITY", null);
|
|
300
297
|
__decorate([
|
|
301
298
|
ForthicWord("( -- )", "Does nothing (no operation)")
|
|
302
299
|
], CoreModule.prototype, "NOP", null);
|
|
@@ -307,32 +304,29 @@ __decorate([
|
|
|
307
304
|
ForthicWord("( value:any -- boolean:boolean )", "Returns true if value is an array")
|
|
308
305
|
], CoreModule.prototype, "ARRAY?", null);
|
|
309
306
|
__decorate([
|
|
310
|
-
ForthicWord("( value:any
|
|
311
|
-
], CoreModule.prototype, "
|
|
312
|
-
__decorate([
|
|
313
|
-
ForthicWord("( value:any default_forthic:string -- result:any )", "Returns value or executes Forthic if value is null/undefined/empty string")
|
|
314
|
-
], CoreModule.prototype, "*DEFAULT", null);
|
|
307
|
+
ForthicWord("( value:any -- boolean:boolean )", "Returns true if value is null or undefined")
|
|
308
|
+
], CoreModule.prototype, "NULL?", null);
|
|
315
309
|
__decorate([
|
|
316
|
-
ForthicWord("(
|
|
317
|
-
], CoreModule.prototype, "
|
|
310
|
+
ForthicWord("( value:any -- boolean:boolean )", "Returns true if value is null/undefined, an empty string, or a container (array/record) with no entries")
|
|
311
|
+
], CoreModule.prototype, "EMPTY?", null);
|
|
318
312
|
__decorate([
|
|
319
|
-
ForthicWord("( -- )", "
|
|
320
|
-
], CoreModule.prototype, "
|
|
313
|
+
ForthicWord("( value:any -- boolean:boolean )", "Returns true if value is a string")
|
|
314
|
+
], CoreModule.prototype, "STRING?", null);
|
|
321
315
|
__decorate([
|
|
322
|
-
ForthicWord("( -- )", "
|
|
323
|
-
], CoreModule.prototype, "
|
|
316
|
+
ForthicWord("( value:any -- boolean:boolean )", "Returns true if value is a finite number")
|
|
317
|
+
], CoreModule.prototype, "NUMBER?", null);
|
|
324
318
|
__decorate([
|
|
325
|
-
ForthicWord("(
|
|
326
|
-
], CoreModule.prototype, "
|
|
319
|
+
ForthicWord("( value:any -- boolean:boolean )", "Returns true if value is a plain record (object that is not an array and not null)")
|
|
320
|
+
], CoreModule.prototype, "RECORD?", null);
|
|
327
321
|
__decorate([
|
|
328
|
-
ForthicWord("( --
|
|
329
|
-
], CoreModule.prototype, "
|
|
322
|
+
ForthicWord("( value:any default_value:any -- result:any )", "Returns value or default if value is null/undefined/empty string")
|
|
323
|
+
], CoreModule.prototype, "DEFAULT", null);
|
|
330
324
|
__decorate([
|
|
331
|
-
ForthicWord("( -- )", "
|
|
332
|
-
], CoreModule.prototype, "
|
|
325
|
+
ForthicWord("( value:any forthic:string -- result:any )", "Lazy default: returns value if non-empty, otherwise runs forthic and uses its result. The forthic is only evaluated when needed.", "DEFAULT-RUN")
|
|
326
|
+
], CoreModule.prototype, "DEFAULT_RUN", null);
|
|
333
327
|
__decorate([
|
|
334
|
-
ForthicWord("( -- )", "
|
|
335
|
-
], CoreModule.prototype, "
|
|
328
|
+
ForthicWord("( array:any[] -- options:WordOptions )", "Convert options array to WordOptions. Format: [.key1 val1 .key2 val2]")
|
|
329
|
+
], CoreModule.prototype, "~>", null);
|
|
336
330
|
__decorate([
|
|
337
331
|
ForthicWord("( string:string [options:WordOptions] -- result:string )", "Interpolate variables (.name) and return result string. Use \\. to escape literal dots.")
|
|
338
332
|
], CoreModule.prototype, "INTERPOLATE", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/core_module.ts"],"names":[],"mappings":";;;;;;AAEA,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,OAAO,UAAW,SAAQ,eAAe;IAC7C;QACE,iBAAiB,CAAC,UAAU,EAAE
|
|
1
|
+
{"version":3,"file":"core_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/core_module.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,9 +12,11 @@ export declare class DateTimeModule extends DecoratedModule {
|
|
|
12
12
|
AT(interp: Interpreter): Promise<void>;
|
|
13
13
|
TIME_to_STR(time: any): Promise<string>;
|
|
14
14
|
DATE_to_STR(date: any): Promise<any>;
|
|
15
|
-
DATE_to_INT(date: any): Promise<number>;
|
|
16
15
|
to_TIMESTAMP(interp: Interpreter): Promise<void>;
|
|
17
16
|
TIMESTAMP_to_DATETIME(interp: Interpreter): Promise<void>;
|
|
18
17
|
ADD_DAYS(date: any, num_days: number): Promise<any>;
|
|
19
|
-
|
|
18
|
+
DAYS_BETWEEN(date1: any, date2: any): Promise<any>;
|
|
19
|
+
YEAR(date: any): Promise<any>;
|
|
20
|
+
MONTH(date: any): Promise<any>;
|
|
21
|
+
DAY_OF_WEEK(date: any): Promise<any>;
|
|
20
22
|
}
|
|
@@ -14,9 +14,10 @@ Date and time operations using the Temporal API for timezone-aware datetime mani
|
|
|
14
14
|
- Current: TODAY, NOW
|
|
15
15
|
- Time adjustment: AM, PM
|
|
16
16
|
- Conversion to: >TIME, >DATE, >DATETIME, AT
|
|
17
|
-
- Conversion from: TIME>STR, DATE>STR
|
|
17
|
+
- Conversion from: TIME>STR, DATE>STR
|
|
18
|
+
- Getters: YEAR, MONTH, DAY-OF-WEEK
|
|
18
19
|
- Timestamps: >TIMESTAMP, TIMESTAMP>DATETIME
|
|
19
|
-
- Date math: ADD-DAYS,
|
|
20
|
+
- Date math: ADD-DAYS, DAYS-BETWEEN
|
|
20
21
|
|
|
21
22
|
## Examples
|
|
22
23
|
TODAY
|
|
@@ -199,15 +200,6 @@ TODAY 7 ADD-DAYS
|
|
|
199
200
|
}
|
|
200
201
|
return date.toString();
|
|
201
202
|
}
|
|
202
|
-
async DATE_to_INT(date) {
|
|
203
|
-
if (!date || typeof date.year !== "number") {
|
|
204
|
-
return null;
|
|
205
|
-
}
|
|
206
|
-
const year = date.year;
|
|
207
|
-
const month = String(date.month).padStart(2, "0");
|
|
208
|
-
const day = String(date.day).padStart(2, "0");
|
|
209
|
-
return parseInt(`${year}${month}${day}`, 10);
|
|
210
|
-
}
|
|
211
203
|
async to_TIMESTAMP(interp) {
|
|
212
204
|
const datetime = interp.stack_pop();
|
|
213
205
|
if (!datetime) {
|
|
@@ -254,7 +246,7 @@ TODAY 7 ADD-DAYS
|
|
|
254
246
|
return date.add({ days: num_days });
|
|
255
247
|
}
|
|
256
248
|
// ( date1 date2 -- num_days )
|
|
257
|
-
async
|
|
249
|
+
async DAYS_BETWEEN(date1, date2) {
|
|
258
250
|
if (!date1 || !date2 || typeof date1.year !== "number" || typeof date2.year !== "number") {
|
|
259
251
|
return null;
|
|
260
252
|
}
|
|
@@ -263,6 +255,21 @@ TODAY 7 ADD-DAYS
|
|
|
263
255
|
const duration = date2.until(date1, { largestUnit: "days" });
|
|
264
256
|
return duration.days;
|
|
265
257
|
}
|
|
258
|
+
async YEAR(date) {
|
|
259
|
+
if (!date || typeof date.year !== "number")
|
|
260
|
+
return null;
|
|
261
|
+
return date.year;
|
|
262
|
+
}
|
|
263
|
+
async MONTH(date) {
|
|
264
|
+
if (!date || typeof date.month !== "number")
|
|
265
|
+
return null;
|
|
266
|
+
return date.month;
|
|
267
|
+
}
|
|
268
|
+
async DAY_OF_WEEK(date) {
|
|
269
|
+
if (!date || typeof date.dayOfWeek !== "number")
|
|
270
|
+
return null;
|
|
271
|
+
return date.dayOfWeek;
|
|
272
|
+
}
|
|
266
273
|
}
|
|
267
274
|
__decorate([
|
|
268
275
|
ForthicDirectWord("( -- date:Temporal.PlainDate )", "Get current date", "TODAY")
|
|
@@ -294,9 +301,6 @@ __decorate([
|
|
|
294
301
|
__decorate([
|
|
295
302
|
ForthicWord("( date:Temporal.PlainDate -- str:string )", "Convert date to YYYY-MM-DD string", "DATE>STR")
|
|
296
303
|
], DateTimeModule.prototype, "DATE_to_STR", null);
|
|
297
|
-
__decorate([
|
|
298
|
-
ForthicWord("( date:Temporal.PlainDate -- int:number )", "Convert date to integer (YYYYMMDD)", "DATE>INT")
|
|
299
|
-
], DateTimeModule.prototype, "DATE_to_INT", null);
|
|
300
304
|
__decorate([
|
|
301
305
|
ForthicDirectWord("( datetime:Temporal.ZonedDateTime -- timestamp:number )", "Convert datetime to Unix timestamp (seconds)", ">TIMESTAMP")
|
|
302
306
|
], DateTimeModule.prototype, "to_TIMESTAMP", null);
|
|
@@ -307,6 +311,15 @@ __decorate([
|
|
|
307
311
|
ForthicWord("( date:Temporal.PlainDate num_days:number -- date:Temporal.PlainDate )", "Add days to a date", "ADD-DAYS")
|
|
308
312
|
], DateTimeModule.prototype, "ADD_DAYS", null);
|
|
309
313
|
__decorate([
|
|
310
|
-
ForthicWord("( date1:Temporal.PlainDate date2:Temporal.PlainDate -- num_days:number )", "Get
|
|
311
|
-
], DateTimeModule.prototype, "
|
|
314
|
+
ForthicWord("( date1:Temporal.PlainDate date2:Temporal.PlainDate -- num_days:number )", "Get number of days between two dates (date1 - date2)", "DAYS-BETWEEN")
|
|
315
|
+
], DateTimeModule.prototype, "DAYS_BETWEEN", null);
|
|
316
|
+
__decorate([
|
|
317
|
+
ForthicWord("( date:Temporal.PlainDate -- year:number )", "Get the calendar year of a date.", "YEAR")
|
|
318
|
+
], DateTimeModule.prototype, "YEAR", null);
|
|
319
|
+
__decorate([
|
|
320
|
+
ForthicWord("( date:Temporal.PlainDate -- month:number )", "Get the calendar month of a date (1=January, 12=December).", "MONTH")
|
|
321
|
+
], DateTimeModule.prototype, "MONTH", null);
|
|
322
|
+
__decorate([
|
|
323
|
+
ForthicWord("( date:Temporal.PlainDate -- day:number )", "Get the day-of-week (1=Monday, 7=Sunday, ISO 8601).", "DAY-OF-WEEK")
|
|
324
|
+
], DateTimeModule.prototype, "DAY_OF_WEEK", null);
|
|
312
325
|
//# sourceMappingURL=datetime_module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datetime_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/datetime_module.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE9G,MAAM,OAAO,cAAe,SAAQ,eAAe;IACjD;QACE,iBAAiB,CAAC,cAAc,EAAE
|
|
1
|
+
{"version":3,"file":"datetime_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/datetime_module.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,12 +12,10 @@ JSON serialization, parsing, and formatting operations.
|
|
|
12
12
|
|
|
13
13
|
## Categories
|
|
14
14
|
- Conversion: >JSON, JSON>
|
|
15
|
-
- Formatting: JSON-PRETTIFY
|
|
16
15
|
|
|
17
16
|
## Examples
|
|
18
17
|
{name: "Alice", age: 30} >JSON
|
|
19
18
|
'{"name":"Alice"}' JSON>
|
|
20
|
-
'{"a":1}' JSON-PRETTIFY
|
|
21
19
|
`);
|
|
22
20
|
}
|
|
23
21
|
constructor() {
|
|
@@ -35,13 +33,6 @@ JSON serialization, parsing, and formatting operations.
|
|
|
35
33
|
}
|
|
36
34
|
return JSON.parse(json);
|
|
37
35
|
}
|
|
38
|
-
async JSON_PRETTIFY(json) {
|
|
39
|
-
if (!json || json.trim() === "") {
|
|
40
|
-
return "";
|
|
41
|
-
}
|
|
42
|
-
const obj = JSON.parse(json);
|
|
43
|
-
return JSON.stringify(obj, null, 2);
|
|
44
|
-
}
|
|
45
36
|
}
|
|
46
37
|
__decorate([
|
|
47
38
|
ForthicWord("( object:any -- json:string )", "Convert object to JSON string", ">JSON")
|
|
@@ -49,7 +40,4 @@ __decorate([
|
|
|
49
40
|
__decorate([
|
|
50
41
|
ForthicWord("( json:string -- object:any )", "Parse JSON string to object", "JSON>")
|
|
51
42
|
], JsonModule.prototype, "from_JSON", null);
|
|
52
|
-
__decorate([
|
|
53
|
-
ForthicWord("( json:string -- pretty:string )", "Format JSON with 2-space indentation", "JSON-PRETTIFY")
|
|
54
|
-
], JsonModule.prototype, "JSON_PRETTIFY", null);
|
|
55
43
|
//# sourceMappingURL=json_module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/json_module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE3F,MAAM,OAAO,UAAW,SAAQ,eAAe;IAC7C;QACE,iBAAiB,CAAC,UAAU,EAAE
|
|
1
|
+
{"version":3,"file":"json_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/json_module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE3F,MAAM,OAAO,UAAW,SAAQ,eAAe;IAC7C;QACE,iBAAiB,CAAC,UAAU,EAAE;;;;;;;;;CASjC,CAAC,CAAC;IACD,CAAC;IAED;QACE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAC,MAAW;QACvB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAEF;AAfO;IADL,WAAW,CAAC,+BAA+B,EAAE,+BAA+B,EAAE,OAAO,CAAC;yCAMtF;AAGK;IADL,WAAW,CAAC,+BAA+B,EAAE,6BAA6B,EAAE,OAAO,CAAC;2CAMpF"}
|
|
@@ -1,26 +1,21 @@
|
|
|
1
|
-
import { Interpreter } from "../../interpreter.js";
|
|
2
1
|
import { DecoratedModule } from "../../decorators/word.js";
|
|
3
2
|
export declare class MathModule extends DecoratedModule {
|
|
4
3
|
constructor();
|
|
5
|
-
plus(
|
|
6
|
-
plus_ADD(interp: Interpreter): Promise<void>;
|
|
4
|
+
plus(a: any, b: any): Promise<any>;
|
|
7
5
|
minus(a: number, b: number): Promise<number>;
|
|
8
|
-
|
|
9
|
-
times(interp: Interpreter): Promise<void>;
|
|
10
|
-
times_MULTIPLY(interp: Interpreter): Promise<void>;
|
|
6
|
+
times(a: any, b: any): Promise<number>;
|
|
11
7
|
divide_by(a: number, b: number): Promise<number>;
|
|
12
|
-
divide_by_DIVIDE(a: number, b: number): Promise<number>;
|
|
13
8
|
MOD(m: number, n: number): Promise<number>;
|
|
9
|
+
RANGE(start: number, end: number): Promise<number[]>;
|
|
14
10
|
MEAN(items: any): Promise<any>;
|
|
15
|
-
MAX(
|
|
16
|
-
MIN(
|
|
11
|
+
MAX(numbers: any): Promise<number>;
|
|
12
|
+
MIN(numbers: any): Promise<number>;
|
|
13
|
+
PRODUCT(numbers: number[]): Promise<number>;
|
|
17
14
|
SUM(numbers: number[]): Promise<number>;
|
|
18
15
|
[">INT"](a: any): Promise<number>;
|
|
19
16
|
[">FLOAT"](a: any): Promise<number>;
|
|
20
|
-
|
|
17
|
+
FORMAT_FIXED(num: number, digits: number): Promise<string>;
|
|
21
18
|
ROUND(num: number): Promise<number>;
|
|
22
|
-
INFINITY(): Promise<number>;
|
|
23
|
-
["UNIFORM-RANDOM"](low: number, high: number): Promise<number>;
|
|
24
19
|
ABS(n: number): Promise<number>;
|
|
25
20
|
SQRT(n: number): Promise<number>;
|
|
26
21
|
FLOOR(n: number): Promise<number>;
|