@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/clock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"difference.d.ts","sourceRoot":"","sources":["../../src/difference.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,MAAO,GAAG,KAAK,GAAG,OAAO,MAAM,QAqBrD,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { AbstractType } from "@dao-xyz/borsh";
|
|
1
|
+
import { type AbstractType } from "@dao-xyz/borsh";
|
|
2
2
|
export interface Encoding<T> {
|
|
3
3
|
encoder: (data: T) => Uint8Array;
|
|
4
4
|
decoder: (bytes: Uint8Array) => T;
|
|
5
5
|
}
|
|
6
6
|
export declare const NO_ENCODING: Encoding<any>;
|
|
7
7
|
export declare const BORSH_ENCODING: <T>(clazz: AbstractType<T>) => Encoding<T>;
|
|
8
|
+
//# sourceMappingURL=encoding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AAE3E,MAAM,WAAW,QAAQ,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,UAAU,CAAC;IACjC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,CAAC,CAAC;CAClC;AACD,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,GAAG,CAarC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,KAAG,QAAQ,CAAC,CAAC,CAKpE,CAAC"}
|
|
@@ -9,12 +9,12 @@ export const NO_ENCODING = {
|
|
|
9
9
|
},
|
|
10
10
|
decoder: (bytes) => {
|
|
11
11
|
return bytes;
|
|
12
|
-
}
|
|
12
|
+
},
|
|
13
13
|
};
|
|
14
14
|
export const BORSH_ENCODING = (clazz) => {
|
|
15
15
|
return {
|
|
16
16
|
decoder: (bytes) => deserialize(bytes, clazz),
|
|
17
|
-
encoder: (data) => serialize(data)
|
|
17
|
+
encoder: (data) => serialize(data),
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=encoding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../src/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../src/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAM3E,MAAM,CAAC,MAAM,WAAW,GAAkB;IACzC,OAAO,EAAE,CAAC,GAAe,EAAE,EAAE;QAC5B,IAAI,GAAG,YAAY,UAAU,KAAK,KAAK,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACd,2DAA2D;gBAC1D,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAC/C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,CAAC,KAAiB,EAAE,EAAE;QAC9B,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAI,KAAsB,EAAe,EAAE;IACxE,OAAO;QACN,OAAO,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;QACzD,OAAO,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;KACvC,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { type Blocks } from "@peerbit/blocks-interface";
|
|
2
|
+
import { Cache } from "@peerbit/cache";
|
|
3
|
+
import type { PublicSignKey } from "@peerbit/crypto";
|
|
4
|
+
import { type Index, type Query, type Shape, Sort } from "@peerbit/indexer-interface";
|
|
5
|
+
import { Entry, type ShallowEntry, type ShallowOrFullEntry } from "./entry.js";
|
|
6
|
+
import type { SortFn } from "./log-sorting.js";
|
|
7
|
+
export type ResultsIterator<T> = {
|
|
8
|
+
close: () => void | Promise<void>;
|
|
9
|
+
next: (number: number) => T[] | Promise<T[]>;
|
|
10
|
+
done: () => boolean;
|
|
11
|
+
all(): T[] | Promise<T[]>;
|
|
12
|
+
};
|
|
13
|
+
type ResolveFullyOptions = true | {
|
|
14
|
+
type: "full";
|
|
15
|
+
replicate?: boolean;
|
|
16
|
+
signal?: AbortSignal;
|
|
17
|
+
timeout?: number;
|
|
18
|
+
ignoreMissing?: boolean;
|
|
19
|
+
};
|
|
20
|
+
type ResolveShapeOptions = {
|
|
21
|
+
type: "shape";
|
|
22
|
+
shape: Shape;
|
|
23
|
+
};
|
|
24
|
+
export type MaybeResolveOptions = false | ResolveFullyOptions | ResolveShapeOptions;
|
|
25
|
+
export type ReturnTypeFromResolveOptions<R extends MaybeResolveOptions, T> = R extends false | undefined ? ShallowEntry : R extends {
|
|
26
|
+
type: "shape";
|
|
27
|
+
} ? any : Entry<T>;
|
|
28
|
+
export declare class EntryIndex<T> {
|
|
29
|
+
readonly properties: {
|
|
30
|
+
store: Blocks;
|
|
31
|
+
publicKey: PublicSignKey;
|
|
32
|
+
init: (entry: Entry<T>) => void;
|
|
33
|
+
cache?: Cache<Entry<T>>;
|
|
34
|
+
index: Index<ShallowEntry>;
|
|
35
|
+
sort: SortFn;
|
|
36
|
+
onGidRemoved?: (gid: string[]) => Promise<void> | void;
|
|
37
|
+
};
|
|
38
|
+
private cache;
|
|
39
|
+
private sortReversed;
|
|
40
|
+
private initialied;
|
|
41
|
+
private _length;
|
|
42
|
+
private insertionPromises;
|
|
43
|
+
constructor(properties: {
|
|
44
|
+
store: Blocks;
|
|
45
|
+
publicKey: PublicSignKey;
|
|
46
|
+
init: (entry: Entry<T>) => void;
|
|
47
|
+
cache?: Cache<Entry<T>>;
|
|
48
|
+
index: Index<ShallowEntry>;
|
|
49
|
+
sort: SortFn;
|
|
50
|
+
onGidRemoved?: (gid: string[]) => Promise<void> | void;
|
|
51
|
+
});
|
|
52
|
+
getHeads<R extends MaybeResolveOptions = false>(gid?: string, resolve?: R): ResultsIterator<ReturnTypeFromResolveOptions<R, T>>;
|
|
53
|
+
getHasNext<R extends MaybeResolveOptions>(next: string, resolve?: R): ResultsIterator<ReturnTypeFromResolveOptions<R, T>>;
|
|
54
|
+
countHasNext(next: string, excludeHash?: string | undefined): number | Promise<number>;
|
|
55
|
+
query<R extends MaybeResolveOptions>(query: Query[], sort?: Sort[], options?: R): ResultsIterator<ReturnTypeFromResolveOptions<R, T>>;
|
|
56
|
+
getOldest<T extends boolean, R = T extends true ? Entry<any> : ShallowEntry>(resolve?: T): Promise<R | undefined>;
|
|
57
|
+
getNewest<T extends boolean, R = T extends true ? Entry<any> : ShallowEntry>(resolve?: T): Promise<R | undefined>;
|
|
58
|
+
getBefore<T extends boolean, R = T extends true ? Entry<any> : ShallowEntry>(before: ShallowOrFullEntry<any>, resolve?: T): Promise<R | undefined>;
|
|
59
|
+
getAfter<T extends boolean, R = T extends true ? Entry<any> : ShallowEntry>(before: ShallowOrFullEntry<any>, resolve?: T): Promise<R | undefined>;
|
|
60
|
+
get(k: string, options?: ResolveFullyOptions): Promise<Entry<T> | undefined>;
|
|
61
|
+
getShallow(k: string): Promise<import("@peerbit/indexer-interface").IndexedResult<ShallowEntry> | undefined>;
|
|
62
|
+
has(k: string): Promise<boolean>;
|
|
63
|
+
put(entry: Entry<any>, properties: {
|
|
64
|
+
unique: boolean;
|
|
65
|
+
isHead: boolean;
|
|
66
|
+
toMultiHash: boolean;
|
|
67
|
+
}): Promise<void>;
|
|
68
|
+
delete(k: string): Promise<ShallowEntry | undefined>;
|
|
69
|
+
getMemoryUsage(): Promise<number | bigint>;
|
|
70
|
+
private privateUpdateNextHeadProperty;
|
|
71
|
+
clear(): Promise<void>;
|
|
72
|
+
get length(): number;
|
|
73
|
+
init(): Promise<void>;
|
|
74
|
+
private resolve;
|
|
75
|
+
private resolveFromStore;
|
|
76
|
+
}
|
|
77
|
+
export {};
|
|
78
|
+
//# sourceMappingURL=entry-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-index.d.ts","sourceRoot":"","sources":["../../src/entry-index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAIN,KAAK,KAAK,EAGV,KAAK,KAAK,EAEV,KAAK,KAAK,EACV,IAAI,EAOJ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,KAAK,EAEL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAChC,KAAK,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7C,IAAI,EAAE,MAAM,OAAO,CAAC;IACpB,GAAG,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CAC1B,CAAC;AAIF,KAAK,mBAAmB,GACrB,IAAI,GACJ;IACA,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AACL,KAAK,mBAAmB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAC3D,MAAM,MAAM,mBAAmB,GAC5B,KAAK,GACL,mBAAmB,GACnB,mBAAmB,CAAC;AACvB,MAAM,MAAM,4BAA4B,CACvC,CAAC,SAAS,mBAAmB,EAC7B,CAAC,IACE,CAAC,SAAS,KAAK,GAAG,SAAS,GAC5B,YAAY,GACZ,CAAC,SAAS;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B,GAAG,GACH,KAAK,CAAC,CAAC,CAAC,CAAC;AAEb,qBAAa,UAAU,CAAC,CAAC;IAOvB,QAAQ,CAAC,UAAU,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,aAAa,CAAC;QACzB,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAChC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KACvD;IAdF,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAA6B;gBAE5C,UAAU,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,aAAa,CAAC;QACzB,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAChC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KACvD;IAiBF,QAAQ,CAAC,CAAC,SAAS,mBAAmB,GAAG,KAAK,EAC7C,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,GAAE,CAAc,GACrB,eAAe,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAgBtD,UAAU,CAAC,CAAC,SAAS,mBAAmB,EACvC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,CAAC,GACT,eAAe,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAYtD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,GAAG,SAAqB;IAwBtE,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAClC,KAAK,EAAE,KAAK,EAAE,EACd,IAAI,SAA4B,EAChC,OAAO,CAAC,EAAE,CAAC,GACT,eAAe,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAuDhD,SAAS,CACd,CAAC,SAAS,OAAO,EACjB,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,EAC7C,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAOhC,SAAS,CACd,CAAC,SAAS,OAAO,EACjB,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,EAC7C,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAOhC,SAAS,CACd,CAAC,SAAS,OAAO,EACjB,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,EAC7C,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAUjE,QAAQ,CACb,CAAC,SAAS,OAAO,EACjB,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,EAC7C,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAYjE,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAI5C,UAAU,CAAC,CAAC,EAAE,MAAM;IAIpB,GAAG,CAAC,CAAC,EAAE,MAAM;IAOb,GAAG,CACR,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,UAAU,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE;IA6FjE,MAAM,CAAC,CAAC,EAAE,MAAM;IAsBhB,cAAc;YAIN,6BAA6B;IAiCrC,KAAK;IAaX,IAAI,MAAM,WAKT;IAEK,IAAI;YAKI,OAAO;YAsBP,gBAAgB;CAY9B"}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import { deserialize, serialize } from "@dao-xyz/borsh";
|
|
2
|
+
import {} from "@peerbit/blocks-interface";
|
|
3
|
+
import { Cache } from "@peerbit/cache";
|
|
4
|
+
import { BoolQuery, CountRequest, DeleteRequest, Not, Or, SearchRequest, Sort, SortDirection, StringMatch, StringMatchMethod, SumRequest, iterate, toId, } from "@peerbit/indexer-interface";
|
|
5
|
+
import { Entry, EntryType, } from "./entry.js";
|
|
6
|
+
import { logger } from "./logger.js";
|
|
7
|
+
const ENTRY_CACHE_MAX_SIZE = 10; // TODO as param for log
|
|
8
|
+
export class EntryIndex {
|
|
9
|
+
properties;
|
|
10
|
+
cache;
|
|
11
|
+
sortReversed;
|
|
12
|
+
initialied = false;
|
|
13
|
+
_length;
|
|
14
|
+
insertionPromises;
|
|
15
|
+
constructor(properties) {
|
|
16
|
+
this.properties = properties;
|
|
17
|
+
this.sortReversed = properties.sort.sort.map((x) => deserialize(serialize(x), Sort));
|
|
18
|
+
this.sortReversed.map((x) => (x.direction =
|
|
19
|
+
x.direction === SortDirection.DESC
|
|
20
|
+
? SortDirection.ASC
|
|
21
|
+
: SortDirection.DESC));
|
|
22
|
+
this.cache = properties.cache ?? new Cache({ max: ENTRY_CACHE_MAX_SIZE });
|
|
23
|
+
this._length = 0;
|
|
24
|
+
this.insertionPromises = new Map();
|
|
25
|
+
}
|
|
26
|
+
getHeads(gid, resolve = false) {
|
|
27
|
+
const query = [];
|
|
28
|
+
query.push(new BoolQuery({ key: "head", value: true }));
|
|
29
|
+
if (gid) {
|
|
30
|
+
query.push(new StringMatch({
|
|
31
|
+
key: ["meta", "gid"],
|
|
32
|
+
value: gid,
|
|
33
|
+
caseInsensitive: false,
|
|
34
|
+
method: StringMatchMethod.exact,
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
return this.query(query, undefined, resolve);
|
|
38
|
+
}
|
|
39
|
+
getHasNext(next, resolve) {
|
|
40
|
+
const query = [
|
|
41
|
+
new StringMatch({
|
|
42
|
+
key: ["meta", "next"],
|
|
43
|
+
value: next,
|
|
44
|
+
caseInsensitive: false,
|
|
45
|
+
method: StringMatchMethod.exact,
|
|
46
|
+
}),
|
|
47
|
+
];
|
|
48
|
+
return this.query(query, undefined, resolve);
|
|
49
|
+
}
|
|
50
|
+
countHasNext(next, excludeHash = undefined) {
|
|
51
|
+
const query = [
|
|
52
|
+
new StringMatch({
|
|
53
|
+
key: ["meta", "next"],
|
|
54
|
+
value: next,
|
|
55
|
+
caseInsensitive: false,
|
|
56
|
+
method: StringMatchMethod.exact,
|
|
57
|
+
}),
|
|
58
|
+
];
|
|
59
|
+
if (excludeHash) {
|
|
60
|
+
query.push(new Not(new StringMatch({
|
|
61
|
+
key: ["hash"],
|
|
62
|
+
value: excludeHash,
|
|
63
|
+
caseInsensitive: false,
|
|
64
|
+
method: StringMatchMethod.exact,
|
|
65
|
+
})));
|
|
66
|
+
}
|
|
67
|
+
return this.properties.index.count(new CountRequest({ query }));
|
|
68
|
+
}
|
|
69
|
+
query(query, sort = this.properties.sort.sort, options) {
|
|
70
|
+
const iterator = iterate(this.properties.index, new SearchRequest({ query, sort }));
|
|
71
|
+
let resolveInFull = options
|
|
72
|
+
? options === true
|
|
73
|
+
? true
|
|
74
|
+
: options.type === "full"
|
|
75
|
+
: false;
|
|
76
|
+
let resolveInFullOptions = resolveInFull
|
|
77
|
+
? options
|
|
78
|
+
: undefined;
|
|
79
|
+
let nextShape = resolveInFull
|
|
80
|
+
? { hash: true }
|
|
81
|
+
: options?.shape;
|
|
82
|
+
const next = async (amount) => {
|
|
83
|
+
const results = await iterator.next(amount, { shape: nextShape });
|
|
84
|
+
if (resolveInFull) {
|
|
85
|
+
const maybeResolved = await Promise.all(results.results.map((x) => this.resolve(x.value.hash, resolveInFullOptions)));
|
|
86
|
+
return maybeResolved.filter((x) => !!x);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return results.results.map((x) => x.value);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
return {
|
|
93
|
+
close: iterator.close,
|
|
94
|
+
done: iterator.done,
|
|
95
|
+
next,
|
|
96
|
+
all: async () => {
|
|
97
|
+
const results = [];
|
|
98
|
+
while (!iterator.done()) {
|
|
99
|
+
for (const element of await next(100)) {
|
|
100
|
+
results.push(element);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
await iterator.close();
|
|
104
|
+
return results;
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
async getOldest(resolve) {
|
|
109
|
+
const iterator = this.query([], this.properties.sort.sort, resolve);
|
|
110
|
+
const results = await iterator.next(1);
|
|
111
|
+
await iterator.close();
|
|
112
|
+
return results[0];
|
|
113
|
+
}
|
|
114
|
+
async getNewest(resolve) {
|
|
115
|
+
const iterator = this.query([], this.sortReversed, resolve);
|
|
116
|
+
const results = await iterator.next(1);
|
|
117
|
+
await iterator.close();
|
|
118
|
+
return results[0];
|
|
119
|
+
}
|
|
120
|
+
async getBefore(before, resolve) {
|
|
121
|
+
const iterator = this.query(this.properties.sort.before(before), this.sortReversed, resolve);
|
|
122
|
+
const results = await iterator.next(1);
|
|
123
|
+
await iterator.close();
|
|
124
|
+
return results[0];
|
|
125
|
+
}
|
|
126
|
+
async getAfter(before, resolve) {
|
|
127
|
+
const iterator = this.query(this.properties.sort.after(before), this.properties.sort.sort, resolve);
|
|
128
|
+
const results = await iterator.next(1);
|
|
129
|
+
await iterator.close();
|
|
130
|
+
return results[0];
|
|
131
|
+
}
|
|
132
|
+
async get(k, options) {
|
|
133
|
+
return this.resolve(k, options);
|
|
134
|
+
}
|
|
135
|
+
async getShallow(k) {
|
|
136
|
+
return this.properties.index.get(toId(k));
|
|
137
|
+
}
|
|
138
|
+
async has(k) {
|
|
139
|
+
const result = await this.properties.index.get(toId(k), {
|
|
140
|
+
shape: { hash: true },
|
|
141
|
+
});
|
|
142
|
+
return result != null;
|
|
143
|
+
}
|
|
144
|
+
async put(entry, properties) {
|
|
145
|
+
if (properties.toMultiHash) {
|
|
146
|
+
const existingHash = entry.hash;
|
|
147
|
+
entry.hash = undefined;
|
|
148
|
+
try {
|
|
149
|
+
const hash = await Entry.toMultihash(this.properties.store, entry);
|
|
150
|
+
entry.hash = existingHash;
|
|
151
|
+
if (entry.hash === undefined) {
|
|
152
|
+
entry.hash = hash; // can happen if you sync entries that you load directly from ipfs
|
|
153
|
+
}
|
|
154
|
+
else if (existingHash !== entry.hash) {
|
|
155
|
+
logger.error("Head hash didn't match the contents");
|
|
156
|
+
throw new Error("Head hash didn't match the contents");
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
logger.error(error);
|
|
161
|
+
throw error;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
if (!entry.hash) {
|
|
166
|
+
throw new Error("Missing hash");
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
const existingPromise = this.insertionPromises.get(entry.hash);
|
|
170
|
+
if (existingPromise) {
|
|
171
|
+
return existingPromise;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
const fn = async () => {
|
|
175
|
+
this.cache.add(entry.hash, entry);
|
|
176
|
+
if (properties.unique === true || !(await this.has(entry.hash))) {
|
|
177
|
+
this._length++;
|
|
178
|
+
}
|
|
179
|
+
await this.properties.index.put(entry.toShallow(properties.isHead));
|
|
180
|
+
// check if gids has been shadowed, by query all nexts that have a different gid
|
|
181
|
+
if (this.properties.onGidRemoved && entry.meta.next.length > 0) {
|
|
182
|
+
let nextMatches = [];
|
|
183
|
+
for (const next of entry.meta.next) {
|
|
184
|
+
nextMatches.push(new StringMatch({
|
|
185
|
+
key: ["hash"],
|
|
186
|
+
value: next,
|
|
187
|
+
caseInsensitive: false,
|
|
188
|
+
method: StringMatchMethod.exact,
|
|
189
|
+
}));
|
|
190
|
+
}
|
|
191
|
+
const nextsWithOthersGids = await this.query([
|
|
192
|
+
new Or(nextMatches),
|
|
193
|
+
new Not(new StringMatch({
|
|
194
|
+
key: ["meta", "gid"],
|
|
195
|
+
value: entry.meta.gid,
|
|
196
|
+
})),
|
|
197
|
+
], undefined, { type: "shape", shape: { hash: true, meta: { gid: true } } }).all();
|
|
198
|
+
let shadowedGids = new Set();
|
|
199
|
+
for (const next of nextsWithOthersGids) {
|
|
200
|
+
// check that this entry is not referenced by other
|
|
201
|
+
const nexts = await this.countHasNext(next.hash, entry.hash);
|
|
202
|
+
if (nexts > 0) {
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
shadowedGids.add(next.meta.gid);
|
|
206
|
+
}
|
|
207
|
+
if (shadowedGids.size > 0) {
|
|
208
|
+
this.properties.onGidRemoved?.([...shadowedGids]);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// mark all next entries as not heads
|
|
212
|
+
await this.privateUpdateNextHeadProperty(entry, false);
|
|
213
|
+
this.insertionPromises.delete(entry.hash);
|
|
214
|
+
};
|
|
215
|
+
const promise = fn();
|
|
216
|
+
this.insertionPromises.set(entry.hash, promise);
|
|
217
|
+
return promise;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
async delete(k) {
|
|
221
|
+
this.cache.del(k);
|
|
222
|
+
let shallow = (await this.getShallow(k))?.value;
|
|
223
|
+
if (!shallow) {
|
|
224
|
+
return; // already deleted
|
|
225
|
+
}
|
|
226
|
+
let deleted = await this.properties.index.del(new DeleteRequest({ query: { hash: k } }));
|
|
227
|
+
await this.properties.store.rm(k);
|
|
228
|
+
if (deleted.length > 0) {
|
|
229
|
+
this._length -= deleted.length;
|
|
230
|
+
// mark all next entries as new heads
|
|
231
|
+
await this.privateUpdateNextHeadProperty(shallow, true);
|
|
232
|
+
return shallow;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
async getMemoryUsage() {
|
|
236
|
+
return this.properties.index.sum(new SumRequest({ key: "payloadSize" }));
|
|
237
|
+
}
|
|
238
|
+
async privateUpdateNextHeadProperty(from, isHead) {
|
|
239
|
+
if (from.meta.type === EntryType.CUT) {
|
|
240
|
+
// if the next is a cut, we can't update it, since it's not in the index
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
for (const next of from.meta.next) {
|
|
244
|
+
const indexedEntry = await this.properties.index.get(toId(next));
|
|
245
|
+
if (!indexedEntry) {
|
|
246
|
+
continue; // we could end up here because another entry with same next ref is of CUT and has removed it from the index
|
|
247
|
+
}
|
|
248
|
+
if (isHead) {
|
|
249
|
+
const noPointersToNext = (await this.countHasNext(next)) === 0;
|
|
250
|
+
if (noPointersToNext) {
|
|
251
|
+
indexedEntry.value.head = true;
|
|
252
|
+
if (indexedEntry) {
|
|
253
|
+
await this.properties.index.put(indexedEntry.value);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
indexedEntry.value.head = false;
|
|
259
|
+
if (indexedEntry) {
|
|
260
|
+
await this.properties.index.put(indexedEntry.value);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
async clear() {
|
|
266
|
+
const iterator = await this.query([], undefined, false);
|
|
267
|
+
while (!iterator.done()) {
|
|
268
|
+
const results = await iterator.next(100);
|
|
269
|
+
for (const result of results) {
|
|
270
|
+
await this.delete(result.hash);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
await this.properties.index.drop();
|
|
274
|
+
await this.properties.index.start();
|
|
275
|
+
this.cache.clear();
|
|
276
|
+
}
|
|
277
|
+
get length() {
|
|
278
|
+
if (!this.initialied) {
|
|
279
|
+
throw new Error("Not initialized");
|
|
280
|
+
}
|
|
281
|
+
return this._length;
|
|
282
|
+
}
|
|
283
|
+
async init() {
|
|
284
|
+
this._length = await this.properties.index.getSize();
|
|
285
|
+
this.initialied = true;
|
|
286
|
+
}
|
|
287
|
+
async resolve(k, options) {
|
|
288
|
+
let coercedOptions = typeof options === "object" ? options : undefined;
|
|
289
|
+
if (await this.has(k)) {
|
|
290
|
+
let mem = this.cache.get(k);
|
|
291
|
+
if (mem === undefined) {
|
|
292
|
+
mem = await this.resolveFromStore(k, coercedOptions);
|
|
293
|
+
if (mem) {
|
|
294
|
+
this.properties.init(mem);
|
|
295
|
+
mem.hash = k;
|
|
296
|
+
}
|
|
297
|
+
else if (coercedOptions?.ignoreMissing !== true) {
|
|
298
|
+
throw new Error("Failed to load entry from head with hash: " + k);
|
|
299
|
+
}
|
|
300
|
+
this.cache.add(k, mem ?? undefined);
|
|
301
|
+
}
|
|
302
|
+
return mem ? mem : undefined;
|
|
303
|
+
}
|
|
304
|
+
return undefined;
|
|
305
|
+
}
|
|
306
|
+
async resolveFromStore(k, options) {
|
|
307
|
+
const value = await this.properties.store.get(k, options);
|
|
308
|
+
if (value) {
|
|
309
|
+
const entry = deserialize(value, Entry);
|
|
310
|
+
entry.size = value.length;
|
|
311
|
+
return entry;
|
|
312
|
+
}
|
|
313
|
+
return null;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=entry-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-index.js","sourceRoot":"","sources":["../../src/entry-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-with-refs.d.ts","sourceRoot":"","sources":["../../src/entry-with-refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;CACvB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { type Blocks } from "@peerbit/blocks-interface";
|
|
2
|
+
import { Ed25519PublicKey, type Identity, MaybeEncrypted, PublicSignKey, SignatureWithKey, X25519Keypair, X25519PublicKey } from "@peerbit/crypto";
|
|
3
|
+
import { type Keychain } from "@peerbit/keychain";
|
|
1
4
|
import { LamportClock as Clock } from "./clock.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { Blocks } from "@peerbit/blocks-interface";
|
|
5
|
-
import { Keychain } from "@peerbit/keychain";
|
|
5
|
+
import { type Encoding } from "./encoding.js";
|
|
6
|
+
import type { SortableEntry } from "./log-sorting.js";
|
|
6
7
|
export type MaybeEncryptionPublicKey = X25519PublicKey | X25519PublicKey[] | Ed25519PublicKey | Ed25519PublicKey[] | undefined;
|
|
7
8
|
export type EncryptionTemplateMaybeEncrypted = EntryEncryptionTemplate<MaybeEncryptionPublicKey, MaybeEncryptionPublicKey, MaybeEncryptionPublicKey | {
|
|
8
9
|
[key: string]: MaybeEncryptionPublicKey;
|
|
@@ -43,7 +44,7 @@ export declare class Meta {
|
|
|
43
44
|
next: string[];
|
|
44
45
|
type: EntryType;
|
|
45
46
|
data?: Uint8Array;
|
|
46
|
-
constructor(properties
|
|
47
|
+
constructor(properties: {
|
|
47
48
|
gid: string;
|
|
48
49
|
clock: Clock;
|
|
49
50
|
type: EntryType;
|
|
@@ -58,17 +59,19 @@ export declare class Signatures {
|
|
|
58
59
|
});
|
|
59
60
|
equals(other: Signatures): boolean;
|
|
60
61
|
}
|
|
61
|
-
export
|
|
62
|
+
export declare class ShallowEntry {
|
|
62
63
|
hash: string;
|
|
63
|
-
meta:
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
meta: Meta;
|
|
65
|
+
payloadSize: number;
|
|
66
|
+
head: boolean;
|
|
67
|
+
constructor(properties: {
|
|
68
|
+
hash: string;
|
|
69
|
+
meta: Meta;
|
|
70
|
+
payloadSize: number;
|
|
71
|
+
head: boolean;
|
|
72
|
+
});
|
|
71
73
|
}
|
|
74
|
+
export type ShallowOrFullEntry<T> = ShallowEntry | Entry<T>;
|
|
72
75
|
export declare class Entry<T> implements EntryEncryptionTemplate<Meta, Payload<T>, SignatureWithKey[]> {
|
|
73
76
|
_meta: MaybeEncrypted<Meta>;
|
|
74
77
|
_payload: MaybeEncrypted<Payload<T>>;
|
|
@@ -89,7 +92,7 @@ export declare class Entry<T> implements EntryEncryptionTemplate<Meta, Payload<T
|
|
|
89
92
|
init(props: {
|
|
90
93
|
keychain?: Keychain;
|
|
91
94
|
encoding: Encoding<T>;
|
|
92
|
-
} | Entry<T>):
|
|
95
|
+
} | Entry<T>): this;
|
|
93
96
|
get encoding(): Encoding<T>;
|
|
94
97
|
get meta(): Meta;
|
|
95
98
|
getMeta(): Promise<Meta>;
|
|
@@ -135,7 +138,7 @@ export declare class Entry<T> implements EntryEncryptionTemplate<Meta, Payload<T
|
|
|
135
138
|
type?: EntryType;
|
|
136
139
|
gidSeed?: Uint8Array;
|
|
137
140
|
data?: Uint8Array;
|
|
138
|
-
next?:
|
|
141
|
+
next?: SortableEntry[];
|
|
139
142
|
};
|
|
140
143
|
encoding?: Encoding<T>;
|
|
141
144
|
canAppend?: CanAppend<T>;
|
|
@@ -144,7 +147,7 @@ export declare class Entry<T> implements EntryEncryptionTemplate<Meta, Payload<T
|
|
|
144
147
|
signers?: ((data: Uint8Array) => Promise<SignatureWithKey> | SignatureWithKey)[];
|
|
145
148
|
}): Promise<Entry<T>>;
|
|
146
149
|
get payloadByteLength(): number;
|
|
147
|
-
toShallow(): ShallowEntry;
|
|
150
|
+
toShallow(isHead: boolean): ShallowEntry;
|
|
148
151
|
/**
|
|
149
152
|
* Get the multihash of an Entry.
|
|
150
153
|
* @example
|
|
@@ -170,7 +173,7 @@ export declare class Entry<T> implements EntryEncryptionTemplate<Meta, Payload<T
|
|
|
170
173
|
* @param {Entry} b
|
|
171
174
|
* @returns {number} 1 if a is greater, -1 is b is greater
|
|
172
175
|
*/
|
|
173
|
-
static compare<T>(a: Entry<T>, b: Entry<T>):
|
|
176
|
+
static compare<T>(a: Entry<T>, b: Entry<T>): any;
|
|
174
177
|
/**
|
|
175
178
|
* Check if an entry equals another entry.
|
|
176
179
|
* @param {Entry} a
|
|
@@ -194,3 +197,4 @@ export declare class Entry<T> implements EntryEncryptionTemplate<Meta, Payload<T
|
|
|
194
197
|
*/
|
|
195
198
|
static findDirectChildren<T>(entry: Entry<T>, values: Entry<T>[]): Entry<T>[];
|
|
196
199
|
}
|
|
200
|
+
//# sourceMappingURL=entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/entry.ts"],"names":[],"mappings":"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"}
|