@welshman/store 0.14.0-pre4 → 0.14.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/store/src/{repository.d.ts → derive.d.ts} +33 -41
- package/dist/store/src/derive.d.ts.map +1 -0
- package/dist/store/src/derive.js +706 -0
- package/dist/store/src/derive.js.map +1 -0
- package/dist/store/src/index.d.ts +9 -1
- package/dist/store/src/index.d.ts.map +1 -1
- package/dist/store/src/index.js +9 -1
- package/dist/store/src/index.js.map +1 -1
- package/dist/store/src/misc.d.ts +2 -7
- package/dist/store/src/misc.d.ts.map +1 -1
- package/dist/store/src/misc.js +1 -1
- package/dist/store/src/misc.js.map +1 -1
- package/dist/{net/src/repository.d.ts → store/src/repository/adapters/memory.d.ts} +22 -30
- package/dist/store/src/repository/adapters/memory.d.ts.map +1 -0
- package/dist/{net/src/repository.js → store/src/repository/adapters/memory.js} +96 -106
- package/dist/store/src/repository/adapters/memory.js.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/engine.d.ts +65 -0
- package/dist/store/src/repository/adapters/sqlite/engine.d.ts.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/engine.js +420 -0
- package/dist/store/src/repository/adapters/sqlite/engine.js.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/leader.d.ts +8 -0
- package/dist/store/src/repository/adapters/sqlite/leader.d.ts.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/leader.js +222 -0
- package/dist/store/src/repository/adapters/sqlite/leader.js.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/protocol.d.ts +52 -0
- package/dist/store/src/repository/adapters/sqlite/protocol.d.ts.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/protocol.js +52 -0
- package/dist/store/src/repository/adapters/sqlite/protocol.js.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/repository.d.ts +54 -0
- package/dist/store/src/repository/adapters/sqlite/repository.d.ts.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/repository.js +238 -0
- package/dist/store/src/repository/adapters/sqlite/repository.js.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/serve.d.ts +4 -0
- package/dist/store/src/repository/adapters/sqlite/serve.d.ts.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/serve.js +40 -0
- package/dist/store/src/repository/adapters/sqlite/serve.js.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/wasm.d.ts +7 -0
- package/dist/store/src/repository/adapters/sqlite/wasm.d.ts.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/wasm.js +61 -0
- package/dist/store/src/repository/adapters/sqlite/wasm.js.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/worker.d.ts +2 -0
- package/dist/store/src/repository/adapters/sqlite/worker.d.ts.map +1 -0
- package/dist/store/src/repository/adapters/sqlite/worker.js +4 -0
- package/dist/store/src/repository/adapters/sqlite/worker.js.map +1 -0
- package/dist/store/src/repository/core.d.ts +68 -0
- package/dist/store/src/repository/core.d.ts.map +1 -0
- package/dist/store/src/repository/core.js +123 -0
- package/dist/store/src/repository/core.js.map +1 -0
- package/dist/store/src/svelte.d.ts +22 -0
- package/dist/store/src/svelte.d.ts.map +1 -0
- package/dist/store/src/svelte.js +100 -0
- package/dist/store/src/svelte.js.map +1 -0
- package/dist/store/src/synced.d.ts +1 -1
- package/dist/store/src/synced.d.ts.map +1 -1
- package/dist/store/src/synced.js +1 -1
- package/dist/store/src/synced.js.map +1 -1
- package/dist/store/src/throttle.d.ts +1 -1
- package/dist/store/src/throttle.d.ts.map +1 -1
- package/dist/{net → store}/src/tracker.d.ts +2 -0
- package/dist/store/src/tracker.d.ts.map +1 -0
- package/dist/{net → store}/src/tracker.js +8 -4
- package/dist/store/src/tracker.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/util/src/Command.d.ts +1 -1
- package/dist/util/src/Command.d.ts.map +1 -1
- package/dist/util/src/Command.js +12 -5
- package/dist/util/src/Command.js.map +1 -1
- package/dist/util/src/Events.d.ts +3 -2
- package/dist/util/src/Events.d.ts.map +1 -1
- package/dist/util/src/Events.js.map +1 -1
- package/dist/util/src/Filters.d.ts.map +1 -1
- package/dist/util/src/Filters.js +6 -2
- package/dist/util/src/Filters.js.map +1 -1
- package/dist/util/src/Kinds.d.ts +1 -0
- package/dist/util/src/Kinds.d.ts.map +1 -1
- package/dist/util/src/Kinds.js +1 -0
- package/dist/util/src/Kinds.js.map +1 -1
- package/dist/util/src/RelaySelection.d.ts +5 -0
- package/dist/util/src/RelaySelection.d.ts.map +1 -1
- package/dist/util/src/RelaySelection.js.map +1 -1
- package/dist/util/src/Tags.d.ts +5 -0
- package/dist/util/src/Tags.d.ts.map +1 -1
- package/dist/util/src/Tags.js +3 -0
- package/dist/util/src/Tags.js.map +1 -1
- package/dist/util/src/index.d.ts +1 -0
- package/dist/util/src/index.d.ts.map +1 -1
- package/dist/util/src/index.js +1 -0
- package/dist/util/src/index.js.map +1 -1
- package/package.json +31 -12
- package/dist/net/src/adapter.d.ts +0 -47
- package/dist/net/src/adapter.d.ts.map +0 -1
- package/dist/net/src/adapter.js +0 -139
- package/dist/net/src/adapter.js.map +0 -1
- package/dist/net/src/auth.d.ts +0 -40
- package/dist/net/src/auth.d.ts.map +0 -1
- package/dist/net/src/auth.js +0 -131
- package/dist/net/src/auth.js.map +0 -1
- package/dist/net/src/context.d.ts +0 -10
- package/dist/net/src/context.d.ts.map +0 -1
- package/dist/net/src/context.js +0 -2
- package/dist/net/src/context.js.map +0 -1
- package/dist/net/src/count.d.ts +0 -30
- package/dist/net/src/count.d.ts.map +0 -1
- package/dist/net/src/count.js +0 -97
- package/dist/net/src/count.js.map +0 -1
- package/dist/net/src/diff.d.ts +0 -57
- package/dist/net/src/diff.d.ts.map +0 -1
- package/dist/net/src/diff.js +0 -169
- package/dist/net/src/diff.js.map +0 -1
- package/dist/net/src/index.d.ts +0 -17
- package/dist/net/src/index.d.ts.map +0 -1
- package/dist/net/src/index.js +0 -17
- package/dist/net/src/index.js.map +0 -1
- package/dist/net/src/message.d.ts +0 -106
- package/dist/net/src/message.d.ts.map +0 -1
- package/dist/net/src/message.js +0 -98
- package/dist/net/src/message.js.map +0 -1
- package/dist/net/src/multiplex.d.ts +0 -14
- package/dist/net/src/multiplex.d.ts.map +0 -1
- package/dist/net/src/multiplex.js +0 -219
- package/dist/net/src/multiplex.js.map +0 -1
- package/dist/net/src/negentropy.d.ts +0 -48
- package/dist/net/src/negentropy.d.ts.map +0 -1
- package/dist/net/src/negentropy.js +0 -528
- package/dist/net/src/negentropy.js.map +0 -1
- package/dist/net/src/policy.d.ts +0 -63
- package/dist/net/src/policy.d.ts.map +0 -1
- package/dist/net/src/policy.js +0 -388
- package/dist/net/src/policy.js.map +0 -1
- package/dist/net/src/pool.d.ts +0 -15
- package/dist/net/src/pool.d.ts.map +0 -1
- package/dist/net/src/pool.js +0 -51
- package/dist/net/src/pool.js.map +0 -1
- package/dist/net/src/publish.d.ts +0 -47
- package/dist/net/src/publish.d.ts.map +0 -1
- package/dist/net/src/publish.js +0 -112
- package/dist/net/src/publish.js.map +0 -1
- package/dist/net/src/repository.d.ts.map +0 -1
- package/dist/net/src/repository.js.map +0 -1
- package/dist/net/src/request.d.ts +0 -38
- package/dist/net/src/request.d.ts.map +0 -1
- package/dist/net/src/request.js +0 -220
- package/dist/net/src/request.js.map +0 -1
- package/dist/net/src/socket.d.ts +0 -52
- package/dist/net/src/socket.d.ts.map +0 -1
- package/dist/net/src/socket.js +0 -134
- package/dist/net/src/socket.js.map +0 -1
- package/dist/net/src/tracker.d.ts.map +0 -1
- package/dist/net/src/tracker.js.map +0 -1
- package/dist/net/src/util.d.ts +0 -18
- package/dist/net/src/util.d.ts.map +0 -1
- package/dist/net/src/util.js +0 -25
- package/dist/net/src/util.js.map +0 -1
- package/dist/net/src/wrapManager.d.ts +0 -34
- package/dist/net/src/wrapManager.d.ts.map +0 -1
- package/dist/net/src/wrapManager.js +0 -79
- package/dist/net/src/wrapManager.js.map +0 -1
- package/dist/store/src/repository.d.ts.map +0 -1
- package/dist/store/src/repository.js +0 -580
- package/dist/store/src/repository.js.map +0 -1
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
import { call, now, on, randomId } from "@welshman/lib";
|
|
2
|
-
import { matchFilters, unionFilters } from "@welshman/util";
|
|
3
|
-
import { ClientMessageType, RelayMessageType, getMultiplex, getPriority, isClientClose, isClientReq, isRelayClosed, isRelayEose, isRelayEvent, setPriority, setSubscriptions, } from "./message.js";
|
|
4
|
-
import { SocketEvent } from "./socket.js";
|
|
5
|
-
import { catchUpFilter } from "./util.js";
|
|
6
|
-
// NIP-11 `max_filters` is commonly ten
|
|
7
|
-
export const MULTIPLEX_MAX_FILTERS = 10;
|
|
8
|
-
const MERGED_PREFIX = "MUX-";
|
|
9
|
-
const getFilters = ([, , ...filters]) => filters;
|
|
10
|
-
const setFilters = (req, filters) => {
|
|
11
|
-
req.splice(2, Infinity, ...filters);
|
|
12
|
-
};
|
|
13
|
-
const getMemberFilters = (merged) => Array.from(merged.members.values()).flat();
|
|
14
|
-
const fits = (filters) => unionFilters(filters).length <= MULTIPLEX_MAX_FILTERS;
|
|
15
|
-
/**
|
|
16
|
-
* Sends subscriptions that wait in a socket's queue together as one merged REQ, so requests made
|
|
17
|
-
* at the same time use one of the relay's subscriptions rather than one each, and hands the
|
|
18
|
-
* relay's answers back out under each subscription's own id. Merged REQs are pushed onto the
|
|
19
|
-
* queue rather than sent, so the auth buffer keeps the original REQs to replay. Leave it out of a
|
|
20
|
-
* pool's socket policies to send every subscription as it was asked for, or mark a single REQ with
|
|
21
|
-
* `setMultiplex(req, false)` (a request's `multiplex: false`) to send just that one as it was.
|
|
22
|
-
* @param socket - a Socket object
|
|
23
|
-
* @return a cleanup function
|
|
24
|
-
*/
|
|
25
|
-
export const socketPolicyMultiplex = (socket) => {
|
|
26
|
-
const queue = socket._sendQueue;
|
|
27
|
-
const mergedById = new Map();
|
|
28
|
-
const mergedByMember = new Map();
|
|
29
|
-
// A REQ going out as it was asked for, which the next one can still join while it waits
|
|
30
|
-
let candidate;
|
|
31
|
-
// The queued merged REQ that later REQs join
|
|
32
|
-
let open;
|
|
33
|
-
const isSending = (message) => queue.items.includes(message);
|
|
34
|
-
// Receiving fires as a message is pushed, so it is almost always the last one in the queue
|
|
35
|
-
const isReceiving = (message) => socket._recvQueue.items.lastIndexOf(message) !== -1;
|
|
36
|
-
const takeBack = (message) => {
|
|
37
|
-
const items = socket._recvQueue.items;
|
|
38
|
-
if (items[items.length - 1] === message) {
|
|
39
|
-
items.pop();
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
socket._recvQueue.remove(message);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
// A merged REQ asks for what its members ask for, and says whose it is so each can tell it went out
|
|
46
|
-
const refresh = (merged) => {
|
|
47
|
-
setFilters(merged.message, unionFilters(getMemberFilters(merged)));
|
|
48
|
-
setSubscriptions(merged.message, Array.from(merged.members.keys()));
|
|
49
|
-
};
|
|
50
|
-
const join = (merged, req) => {
|
|
51
|
-
queue.remove(req);
|
|
52
|
-
merged.members.set(req[1], getFilters(req));
|
|
53
|
-
mergedByMember.set(req[1], merged);
|
|
54
|
-
refresh(merged);
|
|
55
|
-
// The queue orders on push, so a more urgent member moves the merged REQ up
|
|
56
|
-
if (getPriority(req) > getPriority(merged.message)) {
|
|
57
|
-
queue.remove(merged.message);
|
|
58
|
-
queue.push(setPriority(merged.message, getPriority(req)));
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
const merge = (reqs) => {
|
|
62
|
-
const id = `${MERGED_PREFIX}${randomId().slice(0, 8)}`;
|
|
63
|
-
const message = setPriority([ClientMessageType.Req, id], getPriority(reqs[0]));
|
|
64
|
-
const merged = { id, message, members: new Map(), status: "queued", stale: false };
|
|
65
|
-
mergedById.set(id, merged);
|
|
66
|
-
queue.push(message);
|
|
67
|
-
for (const req of reqs) {
|
|
68
|
-
join(merged, req);
|
|
69
|
-
}
|
|
70
|
-
return merged;
|
|
71
|
-
};
|
|
72
|
-
const forget = (merged) => {
|
|
73
|
-
mergedById.delete(merged.id);
|
|
74
|
-
for (const id of merged.members.keys()) {
|
|
75
|
-
mergedByMember.delete(id);
|
|
76
|
-
}
|
|
77
|
-
if (merged.narrowing) {
|
|
78
|
-
queue.remove(merged.narrowing);
|
|
79
|
-
}
|
|
80
|
-
if (open === merged) {
|
|
81
|
-
open = undefined;
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
// A REQ under the same id replaces the relay's subscription, and catching up skips its history
|
|
85
|
-
const narrow = (merged) => {
|
|
86
|
-
const filters = unionFilters(getMemberFilters(merged)).map(f => catchUpFilter(f, now()));
|
|
87
|
-
merged.stale = false;
|
|
88
|
-
if (merged.narrowing && isSending(merged.narrowing)) {
|
|
89
|
-
setFilters(merged.narrowing, filters);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
merged.narrowing = [ClientMessageType.Req, merged.id, ...filters];
|
|
93
|
-
queue.push(merged.narrowing);
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
const leave = (id) => {
|
|
97
|
-
const merged = mergedByMember.get(id);
|
|
98
|
-
if (merged) {
|
|
99
|
-
merged.members.delete(id);
|
|
100
|
-
mergedByMember.delete(id);
|
|
101
|
-
if (merged.members.size === 0) {
|
|
102
|
-
forget(merged);
|
|
103
|
-
if (merged.status === "queued") {
|
|
104
|
-
queue.remove(merged.message);
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
queue.push([ClientMessageType.Close, merged.id]);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else if (merged.status === "queued") {
|
|
111
|
-
refresh(merged);
|
|
112
|
-
}
|
|
113
|
-
else if (merged.status === "eosed") {
|
|
114
|
-
narrow(merged);
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
// Narrowing before eose would cut short the history the rest are still receiving
|
|
118
|
-
merged.stale = true;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
const onReq = (req) => {
|
|
123
|
-
if (req[1].startsWith(MERGED_PREFIX)) {
|
|
124
|
-
// A replay of a merged REQ, which is dropped once nobody is left on it
|
|
125
|
-
if (!mergedById.has(req[1])) {
|
|
126
|
-
queue.remove(req);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
const filters = getFilters(req);
|
|
131
|
-
// A REQ under an id that's already open replaces it
|
|
132
|
-
leave(req[1]);
|
|
133
|
-
// One marked to go out as it was neither joins a merged REQ nor waits for one to join it
|
|
134
|
-
if (getMultiplex(req)) {
|
|
135
|
-
if (open && fits([...getMemberFilters(open), ...filters])) {
|
|
136
|
-
join(open, req);
|
|
137
|
-
}
|
|
138
|
-
else if (candidate &&
|
|
139
|
-
isSending(candidate) &&
|
|
140
|
-
fits([...getFilters(candidate), ...filters])) {
|
|
141
|
-
open = merge([candidate, req]);
|
|
142
|
-
candidate = undefined;
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
candidate = req;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
const onClose = (close) => {
|
|
151
|
-
if (mergedByMember.has(close[1])) {
|
|
152
|
-
queue.remove(close);
|
|
153
|
-
leave(close[1]);
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
const onSend = (message) => {
|
|
157
|
-
const merged = isClientReq(message) ? mergedById.get(message[1]) : undefined;
|
|
158
|
-
if (message === candidate) {
|
|
159
|
-
candidate = undefined;
|
|
160
|
-
}
|
|
161
|
-
if (merged && message === merged.message) {
|
|
162
|
-
merged.status = "sent";
|
|
163
|
-
if (open === merged) {
|
|
164
|
-
open = undefined;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
if (merged && message === merged.narrowing) {
|
|
168
|
-
merged.narrowing = undefined;
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
|
-
const onReceiving = (message) => {
|
|
172
|
-
const merged = mergedById.get(message[1]);
|
|
173
|
-
// The auth buffer takes back a refusal it means to have answered again, so leave that alone
|
|
174
|
-
if (merged && isReceiving(message)) {
|
|
175
|
-
if (isRelayEvent(message)) {
|
|
176
|
-
takeBack(message);
|
|
177
|
-
for (const [id, filters] of merged.members) {
|
|
178
|
-
if (matchFilters(filters, message[2])) {
|
|
179
|
-
socket.receive([RelayMessageType.Event, id, message[2]]);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
if (isRelayEose(message)) {
|
|
184
|
-
takeBack(message);
|
|
185
|
-
merged.status = "eosed";
|
|
186
|
-
if (merged.stale) {
|
|
187
|
-
narrow(merged);
|
|
188
|
-
}
|
|
189
|
-
for (const id of merged.members.keys()) {
|
|
190
|
-
socket.receive([RelayMessageType.Eose, id]);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
// Left in the queue, so the policies that counted the merged REQ out see it come back
|
|
194
|
-
if (isRelayClosed(message)) {
|
|
195
|
-
forget(merged);
|
|
196
|
-
for (const id of merged.members.keys()) {
|
|
197
|
-
socket.receive([RelayMessageType.Closed, id, message[2]]);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
};
|
|
202
|
-
const unsubscribers = [
|
|
203
|
-
on(socket, SocketEvent.Sending, (message) => {
|
|
204
|
-
// Another policy may already have taken it back out, as cancel-unsent does
|
|
205
|
-
if (isSending(message)) {
|
|
206
|
-
if (isClientReq(message)) {
|
|
207
|
-
onReq(message);
|
|
208
|
-
}
|
|
209
|
-
if (isClientClose(message)) {
|
|
210
|
-
onClose(message);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}),
|
|
214
|
-
on(socket, SocketEvent.Send, onSend),
|
|
215
|
-
on(socket, SocketEvent.Receiving, onReceiving),
|
|
216
|
-
];
|
|
217
|
-
return () => unsubscribers.forEach(call);
|
|
218
|
-
};
|
|
219
|
-
//# sourceMappingURL=multiplex.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multiplex.js","sourceRoot":"","sources":["../../../../net/src/multiplex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
declare class WrappedBuffer {
|
|
2
|
-
constructor(buffer: any);
|
|
3
|
-
unwrap(): any;
|
|
4
|
-
get capacity(): any;
|
|
5
|
-
extend(buf: any): void;
|
|
6
|
-
shift(): any;
|
|
7
|
-
shiftN(n?: number): any;
|
|
8
|
-
}
|
|
9
|
-
declare class NegentropyStorageVector {
|
|
10
|
-
constructor();
|
|
11
|
-
insert(timestamp: any, id: any): void;
|
|
12
|
-
seal(): void;
|
|
13
|
-
unseal(): void;
|
|
14
|
-
size(): any;
|
|
15
|
-
getItem(i: any): any;
|
|
16
|
-
iterate(begin: any, end: any, cb: any): void;
|
|
17
|
-
findLowerBound(begin: any, end: any, bound: any): any;
|
|
18
|
-
fingerprint(begin: any, end: any): Promise<any>;
|
|
19
|
-
_checkSealed(): void;
|
|
20
|
-
_checkBounds(begin: any, end: any): void;
|
|
21
|
-
_binarySearch(arr: any, first: any, last: any, cmp: any): any;
|
|
22
|
-
}
|
|
23
|
-
declare class Negentropy {
|
|
24
|
-
constructor(storage: any, frameSizeLimit?: number);
|
|
25
|
-
_bound(timestamp: any, id: any): {
|
|
26
|
-
timestamp: any;
|
|
27
|
-
id: any;
|
|
28
|
-
};
|
|
29
|
-
initiate(): Promise<any>;
|
|
30
|
-
setInitiator(): void;
|
|
31
|
-
reconcile(query: any): Promise<any[]>;
|
|
32
|
-
splitRange(lower: any, upper: any, upperBound: any, o: any): Promise<void>;
|
|
33
|
-
_renderOutput(o: any): any;
|
|
34
|
-
exceededFrameSizeLimit(n: any): any;
|
|
35
|
-
decodeTimestampIn(encoded: any): number;
|
|
36
|
-
decodeBound(encoded: any): {
|
|
37
|
-
timestamp: number;
|
|
38
|
-
id: any;
|
|
39
|
-
};
|
|
40
|
-
encodeTimestampOut(timestamp: any): WrappedBuffer;
|
|
41
|
-
encodeBound(key: any): WrappedBuffer;
|
|
42
|
-
getMinimalBound(prev: any, curr: any): {
|
|
43
|
-
timestamp: any;
|
|
44
|
-
id: any;
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
export { Negentropy, NegentropyStorageVector };
|
|
48
|
-
//# sourceMappingURL=negentropy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"negentropy.d.ts","sourceRoot":"","sources":["../../../../net/src/negentropy.ts"],"names":[],"mappings":"AAcA,cAAM,aAAa;gBACL,MAAM,KAAA;IAKlB,MAAM;IAIN,IAAI,QAAQ,QAEX;IAED,MAAM,CAAC,GAAG,KAAA;IAeV,KAAK;IAOL,MAAM,CAAC,CAAC,SAAI;CAMb;AAkGD,cAAM,uBAAuB;;IAM3B,MAAM,CAAC,SAAS,KAAA,EAAE,EAAE,KAAA;IAOpB,IAAI;IAYJ,MAAM;IAIN,IAAI;IAKJ,OAAO,CAAC,CAAC,KAAA;IAMT,OAAO,CAAC,KAAK,KAAA,EAAE,GAAG,KAAA,EAAE,EAAE,KAAA;IAStB,cAAc,CAAC,KAAK,KAAA,EAAE,GAAG,KAAA,EAAE,KAAK,KAAA;IAO1B,WAAW,CAAC,KAAK,KAAA,EAAE,GAAG,KAAA;IAY5B,YAAY;IAIZ,YAAY,CAAC,KAAK,KAAA,EAAE,GAAG,KAAA;IAIvB,aAAa,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,IAAI,KAAA,EAAE,GAAG,KAAA;CAkBpC;AAED,cAAM,UAAU;gBACF,OAAO,KAAA,EAAE,cAAc,SAAI;IAUvC,MAAM,CAAC,SAAS,KAAA,EAAE,EAAE,KAAA;;;;IAId,QAAQ;IAYd,YAAY;IAIN,SAAS,CAAC,KAAK,KAAA;IA2If,UAAU,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA,EAAE,UAAU,KAAA,EAAE,CAAC,KAAA;IA8C5C,aAAa,CAAC,CAAC,KAAA;IAMf,sBAAsB,CAAC,CAAC,KAAA;IAMxB,iBAAiB,CAAC,OAAO,KAAA;IAYzB,WAAW,CAAC,OAAO,KAAA;;;;IAUnB,kBAAkB,CAAC,SAAS,KAAA;IAY5B,WAAW,CAAC,GAAG,KAAA;IAUf,eAAe,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA;;;;CAgB3B;AAqED,OAAO,EAAC,UAAU,EAAE,uBAAuB,EAAC,CAAA"}
|