UNPKG

@terrencecrowley/ot-js

Version:
112 lines (111 loc) 4.73 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[]; declare enum OTalignEdgesType { AlignForCompose = 0, AlignForTransform = 1 } 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; moveEdits(newA: OTEdits, iStart: number, iEnd?: number, pred?: (a: OTSingleArrayEdit) => boolean): void; 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; alignEdges(rhs: OTArrayLikeResource, st: OTalignEdgesType): void; getCursorCache(): any; compose(rhs: OTArrayLikeResource): void; performTransformReorder(bForceRetainBeforeInsert: boolean, newA: OTEdits, iBegin: number, iEnd: number): void; normalizeNewRetainsAfterTransform(bForceRetainBeforeInsert: boolean): void; transform(prior: OTArrayLikeResource, bPriorIsService: boolean): void; generateRandom(nInitial: number, clientID: string): void; } export declare class OTStringResource extends OTArrayLikeResource { static _editor: OTSingleArrayEditor; constructor(rname: string); static factory(rname: string): OTStringResource; copy(): OTStringResource; } export declare class OTArrayResource extends OTArrayLikeResource { static _editor: OTSingleArrayEditor; constructor(rname: string); static factory(rname: string): OTArrayResource; copy(): OTArrayResource; } export {};