@welshman/store 0.14.0-pre3 → 0.14.0-pre5

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.
Files changed (157) hide show
  1. package/dist/store/src/{repository.d.ts → derive.d.ts} +33 -41
  2. package/dist/store/src/derive.d.ts.map +1 -0
  3. package/dist/store/src/derive.js +706 -0
  4. package/dist/store/src/derive.js.map +1 -0
  5. package/dist/store/src/index.d.ts +9 -1
  6. package/dist/store/src/index.d.ts.map +1 -1
  7. package/dist/store/src/index.js +9 -1
  8. package/dist/store/src/index.js.map +1 -1
  9. package/dist/store/src/misc.d.ts +2 -7
  10. package/dist/store/src/misc.d.ts.map +1 -1
  11. package/dist/store/src/misc.js +1 -1
  12. package/dist/store/src/misc.js.map +1 -1
  13. package/dist/{net/src/repository.d.ts → store/src/repository/adapters/memory.d.ts} +22 -30
  14. package/dist/store/src/repository/adapters/memory.d.ts.map +1 -0
  15. package/dist/{net/src/repository.js → store/src/repository/adapters/memory.js} +96 -106
  16. package/dist/store/src/repository/adapters/memory.js.map +1 -0
  17. package/dist/store/src/repository/adapters/sqlite/engine.d.ts +65 -0
  18. package/dist/store/src/repository/adapters/sqlite/engine.d.ts.map +1 -0
  19. package/dist/store/src/repository/adapters/sqlite/engine.js +420 -0
  20. package/dist/store/src/repository/adapters/sqlite/engine.js.map +1 -0
  21. package/dist/store/src/repository/adapters/sqlite/leader.d.ts +8 -0
  22. package/dist/store/src/repository/adapters/sqlite/leader.d.ts.map +1 -0
  23. package/dist/store/src/repository/adapters/sqlite/leader.js +222 -0
  24. package/dist/store/src/repository/adapters/sqlite/leader.js.map +1 -0
  25. package/dist/store/src/repository/adapters/sqlite/protocol.d.ts +52 -0
  26. package/dist/store/src/repository/adapters/sqlite/protocol.d.ts.map +1 -0
  27. package/dist/store/src/repository/adapters/sqlite/protocol.js +52 -0
  28. package/dist/store/src/repository/adapters/sqlite/protocol.js.map +1 -0
  29. package/dist/store/src/repository/adapters/sqlite/repository.d.ts +54 -0
  30. package/dist/store/src/repository/adapters/sqlite/repository.d.ts.map +1 -0
  31. package/dist/store/src/repository/adapters/sqlite/repository.js +238 -0
  32. package/dist/store/src/repository/adapters/sqlite/repository.js.map +1 -0
  33. package/dist/store/src/repository/adapters/sqlite/serve.d.ts +4 -0
  34. package/dist/store/src/repository/adapters/sqlite/serve.d.ts.map +1 -0
  35. package/dist/store/src/repository/adapters/sqlite/serve.js +39 -0
  36. package/dist/store/src/repository/adapters/sqlite/serve.js.map +1 -0
  37. package/dist/store/src/repository/adapters/sqlite/wasm.d.ts +7 -0
  38. package/dist/store/src/repository/adapters/sqlite/wasm.d.ts.map +1 -0
  39. package/dist/store/src/repository/adapters/sqlite/wasm.js +61 -0
  40. package/dist/store/src/repository/adapters/sqlite/wasm.js.map +1 -0
  41. package/dist/store/src/repository/adapters/sqlite/worker.d.ts +2 -0
  42. package/dist/store/src/repository/adapters/sqlite/worker.d.ts.map +1 -0
  43. package/dist/store/src/repository/adapters/sqlite/worker.js +4 -0
  44. package/dist/store/src/repository/adapters/sqlite/worker.js.map +1 -0
  45. package/dist/store/src/repository/core.d.ts +68 -0
  46. package/dist/store/src/repository/core.d.ts.map +1 -0
  47. package/dist/store/src/repository/core.js +123 -0
  48. package/dist/store/src/repository/core.js.map +1 -0
  49. package/dist/store/src/svelte.d.ts +22 -0
  50. package/dist/store/src/svelte.d.ts.map +1 -0
  51. package/dist/store/src/svelte.js +100 -0
  52. package/dist/store/src/svelte.js.map +1 -0
  53. package/dist/store/src/synced.d.ts +1 -1
  54. package/dist/store/src/synced.d.ts.map +1 -1
  55. package/dist/store/src/synced.js +1 -1
  56. package/dist/store/src/synced.js.map +1 -1
  57. package/dist/store/src/throttle.d.ts +1 -1
  58. package/dist/store/src/throttle.d.ts.map +1 -1
  59. package/dist/{net → store}/src/tracker.d.ts +2 -0
  60. package/dist/store/src/tracker.d.ts.map +1 -0
  61. package/dist/{net → store}/src/tracker.js +8 -4
  62. package/dist/store/src/tracker.js.map +1 -0
  63. package/dist/tsconfig.build.tsbuildinfo +1 -1
  64. package/dist/util/src/Command.d.ts +1 -1
  65. package/dist/util/src/Command.d.ts.map +1 -1
  66. package/dist/util/src/Command.js +12 -5
  67. package/dist/util/src/Command.js.map +1 -1
  68. package/dist/util/src/Events.d.ts +3 -2
  69. package/dist/util/src/Events.d.ts.map +1 -1
  70. package/dist/util/src/Events.js.map +1 -1
  71. package/dist/util/src/Kinds.d.ts +1 -0
  72. package/dist/util/src/Kinds.d.ts.map +1 -1
  73. package/dist/util/src/Kinds.js +1 -0
  74. package/dist/util/src/Kinds.js.map +1 -1
  75. package/dist/util/src/RelaySelection.d.ts +5 -0
  76. package/dist/util/src/RelaySelection.d.ts.map +1 -1
  77. package/dist/util/src/RelaySelection.js.map +1 -1
  78. package/dist/util/src/Tags.d.ts +5 -0
  79. package/dist/util/src/Tags.d.ts.map +1 -1
  80. package/dist/util/src/Tags.js +3 -0
  81. package/dist/util/src/Tags.js.map +1 -1
  82. package/dist/util/src/index.d.ts +1 -0
  83. package/dist/util/src/index.d.ts.map +1 -1
  84. package/dist/util/src/index.js +1 -0
  85. package/dist/util/src/index.js.map +1 -1
  86. package/package.json +31 -12
  87. package/dist/net/src/adapter.d.ts +0 -47
  88. package/dist/net/src/adapter.d.ts.map +0 -1
  89. package/dist/net/src/adapter.js +0 -139
  90. package/dist/net/src/adapter.js.map +0 -1
  91. package/dist/net/src/auth.d.ts +0 -40
  92. package/dist/net/src/auth.d.ts.map +0 -1
  93. package/dist/net/src/auth.js +0 -131
  94. package/dist/net/src/auth.js.map +0 -1
  95. package/dist/net/src/context.d.ts +0 -10
  96. package/dist/net/src/context.d.ts.map +0 -1
  97. package/dist/net/src/context.js +0 -2
  98. package/dist/net/src/context.js.map +0 -1
  99. package/dist/net/src/count.d.ts +0 -30
  100. package/dist/net/src/count.d.ts.map +0 -1
  101. package/dist/net/src/count.js +0 -97
  102. package/dist/net/src/count.js.map +0 -1
  103. package/dist/net/src/diff.d.ts +0 -57
  104. package/dist/net/src/diff.d.ts.map +0 -1
  105. package/dist/net/src/diff.js +0 -169
  106. package/dist/net/src/diff.js.map +0 -1
  107. package/dist/net/src/index.d.ts +0 -17
  108. package/dist/net/src/index.d.ts.map +0 -1
  109. package/dist/net/src/index.js +0 -17
  110. package/dist/net/src/index.js.map +0 -1
  111. package/dist/net/src/message.d.ts +0 -96
  112. package/dist/net/src/message.d.ts.map +0 -1
  113. package/dist/net/src/message.js +0 -76
  114. package/dist/net/src/message.js.map +0 -1
  115. package/dist/net/src/multiplex.d.ts +0 -13
  116. package/dist/net/src/multiplex.d.ts.map +0 -1
  117. package/dist/net/src/multiplex.js +0 -210
  118. package/dist/net/src/multiplex.js.map +0 -1
  119. package/dist/net/src/negentropy.d.ts +0 -48
  120. package/dist/net/src/negentropy.d.ts.map +0 -1
  121. package/dist/net/src/negentropy.js +0 -528
  122. package/dist/net/src/negentropy.js.map +0 -1
  123. package/dist/net/src/policy.d.ts +0 -63
  124. package/dist/net/src/policy.d.ts.map +0 -1
  125. package/dist/net/src/policy.js +0 -388
  126. package/dist/net/src/policy.js.map +0 -1
  127. package/dist/net/src/pool.d.ts +0 -15
  128. package/dist/net/src/pool.d.ts.map +0 -1
  129. package/dist/net/src/pool.js +0 -51
  130. package/dist/net/src/pool.js.map +0 -1
  131. package/dist/net/src/publish.d.ts +0 -47
  132. package/dist/net/src/publish.d.ts.map +0 -1
  133. package/dist/net/src/publish.js +0 -112
  134. package/dist/net/src/publish.js.map +0 -1
  135. package/dist/net/src/repository.d.ts.map +0 -1
  136. package/dist/net/src/repository.js.map +0 -1
  137. package/dist/net/src/request.d.ts +0 -37
  138. package/dist/net/src/request.d.ts.map +0 -1
  139. package/dist/net/src/request.js +0 -206
  140. package/dist/net/src/request.js.map +0 -1
  141. package/dist/net/src/socket.d.ts +0 -52
  142. package/dist/net/src/socket.d.ts.map +0 -1
  143. package/dist/net/src/socket.js +0 -134
  144. package/dist/net/src/socket.js.map +0 -1
  145. package/dist/net/src/tracker.d.ts.map +0 -1
  146. package/dist/net/src/tracker.js.map +0 -1
  147. package/dist/net/src/util.d.ts +0 -18
  148. package/dist/net/src/util.d.ts.map +0 -1
  149. package/dist/net/src/util.js +0 -25
  150. package/dist/net/src/util.js.map +0 -1
  151. package/dist/net/src/wrapManager.d.ts +0 -34
  152. package/dist/net/src/wrapManager.d.ts.map +0 -1
  153. package/dist/net/src/wrapManager.js +0 -79
  154. package/dist/net/src/wrapManager.js.map +0 -1
  155. package/dist/store/src/repository.d.ts.map +0 -1
  156. package/dist/store/src/repository.js +0 -580
  157. package/dist/store/src/repository.js.map +0 -1
