serializable-bptree 4.0.3 → 4.0.5

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.
@@ -328,6 +328,9 @@ var BPTreeSync = class extends BPTree {
328
328
  } else if (this.root === node) {
329
329
  return;
330
330
  } else if (node.keys.length < Math.ceil(this.order / 2) && !node.leaf || node.values.length < Math.ceil((this.order - 1) / 2) && node.leaf) {
331
+ if (node.parent === null) {
332
+ return;
333
+ }
331
334
  let isPredecessor = false;
332
335
  let parentNode = this.getNode(node.parent);
333
336
  let prevNode = null;
@@ -634,9 +637,10 @@ var BPTreeSync = class extends BPTree {
634
637
  filterValues = new Set(pairs.map((pair) => pair.key));
635
638
  } else {
636
639
  const intersections = /* @__PURE__ */ new Set();
637
- for (const pair of pairs) {
638
- if (filterValues.has(pair.key)) {
639
- intersections.add(pair.key);
640
+ for (const key2 of filterValues) {
641
+ const has = pairs.some((pair) => pair.key === key2);
642
+ if (has) {
643
+ intersections.add(key2);
640
644
  }
641
645
  }
642
646
  filterValues = intersections;
@@ -879,6 +883,9 @@ var BPTreeAsync = class extends BPTree {
879
883
  } else if (this.root === node) {
880
884
  return;
881
885
  } else if (node.keys.length < Math.ceil(this.order / 2) && !node.leaf || node.values.length < Math.ceil((this.order - 1) / 2) && node.leaf) {
886
+ if (node.parent === null) {
887
+ return;
888
+ }
882
889
  let isPredecessor = false;
883
890
  let parentNode = await this.getNode(node.parent);
884
891
  let prevNode = null;
@@ -1185,9 +1192,10 @@ var BPTreeAsync = class extends BPTree {
1185
1192
  filterValues = new Set(pairs.map((pair) => pair.key));
1186
1193
  } else {
1187
1194
  const intersections = /* @__PURE__ */ new Set();
1188
- for (const pair of pairs) {
1189
- if (filterValues.has(pair.key)) {
1190
- intersections.add(pair.key);
1195
+ for (const key2 of filterValues) {
1196
+ const has = pairs.some((pair) => pair.key === key2);
1197
+ if (has) {
1198
+ intersections.add(key2);
1191
1199
  }
1192
1200
  }
1193
1201
  filterValues = intersections;
@@ -294,6 +294,9 @@ var BPTreeSync = class extends BPTree {
294
294
  } else if (this.root === node) {
295
295
  return;
296
296
  } else if (node.keys.length < Math.ceil(this.order / 2) && !node.leaf || node.values.length < Math.ceil((this.order - 1) / 2) && node.leaf) {
297
+ if (node.parent === null) {
298
+ return;
299
+ }
297
300
  let isPredecessor = false;
298
301
  let parentNode = this.getNode(node.parent);
299
302
  let prevNode = null;
@@ -600,9 +603,10 @@ var BPTreeSync = class extends BPTree {
600
603
  filterValues = new Set(pairs.map((pair) => pair.key));
601
604
  } else {
602
605
  const intersections = /* @__PURE__ */ new Set();
603
- for (const pair of pairs) {
604
- if (filterValues.has(pair.key)) {
605
- intersections.add(pair.key);
606
+ for (const key2 of filterValues) {
607
+ const has = pairs.some((pair) => pair.key === key2);
608
+ if (has) {
609
+ intersections.add(key2);
606
610
  }
607
611
  }
608
612
  filterValues = intersections;
@@ -845,6 +849,9 @@ var BPTreeAsync = class extends BPTree {
845
849
  } else if (this.root === node) {
846
850
  return;
847
851
  } else if (node.keys.length < Math.ceil(this.order / 2) && !node.leaf || node.values.length < Math.ceil((this.order - 1) / 2) && node.leaf) {
852
+ if (node.parent === null) {
853
+ return;
854
+ }
848
855
  let isPredecessor = false;
849
856
  let parentNode = await this.getNode(node.parent);
850
857
  let prevNode = null;
@@ -1151,9 +1158,10 @@ var BPTreeAsync = class extends BPTree {
1151
1158
  filterValues = new Set(pairs.map((pair) => pair.key));
1152
1159
  } else {
1153
1160
  const intersections = /* @__PURE__ */ new Set();
1154
- for (const pair of pairs) {
1155
- if (filterValues.has(pair.key)) {
1156
- intersections.add(pair.key);
1161
+ for (const key2 of filterValues) {
1162
+ const has = pairs.some((pair) => pair.key === key2);
1163
+ if (has) {
1164
+ intersections.add(key2);
1157
1165
  }
1158
1166
  }
1159
1167
  filterValues = intersections;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "serializable-bptree",
3
- "version": "4.0.3",
3
+ "version": "4.0.5",
4
4
  "description": "Store the B+tree flexibly, not only in-memory.",
5
5
  "types": "./dist/types/index.d.ts",
6
6
  "main": "./dist/cjs/index.cjs",
@@ -36,10 +36,10 @@
36
36
  },
37
37
  "license": "MIT",
38
38
  "devDependencies": {
39
- "@types/jest": "^29.5.13",
40
- "esbuild": "^0.23.1",
39
+ "@types/jest": "^29.5.14",
40
+ "esbuild": "^0.24.0",
41
41
  "jest": "^29.7.0",
42
42
  "ts-jest": "^29.2.5",
43
- "typescript": "^5.6.2"
43
+ "typescript": "^5.6.3"
44
44
  }
45
45
  }