UNPKG

@netless/app-quill

Version:
34 lines (33 loc) 1.26 kB
import type { NetlessApp } from '@netless/fastboard'; import { ObservableV2 } from 'lib0/observable'; import * as Y from "yjs"; export type AppContext = Parameters<NetlessApp['setup']>[0]; export type Storage = AppContext['storage']; export type AnyDict = { [key in PropertyKey]: any; }; export interface VectorEvents { update: (data: any) => void; } export declare class Vector extends ObservableV2<VectorEvents> { readonly context: AppContext; readonly dispose: import("@wopjs/disposable").DisposableStore; readonly storage: Storage; readonly clientId: string; clock: number; constructor(context: AppContext, storage: Storage); get size(): number; forEach(callback: (update: any, index: number) => void): void; push(update: any): void; swap(updates: Array<any>): void; destroy(): void; } export declare function createVector(context: AppContext, storage: Storage): Vector; export interface ConnectOptions { /** * Shrink vector size when it is bigger than this number.Affected by akko's 'illusion queue', the maximum cannot exceed 500 * default: 500 */ optimizeAt?: number; } export declare function connect(vector: Vector, doc: Y.Doc, { optimizeAt }?: ConnectOptions): () => void;