UNPKG

@terrencecrowley/ot-js

Version:
107 lines (106 loc) 4.47 kB
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; }