@sovereignbase/sequencer 0.0.0-stage → 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +138 -2
- package/dist/index.cjs +551 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +43 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +550 -0
- package/dist/index.js.map +1 -0
- package/package.json +90 -4
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/typescript/types/type.d.ts
|
|
3
|
+
/** Structural words may be typed views or numeric arrays received as JSON. */
|
|
4
|
+
type U32List = Uint32Array | ReadonlyArray<number>;
|
|
5
|
+
/**
|
|
6
|
+
* Exactly six words, in the replication order:
|
|
7
|
+
* `[anchorSession, anchorStart, anchorDiff,
|
|
8
|
+
* insertionSession, insertionStart, insertionDiff]`.
|
|
9
|
+
* Signed coordinates use their 32-bit bit pattern; WASM interprets those lanes
|
|
10
|
+
* as signed.
|
|
11
|
+
*/
|
|
12
|
+
type InsertionWords = U32List;
|
|
13
|
+
/** Insertion coordinates plus optional JS-owned content. Only words enter WASM. */
|
|
14
|
+
type Insertion<T> = Readonly<[words: InsertionWords, footage?: ReadonlyArray<T | undefined>]>;
|
|
15
|
+
/** `[actorID, sessionID, sessionEnd, ...]`. */
|
|
16
|
+
type Acknowledgement = U32List;
|
|
17
|
+
type Gossip<T> = ReadonlyArray<Acknowledgement | Insertion<T>>;
|
|
18
|
+
type Sequence<T> = Readonly<[frontiers: ReadonlyArray<Acknowledgement>, insertions: ReadonlyArray<Insertion<T>>]>;
|
|
19
|
+
type Splice<T> = Readonly<[startAt: number, endWith: number, values?: ReadonlyArray<T | undefined>]>;
|
|
20
|
+
type Change<T> = ReadonlyArray<Splice<T>>;
|
|
21
|
+
type Result<T> = Readonly<[change: Change<T>, gossip?: Gossip<T>]>;
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region src/typescript/class.d.ts
|
|
24
|
+
/** Public API; algorithms execute synchronously in one WASM instance. */
|
|
25
|
+
export declare class Projection<T> {
|
|
26
|
+
readonly actorID: number;
|
|
27
|
+
private id;
|
|
28
|
+
constructor(actorID: number, trustedSequence?: unknown);
|
|
29
|
+
apply(gossip: unknown): Result<T> | undefined;
|
|
30
|
+
insert(values: Array<T>, at: number): Gossip<T>;
|
|
31
|
+
length(): number;
|
|
32
|
+
merge(sequence: unknown): Result<T> | undefined;
|
|
33
|
+
remove(startAt?: number, endWith?: number): Gossip<T>;
|
|
34
|
+
replace(withValues: Array<T>, startAt?: number, endWith?: number): Gossip<T>;
|
|
35
|
+
retire(actorID: number): void;
|
|
36
|
+
sequence(): Sequence<T>;
|
|
37
|
+
value(at: number): T | undefined;
|
|
38
|
+
values(startAt?: number, endWith?: number): Array<T>;
|
|
39
|
+
destroy(): void;
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export type { Acknowledgement, Change, Gossip, Insertion, InsertionWords, Result, Sequence, Splice, U32List };
|
|
43
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/typescript/types/type.ts","../src/typescript/class.ts"],"mappings":";;;KACY,UAAU,cAAc;;;;;;;;KASxB,iBAAiB;;KAGjB,UAAU,KAAK,UACxB,OAAO,gBAAgB,UAAU,cAAc;;KAItC,kBAAkB;KAElB,OAAO,KAAK,cAAc,kBAAkB,UAAU;KAEtD,SAAS,KAAK,UAEtB,WAAW,cAAc,kBACzB,YAAY,cAAc,UAAU;KAI5B,OAAO,KAAK,UACrB,iBAAiB,iBAAiB,SAAS,cAAc;KAGhD,OAAO,KAAK,cAAc,OAAO;KACjC,OAAO,KAAK,UAAU,QAAQ,OAAO,IAAI,SAAS,OAAO;;;;qBC7BxD,WAAW;WAIJ;UAHV;EAGU,YAAA,iBAChB;EAKF,MAAM,kBAAkB,OAAO;EAI/B,OAAO,QAAQ,MAAM,IAAI,aAAa,OAAO;EAI7C;EAIA,MAAM,oBAAoB,OAAO;EAIjC,OAAO,kBAAkB,mBAAmB,OAAO;EAInD,QAAQ,YAAY,MAAM,IAAI,kBAAkB,mBAAmB,OAAO;EAU1E,OAAO;EAIP,YAAY,SAAS;EAIrB,MAAM,aAAa;EAInB,OAAO,kBAAkB,mBAAmB,MAAM;EAIlD"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/typescript/types/type.d.ts
|
|
3
|
+
/** Structural words may be typed views or numeric arrays received as JSON. */
|
|
4
|
+
type U32List = Uint32Array | ReadonlyArray<number>;
|
|
5
|
+
/**
|
|
6
|
+
* Exactly six words, in the replication order:
|
|
7
|
+
* `[anchorSession, anchorStart, anchorDiff,
|
|
8
|
+
* insertionSession, insertionStart, insertionDiff]`.
|
|
9
|
+
* Signed coordinates use their 32-bit bit pattern; WASM interprets those lanes
|
|
10
|
+
* as signed.
|
|
11
|
+
*/
|
|
12
|
+
type InsertionWords = U32List;
|
|
13
|
+
/** Insertion coordinates plus optional JS-owned content. Only words enter WASM. */
|
|
14
|
+
type Insertion<T> = Readonly<[words: InsertionWords, footage?: ReadonlyArray<T | undefined>]>;
|
|
15
|
+
/** `[actorID, sessionID, sessionEnd, ...]`. */
|
|
16
|
+
type Acknowledgement = U32List;
|
|
17
|
+
type Gossip<T> = ReadonlyArray<Acknowledgement | Insertion<T>>;
|
|
18
|
+
type Sequence<T> = Readonly<[frontiers: ReadonlyArray<Acknowledgement>, insertions: ReadonlyArray<Insertion<T>>]>;
|
|
19
|
+
type Splice<T> = Readonly<[startAt: number, endWith: number, values?: ReadonlyArray<T | undefined>]>;
|
|
20
|
+
type Change<T> = ReadonlyArray<Splice<T>>;
|
|
21
|
+
type Result<T> = Readonly<[change: Change<T>, gossip?: Gossip<T>]>;
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region src/typescript/class.d.ts
|
|
24
|
+
/** Public API; algorithms execute synchronously in one WASM instance. */
|
|
25
|
+
export declare class Projection<T> {
|
|
26
|
+
readonly actorID: number;
|
|
27
|
+
private id;
|
|
28
|
+
constructor(actorID: number, trustedSequence?: unknown);
|
|
29
|
+
apply(gossip: unknown): Result<T> | undefined;
|
|
30
|
+
insert(values: Array<T>, at: number): Gossip<T>;
|
|
31
|
+
length(): number;
|
|
32
|
+
merge(sequence: unknown): Result<T> | undefined;
|
|
33
|
+
remove(startAt?: number, endWith?: number): Gossip<T>;
|
|
34
|
+
replace(withValues: Array<T>, startAt?: number, endWith?: number): Gossip<T>;
|
|
35
|
+
retire(actorID: number): void;
|
|
36
|
+
sequence(): Sequence<T>;
|
|
37
|
+
value(at: number): T | undefined;
|
|
38
|
+
values(startAt?: number, endWith?: number): Array<T>;
|
|
39
|
+
destroy(): void;
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export type { Acknowledgement, Change, Gossip, Insertion, InsertionWords, Result, Sequence, Splice, U32List };
|
|
43
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/typescript/types/type.ts","../src/typescript/class.ts"],"mappings":";;;KACY,UAAU,cAAc;;;;;;;;KASxB,iBAAiB;;KAGjB,UAAU,KAAK,UACxB,OAAO,gBAAgB,UAAU,cAAc;;KAItC,kBAAkB;KAElB,OAAO,KAAK,cAAc,kBAAkB,UAAU;KAEtD,SAAS,KAAK,UAEtB,WAAW,cAAc,kBACzB,YAAY,cAAc,UAAU;KAI5B,OAAO,KAAK,UACrB,iBAAiB,iBAAiB,SAAS,cAAc;KAGhD,OAAO,KAAK,cAAc,OAAO;KACjC,OAAO,KAAK,UAAU,QAAQ,OAAO,IAAI,SAAS,OAAO;;;;qBC7BxD,WAAW;WAIJ;UAHV;EAGU,YAAA,iBAChB;EAKF,MAAM,kBAAkB,OAAO;EAI/B,OAAO,QAAQ,MAAM,IAAI,aAAa,OAAO;EAI7C;EAIA,MAAM,oBAAoB,OAAO;EAIjC,OAAO,kBAAkB,mBAAmB,OAAO;EAInD,QAAQ,YAAY,MAAM,IAAI,kBAAkB,mBAAmB,OAAO;EAU1E,OAAO;EAIP,YAAY,SAAS;EAIrB,MAAM,aAAa;EAInB,OAAO,kBAAkB,mBAAmB,MAAM;EAIlD"}
|