json-joy
Version:
Collection of libraries for building collaborative editing apps.
19 lines (18 loc) • 1.05 kB
TypeScript
import { PersistedSlice } from '../slice/PersistedSlice';
import type { Peritext } from '../Peritext';
import type { SliceType } from '../slice/types';
import type { MarkerSlice } from '../slice/MarkerSlice';
import type { Slices } from '../slice/Slices';
import type { ITimestampStruct } from '../../../json-crdt-patch';
import type { Cursor } from './Cursor';
export declare class EditorSlices<T = string> {
protected readonly txt: Peritext<T>;
readonly slices: Slices<T>;
constructor(txt: Peritext<T>, slices: Slices<T>);
protected insAtCursors<S extends PersistedSlice<T>>(callback: (cursor: Cursor<T>) => S): S[];
insStack(type: SliceType, data?: unknown | ITimestampStruct): PersistedSlice<T>[];
insOne(type: SliceType, data?: unknown | ITimestampStruct): PersistedSlice<T>[];
insErase(type: SliceType, data?: unknown | ITimestampStruct): PersistedSlice<T>[];
insMarker(type: SliceType, data?: unknown, separator?: string): MarkerSlice<T>[];
del(sliceOrId: PersistedSlice<T> | ITimestampStruct): void;
}