@calcit/procs 0.8.48 → 0.8.50
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/lib/calcit-data.mjs +11 -6
- package/lib/calcit.procs.mjs +21 -22
- package/lib/package.json +2 -2
- package/package.json +2 -2
- package/ts-src/calcit-data.mts +12 -6
- package/ts-src/calcit.procs.mts +18 -19
package/lib/calcit-data.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { overwriteHashGenerator, valueHash, mergeValueHash } from "@calcit/ternary-tree";
|
|
2
2
|
import { overwriteComparator } from "@calcit/ternary-tree";
|
|
3
3
|
import { overwriteMapComparator } from "./js-map.mjs";
|
|
4
|
+
import { disableListStructureCheck } from "@calcit/ternary-tree";
|
|
4
5
|
import { CalcitRecord, fieldsEqual } from "./js-record.mjs";
|
|
5
6
|
import { CalcitMap, CalcitSliceMap } from "./js-map.mjs";
|
|
6
7
|
import { _$n_compare } from "./js-primes.mjs";
|
|
@@ -476,22 +477,24 @@ export let _$n__$e_ = (x, y) => {
|
|
|
476
477
|
return false;
|
|
477
478
|
}
|
|
478
479
|
if (tx === "string") {
|
|
479
|
-
|
|
480
|
+
// already checked above
|
|
481
|
+
return false;
|
|
480
482
|
}
|
|
481
483
|
if (tx === "boolean") {
|
|
482
|
-
|
|
484
|
+
// already checked above
|
|
485
|
+
return false;
|
|
483
486
|
}
|
|
484
487
|
if (tx === "number") {
|
|
485
|
-
|
|
488
|
+
// already checked above
|
|
489
|
+
return false;
|
|
486
490
|
}
|
|
487
491
|
if (tx === "function") {
|
|
488
492
|
// comparing functions by reference
|
|
489
493
|
return x === y;
|
|
490
494
|
}
|
|
491
495
|
if (x instanceof CalcitTag) {
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
}
|
|
496
|
+
// comparing tags by reference
|
|
497
|
+
// already checked above
|
|
495
498
|
return false;
|
|
496
499
|
}
|
|
497
500
|
if (x instanceof CalcitSymbol) {
|
|
@@ -618,3 +621,5 @@ export let _$n__$e_ = (x, y) => {
|
|
|
618
621
|
overwriteComparator(_$n__$e_);
|
|
619
622
|
overwriteMapComparator(_$n__$e_);
|
|
620
623
|
overwriteSetComparator(_$n__$e_);
|
|
624
|
+
/** special trick for disabling ternary tree list check */
|
|
625
|
+
export let disable_list_structure_check_$x_ = disableListStructureCheck;
|
package/lib/calcit.procs.mjs
CHANGED
|
@@ -383,10 +383,9 @@ export let reset_$x_ = (a, v) => {
|
|
|
383
383
|
}
|
|
384
384
|
let prev = a.value;
|
|
385
385
|
a.value = v;
|
|
386
|
-
|
|
387
|
-
let f = a.listeners.get(k);
|
|
386
|
+
a.listeners.forEach((f) => {
|
|
388
387
|
f(v, prev);
|
|
389
|
-
}
|
|
388
|
+
});
|
|
390
389
|
return null;
|
|
391
390
|
};
|
|
392
391
|
export let add_watch = (a, k, f) => {
|
|
@@ -1225,28 +1224,40 @@ export function invoke_method_closure(p) {
|
|
|
1225
1224
|
function lookup_class(obj) {
|
|
1226
1225
|
let klass;
|
|
1227
1226
|
let tag;
|
|
1228
|
-
if (obj
|
|
1229
|
-
tag = "&core-
|
|
1230
|
-
klass = calcit_builtin_classes.
|
|
1227
|
+
if (obj instanceof CalcitList || obj instanceof CalcitSliceList) {
|
|
1228
|
+
tag = "&core-list-class";
|
|
1229
|
+
klass = calcit_builtin_classes.list;
|
|
1231
1230
|
}
|
|
1232
|
-
else if (obj instanceof
|
|
1231
|
+
else if (obj instanceof CalcitMap || obj instanceof CalcitSliceMap) {
|
|
1232
|
+
tag = "&core-map-class";
|
|
1233
|
+
klass = calcit_builtin_classes.map;
|
|
1234
|
+
}
|
|
1235
|
+
else if (obj instanceof CalcitRecord) {
|
|
1233
1236
|
if (obj.klass instanceof CalcitRecord) {
|
|
1234
|
-
tag = obj.
|
|
1237
|
+
tag = obj.name.toString();
|
|
1235
1238
|
klass = obj.klass;
|
|
1236
1239
|
}
|
|
1237
1240
|
else {
|
|
1238
1241
|
throw new Error("Method invoking expected a record as class");
|
|
1239
1242
|
}
|
|
1240
1243
|
}
|
|
1241
|
-
else if (obj instanceof
|
|
1244
|
+
else if (obj instanceof CalcitTuple) {
|
|
1242
1245
|
if (obj.klass instanceof CalcitRecord) {
|
|
1243
|
-
tag = obj.
|
|
1246
|
+
tag = obj.tag.toString();
|
|
1244
1247
|
klass = obj.klass;
|
|
1245
1248
|
}
|
|
1246
1249
|
else {
|
|
1247
1250
|
throw new Error("Method invoking expected a record as class");
|
|
1248
1251
|
}
|
|
1249
1252
|
}
|
|
1253
|
+
else if (obj instanceof CalcitSet) {
|
|
1254
|
+
tag = "&core-set-class";
|
|
1255
|
+
klass = calcit_builtin_classes.set;
|
|
1256
|
+
}
|
|
1257
|
+
else if (obj == null) {
|
|
1258
|
+
tag = "&core-nil-class";
|
|
1259
|
+
klass = calcit_builtin_classes.nil;
|
|
1260
|
+
}
|
|
1250
1261
|
else if (typeof obj === "number") {
|
|
1251
1262
|
tag = "&core-number-class";
|
|
1252
1263
|
klass = calcit_builtin_classes.number;
|
|
@@ -1259,18 +1270,6 @@ function lookup_class(obj) {
|
|
|
1259
1270
|
tag = "&core-fn-class";
|
|
1260
1271
|
klass = calcit_builtin_classes.fn;
|
|
1261
1272
|
}
|
|
1262
|
-
else if (obj instanceof CalcitSet) {
|
|
1263
|
-
tag = "&core-set-class";
|
|
1264
|
-
klass = calcit_builtin_classes.set;
|
|
1265
|
-
}
|
|
1266
|
-
else if (obj instanceof CalcitList || obj instanceof CalcitSliceList) {
|
|
1267
|
-
tag = "&core-list-class";
|
|
1268
|
-
klass = calcit_builtin_classes.list;
|
|
1269
|
-
}
|
|
1270
|
-
else if (obj instanceof CalcitMap || obj instanceof CalcitSliceMap) {
|
|
1271
|
-
tag = "&core-map-class";
|
|
1272
|
-
klass = calcit_builtin_classes.map;
|
|
1273
|
-
}
|
|
1274
1273
|
else {
|
|
1275
1274
|
return null;
|
|
1276
1275
|
}
|
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@calcit/procs",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.50",
|
|
4
4
|
"main": "./lib/calcit.procs.mjs",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@types/node": "^20.11.28",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"url": "https://github.com/calcit-lang/calcit"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@calcit/ternary-tree": "0.0.
|
|
24
|
+
"@calcit/ternary-tree": "0.0.24",
|
|
25
25
|
"@cirru/parser.ts": "^0.0.6",
|
|
26
26
|
"@cirru/writer.ts": "^0.1.5"
|
|
27
27
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@calcit/procs",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.50",
|
|
4
4
|
"main": "./lib/calcit.procs.mjs",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@types/node": "^20.11.28",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"url": "https://github.com/calcit-lang/calcit"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@calcit/ternary-tree": "0.0.
|
|
24
|
+
"@calcit/ternary-tree": "0.0.24",
|
|
25
25
|
"@cirru/parser.ts": "^0.0.6",
|
|
26
26
|
"@cirru/writer.ts": "^0.1.5"
|
|
27
27
|
}
|
package/ts-src/calcit-data.mts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Hash, overwriteHashGenerator, valueHash, mergeValueHash } from "@calcit/ternary-tree";
|
|
2
2
|
import { overwriteComparator, initTernaryTreeMap } from "@calcit/ternary-tree";
|
|
3
3
|
import { overwriteMapComparator } from "./js-map.mjs";
|
|
4
|
+
import { disableListStructureCheck } from "@calcit/ternary-tree";
|
|
4
5
|
|
|
5
6
|
import { CalcitRecord, fieldsEqual } from "./js-record.mjs";
|
|
6
7
|
import { CalcitMap, CalcitSliceMap } from "./js-map.mjs";
|
|
@@ -518,22 +519,24 @@ export let _$n__$e_ = (x: CalcitValue, y: CalcitValue): boolean => {
|
|
|
518
519
|
}
|
|
519
520
|
|
|
520
521
|
if (tx === "string") {
|
|
521
|
-
|
|
522
|
+
// already checked above
|
|
523
|
+
return false;
|
|
522
524
|
}
|
|
523
525
|
if (tx === "boolean") {
|
|
524
|
-
|
|
526
|
+
// already checked above
|
|
527
|
+
return false;
|
|
525
528
|
}
|
|
526
529
|
if (tx === "number") {
|
|
527
|
-
|
|
530
|
+
// already checked above
|
|
531
|
+
return false;
|
|
528
532
|
}
|
|
529
533
|
if (tx === "function") {
|
|
530
534
|
// comparing functions by reference
|
|
531
535
|
return x === y;
|
|
532
536
|
}
|
|
533
537
|
if (x instanceof CalcitTag) {
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
}
|
|
538
|
+
// comparing tags by reference
|
|
539
|
+
// already checked above
|
|
537
540
|
return false;
|
|
538
541
|
}
|
|
539
542
|
if (x instanceof CalcitSymbol) {
|
|
@@ -660,3 +663,6 @@ export let _$n__$e_ = (x: CalcitValue, y: CalcitValue): boolean => {
|
|
|
660
663
|
overwriteComparator(_$n__$e_);
|
|
661
664
|
overwriteMapComparator(_$n__$e_);
|
|
662
665
|
overwriteSetComparator(_$n__$e_);
|
|
666
|
+
|
|
667
|
+
/** special trick for disabling ternary tree list check */
|
|
668
|
+
export let disable_list_structure_check_$x_ = disableListStructureCheck;
|
package/ts-src/calcit.procs.mts
CHANGED
|
@@ -437,10 +437,9 @@ export let reset_$x_ = (a: CalcitRef, v: CalcitValue): null => {
|
|
|
437
437
|
}
|
|
438
438
|
let prev = a.value;
|
|
439
439
|
a.value = v;
|
|
440
|
-
|
|
441
|
-
let f = a.listeners.get(k);
|
|
440
|
+
a.listeners.forEach((f) => {
|
|
442
441
|
f(v, prev);
|
|
443
|
-
}
|
|
442
|
+
});
|
|
444
443
|
return null;
|
|
445
444
|
};
|
|
446
445
|
|
|
@@ -1328,23 +1327,32 @@ export function invoke_method_closure(p: string) {
|
|
|
1328
1327
|
function lookup_class(obj: CalcitValue): [CalcitRecord, string] {
|
|
1329
1328
|
let klass: CalcitRecord;
|
|
1330
1329
|
let tag: string;
|
|
1331
|
-
if (obj
|
|
1332
|
-
tag = "&core-
|
|
1333
|
-
klass = calcit_builtin_classes.
|
|
1334
|
-
} else if (obj instanceof
|
|
1330
|
+
if (obj instanceof CalcitList || obj instanceof CalcitSliceList) {
|
|
1331
|
+
tag = "&core-list-class";
|
|
1332
|
+
klass = calcit_builtin_classes.list;
|
|
1333
|
+
} else if (obj instanceof CalcitMap || obj instanceof CalcitSliceMap) {
|
|
1334
|
+
tag = "&core-map-class";
|
|
1335
|
+
klass = calcit_builtin_classes.map;
|
|
1336
|
+
} else if (obj instanceof CalcitRecord) {
|
|
1335
1337
|
if (obj.klass instanceof CalcitRecord) {
|
|
1336
|
-
tag = obj.
|
|
1338
|
+
tag = obj.name.toString();
|
|
1337
1339
|
klass = obj.klass;
|
|
1338
1340
|
} else {
|
|
1339
1341
|
throw new Error("Method invoking expected a record as class");
|
|
1340
1342
|
}
|
|
1341
|
-
} else if (obj instanceof
|
|
1343
|
+
} else if (obj instanceof CalcitTuple) {
|
|
1342
1344
|
if (obj.klass instanceof CalcitRecord) {
|
|
1343
|
-
tag = obj.
|
|
1345
|
+
tag = obj.tag.toString();
|
|
1344
1346
|
klass = obj.klass;
|
|
1345
1347
|
} else {
|
|
1346
1348
|
throw new Error("Method invoking expected a record as class");
|
|
1347
1349
|
}
|
|
1350
|
+
} else if (obj instanceof CalcitSet) {
|
|
1351
|
+
tag = "&core-set-class";
|
|
1352
|
+
klass = calcit_builtin_classes.set;
|
|
1353
|
+
} else if (obj == null) {
|
|
1354
|
+
tag = "&core-nil-class";
|
|
1355
|
+
klass = calcit_builtin_classes.nil;
|
|
1348
1356
|
} else if (typeof obj === "number") {
|
|
1349
1357
|
tag = "&core-number-class";
|
|
1350
1358
|
klass = calcit_builtin_classes.number;
|
|
@@ -1354,15 +1362,6 @@ function lookup_class(obj: CalcitValue): [CalcitRecord, string] {
|
|
|
1354
1362
|
} else if (typeof obj === "function") {
|
|
1355
1363
|
tag = "&core-fn-class";
|
|
1356
1364
|
klass = calcit_builtin_classes.fn;
|
|
1357
|
-
} else if (obj instanceof CalcitSet) {
|
|
1358
|
-
tag = "&core-set-class";
|
|
1359
|
-
klass = calcit_builtin_classes.set;
|
|
1360
|
-
} else if (obj instanceof CalcitList || obj instanceof CalcitSliceList) {
|
|
1361
|
-
tag = "&core-list-class";
|
|
1362
|
-
klass = calcit_builtin_classes.list;
|
|
1363
|
-
} else if (obj instanceof CalcitMap || obj instanceof CalcitSliceMap) {
|
|
1364
|
-
tag = "&core-map-class";
|
|
1365
|
-
klass = calcit_builtin_classes.map;
|
|
1366
1365
|
} else {
|
|
1367
1366
|
return null;
|
|
1368
1367
|
}
|