@terrencecrowley/ot-js
Version:
Javascript OT library
107 lines (106 loc) • 4.47 kB
TypeScript
import * as OT from "./ottypes";
export declare const OpInsert: number;
export declare const OpDelete: number;
export declare const OpRetain: number;
export declare const OpCursor: number;
export declare const OpSet: number;
export declare const OpTmpRetain: number;
export declare type OTSingleArrayEdit = [number, number, any];
export declare type OTEdits = OTSingleArrayEdit[];
export interface IOTArrayLikeOperations {
underlyingTypeName(): string;
empty(): any;
insert(t: any, pos: number, tInsert: any): any;
delete(t: any, pos: number, len: number): any;
set(t: any, pos: number, tSet: any): any;
append(t: any, tAppend: any): any;
substr(t: any, pos: number, len: number): any;
substrOf(t: any, pos: number, len: number, tsub: any): any;
constructN(n: number): any;
equal(t1: any, t2: any): boolean;
copy(t: any): any;
length(t: any): number;
}
export declare class OTSingleArrayEditor {
raw: IOTArrayLikeOperations;
constructor(raw: IOTArrayLikeOperations);
copy(a: OTSingleArrayEdit): OTSingleArrayEdit;
isDelete(a: OTSingleArrayEdit): boolean;
isNotDelete(a: OTSingleArrayEdit): boolean;
isCursor(a: OTSingleArrayEdit): boolean;
isNotCursor(a: OTSingleArrayEdit): boolean;
isTmpRetain(a: OTSingleArrayEdit): boolean;
isNotTmpRetainOrDelete(a: OTSingleArrayEdit): boolean;
isTmpRetainOrDelete(a: OTSingleArrayEdit): boolean;
isIgnore(a: OTSingleArrayEdit): boolean;
isNoOp(a: OTSingleArrayEdit): boolean;
isEqual(a1: OTSingleArrayEdit, a2: OTSingleArrayEdit): boolean;
appendValue(a: OTSingleArrayEdit, s: any): void;
empty(a: OTSingleArrayEdit): void;
setIgnore(a: OTSingleArrayEdit): void;
substr(aIn: OTSingleArrayEdit, pos: number, len: number): void;
substrFromRaw(aIn: OTSingleArrayEdit, pos: number, len: number, s: any): void;
copyWithSubstr(aIn: OTSingleArrayEdit, pos: number, len: number): OTSingleArrayEdit;
}
export declare class OTStringOperations implements IOTArrayLikeOperations {
underlyingTypeName(): string;
empty(): any;
insert(a: any, pos: number, aInsert: any): any;
delete(a: any, pos: number, len: number): any;
set(a: any, pos: number, aSet: any): any;
append(a: any, aAppend: any): any;
substr(a: any, pos: number, len: number): any;
substrOf(a: any, pos: number, len: number, aSub: any): any;
constructN(n: number): any;
equal(a1: any, a2: any): boolean;
copy(a: any): any;
length(a: any): number;
}
export declare class OTArrayOperations implements IOTArrayLikeOperations {
underlyingTypeName(): string;
empty(): any;
insert(a: any, pos: number, aInsert: any): any;
delete(a: any, pos: number, len: number): any;
set(a: any, pos: number, aSet: any): any;
append(a: any, aAppend: any): any;
substr(a: any, pos: number, len: number): any;
substrOf(a: any, pos: number, len: number, aSub: any): any;
constructN(n: number): any;
equal(a1: any, a2: any): boolean;
copy(a: any): any;
length(a: any): number;
}
export declare class OTArrayLikeResource extends OT.OTResourceBase {
editor: OTSingleArrayEditor;
constructor(ed: OTSingleArrayEditor, rname: string);
copy(): OTArrayLikeResource;
private moveEdits(newA, iStart, iEnd?, pred?);
equal(rhs: OTArrayLikeResource): boolean;
effectivelyEqual(rhs: OTArrayLikeResource): boolean;
basesConsistent(rhs: OTArrayLikeResource): void;
originalLength(): number;
finalLength(): number;
apply(aValue: any): any;
coalesce(bDeleteCursor?: boolean): void;
fullyCoalesce(): void;
invert(sInput: any): void;
private alignEdges(rhs, st);
getCursorCache(): any;
compose(rhs: OTArrayLikeResource): void;
private performTransformReorder(bForceRetainBeforeInsert, newA, iBegin, iEnd);
private normalizeNewRetainsAfterTransform(bForceRetainBeforeInsert);
transform(prior: OTArrayLikeResource, bPriorIsService: boolean): void;
generateRandom(nInitial: number, clientID: string): void;
}
export declare class OTStringResource extends OTArrayLikeResource {
private static _editor;
constructor(rname: string);
static factory(rname: string): OTStringResource;
copy(): OTStringResource;
}
export declare class OTArrayResource extends OTArrayLikeResource {
private static _editor;
constructor(rname: string);
static factory(rname: string): OTArrayResource;
copy(): OTArrayResource;
}