reactronic
Version:
Reactronic - Transactional Reactive State Management
29 lines (28 loc) • 1.3 kB
TypeScript
import { ReconciliationList, LinkedItem, ReconciliationListReader } from "../util/ReconciliationList.js";
import { RxObject } from "./Mvcc.js";
export declare abstract class RxReconciliationList<T> extends RxObject implements ReconciliationListReader<T> {
protected abstract impl: ReconciliationList<T>;
get isStrict(): boolean;
get count(): number;
get countOfAdded(): number;
get countOfRemoved(): number;
get isReconciliationInProgress(): boolean;
lookup(key: string): LinkedItem<T> | undefined;
tryReuse(key: string): LinkedItem<T> | undefined;
add(instance: T): LinkedItem<T>;
remove(item: LinkedItem<T>): void;
move(item: LinkedItem<T>, after: LinkedItem<T>): void;
beginReconciliation(): void;
endReconciliation(error?: unknown): void;
clearAddedAndRemovedLists(): void;
firstItem(): LinkedItem<T> | undefined;
lastItem(): LinkedItem<T> | undefined;
items(): Generator<LinkedItem<T>>;
itemsAdded(clear?: boolean): Generator<LinkedItem<T>>;
itemsRemoved(clear?: boolean): Generator<LinkedItem<T>>;
isAdded(item: LinkedItem<T>): boolean;
isMoved(item: LinkedItem<T>): boolean;
isRemoved(item: LinkedItem<T>): boolean;
isActual(item: LinkedItem<T>): boolean;
isExternal(item: LinkedItem<T>): boolean;
}