@netless/app-quill
Version:
netless-app-quill
34 lines (33 loc) • 1.26 kB
TypeScript
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;