@peerbit/shared-log 9.2.13 → 10.0.0-05f4bef

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 (104) hide show
  1. package/dist/benchmark/get-samples.js +190 -64
  2. package/dist/benchmark/get-samples.js.map +1 -1
  3. package/dist/benchmark/index.js +16 -38
  4. package/dist/benchmark/index.js.map +1 -1
  5. package/dist/benchmark/memory/child.js.map +1 -1
  6. package/dist/benchmark/partial-sync.d.ts +3 -0
  7. package/dist/benchmark/partial-sync.d.ts.map +1 -0
  8. package/dist/benchmark/partial-sync.js +121 -0
  9. package/dist/benchmark/partial-sync.js.map +1 -0
  10. package/dist/benchmark/replication-prune.js.map +1 -1
  11. package/dist/benchmark/replication.js.map +1 -1
  12. package/dist/benchmark/to-rebalance.d.ts +2 -0
  13. package/dist/benchmark/to-rebalance.d.ts.map +1 -0
  14. package/dist/benchmark/to-rebalance.js +117 -0
  15. package/dist/benchmark/to-rebalance.js.map +1 -0
  16. package/dist/benchmark/utils.d.ts +24 -0
  17. package/dist/benchmark/utils.d.ts.map +1 -0
  18. package/dist/benchmark/utils.js +47 -0
  19. package/dist/benchmark/utils.js.map +1 -0
  20. package/dist/src/debounce.d.ts +2 -2
  21. package/dist/src/debounce.d.ts.map +1 -1
  22. package/dist/src/debounce.js +17 -47
  23. package/dist/src/debounce.js.map +1 -1
  24. package/dist/src/exchange-heads.d.ts +1 -13
  25. package/dist/src/exchange-heads.d.ts.map +1 -1
  26. package/dist/src/exchange-heads.js +0 -32
  27. package/dist/src/exchange-heads.js.map +1 -1
  28. package/dist/src/index.d.ts +119 -60
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +1116 -762
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/integers.d.ts +22 -0
  33. package/dist/src/integers.d.ts.map +1 -0
  34. package/dist/src/integers.js +76 -0
  35. package/dist/src/integers.js.map +1 -0
  36. package/dist/src/pid.d.ts.map +1 -1
  37. package/dist/src/pid.js +22 -22
  38. package/dist/src/pid.js.map +1 -1
  39. package/dist/src/ranges.d.ts +168 -38
  40. package/dist/src/ranges.d.ts.map +1 -1
  41. package/dist/src/ranges.js +869 -272
  42. package/dist/src/ranges.js.map +1 -1
  43. package/dist/src/replication-domain-hash.d.ts +2 -3
  44. package/dist/src/replication-domain-hash.d.ts.map +1 -1
  45. package/dist/src/replication-domain-hash.js +40 -15
  46. package/dist/src/replication-domain-hash.js.map +1 -1
  47. package/dist/src/replication-domain-time.d.ts +5 -5
  48. package/dist/src/replication-domain-time.d.ts.map +1 -1
  49. package/dist/src/replication-domain-time.js +2 -0
  50. package/dist/src/replication-domain-time.js.map +1 -1
  51. package/dist/src/replication-domain.d.ts +17 -19
  52. package/dist/src/replication-domain.d.ts.map +1 -1
  53. package/dist/src/replication-domain.js +2 -6
  54. package/dist/src/replication-domain.js.map +1 -1
  55. package/dist/src/replication.d.ts +6 -6
  56. package/dist/src/replication.d.ts.map +1 -1
  57. package/dist/src/replication.js +4 -4
  58. package/dist/src/replication.js.map +1 -1
  59. package/dist/src/role.d.ts +3 -6
  60. package/dist/src/role.d.ts.map +1 -1
  61. package/dist/src/role.js +4 -5
  62. package/dist/src/role.js.map +1 -1
  63. package/dist/src/sync/index.d.ts +40 -0
  64. package/dist/src/sync/index.d.ts.map +1 -0
  65. package/dist/src/sync/index.js +2 -0
  66. package/dist/src/sync/index.js.map +1 -0
  67. package/dist/src/sync/rateless-iblt.d.ts +124 -0
  68. package/dist/src/sync/rateless-iblt.d.ts.map +1 -0
  69. package/dist/src/sync/rateless-iblt.js +495 -0
  70. package/dist/src/sync/rateless-iblt.js.map +1 -0
  71. package/dist/src/sync/simple.d.ts +69 -0
  72. package/dist/src/sync/simple.d.ts.map +1 -0
  73. package/dist/src/sync/simple.js +338 -0
  74. package/dist/src/sync/simple.js.map +1 -0
  75. package/dist/src/sync/wasm-init.browser.d.ts +1 -0
  76. package/dist/src/sync/wasm-init.browser.d.ts.map +1 -0
  77. package/dist/src/sync/wasm-init.browser.js +3 -0
  78. package/dist/src/sync/wasm-init.browser.js.map +1 -0
  79. package/dist/src/sync/wasm-init.d.ts +2 -0
  80. package/dist/src/sync/wasm-init.d.ts.map +1 -0
  81. package/dist/src/sync/wasm-init.js +13 -0
  82. package/dist/src/sync/wasm-init.js.map +1 -0
  83. package/dist/src/utils.d.ts +3 -3
  84. package/dist/src/utils.d.ts.map +1 -1
  85. package/dist/src/utils.js +2 -2
  86. package/dist/src/utils.js.map +1 -1
  87. package/package.json +73 -69
  88. package/src/debounce.ts +16 -51
  89. package/src/exchange-heads.ts +1 -23
  90. package/src/index.ts +1532 -1038
  91. package/src/integers.ts +102 -0
  92. package/src/pid.ts +23 -22
  93. package/src/ranges.ts +1204 -413
  94. package/src/replication-domain-hash.ts +43 -18
  95. package/src/replication-domain-time.ts +9 -9
  96. package/src/replication-domain.ts +21 -31
  97. package/src/replication.ts +10 -9
  98. package/src/role.ts +4 -6
  99. package/src/sync/index.ts +51 -0
  100. package/src/sync/rateless-iblt.ts +617 -0
  101. package/src/sync/simple.ts +403 -0
  102. package/src/sync/wasm-init.browser.ts +1 -0
  103. package/src/sync/wasm-init.ts +14 -0
  104. package/src/utils.ts +10 -4
