@peerbit/log 3.0.34 → 4.0.0-55cebfe
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/append.d.ts +2 -0
- package/dist/benchmark/append.d.ts.map +1 -0
- package/dist/benchmark/append.js +40 -0
- package/dist/benchmark/append.js.map +1 -0
- package/dist/benchmark/memory/index.d.ts +2 -0
- package/dist/benchmark/memory/index.d.ts.map +1 -0
- package/dist/benchmark/memory/index.js +122 -0
- package/dist/benchmark/memory/index.js.map +1 -0
- package/dist/benchmark/memory/insert.d.ts +2 -0
- package/dist/benchmark/memory/insert.d.ts.map +1 -0
- package/dist/benchmark/memory/insert.js +59 -0
- package/dist/benchmark/memory/insert.js.map +1 -0
- package/dist/benchmark/memory/utils.d.ts +13 -0
- package/dist/benchmark/memory/utils.d.ts.map +1 -0
- package/dist/benchmark/memory/utils.js +2 -0
- package/dist/benchmark/memory/utils.js.map +1 -0
- package/dist/benchmark/payload.d.ts +2 -0
- package/dist/benchmark/payload.d.ts.map +1 -0
- package/{lib/esm/__benchmark__/index.js → dist/benchmark/payload.js} +20 -22
- package/dist/benchmark/payload.js.map +1 -0
- package/dist/src/change.d.ts +6 -0
- package/dist/src/change.d.ts.map +1 -0
- package/{lib/esm → dist/src}/clock.d.ts +3 -26
- package/dist/src/clock.d.ts.map +1 -0
- package/{lib/esm → dist/src}/clock.js +30 -39
- package/dist/src/clock.js.map +1 -0
- package/{lib/esm → dist/src}/difference.d.ts +1 -0
- package/dist/src/difference.d.ts.map +1 -0
- package/{lib/esm → dist/src}/encoding.d.ts +2 -1
- package/dist/src/encoding.d.ts.map +1 -0
- package/{lib/esm → dist/src}/encoding.js +2 -2
- package/{lib/esm → dist/src}/encoding.js.map +1 -1
- package/dist/src/entry-index.d.ts +78 -0
- package/dist/src/entry-index.d.ts.map +1 -0
- package/dist/src/entry-index.js +316 -0
- package/dist/src/entry-index.js.map +1 -0
- package/{lib/esm → dist/src}/entry-with-refs.d.ts +2 -1
- package/dist/src/entry-with-refs.d.ts.map +1 -0
- package/{lib/esm → dist/src}/entry.d.ts +22 -18
- package/dist/src/entry.d.ts.map +1 -0
- package/{lib/esm → dist/src}/entry.js +69 -42
- package/dist/src/entry.js.map +1 -0
- package/{lib/esm → dist/src}/find-uniques.d.ts +1 -0
- package/dist/src/find-uniques.d.ts.map +1 -0
- package/{lib/esm → dist/src}/heads-cache.d.ts +4 -3
- package/dist/src/heads-cache.d.ts.map +1 -0
- package/{lib/esm → dist/src}/heads-cache.js +9 -10
- package/dist/src/heads-cache.js.map +1 -0
- package/{lib/esm → dist/src}/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/{lib/esm → dist/src}/log-errors.d.ts +1 -0
- package/dist/src/log-errors.d.ts.map +1 -0
- package/dist/src/log-sorting.d.ts +35 -0
- package/dist/src/log-sorting.d.ts.map +1 -0
- package/dist/src/log-sorting.js +105 -0
- package/dist/src/log-sorting.js.map +1 -0
- package/{lib/esm → dist/src}/log.d.ts +78 -56
- package/dist/src/log.d.ts.map +1 -0
- package/{lib/esm → dist/src}/log.js +355 -465
- package/dist/src/log.js.map +1 -0
- package/{lib/esm → dist/src}/logger.d.ts +1 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/{lib/esm → dist/src}/logger.js.map +1 -1
- package/{lib/esm → dist/src}/snapshot.d.ts +5 -4
- package/dist/src/snapshot.d.ts.map +1 -0
- package/{lib/esm → dist/src}/snapshot.js +10 -10
- package/dist/src/snapshot.js.map +1 -0
- package/{lib/esm → dist/src}/trim.d.ts +11 -9
- package/dist/src/trim.d.ts.map +1 -0
- package/{lib/esm → dist/src}/trim.js +46 -35
- package/dist/src/trim.js.map +1 -0
- package/dist/src/utils.d.ts +4 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +12 -0
- package/dist/src/utils.js.map +1 -0
- package/package.json +104 -78
- package/src/change.ts +3 -2
- package/src/clock.ts +22 -22
- package/src/encoding.ts +4 -4
- package/src/entry-index.ts +451 -52
- package/src/entry-with-refs.ts +1 -1
- package/src/entry.ts +95 -81
- package/src/heads-cache.ts +33 -29
- package/src/log-sorting.ts +116 -94
- package/src/log.ts +482 -571
- package/src/logger.ts +1 -0
- package/src/snapshot.ts +15 -17
- package/src/trim.ts +81 -50
- package/src/utils.ts +10 -0
- package/lib/esm/__benchmark__/index.d.ts +0 -1
- package/lib/esm/__benchmark__/index.js.map +0 -1
- package/lib/esm/change.d.ts +0 -5
- package/lib/esm/clock.js.map +0 -1
- package/lib/esm/entry-index.d.ts +0 -24
- package/lib/esm/entry-index.js +0 -74
- package/lib/esm/entry-index.js.map +0 -1
- package/lib/esm/entry.js.map +0 -1
- package/lib/esm/heads-cache.js.map +0 -1
- package/lib/esm/heads.d.ts +0 -69
- package/lib/esm/heads.js +0 -157
- package/lib/esm/heads.js.map +0 -1
- package/lib/esm/log-sorting.d.ts +0 -44
- package/lib/esm/log-sorting.js +0 -86
- package/lib/esm/log-sorting.js.map +0 -1
- package/lib/esm/log.js.map +0 -1
- package/lib/esm/snapshot.js.map +0 -1
- package/lib/esm/trim.js.map +0 -1
- package/lib/esm/types.d.ts +0 -6
- package/lib/esm/types.js +0 -23
- package/lib/esm/types.js.map +0 -1
- package/lib/esm/utils.d.ts +0 -2
- package/lib/esm/utils.js +0 -3
- package/lib/esm/utils.js.map +0 -1
- package/lib/esm/values.d.ts +0 -26
- package/lib/esm/values.js +0 -131
- package/lib/esm/values.js.map +0 -1
- package/src/__benchmark__/index.ts +0 -130
- package/src/heads.ts +0 -233
- package/src/types.ts +0 -12
- package/src/values.ts +0 -174
- /package/{lib/esm → dist/src}/change.js +0 -0
- /package/{lib/esm → dist/src}/change.js.map +0 -0
- /package/{lib/esm → dist/src}/difference.js +0 -0
- /package/{lib/esm → dist/src}/difference.js.map +0 -0
- /package/{lib/esm → dist/src}/entry-with-refs.js +0 -0
- /package/{lib/esm → dist/src}/entry-with-refs.js.map +0 -0
- /package/{lib/esm → dist/src}/find-uniques.js +0 -0
- /package/{lib/esm → dist/src}/find-uniques.js.map +0 -0
- /package/{lib/esm → dist/src}/index.js +0 -0
- /package/{lib/esm → dist/src}/index.js.map +0 -0
- /package/{lib/esm → dist/src}/log-errors.js +0 -0
- /package/{lib/esm → dist/src}/log-errors.js.map +0 -0
- /package/{lib/esm → dist/src}/logger.js +0 -0
|
@@ -8,13 +8,17 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
var Entry_1;
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { DecryptedThing, MaybeEncrypted,
|
|
11
|
+
import { deserialize, field, fixedArray, option, serialize, variant, vec, } from "@dao-xyz/borsh";
|
|
12
|
+
import {} from "@peerbit/blocks-interface";
|
|
13
|
+
import { AccessError, DecryptedThing, Ed25519PublicKey, MaybeEncrypted, PublicSignKey, SignatureWithKey, X25519Keypair, X25519PublicKey, randomBytes, sha256Base64, } from "@peerbit/crypto";
|
|
14
14
|
import { verify } from "@peerbit/crypto";
|
|
15
|
-
import {
|
|
15
|
+
import { id } from "@peerbit/indexer-interface";
|
|
16
|
+
import {} from "@peerbit/keychain";
|
|
17
|
+
import { compare } from "uint8arrays";
|
|
18
|
+
import { LamportClock as Clock, HLC, Timestamp } from "./clock.js";
|
|
16
19
|
import { NO_ENCODING } from "./encoding.js";
|
|
17
20
|
import { logger } from "./logger.js";
|
|
21
|
+
import { equals } from "./utils.js";
|
|
18
22
|
const isMaybeEryptionPublicKey = (o) => {
|
|
19
23
|
if (!o) {
|
|
20
24
|
return true;
|
|
@@ -73,7 +77,7 @@ let Payload = class Payload {
|
|
|
73
77
|
return this._value;
|
|
74
78
|
}
|
|
75
79
|
getValue(encoding = this.encoding || NO_ENCODING) {
|
|
76
|
-
if (this._value
|
|
80
|
+
if (this._value !== undefined) {
|
|
77
81
|
return this._value;
|
|
78
82
|
}
|
|
79
83
|
return encoding.decoder(this.data);
|
|
@@ -91,24 +95,23 @@ export { Payload };
|
|
|
91
95
|
export var EntryType;
|
|
92
96
|
(function (EntryType) {
|
|
93
97
|
EntryType[EntryType["APPEND"] = 0] = "APPEND";
|
|
94
|
-
EntryType[EntryType["CUT"] = 1] = "CUT";
|
|
98
|
+
EntryType[EntryType["CUT"] = 1] = "CUT";
|
|
95
99
|
})(EntryType || (EntryType = {}));
|
|
96
|
-
|
|
100
|
+
/* @variant(0) */
|
|
101
|
+
export class Meta {
|
|
97
102
|
clock;
|
|
98
103
|
gid; // graph id
|
|
99
104
|
next;
|
|
100
105
|
type;
|
|
101
106
|
data; // Optional metadata
|
|
102
107
|
constructor(properties) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
this.next = properties.next;
|
|
109
|
-
}
|
|
108
|
+
this.gid = properties.gid;
|
|
109
|
+
this.clock = properties.clock;
|
|
110
|
+
this.type = properties.type;
|
|
111
|
+
this.data = properties.data;
|
|
112
|
+
this.next = properties.next;
|
|
110
113
|
}
|
|
111
|
-
}
|
|
114
|
+
}
|
|
112
115
|
__decorate([
|
|
113
116
|
field({ type: Clock }),
|
|
114
117
|
__metadata("design:type", Clock)
|
|
@@ -129,11 +132,6 @@ __decorate([
|
|
|
129
132
|
field({ type: option(Uint8Array) }),
|
|
130
133
|
__metadata("design:type", Uint8Array)
|
|
131
134
|
], Meta.prototype, "data", void 0);
|
|
132
|
-
Meta = __decorate([
|
|
133
|
-
variant(0),
|
|
134
|
-
__metadata("design:paramtypes", [Object])
|
|
135
|
-
], Meta);
|
|
136
|
-
export { Meta };
|
|
137
135
|
let Signatures = class Signatures {
|
|
138
136
|
signatures;
|
|
139
137
|
constructor(properties) {
|
|
@@ -174,14 +172,42 @@ const maybeEncrypt = (thing, keypair, receiver) => {
|
|
|
174
172
|
}
|
|
175
173
|
return new DecryptedThing({
|
|
176
174
|
data: serialize(thing),
|
|
177
|
-
value: thing
|
|
175
|
+
value: thing,
|
|
178
176
|
}).encrypt(keypair, receivers);
|
|
179
177
|
}
|
|
180
178
|
return new DecryptedThing({
|
|
181
179
|
data: serialize(thing),
|
|
182
|
-
value: thing
|
|
180
|
+
value: thing,
|
|
183
181
|
});
|
|
184
182
|
};
|
|
183
|
+
export class ShallowEntry {
|
|
184
|
+
hash;
|
|
185
|
+
meta;
|
|
186
|
+
payloadSize;
|
|
187
|
+
head;
|
|
188
|
+
constructor(properties) {
|
|
189
|
+
this.hash = properties.hash;
|
|
190
|
+
this.meta = properties.meta;
|
|
191
|
+
this.payloadSize = properties.payloadSize;
|
|
192
|
+
this.head = properties.head;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
__decorate([
|
|
196
|
+
id({ type: "string" }),
|
|
197
|
+
__metadata("design:type", String)
|
|
198
|
+
], ShallowEntry.prototype, "hash", void 0);
|
|
199
|
+
__decorate([
|
|
200
|
+
field({ type: Meta }),
|
|
201
|
+
__metadata("design:type", Meta)
|
|
202
|
+
], ShallowEntry.prototype, "meta", void 0);
|
|
203
|
+
__decorate([
|
|
204
|
+
field({ type: "u32" }),
|
|
205
|
+
__metadata("design:type", Number)
|
|
206
|
+
], ShallowEntry.prototype, "payloadSize", void 0);
|
|
207
|
+
__decorate([
|
|
208
|
+
field({ type: "bool" }),
|
|
209
|
+
__metadata("design:type", Boolean)
|
|
210
|
+
], ShallowEntry.prototype, "head", void 0);
|
|
185
211
|
let Entry = Entry_1 = class Entry {
|
|
186
212
|
_meta;
|
|
187
213
|
_payload;
|
|
@@ -277,6 +303,7 @@ let Entry = Entry_1 = class Entry {
|
|
|
277
303
|
get signatures() {
|
|
278
304
|
const signatures = this._signatures.signatures.filter((x) => {
|
|
279
305
|
try {
|
|
306
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
280
307
|
x.decrypted;
|
|
281
308
|
return true;
|
|
282
309
|
}
|
|
@@ -330,7 +357,7 @@ let Entry = Entry_1 = class Entry {
|
|
|
330
357
|
payload: entry._payload,
|
|
331
358
|
reserved: entry._reserved,
|
|
332
359
|
signatures: undefined,
|
|
333
|
-
hash: undefined
|
|
360
|
+
hash: undefined,
|
|
334
361
|
});
|
|
335
362
|
return trimmed;
|
|
336
363
|
}
|
|
@@ -364,9 +391,9 @@ let Entry = Entry_1 = class Entry {
|
|
|
364
391
|
...properties,
|
|
365
392
|
meta: {
|
|
366
393
|
...properties?.meta,
|
|
367
|
-
next: properties.meta?.next ? properties.meta?.next : []
|
|
394
|
+
next: properties.meta?.next ? properties.meta?.next : [],
|
|
368
395
|
},
|
|
369
|
-
encoding: properties.encoding ? properties.encoding : NO_ENCODING
|
|
396
|
+
encoding: properties.encoding ? properties.encoding : NO_ENCODING,
|
|
370
397
|
};
|
|
371
398
|
}
|
|
372
399
|
if (!properties.encoding) {
|
|
@@ -381,7 +408,7 @@ let Entry = Entry_1 = class Entry {
|
|
|
381
408
|
const payloadToSave = new Payload({
|
|
382
409
|
data: properties.encoding.encoder(properties.data),
|
|
383
410
|
value: properties.data,
|
|
384
|
-
encoding: properties.encoding
|
|
411
|
+
encoding: properties.encoding,
|
|
385
412
|
});
|
|
386
413
|
let clock = properties.meta?.clock;
|
|
387
414
|
if (!clock) {
|
|
@@ -395,7 +422,7 @@ let Entry = Entry_1 = class Entry {
|
|
|
395
422
|
}
|
|
396
423
|
clock = new Clock({
|
|
397
424
|
id: properties.identity.publicKey.bytes,
|
|
398
|
-
timestamp: hlc.now()
|
|
425
|
+
timestamp: hlc.now(),
|
|
399
426
|
});
|
|
400
427
|
}
|
|
401
428
|
else {
|
|
@@ -442,7 +469,7 @@ let Entry = Entry_1 = class Entry {
|
|
|
442
469
|
gid: gid,
|
|
443
470
|
type: properties.meta?.type ?? EntryType.APPEND,
|
|
444
471
|
data: properties.meta?.data,
|
|
445
|
-
next: nextHashes
|
|
472
|
+
next: nextHashes,
|
|
446
473
|
}), properties.encryption?.keypair, properties.encryption?.receiver.meta);
|
|
447
474
|
const payload = await maybeEncrypt(payloadToSave, properties.encryption?.keypair, properties.encryption?.receiver.payload);
|
|
448
475
|
// Sign id, encrypted payload, clock, nexts, refs
|
|
@@ -450,10 +477,10 @@ let Entry = Entry_1 = class Entry {
|
|
|
450
477
|
meta: metadataEncrypted,
|
|
451
478
|
payload,
|
|
452
479
|
signatures: undefined,
|
|
453
|
-
createdLocally: true
|
|
480
|
+
createdLocally: true,
|
|
454
481
|
});
|
|
455
482
|
const signers = properties.signers || [
|
|
456
|
-
properties.identity.sign.bind(properties.identity)
|
|
483
|
+
properties.identity.sign.bind(properties.identity),
|
|
457
484
|
];
|
|
458
485
|
const signable = entry.toSignable();
|
|
459
486
|
const signableBytes = serialize(signable);
|
|
@@ -464,12 +491,12 @@ let Entry = Entry_1 = class Entry {
|
|
|
464
491
|
for (const signature of signatures) {
|
|
465
492
|
const encryptionRecievers = encryptAllSignaturesWithSameKey
|
|
466
493
|
? properties.encryption?.receiver?.signatures
|
|
467
|
-
: properties.encryption?.receiver?.signatures?.[signature.publicKey.hashcode()];
|
|
494
|
+
: properties.encryption?.receiver?.signatures?.[signature.publicKey.hashcode()]; // TODO types
|
|
468
495
|
const signatureEncrypted = await maybeEncrypt(signature, properties.encryption?.keypair, encryptionRecievers);
|
|
469
496
|
encryptedSignatures.push(signatureEncrypted);
|
|
470
497
|
}
|
|
471
498
|
entry._signatures = new Signatures({
|
|
472
|
-
signatures: encryptedSignatures
|
|
499
|
+
signatures: encryptedSignatures,
|
|
473
500
|
});
|
|
474
501
|
if (properties.canAppend && !(await properties.canAppend(entry))) {
|
|
475
502
|
throw new AccessError();
|
|
@@ -482,18 +509,19 @@ let Entry = Entry_1 = class Entry {
|
|
|
482
509
|
get payloadByteLength() {
|
|
483
510
|
return this._payload.byteLength;
|
|
484
511
|
}
|
|
485
|
-
toShallow() {
|
|
486
|
-
return {
|
|
512
|
+
toShallow(isHead) {
|
|
513
|
+
return new ShallowEntry({
|
|
487
514
|
hash: this.hash,
|
|
488
|
-
|
|
489
|
-
|
|
515
|
+
payloadSize: this._payload.byteLength,
|
|
516
|
+
head: isHead,
|
|
517
|
+
meta: new Meta({
|
|
490
518
|
gid: this.meta.gid,
|
|
491
519
|
data: this.meta.data,
|
|
492
520
|
clock: this.meta.clock,
|
|
493
521
|
next: this.meta.next,
|
|
494
|
-
type: this.meta.type
|
|
495
|
-
}
|
|
496
|
-
};
|
|
522
|
+
type: this.meta.type,
|
|
523
|
+
}),
|
|
524
|
+
});
|
|
497
525
|
}
|
|
498
526
|
/**
|
|
499
527
|
* Get the multihash of an Entry.
|
|
@@ -508,8 +536,7 @@ let Entry = Entry_1 = class Entry {
|
|
|
508
536
|
}
|
|
509
537
|
const bytes = serialize(entry);
|
|
510
538
|
entry.size = bytes.length;
|
|
511
|
-
|
|
512
|
-
return result;
|
|
539
|
+
return store.put(bytes);
|
|
513
540
|
}
|
|
514
541
|
/**
|
|
515
542
|
* Create an Entry from a hash.
|
|
@@ -560,7 +587,7 @@ let Entry = Entry_1 = class Entry {
|
|
|
560
587
|
* @returns {boolean}
|
|
561
588
|
*/
|
|
562
589
|
static isDirectParent(entry1, entry2) {
|
|
563
|
-
return entry2.next.
|
|
590
|
+
return entry2.next.includes(entry1.hash); // TODO fix types
|
|
564
591
|
}
|
|
565
592
|
/**
|
|
566
593
|
* Find entry's children from an Array of entries.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/entry.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EACN,WAAW,EACX,KAAK,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,OAAO,EACP,GAAG,GACH,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACN,WAAW,EACX,cAAc,EACd,gBAAgB,EAEhB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,EACX,YAAY,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAiB,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,YAAY,IAAI,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAiB,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AASpC,MAAM,wBAAwB,GAAG,CAAC,CAAM,EAAE,EAAE;IAC3C,IAAI,CAAC,CAAC,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,YAAY,gBAAgB,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,CAAC,gEAAgE;IAC9E,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAYF,SAAS,UAAU,CAAC,GAAe;IAClC,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,KAAa;IACpD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAe;IACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;AAC3B,CAAC;AAKM,IAAM,OAAO,GAAb,MAAM,OAAO;IAEnB,IAAI,CAAa;IAEjB,QAAQ,CAAc;IAEd,MAAM,CAAK;IAEnB,YAAY,KAA6D;QACxE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAQ,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAiB;QACvB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK;QACR,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,QAAQ,CAAC,WAAwB,IAAI,CAAC,QAAQ,IAAI,WAAW;QAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACD,CAAA;AAhCA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BACtB,UAAU;qCAAC;AAFL,OAAO;IADnB,OAAO,CAAC,CAAC,CAAC;;GACE,OAAO,CAkCnB;;AAQD,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACpB,6CAAU,CAAA;IACV,uCAAO,CAAA;AACR,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,iBAAiB;AACjB,MAAM,OAAO,IAAI;IAEhB,KAAK,CAAQ;IAGb,GAAG,CAAS,CAAC,WAAW;IAGxB,IAAI,CAAW;IAGf,IAAI,CAAY;IAGhB,IAAI,CAAc,CAAC,oBAAoB;IAEvC,YAAY,UAMX;QACA,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC7B,CAAC;CACD;AA3BA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;8BAChB,KAAK;mCAAC;AAGb;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;iCACd;AAGZ;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;;kCAChB;AAGf;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;kCACN;AAGhB;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;8BAC7B,UAAU;kCAAC;AAkBZ,IAAM,UAAU,GAAhB,MAAM,UAAU;IAEtB,UAAU,CAAsC;IAEhD,YAAY,UAA+D;QAC1E,IAAI,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACzC,CAAC;IACF,CAAC;IAED,MAAM,CAAC,KAAiB;QACvB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AAnBA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;;8CACW;AAFpC,UAAU;IADtB,OAAO,CAAC,CAAC,CAAC;;GACE,UAAU,CAqBtB;;AAED,MAAM,YAAY,GAAG,CACpB,KAAQ,EACR,OAAuB,EACvB,QAAmC,EACc,EAAE;IACnD,MAAM,SAAS,GAAG,QAAQ;QACzB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACxB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,CAAC,QAAQ,CAAC;QACb,CAAC,CAAC,SAAS,CAAC;IACb,IAAI,SAAS,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,cAAc,CAAI;YAC5B,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC;YACtB,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,cAAc,CAAI;QAC5B,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC;QACtB,KAAK,EAAE,KAAK;KACZ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,YAAY;IAExB,IAAI,CAAS;IAGb,IAAI,CAAO;IAGX,WAAW,CAAS;IAGpB,IAAI,CAAU;IAEd,YAAY,UAKX;QACA,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC7B,CAAC;CACD;AAtBA;IADC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;0CACV;AAGb;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BAChB,IAAI;0CAAC;AAGX;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;iDACH;AAGpB;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACV;AAiBR,IAAM,KAAK,aAAX,MAAM,KAAK;IAIjB,KAAK,CAAuB;IAG5B,QAAQ,CAA6B;IAGrC,SAAS,CAAc;IAGvB,WAAW,CAAc;IAGzB,IAAI,CAAU,CAAC,4DAA4D;IAE3E,cAAc,CAAW;IAEjB,SAAS,CAAY;IACrB,SAAS,CAAe;IAEhC,YAAY,GAOX;QACA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;IAC1C,CAAC;IAED,IAAI,CACH,KAKW;QAEX,IAAI,KAAK,YAAY,OAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,QAAQ;QACX,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;IACrC,CAAC;IAED,IAAI,GAAG;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM;QACX,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;IACnC,CAAC;IAED,IAAI,OAAO;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QACrD,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU;QACf,IAAI,IAAI,CAAC,QAAQ,YAAY,cAAc,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,eAAe;QACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,aAAa;QAClB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAEO,KAAK,CAAU;IAEvB,IAAI,IAAI,CAAC,MAAc;QACtB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACP,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACd,oEAAoE,CACpE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IACD;;;OAGG;IACH,IAAI,UAAU;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,WAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5D,IAAI,CAAC;gBACJ,oEAAoE;gBACpE,CAAC,CAAC,SAAS,CAAC;gBACZ,OAAO,IAAI,CAAC;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACtD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,UAAU,CAAC;IACnB,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,aAAa;QAClB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,IAAI,CAAC,WAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAClE,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1D,KAAK,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBAClC,MAAM,CAAC,KAAK,CAAC,0CAA0C,GAAG,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE9C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,KAAiB;QAClC,iBAAiB;QACjB,MAAM,OAAO,GAAG,IAAI,OAAK,CAAC;YACzB,IAAI,EAAE,KAAK,CAAC,KAAK;YACjB,OAAO,EAAE,KAAK,CAAC,QAAQ;YACvB,QAAQ,EAAE,KAAK,CAAC,SAAS;YACzB,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,SAAS;SACf,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,UAAU;QACT,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,OAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAe;QACrB,OAAO,CACN,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9B,IAAI,CAAC,WAAY,CAAC,MAAM,CAAC,KAAK,CAAC,WAAY,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CACpC,CAAC,CAAC,6EAA6E;IACjF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,IAAiB;QACjC,OAAO,YAAY,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAI,UAkBtB;QACA,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACrD,UAAU,GAAG;gBACZ,GAAG,UAAU;gBACb,IAAI,EAAE;oBACL,GAAG,UAAU,EAAE,IAAI;oBACnB,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;iBACxD;gBACD,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;aACjE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACpE,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAEpD,+CAA+C;QAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;QAEpC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAI;YACpC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAClD,KAAK,EAAE,UAAU,CAAC,IAAI;YACtB,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC7B,CAAC,CAAC;QAEH,IAAI,KAAK,GAAsB,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAED,IACC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC1C,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EACnC,CAAC;gBACF,MAAM,IAAI,KAAK,CACd,wMAAwM,CACxM,CAAC;YACH,CAAC;YACD,KAAK,GAAG,IAAI,KAAK,CAAC;gBACjB,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;gBACvC,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE;aACpB,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,MAAM,EAAE,GAAG,KAAK,CAAC;YACjB,kGAAkG;YAClG,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClE,MAAM,IAAI,KAAK,CACd,iDAAiD;wBAChD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;wBACtB,KAAK;wBACL,EAAE,CAAC,SAAS,CACb,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,GAAkB,IAAI,CAAC;QAC9B,IAAI,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,0BAA0B;YAC1B,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACd,4EAA4E,CAC5E,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBACjE,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACxB,GAAG;oBACF,GAAG,IAAI,IAAI;wBACV,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;wBACZ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAI,GAAc;4BAC7B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;4BACZ,CAAC,CAAC,GAAG,CAAC;YACV,CAAC;QACF,CAAC;aAAM,CAAC;YACP,GAAG;gBACF,UAAU,CAAC,IAAI,EAAE,GAAG;oBACpB,CAAC,MAAM,OAAK,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,cAAc,IAAI,EAAE,CAAC,CAAC,eAAe;QAErC,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAC3C,IAAI,IAAI,CAAC;YACR,KAAK;YACL,GAAG,EAAE,GAAI;YACT,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC,MAAM;YAC/C,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI;YAC3B,IAAI,EAAE,UAAU;SAChB,CAAC,EACF,UAAU,CAAC,UAAU,EAAE,OAAO,EAC9B,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CACpC,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,YAAY,CACjC,aAAa,EACb,UAAU,CAAC,UAAU,EAAE,OAAO,EAC9B,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CACvC,CAAC;QAEF,iDAAiD;QACjD,MAAM,KAAK,GAAa,IAAI,OAAK,CAAI;YACpC,IAAI,EAAE,iBAAiB;YACvB,OAAO;YACP,UAAU,EAAE,SAAS;YACrB,cAAc,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI;YACrC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;SAClD,CAAC;QACF,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAC9C,CAAC;QACF,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAE1E,MAAM,mBAAmB,GAAuC,EAAE,CAAC;QACnE,MAAM,+BAA+B,GAAG,wBAAwB,CAC/D,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAC3C,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,mBAAmB,GAAG,+BAA+B;gBAC1D,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU;gBAC7C,CAAC,CAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAkB,EAAE,CACtD,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,CAC9B,CAAC,CAAC,aAAa;YAClB,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAC5C,SAAS,EACT,UAAU,CAAC,UAAU,EAAE,OAAO,EAC9B,mBAAmB,CACnB,CAAC;YACF,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC;YAClC,UAAU,EAAE,mBAAmB;SAC/B,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,WAAW,EAAE,CAAC;QACzB,CAAC;QAED,cAAc;QACd,KAAK,CAAC,IAAI,GAAG,MAAM,OAAK,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE9D,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAe;QACxB,OAAO,IAAI,YAAY,CAAC;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;YACrC,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,IAAI,CAAC;gBACd,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;gBACtB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBACpB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;aACpB,CAAC;SACF,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAI,KAAa,EAAE,KAAe;QACzD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CACzB,KAAa,EACb,IAAY,EACZ,OAAmD;QAEnD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,OAAK,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,OAAO,KAAiB,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAI,CAAW,EAAE,CAAW;QACzC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAI,CAAW,EAAE,CAAW;QACzC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAI,MAAgB,EAAE,MAAgB;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAW,CAAC,CAAC,CAAC,iBAAiB;IACnE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CACxB,KAAe,EACf,MAAkB;QAElB,IAAI,KAAK,GAAe,EAAE,CAAC;QAC3B,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAK,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,OAAO,MAAM,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAA;AAnhBA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;8BACzB,cAAc;oCAAO;AAG5B;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;8BACtB,cAAc;uCAAa;AAGrC;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;8BACzB,UAAU;wCAAC;AAGvB;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;8BACtB,UAAU;0CAAC;AAGzB;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,wHAAwH;;;mCAC7I;AAhBF,KAAK;IADjB,OAAO,CAAC,CAAC,CAAC;;GACE,KAAK,CAuhBjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-uniques.d.ts","sourceRoot":"","sources":["../../src/find-uniques.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,MAAM,KAAG,CAAC,EAa1D,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { type AnyStore } from "@peerbit/any-store";
|
|
2
|
+
import { Entry } from "./entry.js";
|
|
3
3
|
export declare const logger: import("pino").Logger<never>;
|
|
4
4
|
export declare class CachedValue {
|
|
5
5
|
}
|
|
@@ -9,7 +9,7 @@ export declare class CachePath {
|
|
|
9
9
|
}
|
|
10
10
|
export declare class UnsfinishedReplication {
|
|
11
11
|
hashes: string[];
|
|
12
|
-
constructor(opts
|
|
12
|
+
constructor(opts: {
|
|
13
13
|
hashes: string[];
|
|
14
14
|
});
|
|
15
15
|
}
|
|
@@ -62,3 +62,4 @@ export declare class HeadsCache<T> {
|
|
|
62
62
|
}, reset?: boolean): Promise<void> | undefined;
|
|
63
63
|
}
|
|
64
64
|
export {};
|
|
65
|
+
//# sourceMappingURL=heads-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heads-cache.d.ts","sourceRoot":"","sources":["../../src/heads-cache.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAKnD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,eAAO,MAAM,MAAM,8BAAsC,CAAC;AAC1D,qBAAa,WAAW;CAAG;AAS3B,qBACa,SAAS;IAErB,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM;CAGxB;AAED,qBACa,sBAAsB;IAElC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAEL,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CAGtC;AAED,qBACa,qBAAqB;IAEjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAGhB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,OAAO,EAAE,MAAM,CAAC;gBAEJ,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAK3D;AA4BD,UAAU,UAAU;IACnB,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AACD,qBAAa,UAAU,CAAC,CAAC;IAExB,SAAS,EAAG,MAAM,CAAC;IACnB,gBAAgB,EAAG,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAS;IAE7B,OAAO,CAAC,iBAAiB,CAAK;IAE9B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,eAAe,CAAM;IAE7B,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,sBAAsB,CAAM;IAEpC,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAE5C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAc;gBAEhB,KAAK,EAAE,UAAU;IAI7B,IAAI,KAAK,IAAI,QAAQ,GAAG,SAAS,CAEhC;IAED,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAEK,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B3C,IAAI,MAAM,IAAI,OAAO,CAEpB;YAEa,kBAAkB;IA+E1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,cAAc,CACnB,aAAa,GAAE,MAAM,GAAG,SAA+B,EACvD,oBAAoB,GAAE,MAAM,GAAG,SAAsC,GACnE,OAAO,CAAC,MAAM,EAAE,CAAC;IA8CpB,IAAI,MAAM,YAET;IAEK,KAAK;IAUX;;OAEG;IACG,IAAI;YAiBI,UAAU;IAalB,IAAI;IAcJ,iBAAiB;IAcjB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQvD,YAAY;IAcX,KAAK,CACX,OAAO,EAAE;QACR,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;KAChC,EACD,KAAK,CAAC,EAAE,OAAO;CAMhB"}
|
|
@@ -7,12 +7,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import { variant, option, field, vec } from "@dao-xyz/borsh";
|
|
13
|
-
import { serialize, deserialize } from "@dao-xyz/borsh";
|
|
10
|
+
import { deserialize, field, option, serialize, variant, vec, } from "@dao-xyz/borsh";
|
|
11
|
+
import {} from "@peerbit/any-store";
|
|
14
12
|
import { logger as loggerFn } from "@peerbit/logger";
|
|
13
|
+
import PQueue from "p-queue";
|
|
15
14
|
import path from "path-browserify";
|
|
15
|
+
import { v4 as uuid } from "uuid";
|
|
16
|
+
import { Entry } from "./entry.js";
|
|
16
17
|
export const logger = loggerFn({ module: "heads-cache" });
|
|
17
18
|
export class CachedValue {
|
|
18
19
|
}
|
|
@@ -41,9 +42,7 @@ export { CachePath };
|
|
|
41
42
|
let UnsfinishedReplication = class UnsfinishedReplication {
|
|
42
43
|
hashes;
|
|
43
44
|
constructor(opts) {
|
|
44
|
-
|
|
45
|
-
this.hashes = opts.hashes;
|
|
46
|
-
}
|
|
45
|
+
this.hashes = opts.hashes;
|
|
47
46
|
}
|
|
48
47
|
};
|
|
49
48
|
__decorate([
|
|
@@ -87,7 +86,7 @@ const updateHashes = async (headCache, headsPath, lastCid, lastCounter, hashes)
|
|
|
87
86
|
const counter = lastCounter + BigInt(hashes.length);
|
|
88
87
|
await Promise.all([
|
|
89
88
|
headCache.cache?.put(headsPath, serialize(new CachePath(newHeadsPath.toString()))),
|
|
90
|
-
headCache.cache?.put(newHeadsPath, serialize(new HeadsCacheToSerialize(hashes, counter, lastCid)))
|
|
89
|
+
headCache.cache?.put(newHeadsPath, serialize(new HeadsCacheToSerialize(hashes, counter, lastCid))),
|
|
91
90
|
]);
|
|
92
91
|
return { counter, newPath: newHeadsPath };
|
|
93
92
|
};
|
|
@@ -95,7 +94,7 @@ export class HeadsCache {
|
|
|
95
94
|
// An access controller that is note part of the store manifest, usefull for circular store -> access controller -> store structures
|
|
96
95
|
headsPath;
|
|
97
96
|
removedHeadsPath;
|
|
98
|
-
initialized;
|
|
97
|
+
initialized = false;
|
|
99
98
|
_headsPathCounter = 0;
|
|
100
99
|
_lastHeadsPath;
|
|
101
100
|
_lastHeadsCount = 0n;
|
|
@@ -202,7 +201,7 @@ export class HeadsCache {
|
|
|
202
201
|
const cache = bytes && deserialize(bytes, HeadsCacheToSerialize);
|
|
203
202
|
next = cache?.last;
|
|
204
203
|
cache?.heads.forEach((head) => {
|
|
205
|
-
if (filter
|
|
204
|
+
if (filter?.has(head)) {
|
|
206
205
|
return;
|
|
207
206
|
}
|
|
208
207
|
result.push(head);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heads-cache.js","sourceRoot":"","sources":["../../src/heads-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-errors.d.ts","sourceRoot":"","sources":["../../src/log-errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,aACD,CAAC;AACtC,eAAO,MAAM,kBAAkB,aAA8C,CAAC;AAC9E,eAAO,MAAM,YAAY,aAC6B,CAAC;AACvD,eAAO,MAAM,yBAAyB,aACU,CAAC;AACjD,eAAO,MAAM,0BAA0B,aACqB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Sort, type StateFieldQuery } from "@peerbit/indexer-interface";
|
|
2
|
+
import type { Timestamp } from "./clock";
|
|
3
|
+
export type SortableEntry = {
|
|
4
|
+
meta: {
|
|
5
|
+
clock: {
|
|
6
|
+
timestamp: Timestamp;
|
|
7
|
+
};
|
|
8
|
+
gid: string;
|
|
9
|
+
};
|
|
10
|
+
hash: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const ENTRY_SORT_SHAPE: {
|
|
13
|
+
readonly hash: true;
|
|
14
|
+
readonly meta: {
|
|
15
|
+
readonly gid: true;
|
|
16
|
+
readonly clock: true;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export type SortFn = {
|
|
20
|
+
sort: Sort[];
|
|
21
|
+
before: (entry: SortableEntry) => StateFieldQuery[];
|
|
22
|
+
after: (entry: SortableEntry) => StateFieldQuery[];
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Sort two entries as Last-Write-Wins (LWW).
|
|
26
|
+
*
|
|
27
|
+
* Last Write Wins is a conflict resolution strategy for sorting elements
|
|
28
|
+
* where the element with a greater clock (latest) is chosen as the winner.
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
export declare const LastWriteWins: SortFn;
|
|
32
|
+
export declare const FirstWriteWins: SortFn;
|
|
33
|
+
export declare const SortByEntryHash: SortFn;
|
|
34
|
+
export declare const compare: (a: SortableEntry, b: SortableEntry, sortFn: SortFn) => number;
|
|
35
|
+
//# sourceMappingURL=log-sorting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-sorting.d.ts","sourceRoot":"","sources":["../../src/log-sorting.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,IAAI,EAEJ,KAAK,eAAe,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE;QACL,KAAK,EAAE;YACN,SAAS,EAAE,SAAS,CAAC;SACrB,CAAC;QACF,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;CAGnB,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,eAAe,EAAE,CAAC;IACpD,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,eAAe,EAAE,CAAC;CACnD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,MA4B3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MA2B5B,CAAC;AACF,eAAO,MAAM,eAAe,EAAE,MAsB7B,CAAC;AAEF,eAAO,MAAM,OAAO,MAAO,aAAa,KAAK,aAAa,UAAU,MAAM,WAczE,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Compare, IntegerCompare, Sort, SortDirection, } from "@peerbit/indexer-interface";
|
|
2
|
+
export const ENTRY_SORT_SHAPE = {
|
|
3
|
+
hash: true,
|
|
4
|
+
meta: { gid: true, clock: true },
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Sort two entries as Last-Write-Wins (LWW).
|
|
8
|
+
*
|
|
9
|
+
* Last Write Wins is a conflict resolution strategy for sorting elements
|
|
10
|
+
* where the element with a greater clock (latest) is chosen as the winner.
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
export const LastWriteWins = {
|
|
14
|
+
sort: [
|
|
15
|
+
// sort first by clock
|
|
16
|
+
new Sort({
|
|
17
|
+
key: ["meta", "clock", "timestamp", "wallTime"],
|
|
18
|
+
direction: SortDirection.ASC,
|
|
19
|
+
}),
|
|
20
|
+
// then by logical
|
|
21
|
+
new Sort({
|
|
22
|
+
key: ["meta", "clock", "timestamp", "logical"],
|
|
23
|
+
direction: SortDirection.ASC,
|
|
24
|
+
}),
|
|
25
|
+
],
|
|
26
|
+
before: (entry) => [
|
|
27
|
+
new IntegerCompare({
|
|
28
|
+
key: ["meta", "clock", "timestamp", "wallTime"],
|
|
29
|
+
value: entry.meta.clock.timestamp.wallTime,
|
|
30
|
+
compare: Compare.Less,
|
|
31
|
+
}),
|
|
32
|
+
],
|
|
33
|
+
after: (entry) => [
|
|
34
|
+
new IntegerCompare({
|
|
35
|
+
key: ["meta", "clock", "timestamp", "wallTime"],
|
|
36
|
+
value: entry.meta.clock.timestamp.wallTime,
|
|
37
|
+
compare: Compare.Greater,
|
|
38
|
+
}),
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
export const FirstWriteWins = {
|
|
42
|
+
sort: [
|
|
43
|
+
new Sort({
|
|
44
|
+
key: ["meta", "clock", "timestamp", "wallTime"],
|
|
45
|
+
direction: SortDirection.DESC,
|
|
46
|
+
}),
|
|
47
|
+
// then by logical
|
|
48
|
+
new Sort({
|
|
49
|
+
key: ["meta", "clock", "timestamp", "logical"],
|
|
50
|
+
direction: SortDirection.DESC,
|
|
51
|
+
}),
|
|
52
|
+
],
|
|
53
|
+
before: (entry) => [
|
|
54
|
+
new IntegerCompare({
|
|
55
|
+
key: ["meta", "clock", "timestamp", "wallTime"],
|
|
56
|
+
value: entry.meta.clock.timestamp.wallTime,
|
|
57
|
+
compare: Compare.Greater,
|
|
58
|
+
}),
|
|
59
|
+
],
|
|
60
|
+
after: (entry) => [
|
|
61
|
+
new IntegerCompare({
|
|
62
|
+
key: ["meta", "clock", "timestamp", "wallTime"],
|
|
63
|
+
value: entry.meta.clock.timestamp.wallTime,
|
|
64
|
+
compare: Compare.Less,
|
|
65
|
+
}),
|
|
66
|
+
],
|
|
67
|
+
};
|
|
68
|
+
export const SortByEntryHash = {
|
|
69
|
+
sort: [
|
|
70
|
+
// sort first by clock
|
|
71
|
+
new Sort({
|
|
72
|
+
key: ["hash"],
|
|
73
|
+
direction: SortDirection.ASC,
|
|
74
|
+
}),
|
|
75
|
+
],
|
|
76
|
+
before: (entry) => [
|
|
77
|
+
new IntegerCompare({
|
|
78
|
+
key: ["hash"],
|
|
79
|
+
value: entry.meta.clock.timestamp.wallTime,
|
|
80
|
+
compare: Compare.Less,
|
|
81
|
+
}),
|
|
82
|
+
],
|
|
83
|
+
after: (entry) => [
|
|
84
|
+
new IntegerCompare({
|
|
85
|
+
key: ["hash"],
|
|
86
|
+
value: entry.meta.clock.timestamp.wallTime,
|
|
87
|
+
compare: Compare.Greater,
|
|
88
|
+
}),
|
|
89
|
+
],
|
|
90
|
+
};
|
|
91
|
+
export const compare = (a, b, sortFn) => {
|
|
92
|
+
for (const sort of sortFn.sort) {
|
|
93
|
+
const aVal = sort.key.reduce((prev, curr) => prev[curr], a);
|
|
94
|
+
const bVal = sort.key.reduce((prev, curr) => prev[curr], b);
|
|
95
|
+
let multiplier = sort.direction === SortDirection.ASC ? 1 : -1;
|
|
96
|
+
if (aVal < bVal) {
|
|
97
|
+
return -1 * multiplier;
|
|
98
|
+
}
|
|
99
|
+
if (aVal > bVal) {
|
|
100
|
+
return 1 * multiplier;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return 0;
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=log-sorting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-sorting.js","sourceRoot":"","sources":["../../src/log-sorting.ts"],"names":[],"mappings":"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"}
|