json-joy
Version:
Collection of libraries for building collaborative editing apps.
21 lines (20 loc) • 1.21 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 { Range } from '../rga/Range';
export declare class EditorSlices<T = string> {
protected readonly txt: Peritext<T>;
readonly slices: Slices<T>;
constructor(txt: Peritext<T>, slices: Slices<T>);
/**
* @todo Rename to `insMany`.
*/
insStack(type: SliceType, data?: unknown | ITimestampStruct, selection?: Range<T>[] | IterableIterator<Range<T>>): PersistedSlice<T>[];
insOne(type: SliceType, data?: unknown | ITimestampStruct, selection?: Range<T>[] | IterableIterator<Range<T>>): PersistedSlice<T>[];
insErase(type: SliceType, data?: unknown | ITimestampStruct, selection?: Range<T>[] | IterableIterator<Range<T>>): PersistedSlice<T>[];
insMarker(type: SliceType, data?: unknown, separator?: string, selection?: Range<T>[] | IterableIterator<Range<T>>): MarkerSlice<T>[];
del(sliceOrId: PersistedSlice<T> | ITimestampStruct): void;
}