@peerbit/log 6.1.1 → 6.2.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/benchmark/native-graph.js +447 -5
- package/dist/benchmark/native-graph.js.map +1 -1
- package/dist/src/clock.d.ts +1 -0
- package/dist/src/clock.d.ts.map +1 -1
- package/dist/src/clock.js +32 -0
- package/dist/src/clock.js.map +1 -1
- package/dist/src/entry-create.d.ts +1 -0
- package/dist/src/entry-create.d.ts.map +1 -1
- package/dist/src/entry-create.js.map +1 -1
- package/dist/src/entry-index.d.ts +288 -12
- package/dist/src/entry-index.d.ts.map +1 -1
- package/dist/src/entry-index.js +1478 -33
- package/dist/src/entry-index.js.map +1 -1
- package/dist/src/entry-v0.d.ts +184 -1
- package/dist/src/entry-v0.d.ts.map +1 -1
- package/dist/src/entry-v0.js +1021 -12
- package/dist/src/entry-v0.js.map +1 -1
- package/dist/src/entry.d.ts +73 -1
- package/dist/src/entry.d.ts.map +1 -1
- package/dist/src/entry.js +124 -1
- package/dist/src/entry.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/log.d.ts +62 -13
- package/dist/src/log.d.ts.map +1 -1
- package/dist/src/log.js +2282 -100
- package/dist/src/log.js.map +1 -1
- package/dist/src/runtime.d.ts +2 -0
- package/dist/src/runtime.d.ts.map +1 -0
- package/dist/src/runtime.js +10 -0
- package/dist/src/runtime.js.map +1 -0
- package/dist/src/trim.d.ts +14 -2
- package/dist/src/trim.d.ts.map +1 -1
- package/dist/src/trim.js +92 -4
- package/dist/src/trim.js.map +1 -1
- package/package.json +18 -15
- package/src/clock.ts +34 -0
- package/src/entry-create.ts +1 -0
- package/src/entry-index.ts +2232 -68
- package/src/entry-v0.ts +1488 -13
- package/src/entry.ts +235 -1
- package/src/index.ts +7 -1
- package/src/log.ts +3246 -206
- package/src/runtime.ts +16 -0
- package/src/trim.ts +133 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/log",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.2.0",
|
|
4
4
|
"description": "Append-only log CRDT",
|
|
5
5
|
"author": "dao.xyz",
|
|
6
6
|
"license": "MIT",
|
|
@@ -69,19 +69,22 @@
|
|
|
69
69
|
"pino": "^9.4.0",
|
|
70
70
|
"uint8arrays": "^5.1.0",
|
|
71
71
|
"uuid": "^10.0.0",
|
|
72
|
-
"@peerbit/
|
|
73
|
-
"@peerbit/
|
|
74
|
-
"@peerbit/blocks-interface": "2.0
|
|
75
|
-
"@peerbit/cache": "3.
|
|
76
|
-
"@peerbit/crypto": "3.1.
|
|
77
|
-
"@peerbit/indexer-interface": "3.0.
|
|
78
|
-
"@peerbit/indexer-simple": "1.2.
|
|
79
|
-
"@peerbit/
|
|
80
|
-
"@peerbit/
|
|
81
|
-
"@peerbit/indexer-sqlite3": "3.0.7",
|
|
72
|
+
"@peerbit/any-store": "2.2.10",
|
|
73
|
+
"@peerbit/blocks": "4.2.0",
|
|
74
|
+
"@peerbit/blocks-interface": "2.1.0",
|
|
75
|
+
"@peerbit/cache": "3.1.0",
|
|
76
|
+
"@peerbit/crypto": "3.1.2",
|
|
77
|
+
"@peerbit/indexer-interface": "3.0.5",
|
|
78
|
+
"@peerbit/indexer-simple": "1.2.8",
|
|
79
|
+
"@peerbit/indexer-sqlite3": "3.0.8",
|
|
80
|
+
"@peerbit/keychain": "1.2.10",
|
|
82
81
|
"@peerbit/logger": "2.0.1",
|
|
83
|
-
"@peerbit/
|
|
84
|
-
"@peerbit/
|
|
82
|
+
"@peerbit/time": "3.0.0",
|
|
83
|
+
"@peerbit/stream-interface": "6.0.11",
|
|
84
|
+
"@peerbit/pubsub-interface": "5.1.5"
|
|
85
|
+
},
|
|
86
|
+
"optionalDependencies": {
|
|
87
|
+
"@peerbit/log-rust": "1.1.0"
|
|
85
88
|
},
|
|
86
89
|
"devDependencies": {
|
|
87
90
|
"@types/libsodium-wrappers": "^0.7.14",
|
|
@@ -90,8 +93,8 @@
|
|
|
90
93
|
"assert": "^2.0.0",
|
|
91
94
|
"json-stringify-deterministic": "^1.0.7",
|
|
92
95
|
"tty-table": "^4.2.1",
|
|
93
|
-
"@peerbit/
|
|
94
|
-
"@peerbit/test-utils": "3.0
|
|
96
|
+
"@peerbit/any-store-rust": "0.1.0",
|
|
97
|
+
"@peerbit/test-utils": "3.1.0"
|
|
95
98
|
},
|
|
96
99
|
"contributors": [
|
|
97
100
|
"haadcode",
|
package/src/clock.ts
CHANGED
|
@@ -130,6 +130,40 @@ export class HLC {
|
|
|
130
130
|
return this.update(this.last);
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
+
nowBatch(count: number): Timestamp[] {
|
|
134
|
+
if (count <= 0) {
|
|
135
|
+
return [];
|
|
136
|
+
}
|
|
137
|
+
const last = this.last;
|
|
138
|
+
let wallTime = this.wallTime();
|
|
139
|
+
const offset = last.wallTime - wallTime;
|
|
140
|
+
this.validateOffset(offset);
|
|
141
|
+
let logical: number;
|
|
142
|
+
if (offset < 0n) {
|
|
143
|
+
logical = 0;
|
|
144
|
+
} else {
|
|
145
|
+
wallTime = last.wallTime;
|
|
146
|
+
logical = last.logical + 1;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
const maxWallTime =
|
|
150
|
+
this.wallTimeUpperBound > 0n ? this.wallTimeUpperBound : UINT64_MAX;
|
|
151
|
+
const timestamps = new Array<Timestamp>(count);
|
|
152
|
+
for (let i = 0; i < count; i++) {
|
|
153
|
+
if (logical > UINT32_MAX) {
|
|
154
|
+
wallTime += 1n;
|
|
155
|
+
logical = 0;
|
|
156
|
+
}
|
|
157
|
+
if (wallTime > maxWallTime) {
|
|
158
|
+
throw new WallTimeOverflowError(wallTime, maxWallTime);
|
|
159
|
+
}
|
|
160
|
+
timestamps[i] = new Timestamp({ wallTime, logical });
|
|
161
|
+
logical += 1;
|
|
162
|
+
}
|
|
163
|
+
this.last = timestamps[timestamps.length - 1]!;
|
|
164
|
+
return timestamps;
|
|
165
|
+
}
|
|
166
|
+
|
|
133
167
|
validateOffset(offset: bigint) {
|
|
134
168
|
if (
|
|
135
169
|
this.toleratedForwardClockJump > 0n &&
|