@oobleck/fluid-backend
Version:
Fluid Framework backend for nteract RTC
33 lines (32 loc) • 1.63 kB
TypeScript
import { Observable, Subject } from "rxjs";
import { DataObject, DataObjectFactory } from "@fluid-experimental/fluid-framework";
import { CellEvent, CellInput, MetadataEntryDef, NotebookContentInput, NotebookEvent } from "../schema";
import { AugmentedCellEdit, CellModel, INotebookModel } from "./types";
export declare class NotebookDDS extends DataObject<{}, NotebookContentInput> implements INotebookModel {
static DataObjectName: string;
private cellMap;
private cellOrder;
private metadataMap;
private readonly subscriptions;
static readonly Factory: DataObjectFactory<NotebookDDS, {}, NotebookContentInput, import("@fluidframework/common-definitions").IEvent>;
cellEdits$: Subject<AugmentedCellEdit>;
cellEvents$: Subject<CellEvent>;
events$: Observable<NotebookEvent>;
get metadata(): MetadataEntryDef[];
getCells(): Promise<CellModel[]>;
getCell(id: string): Promise<CellModel | undefined>;
insertCell(input: CellInput, insertAt: number): Promise<CellModel>;
deleteCell(id: string): void;
replaceCell(id: string, cell: CellInput): Promise<CellModel>;
moveCell(id: string, insertAt: number): void;
updateMetadata(key: string, value: unknown): void;
clearCellOutputs(id?: string): Promise<boolean>;
protected initializingFirstTime(input?: NotebookContentInput): Promise<void>;
protected initializingFromExisting(): Promise<void>;
protected hasInitialized(): Promise<void>;
dispose(): void;
private isInteractive;
private createCellComponent;
private setupObservables;
private enlistCell;
}