mute-structs
Version:
NodeJS module providing an implementation of the LogootSplit CRDT algorithm
30 lines (29 loc) • 1.45 kB
TypeScript
import { Identifier } from "../identifier";
import { IdentifierInterval } from "../identifierinterval";
export declare class RenamingMap {
static fromPlain(o: unknown): RenamingMap | null;
readonly replicaNumber: number;
readonly clock: number;
readonly renamedIdIntervals: IdentifierInterval[];
readonly indexes: number[];
readonly maxOffset: number;
constructor(replicaNumber: number, clock: number, renamedIdIntervals: IdentifierInterval[]);
readonly firstId: Identifier;
readonly lastId: Identifier;
readonly newFirstId: Identifier;
readonly newLastId: Identifier;
readonly newRandom: number;
renameIds(idsToRename: Identifier[], initialIndex: number): Identifier[];
initRenameIds(idsToRename: Identifier[]): Identifier[];
initRenameSeq(idsToRename: Identifier[]): Identifier[];
renameIdLessThanFirstId(id: Identifier): Identifier;
renameIdGreaterThanLastId(id: Identifier): Identifier;
renameIdFromIndex(index: number): Identifier;
renameIdFromPredecessorId(id: Identifier, predecessorId: Identifier, index: number): Identifier;
reverseRenameId(id: Identifier): Identifier;
hasBeenRenamed(id: Identifier): boolean;
findIndexOfIdOrPredecessor(id: Identifier): number;
findIdFromIndex(index: number): Identifier;
findPredecessorAndSuccessorFromIndex(index: number): [Identifier, Identifier];
findPositionFromIndex(index: number): [number, number];
}