@@ -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"}
@@ -1,528 +0,0 @@
1
- // (C) 2023 Doug Hoyte. MIT license
2
- /* eslint-disable */
3
- // @ts-nocheck
4
- const PROTOCOL_VERSION = 0x61; // Version 1
5
- const ID_SIZE = 32;
6
- const FINGERPRINT_SIZE = 16;
7
- const Mode = {
8
- Skip: 0,
9
- Fingerprint: 1,
10
- IdList: 2,
11
- };
12
- class WrappedBuffer {
13
- constructor(buffer) {
14
- this._raw = new Uint8Array(buffer || 512);
15
- this.length = buffer ? buffer.length : 0;
16
- }
17
- unwrap() {
18
- return this._raw.subarray(0, this.length);
19
- }
20
- get capacity() {
21
- return this._raw.byteLength;
22
- }
23
- extend(buf) {
24
- if (buf._raw)
25
- buf = buf.unwrap();
26
- if (typeof buf.length !== "number")
27
- throw Error("bad length");
28
- const targetSize = buf.length + this.length;
29
- if (this.capacity < targetSize) {
30
- const oldRaw = this._raw;
31
- const newCapacity = Math.max(this.capacity * 2, targetSize);
32
- this._raw = new Uint8Array(newCapacity);
33
- this._raw.set(oldRaw);
34
- }
35
- this._raw.set(buf, this.length);
36
- this.length += buf.length;
37
- }
38
- shift() {
39
- const first = this._raw[0];
40
- this._raw = this._raw.subarray(1);
41
- this.length--;
42
- return first;
43
- }
44
- shiftN(n = 1) {
45
- const firstSubarray = this._raw.subarray(0, n);
46
- this._raw = this._raw.subarray(n);
47
- this.length -= n;
48
- return firstSubarray;
49
- }
50
- }
51
- function decodeVarInt(buf) {
52
- let res = 0;
53
- while (1) {
54
- if (buf.length === 0)
55
- throw Error("parse ends prematurely");
56
- const byte = buf.shift();
57
- res = (res << 7) | (byte & 127);
58
- if ((byte & 128) === 0)
59
- break;
60
- }
61
- return res;
62
- }
63
- function encodeVarInt(n) {
64
- if (n === 0)
65
- return new WrappedBuffer([0]);
66
- const o = [];
67
- while (n !== 0) {
68
- o.push(n & 127);
69
- n >>>= 7;
70
- }
71
- o.reverse();
72
- for (let i = 0; i < o.length - 1; i++)
73
- o[i] |= 128;
74
- return new WrappedBuffer(o);
75
- }
76
- function getByte(buf) {
77
- return getBytes(buf, 1)[0];
78
- }
79
- function getBytes(buf, n) {
80
- if (buf.length < n)
81
- throw Error("parse ends prematurely");
82
- return buf.shiftN(n);
83
- }
84
- class Accumulator {
85
- constructor() {
86
- this.setToZero();
87
- this.sha256 = async (slice) => new Uint8Array(await crypto.subtle.digest("SHA-256", slice));
88
- }
89
- setToZero() {
90
- this.buf = new Uint8Array(ID_SIZE);
91
- }
92
- add(otherBuf) {
93
- let currCarry = 0, nextCarry = 0;
94
- const p = new DataView(this.buf.buffer);
95
- const po = new DataView(otherBuf.buffer);
96
- for (let i = 0; i < 8; i++) {
97
- const offset = i * 4;
98
- const orig = p.getUint32(offset, true);
99
- const otherV = po.getUint32(offset, true);
100
- let next = orig;
101
- next += currCarry;
102
- next += otherV;
103
- if (next > 0xffffffff)
104
- nextCarry = 1;
105
- p.setUint32(offset, next & 0xffffffff, true);
106
- currCarry = nextCarry;
107
- nextCarry = 0;
108
- }
109
- }
110
- negate() {
111
- const p = new DataView(this.buf.buffer);
112
- for (let i = 0; i < 8; i++) {
113
- const offset = i * 4;
114
- p.setUint32(offset, ~p.getUint32(offset, true));
115
- }
116
- const one = new Uint8Array(ID_SIZE);
117
- one[0] = 1;
118
- this.add(one);
119
- }
120
- async getFingerprint(n) {
121
- const input = new WrappedBuffer();
122
- input.extend(this.buf);
123
- input.extend(encodeVarInt(n));
124
- const hash = await this.sha256(input.unwrap());
125
- return hash.subarray(0, FINGERPRINT_SIZE);
126
- }
127
- }
128
- class NegentropyStorageVector {
129
- constructor() {
130
- this.items = [];
131
- this.sealed = false;
132
- }
133
- insert(timestamp, id) {
134
- if (this.sealed)
135
- throw Error("already sealed");
136
- id = loadInputBuffer(id);
137
- if (id.byteLength !== ID_SIZE)
138
- throw Error("bad id size for added item");
139
- this.items.push({ timestamp, id });
140
- }
141
- seal() {
142
- if (this.sealed)
143
- throw Error("already sealed");
144
- this.sealed = true;
145
- this.items.sort(itemCompare);
146
- for (let i = 1; i < this.items.length; i++) {
147
- if (itemCompare(this.items[i - 1], this.items[i]) === 0)
148
- throw Error("duplicate item inserted");
149
- }
150
- }
151
- unseal() {
152
- this.sealed = false;
153
- }
154
- size() {
155
- this._checkSealed();
156
- return this.items.length;
157
- }
158
- getItem(i) {
159
- this._checkSealed();
160
- if (i >= this.items.length)
161
- throw Error("out of range");
162
- return this.items[i];
163
- }
164
- iterate(begin, end, cb) {
165
- this._checkSealed();
166
- this._checkBounds(begin, end);
167
- for (let i = begin; i < end; ++i) {
168
- if (!cb(this.items[i], i))
169
- break;
170
- }
171
- }
172
- findLowerBound(begin, end, bound) {
173
- this._checkSealed();
174
- this._checkBounds(begin, end);
175
- return this._binarySearch(this.items, begin, end, a => itemCompare(a, bound) < 0);
176
- }
177
- async fingerprint(begin, end) {
178
- const out = new Accumulator();
179
- out.setToZero();
180
- this.iterate(begin, end, (item, i) => {
181
- out.add(item.id);
182
- return true;
183
- });
184
- return await out.getFingerprint(end - begin);
185
- }
186
- _checkSealed() {
187
- if (!this.sealed)
188
- throw Error("not sealed");
189
- }
190
- _checkBounds(begin, end) {
191
- if (begin > end || end > this.items.length)
192
- throw Error("bad range");
193
- }
194
- _binarySearch(arr, first, last, cmp) {
195
- let count = last - first;
196
- while (count > 0) {
197
- let it = first;
198
- const step = Math.floor(count / 2);
199
- it += step;
200
- if (cmp(arr[it])) {
201
- first = ++it;
202
- count -= step + 1;
203
- }
204
- else {
205
- count = step;
206
- }
207
- }
208
- return first;
209
- }
210
- }
211
- class Negentropy {
212
- constructor(storage, frameSizeLimit = 0) {
213
- if (frameSizeLimit !== 0 && frameSizeLimit < 4096)
214
- throw Error("frameSizeLimit too small");
215
- this.storage = storage;
216
- this.frameSizeLimit = frameSizeLimit;
217
- this.lastTimestampIn = 0;
218
- this.lastTimestampOut = 0;
219
- }
220
- _bound(timestamp, id) {
221
- return { timestamp, id: id ? id : new Uint8Array(0) };
222
- }
223
- async initiate() {
224
- if (this.isInitiator)
225
- throw Error("already initiated");
226
- this.isInitiator = true;
227
- const output = new WrappedBuffer();
228
- output.extend([PROTOCOL_VERSION]);
229
- await this.splitRange(0, this.storage.size(), this._bound(Number.MAX_VALUE), output);
230
- return this._renderOutput(output);
231
- }
232
- setInitiator() {
233
- this.isInitiator = true;
234
- }
235
- async reconcile(query) {
236
- const haveIds = [], needIds = [];
237
- query = new WrappedBuffer(loadInputBuffer(query));
238
- this.lastTimestampIn = this.lastTimestampOut = 0; // reset for each message
239
- const fullOutput = new WrappedBuffer();
240
- fullOutput.extend([PROTOCOL_VERSION]);
241
- const protocolVersion = getByte(query);
242
- if (protocolVersion < 0x60 || protocolVersion > 0x6f)
243
- throw Error("invalid negentropy protocol version byte");
244
- if (protocolVersion !== PROTOCOL_VERSION) {
245
- if (this.isInitiator)
246
- throw Error("unsupported negentropy protocol version requested: " + (protocolVersion - 0x60));
247
- else
248
- return [this._renderOutput(fullOutput), haveIds, needIds];
249
- }
250
- const storageSize = this.storage.size();
251
- let prevBound = this._bound(0);
252
- let prevIndex = 0;
253
- let skip = false;
254
- while (query.length !== 0) {
255
- let o = new WrappedBuffer();
256
- const doSkip = () => {
257
- if (skip) {
258
- skip = false;
259
- o.extend(this.encodeBound(prevBound));
260
- o.extend(encodeVarInt(Mode.Skip));
261
- }
262
- };
263
- const currBound = this.decodeBound(query);
264
- const mode = decodeVarInt(query);
265
- const lower = prevIndex;
266
- let upper = this.storage.findLowerBound(prevIndex, storageSize, currBound);
267
- if (mode === Mode.Skip) {
268
- skip = true;
269
- }
270
- else if (mode === Mode.Fingerprint) {
271
- const theirFingerprint = getBytes(query, FINGERPRINT_SIZE);
272
- const ourFingerprint = await this.storage.fingerprint(lower, upper);
273
- if (compareUint8Array(theirFingerprint, ourFingerprint) !== 0) {
274
- doSkip();
275
- await this.splitRange(lower, upper, currBound, o);
276
- }
277
- else {
278
- skip = true;
279
- }
280
- }
281
- else if (mode === Mode.IdList) {
282
- const numIds = decodeVarInt(query);
283
- const theirElems = {}; // stringified Uint8Array -> original Uint8Array (or hex)
284
- for (let i = 0; i < numIds; i++) {
285
- const e = getBytes(query, ID_SIZE);
286
- if (this.isInitiator)
287
- theirElems[e] = e;
288
- }
289
- if (this.isInitiator) {
290
- skip = true;
291
- this.storage.iterate(lower, upper, item => {
292
- const k = item.id;
293
- if (!theirElems[k]) {
294
- // ID exists on our side, but not their side
295
- if (this.isInitiator)
296
- haveIds.push(this.wantUint8ArrayOutput ? k : uint8ArrayToHex(k));
297
- }
298
- else {
299
- // ID exists on both sides
300
- delete theirElems[k];
301
- }
302
- return true;
303
- });
304
- for (const v of Object.values(theirElems)) {
305
- // ID exists on their side, but not our side
306
- needIds.push(this.wantUint8ArrayOutput ? v : uint8ArrayToHex(v));
307
- }
308
- }
309
- else {
310
- doSkip();
311
- const responseIds = new WrappedBuffer();
312
- let numResponseIds = 0;
313
- let endBound = currBound;
314
- this.storage.iterate(lower, upper, (item, index) => {
315
- if (this.exceededFrameSizeLimit(fullOutput.length + responseIds.length)) {
316
- endBound = item;
317
- upper = index; // shrink upper so that remaining range gets correct fingerprint
318
- return false;
319
- }
320
- responseIds.extend(item.id);
321
- numResponseIds++;
322
- return true;
323
- });
324
- o.extend(this.encodeBound(endBound));
325
- o.extend(encodeVarInt(Mode.IdList));
326
- o.extend(encodeVarInt(numResponseIds));
327
- o.extend(responseIds);
328
- fullOutput.extend(o);
329
- o = new WrappedBuffer();
330
- }
331
- }
332
- else {
333
- throw Error("unexpected mode");
334
- }
335
- if (this.exceededFrameSizeLimit(fullOutput.length + o.length)) {
336
- // frameSizeLimit exceeded: Stop range processing and return a fingerprint for the remaining range
337
- const remainingFingerprint = await this.storage.fingerprint(upper, storageSize);
338
- fullOutput.extend(this.encodeBound(this._bound(Number.MAX_VALUE)));
339
- fullOutput.extend(encodeVarInt(Mode.Fingerprint));
340
- fullOutput.extend(remainingFingerprint);
341
- break;
342
- }
343
- else {
344
- fullOutput.extend(o);
345
- }
346
- prevIndex = upper;
347
- prevBound = currBound;
348
- }
349
- return [
350
- fullOutput.length === 1 && this.isInitiator ? null : this._renderOutput(fullOutput),
351
- haveIds,
352
- needIds,
353
- ];
354
- }
355
- async splitRange(lower, upper, upperBound, o) {
356
- const numElems = upper - lower;
357
- const buckets = 16;
358
- if (numElems < buckets * 2) {
359
- o.extend(this.encodeBound(upperBound));
360
- o.extend(encodeVarInt(Mode.IdList));
361
- o.extend(encodeVarInt(numElems));
362
- this.storage.iterate(lower, upper, item => {
363
- o.extend(item.id);
364
- return true;
365
- });
366
- }
367
- else {
368
- const itemsPerBucket = Math.floor(numElems / buckets);
369
- const bucketsWithExtra = numElems % buckets;
370
- let curr = lower;
371
- for (let i = 0; i < buckets; i++) {
372
- const bucketSize = itemsPerBucket + (i < bucketsWithExtra ? 1 : 0);
373
- const ourFingerprint = await this.storage.fingerprint(curr, curr + bucketSize);
374
- curr += bucketSize;
375
- let nextBound;
376
- if (curr === upper) {
377
- nextBound = upperBound;
378
- }
379
- else {
380
- let prevItem, currItem;
381
- this.storage.iterate(curr - 1, curr + 1, (item, index) => {
382
- if (index === curr - 1)
383
- prevItem = item;
384
- else
385
- currItem = item;
386
- return true;
387
- });
388
- nextBound = this.getMinimalBound(prevItem, currItem);
389
- }
390
- o.extend(this.encodeBound(nextBound));
391
- o.extend(encodeVarInt(Mode.Fingerprint));
392
- o.extend(ourFingerprint);
393
- }
394
- }
395
- }
396
- _renderOutput(o) {
397
- o = o.unwrap();
398
- if (!this.wantUint8ArrayOutput)
399
- o = uint8ArrayToHex(o);
400
- return o;
401
- }
402
- exceededFrameSizeLimit(n) {
403
- return this.frameSizeLimit && n > this.frameSizeLimit - 200;
404
- }
405
- // Decoding
406
- decodeTimestampIn(encoded) {
407
- let timestamp = decodeVarInt(encoded);
408
- timestamp = timestamp === 0 ? Number.MAX_VALUE : timestamp - 1;
409
- if (this.lastTimestampIn === Number.MAX_VALUE || timestamp === Number.MAX_VALUE) {
410
- this.lastTimestampIn = Number.MAX_VALUE;
411
- return Number.MAX_VALUE;
412
- }
413
- timestamp += this.lastTimestampIn;
414
- this.lastTimestampIn = timestamp;
415
- return timestamp;
416
- }
417
- decodeBound(encoded) {
418
- const timestamp = this.decodeTimestampIn(encoded);
419
- const len = decodeVarInt(encoded);
420
- if (len > ID_SIZE)
421
- throw Error("bound key too long");
422
- const id = getBytes(encoded, len);
423
- return { timestamp, id };
424
- }
425
- // Encoding
426
- encodeTimestampOut(timestamp) {
427
- if (timestamp === Number.MAX_VALUE) {
428
- this.lastTimestampOut = Number.MAX_VALUE;
429
- return encodeVarInt(0);
430
- }
431
- const temp = timestamp;
432
- timestamp -= this.lastTimestampOut;
433
- this.lastTimestampOut = temp;
434
- return encodeVarInt(timestamp + 1);
435
- }
436
- encodeBound(key) {
437
- const output = new WrappedBuffer();
438
- output.extend(this.encodeTimestampOut(key.timestamp));
439
- output.extend(encodeVarInt(key.id.length));
440
- output.extend(key.id);
441
- return output;
442
- }
443
- getMinimalBound(prev, curr) {
444
- if (curr.timestamp !== prev.timestamp) {
445
- return this._bound(curr.timestamp);
446
- }
447
- else {
448
- let sharedPrefixBytes = 0;
449
- const currKey = curr.id;
450
- const prevKey = prev.id;
451
- for (let i = 0; i < ID_SIZE; i++) {
452
- if (currKey[i] !== prevKey[i])
453
- break;
454
- sharedPrefixBytes++;
455
- }
456
- return this._bound(curr.timestamp, curr.id.subarray(0, sharedPrefixBytes + 1));
457
- }
458
- }
459
- }
460
- function loadInputBuffer(inp) {
461
- if (typeof inp === "string")
462
- inp = hexToUint8Array(inp);
463
- else if (__proto__ !== Uint8Array.prototype)
464
- inp = new Uint8Array(inp); // node Buffer?
465
- return inp;
466
- }
467
- function hexToUint8Array(h) {
468
- if (h.startsWith("0x"))
469
- h = h.substr(2);
470
- if (h.length % 2 === 1)
471
- throw Error("odd length of hex string");
472
- const arr = new Uint8Array(h.length / 2);
473
- for (let i = 0; i < arr.length; i++)
474
- arr[i] = parseInt(h.substr(i * 2, 2), 16);
475
- return arr;
476
- }
477
- const uint8ArrayToHexLookupTable = new Array(256);
478
- {
479
- const hexAlphabet = [
480
- "0",
481
- "1",
482
- "2",
483
- "3",
484
- "4",
485
- "5",
486
- "6",
487
- "7",
488
- "8",
489
- "9",
490
- "a",
491
- "b",
492
- "c",
493
- "d",
494
- "e",
495
- "f",
496
- ];
497
- for (let i = 0; i < 256; i++) {
498
- uint8ArrayToHexLookupTable[i] = hexAlphabet[(i >>> 4) & 0xf] + hexAlphabet[i & 0xf];
499
- }
500
- }
501
- function uint8ArrayToHex(arr) {
502
- let out = "";
503
- for (let i = 0, edx = arr.length; i < edx; i++) {
504
- out += uint8ArrayToHexLookupTable[arr[i]];
505
- }
506
- return out;
507
- }
508
- function compareUint8Array(a, b) {
509
- for (let i = 0; i < a.byteLength; i++) {
510
- if (a[i] < b[i])
511
- return -1;
512
- if (a[i] > b[i])
513
- return 1;
514
- }
515
- if (a.byteLength > b.byteLength)
516
- return 1;
517
- if (a.byteLength < b.byteLength)
518
- return -1;
519
- return 0;
520
- }
521
- function itemCompare(a, b) {
522
- if (a.timestamp === b.timestamp) {
523
- return compareUint8Array(a.id, b.id);
524
- }
525
- return a.timestamp - b.timestamp;
526
- }
527
- export { Negentropy, NegentropyStorageVector };
528
- //# sourceMappingURL=negentropy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"negentropy.js","sourceRoot":"","sources":["../../../../net/src/negentropy.ts"],"names":[],"mappings":"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"}