@@ -1,33 +1,72 @@
1
1
  import { PublicSignKey } from "@peerbit/crypto";
2
- import { type Index, type ReturnTypeFromShape, type Shape } from "@peerbit/indexer-interface";
2
+ import { And, type Index, Or, type ReturnTypeFromShape, type Shape } from "@peerbit/indexer-interface";
3
3
  import { Meta, ShallowMeta } from "@peerbit/log";
4
- import { type ReplicationChanges, type u32 } from "./replication-domain.js";
4
+ import { type NumberFromType, type Numbers } from "./integers.js";
5
+ import { type ReplicationChanges } from "./replication-domain.js";
5
6
  export declare enum ReplicationIntent {
6
7
  NonStrict = 0,// indicates that the segment will be replicated and nearby data might be replicated as well
7
8
  Strict = 1
8
9
  }
9
- export declare const getSegmentsFromOffsetAndRange: (offset: number, factor: number) => [[number, number], [number, number]];
10
+ export declare enum SyncStatus {
11
+ Unsynced = 0,
12
+ Synced = 1
13
+ }
10
14
  export declare const shouldAssigneToRangeBoundary: (leaders: Map<string, {
11
15
  intersecting: boolean;
12
16
  }> | false, minReplicas: number) => boolean;
13
- export declare class EntryReplicated {
14
- id: string;
17
+ export interface EntryReplicated<R extends "u32" | "u64"> {
18
+ hash: string;
19
+ gid: string;
20
+ coordinates: NumberFromType<R>[];
21
+ wallTime: bigint;
22
+ assignedToRangeBoundary: boolean;
23
+ get meta(): ShallowMeta;
24
+ }
25
+ export declare const isEntryReplicated: (x: any) => x is EntryReplicated<any>;
26
+ export declare class EntryReplicatedU32 implements EntryReplicated<"u32"> {
27
+ hash: string;
28
+ gid: string;
29
+ coordinates: number[];
30
+ wallTime: bigint;
31
+ assignedToRangeBoundary: boolean;
32
+ private _meta;
33
+ private _metaResolved;
34
+ constructor(properties: {
35
+ coordinates: number[];
36
+ hash: string;
37
+ meta: Meta;
38
+ assignedToRangeBoundary: boolean;
39
+ });
40
+ get meta(): ShallowMeta;
41
+ }
42
+ export declare class EntryReplicatedU64 implements EntryReplicated<"u64"> {
15
43
  hash: string;
16
44
  gid: string;
17
- coordinate: number;
45
+ coordinates: bigint[];
18
46
  wallTime: bigint;
19
47
  assignedToRangeBoundary: boolean;
20
48
  private _meta;
21
49
  private _metaResolved;
22
50
  constructor(properties: {
23
- coordinate: number;
51
+ coordinates: bigint[];
24
52
  hash: string;
25
53
  meta: Meta;
26
54
  assignedToRangeBoundary: boolean;
27
55
  });
28
56
  get meta(): ShallowMeta;
29
57
  }
30
- export declare class ReplicationRange {
58
+ export interface ReplicationRangeMessage<R extends "u32" | "u64"> {
59
+ id: Uint8Array;
60
+ timestamp: bigint;
61
+ get offset(): NumberFromType<R>;
62
+ get factor(): NumberFromType<R>;
63
+ mode: ReplicationIntent;
64
+ toReplicationRangeIndexable(key: PublicSignKey): ReplicationRangeIndexable<R>;
65
+ }
66
+ export declare const isReplicationRangeMessage: (x: any) => x is ReplicationRangeMessage<any>;
67
+ export declare abstract class ReplicationRangeMessage<R extends "u32" | "u64"> {
68
+ }
69
+ export declare class ReplicationRangeMessageU32 extends ReplicationRangeMessage<"u32"> {
31
70
  id: Uint8Array;
32
71
  timestamp: bigint;
33
72
  private _offset;
@@ -42,9 +81,45 @@ export declare class ReplicationRange {
42
81
  });
43
82
  get factor(): number;
44
83
  get offset(): number;
45
- toReplicationRangeIndexable(key: PublicSignKey): ReplicationRangeIndexable;
84
+ toReplicationRangeIndexable(key: PublicSignKey): ReplicationRangeIndexableU32;
46
85
  }
47
- export declare class ReplicationRangeIndexable {
86
+ export declare class ReplicationRangeMessageU64 extends ReplicationRangeMessage<"u64"> {
87
+ id: Uint8Array;
88
+ timestamp: bigint;
89
+ private _offset;
90
+ private _factor;
91
+ mode: ReplicationIntent;
92
+ constructor(properties: {
93
+ id: Uint8Array;
94
+ offset: bigint;
95
+ factor: bigint;
96
+ timestamp: bigint;
97
+ mode: ReplicationIntent;
98
+ });
99
+ get factor(): bigint;
100
+ get offset(): bigint;
101
+ toReplicationRangeIndexable(key: PublicSignKey): ReplicationRangeIndexableU64;
102
+ }
103
+ export interface ReplicationRangeIndexable<R extends "u32" | "u64"> {
104
+ id: Uint8Array;
105
+ idString: string;
106
+ hash: string;
107
+ timestamp: bigint;
108
+ start1: NumberFromType<R>;
109
+ end1: NumberFromType<R>;
110
+ start2: NumberFromType<R>;
111
+ end2: NumberFromType<R>;
112
+ width: NumberFromType<R>;
113
+ widthNormalized: number;
114
+ mode: ReplicationIntent;
115
+ wrapped: boolean;
116
+ toUniqueSegmentId(): string;
117
+ toReplicationRange(): ReplicationRangeMessage<R>;
118
+ contains(point: NumberFromType<R>): boolean;
119
+ equalRange(other: ReplicationRangeIndexable<R>): boolean;
120
+ overlaps(other: ReplicationRangeIndexable<R>): boolean;
121
+ }
122
+ export declare class ReplicationRangeIndexableU32 implements ReplicationRangeIndexable<"u32"> {
48
123
  id: Uint8Array;
49
124
  hash: string;
50
125
  timestamp: bigint;
@@ -56,7 +131,6 @@ export declare class ReplicationRangeIndexable {
56
131
  mode: ReplicationIntent;
57
132
  constructor(properties: {
58
133
  id?: Uint8Array;
59
- normalized?: boolean;
60
134
  offset: number;
61
135
  length: number;
62
136
  mode?: ReplicationIntent;
@@ -69,57 +143,113 @@ export declare class ReplicationRangeIndexable {
69
143
  private transform;
70
144
  get idString(): string;
71
145
  contains(point: number): boolean;
72
- overlaps(other: ReplicationRangeIndexable, checkOther?: boolean): boolean;
73
- toReplicationRange(): ReplicationRange;
74
- distanceTo(point: number): number;
146
+ overlaps(other: ReplicationRangeIndexableU32, checkOther?: boolean): boolean;
147
+ toReplicationRange(): ReplicationRangeMessageU32;
75
148
  get wrapped(): boolean;
76
149
  get widthNormalized(): number;
77
- equals(other: ReplicationRangeIndexable): boolean;
78
- equalRange(other: ReplicationRangeIndexable): boolean;
150
+ equals(other: ReplicationRangeIndexableU32): boolean;
151
+ equalRange(other: ReplicationRangeIndexableU32): boolean;
79
152
  toString(): string;
80
153
  toStringDetailed(): string;
154
+ toUniqueSegmentId(): string;
81
155
  }
82
- export declare const hasCoveringRange: (rects: Index<ReplicationRangeIndexable>, range: ReplicationRangeIndexable) => Promise<boolean>;
83
- export declare const getDistance: (from: number, to: number, direction: "above" | "below" | "closest", end?: number) => number;
84
- export declare const getEvenlySpacedU32: (from: number, count: number) => number[];
156
+ export declare class ReplicationRangeIndexableU64 implements ReplicationRangeIndexable<"u64"> {
157
+ id: Uint8Array;
158
+ hash: string;
159
+ timestamp: bigint;
160
+ start1: bigint;
161
+ end1: bigint;
162
+ start2: bigint;
163
+ end2: bigint;
164
+ width: bigint;
165
+ mode: ReplicationIntent;
166
+ constructor(properties: {
167
+ id?: Uint8Array;
168
+ offset: bigint | number;
169
+ length: bigint | number;
170
+ mode?: ReplicationIntent;
171
+ timestamp?: bigint;
172
+ } & ({
173
+ publicKeyHash: string;
174
+ } | {
175
+ publicKey: PublicSignKey;
176
+ }));
177
+ private transform;
178
+ get idString(): string;
179
+ contains(point: bigint): boolean;
180
+ overlaps(other: ReplicationRangeIndexableU64, checkOther?: boolean): boolean;
181
+ toReplicationRange(): ReplicationRangeMessageU64;
182
+ get wrapped(): boolean;
183
+ get widthNormalized(): number;
184
+ equals(other: ReplicationRangeIndexableU64): boolean;
185
+ equalRange(other: ReplicationRangeIndexableU64): boolean;
186
+ toString(): string;
187
+ toStringDetailed(): string;
188
+ toUniqueSegmentId(): string;
189
+ }
190
+ export declare const mergeRanges: <R extends "u32" | "u64">(segments: ReplicationRangeIndexable<R>[], numbers: {
191
+ zero: NumberFromType<R>;
192
+ maxValue: NumberFromType<R>;
193
+ }) => any;
194
+ export declare const appromixateCoverage: <R extends "u32" | "u64">(properties: {
195
+ peers: Index<ReplicationRangeIndexable<R>>;
196
+ samples: number;
197
+ numbers: Numbers<R>;
198
+ roleAge?: number;
199
+ normalized?: boolean;
200
+ }) => Promise<number>;
201
+ export declare const getCoveringRangeQuery: (range: {
202
+ start1: number | bigint;
203
+ end1: number | bigint;
204
+ start2: number | bigint;
205
+ end2: number | bigint;
206
+ }) => Or[];
207
+ export declare const iHaveCoveringRange: <R extends "u32" | "u64">(rects: Index<ReplicationRangeIndexable<R>>, range: ReplicationRangeIndexable<R>) => Promise<boolean>;
208
+ export declare function getDistance(from: any, to: any, direction: "above" | "below" | "closest", end: any): any;
85
209
  export declare const isMatured: (segment: {
86
210
  timestamp: bigint;
87
211
  }, now: number, minAge: number) => boolean;
88
- export declare const getSamples: (cursor: u32[], peers: Index<ReplicationRangeIndexable>, roleAge: number) => Promise<Map<string, {
212
+ export declare const getSamples: <R extends "u32" | "u64">(cursor: NumberFromType<R>[], peers: Index<ReplicationRangeIndexable<R>>, roleAge: number, numbers: Numbers<R>, options?: {
213
+ onlyIntersecting?: boolean;
214
+ uniqueReplicators?: Set<string>;
215
+ }) => Promise<Map<string, {
89
216
  intersecting: boolean;
90
217
  }>>;
91
- export declare const minimumWidthToCover: (minReplicas: number) => Promise<number>;
92
- export declare const getCoverSet: (properties: {
93
- peers: Index<ReplicationRangeIndexable>;
94
- start: number | PublicSignKey | undefined;
95
- widthToCoverScaled: number;
218
+ export declare const minimumWidthToCover: <R extends "u32" | "u64">(minReplicas: number, numbers: Numbers<R>) => Promise<NumberFromType<R>>;
219
+ export declare const getCoverSet: <R extends "u32" | "u64">(properties: {
220
+ peers: Index<ReplicationRangeIndexable<R>>;
221
+ start: NumberFromType<R> | PublicSignKey | undefined;
222
+ widthToCoverScaled: NumberFromType<R>;
96
223
  roleAge: number;
97
- intervalWidth?: number;
224
+ numbers: Numbers<R>;
98
225
  eager?: {
99
226
  unmaturedFetchCoverSize?: number;
100
227
  } | boolean;
101
228
  }) => Promise<Set<string>>;
102
- export declare const toRebalance: (changes: ReplicationChanges, index: Index<EntryReplicated>) => AsyncIterable<{
103
- gid: string;
104
- entries: EntryReplicated[];
105
- }>;
229
+ export declare const matchEntriesInRangeQuery: (range: {
230
+ start1: number | bigint;
231
+ end1: number | bigint;
232
+ start2: number | bigint;
233
+ end2: number | bigint;
234
+ }) => Or | And;
235
+ export declare const toRebalance: <R extends "u32" | "u64">(changes: ReplicationChanges, index: Index<EntryReplicated<R>>) => AsyncIterable<EntryReplicated<R>>;
106
236
  export declare const fetchOneFromPublicKey: <S extends (Shape & {
107
237
  timestamp: true;
108
- }) | undefined = undefined>(publicKey: PublicSignKey, index: Index<ReplicationRangeIndexable>, roleAge: number, now: number, options?: {
238
+ }) | undefined, R extends "u32" | "u64">(publicKey: PublicSignKey, index: Index<ReplicationRangeIndexable<R>>, roleAge: number, now: number, numbers: Numbers<R>, options?: {
109
239
  shape: S;
110
- }) => Promise<ReturnTypeFromShape<ReplicationRangeIndexable, S>>;
240
+ }) => Promise<ReturnTypeFromShape<ReplicationRangeIndexable<R>, S>>;
111
241
  export declare const getStartAndEnd: <S extends (Shape & {
112
242
  timestamp: true;
113
- }) | undefined>(peers: Index<ReplicationRangeIndexable>, start: number | PublicSignKey | undefined | undefined, widthToCoverScaled: number, roleAge: number, now: number, intervalWidth: number, options?: {
243
+ }) | undefined, R extends "u32" | "u64">(peers: Index<ReplicationRangeIndexable<R>>, start: NumberFromType<R> | PublicSignKey | undefined | undefined, widthToCoverScaled: NumberFromType<R>, roleAge: number, now: number, numbers: Numbers<R>, options?: {
114
244
  shape: S;
115
245
  }) => Promise<{
116
- startNode: ReturnTypeFromShape<ReplicationRangeIndexable, S> | undefined;
117
- startLocation: number;
118
- endLocation: number;
246
+ startNode: ReturnTypeFromShape<ReplicationRangeIndexable<R>, S> | undefined;
247
+ startLocation: NumberFromType<R>;
248
+ endLocation: NumberFromType<R>;
119
249
  }>;
120
250
  export declare const fetchOneClosest: <S extends (Shape & {
121
251
  timestamp: true;
122
- }) | undefined = undefined>(peers: Index<ReplicationRangeIndexable>, point: number, roleAge: number, now: number, includeStrictBelow: boolean, includeStrictAbove: boolean, options?: {
252
+ }) | undefined, R extends "u32" | "u64">(peers: Index<ReplicationRangeIndexable<R>>, point: NumberFromType<R>, roleAge: number, now: number, includeStrictBelow: boolean, includeStrictAbove: boolean, numbers: Numbers<R>, options?: {
123
253
  shape?: S;
124
- }) => Promise<ReturnTypeFromShape<ReplicationRangeIndexable, S>>;
254
+ }) => Promise<ReturnTypeFromShape<ReplicationRangeIndexable<R>, S>>;
125
255
  //# sourceMappingURL=ranges.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ranges.d.ts","sourceRoot":"","sources":["../../src/ranges.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ranges.d.ts","sourceRoot":"","sources":["../../src/ranges.ts"],"names":[],"mappings":"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"}