UNPKG

reactronic

Version:

Reactronic - Transactional Reactive State Management

29 lines (28 loc) 1.3 kB
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; }