@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.
@@ -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
- return x === y;
480
+ // already checked above
481
+ return false;
480
482
  }
481
483
  if (tx === "boolean") {
482
- return x === y;
484
+ // already checked above
485
+ return false;
483
486
  }
484
487
  if (tx === "number") {
485
- return x === y;
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
- if (y instanceof CalcitTag) {
493
- return x === y;
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;
@@ -383,10 +383,9 @@ export let reset_$x_ = (a, v) => {
383
383
  }
384
384
  let prev = a.value;
385
385
  a.value = v;
386
- for (let k in a.listeners) {
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 == null) {
1229
- tag = "&core-nil-class";
1230
- klass = calcit_builtin_classes.nil;
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 CalcitTuple) {
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.tag.toString();
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 CalcitRecord) {
1244
+ else if (obj instanceof CalcitTuple) {
1242
1245
  if (obj.klass instanceof CalcitRecord) {
1243
- tag = obj.name.toString();
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.48",
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.23",
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.48",
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.23",
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
  }
@@ -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
- return (x as string) === (y as string);
522
+ // already checked above
523
+ return false;
522
524
  }
523
525
  if (tx === "boolean") {
524
- return (x as boolean) === (y as boolean);
526
+ // already checked above
527
+ return false;
525
528
  }
526
529
  if (tx === "number") {
527
- return x === y;
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
- if (y instanceof CalcitTag) {
535
- return x === y;
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;
@@ -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
- for (let k in a.listeners) {
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 == null) {
1332
- tag = "&core-nil-class";
1333
- klass = calcit_builtin_classes.nil;
1334
- } else if (obj instanceof CalcitTuple) {
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.tag.toString();
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 CalcitRecord) {
1343
+ } else if (obj instanceof CalcitTuple) {
1342
1344
  if (obj.klass instanceof CalcitRecord) {
1343
- tag = obj.name.toString();
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
  }