@peerbit/native-backbone 0.2.1 → 0.2.3

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.
@@ -27,11 +27,13 @@ export class DirectBlockEagerIndex {
27
27
  /**
28
28
  * Track a cid; returns the cids evicted by the insert (ttl/max bound).
29
29
  */
30
- add(cid: string, now_ms: number): string[];
30
+ add(cid: string, size: number, now_ms: number): string[];
31
31
  clear(): void;
32
32
  contains(cid: string): boolean;
33
+ current_bytes(): number;
33
34
  del(cid: string): void;
34
- constructor(max: number, ttl_ms: number);
35
+ len(): number;
36
+ constructor(max_entries: number, max_bytes: number, ttl_ms: number);
35
37
  /**
36
38
  * Evict expired entries and return their cids.
37
39
  */
@@ -1420,11 +1422,13 @@ export interface InitOutput {
1420
1422
  readonly directblockdecodedmessage_bytes_offset: (a: number) => number;
1421
1423
  readonly directblockdecodedmessage_cid: (a: number) => [number, number];
1422
1424
  readonly directblockdecodedmessage_variant: (a: number) => number;
1423
- readonly directblockeagerindex_add: (a: number, b: number, c: number, d: number) => [number, number];
1425
+ readonly directblockeagerindex_add: (a: number, b: number, c: number, d: number, e: number) => [number, number];
1424
1426
  readonly directblockeagerindex_clear: (a: number) => void;
1425
1427
  readonly directblockeagerindex_contains: (a: number, b: number, c: number) => number;
1428
+ readonly directblockeagerindex_current_bytes: (a: number) => number;
1426
1429
  readonly directblockeagerindex_del: (a: number, b: number, c: number) => void;
1427
- readonly directblockeagerindex_new: (a: number, b: number) => number;
1430
+ readonly directblockeagerindex_len: (a: number) => number;
1431
+ readonly directblockeagerindex_new: (a: number, b: number, c: number) => number;
1428
1432
  readonly directblockeagerindex_sweep: (a: number, b: number) => [number, number];
1429
1433
  readonly directblockprovidercache_clear: (a: number) => void;
1430
1434
  readonly directblockprovidercache_get: (a: number, b: number, c: number, d: number) => [number, number];
@@ -80,13 +80,14 @@ export class DirectBlockEagerIndex {
80
80
  /**
81
81
  * Track a cid; returns the cids evicted by the insert (ttl/max bound).
82
82
  * @param {string} cid
83
+ * @param {number} size
83
84
  * @param {number} now_ms
84
85
  * @returns {string[]}
85
86
  */
86
- add(cid, now_ms) {
87
+ add(cid, size, now_ms) {
87
88
  const ptr0 = passStringToWasm0(cid, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
88
89
  const len0 = WASM_VECTOR_LEN;
89
- const ret = wasm.directblockeagerindex_add(this.__wbg_ptr, ptr0, len0, now_ms);
90
+ const ret = wasm.directblockeagerindex_add(this.__wbg_ptr, ptr0, len0, size, now_ms);
90
91
  var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
91
92
  wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
92
93
  return v2;
@@ -104,6 +105,13 @@ export class DirectBlockEagerIndex {
104
105
  const ret = wasm.directblockeagerindex_contains(this.__wbg_ptr, ptr0, len0);
105
106
  return ret !== 0;
106
107
  }
108
+ /**
109
+ * @returns {number}
110
+ */
111
+ current_bytes() {
112
+ const ret = wasm.directblockeagerindex_current_bytes(this.__wbg_ptr);
113
+ return ret;
114
+ }
107
115
  /**
108
116
  * @param {string} cid
109
117
  */
@@ -113,11 +121,19 @@ export class DirectBlockEagerIndex {
113
121
  wasm.directblockeagerindex_del(this.__wbg_ptr, ptr0, len0);
114
122
  }
115
123
  /**
116
- * @param {number} max
124
+ * @returns {number}
125
+ */
126
+ len() {
127
+ const ret = wasm.directblockeagerindex_len(this.__wbg_ptr);
128
+ return ret >>> 0;
129
+ }
130
+ /**
131
+ * @param {number} max_entries
132
+ * @param {number} max_bytes
117
133
  * @param {number} ttl_ms
118
134
  */
119
- constructor(max, ttl_ms) {
120
- const ret = wasm.directblockeagerindex_new(max, ttl_ms);
135
+ constructor(max_entries, max_bytes, ttl_ms) {
136
+ const ret = wasm.directblockeagerindex_new(max_entries, max_bytes, ttl_ms);
121
137
  this.__wbg_ptr = ret;
122
138
  DirectBlockEagerIndexFinalization.register(this, this.__wbg_ptr, this);
123
139
  return this;
Binary file
@@ -447,11 +447,13 @@ export const directblockdecodedmessage_bytes_length: (a: number) => number;
447
447
  export const directblockdecodedmessage_bytes_offset: (a: number) => number;
448
448
  export const directblockdecodedmessage_cid: (a: number) => [number, number];
449
449
  export const directblockdecodedmessage_variant: (a: number) => number;
450
- export const directblockeagerindex_add: (a: number, b: number, c: number, d: number) => [number, number];
450
+ export const directblockeagerindex_add: (a: number, b: number, c: number, d: number, e: number) => [number, number];
451
451
  export const directblockeagerindex_clear: (a: number) => void;
452
452
  export const directblockeagerindex_contains: (a: number, b: number, c: number) => number;
453
+ export const directblockeagerindex_current_bytes: (a: number) => number;
453
454
  export const directblockeagerindex_del: (a: number, b: number, c: number) => void;
454
- export const directblockeagerindex_new: (a: number, b: number) => number;
455
+ export const directblockeagerindex_len: (a: number) => number;
456
+ export const directblockeagerindex_new: (a: number, b: number, c: number) => number;
455
457
  export const directblockeagerindex_sweep: (a: number, b: number) => [number, number];
456
458
  export const directblockprovidercache_clear: (a: number) => void;
457
459
  export const directblockprovidercache_get: (a: number, b: number, c: number, d: number) => [number, number];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/native-backbone",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Native transaction backbone for Peerbit",
5
5
  "sideEffects": [
6
6
  "./dist/wasm/native_backbone.js"
@@ -52,7 +52,7 @@
52
52
  },
53
53
  "dependencies": {
54
54
  "classic-level": "^3.0.0",
55
- "@peerbit/blocks-interface": "2.1.2"
55
+ "@peerbit/blocks-interface": "2.1.3"
56
56
  },
57
57
  "author": "Peerbit contributors",
58
58
  "license": "MIT",
package/src/index.ts CHANGED
@@ -5368,11 +5368,13 @@ class NativeBackboneLogGraph {
5368
5368
  }
5369
5369
 
5370
5370
  entryMetadataHintsBatch(hashes: Iterable<string>): Array<any | undefined> {
5371
- return (
5372
- this.native.graph_entry_metadata_hints_batch ??
5373
- this.native.graph_entry_metadata_batch
5374
- )([...hashes]).map((row) => {
5375
- if (row == null || !this.native.graph_entry_metadata_hints_batch) {
5371
+ const normalized = [...hashes];
5372
+ const usingHints = this.native.graph_entry_metadata_hints_batch != null;
5373
+ const rows = usingHints
5374
+ ? this.native.graph_entry_metadata_hints_batch!(normalized)
5375
+ : this.native.graph_entry_metadata_batch(normalized);
5376
+ return rows.map((row) => {
5377
+ if (row == null || !usingHints) {
5376
5378
  return metadataEntryFromRow(row);
5377
5379
  }
5378
5380
  return requestPruneEntryFromRow(row);