import AnchoredOperationModel from '../../lib/core/models/AnchoredOperationModel'; import IOperationStore from '../../lib/core/interfaces/IOperationStore'; import NamedAnchoredOperationModel from '../../lib/core/models/NamedAnchoredOperationModel'; /** * A simple in-memory implementation of operation store. */ export default class MockOperationStore implements IOperationStore { private readonly didToOperations; private readonly didUpdatedSinceLastSort; /** * Inserts an operation into the in-memory store. */ private insert; /** * Implements OperationStore.put() */ put(operations: NamedAnchoredOperationModel[]): Promise; /** * Implements OperationStore.get(). * Get an iterator that returns all operations with a given * didUniqueSuffix ordered by (transactionNumber, operationIndex). */ get(didUniqueSuffix: string): Promise; /** * Delete all operations transactionNumber greater than the given transactionNumber. */ delete(transactionNumber?: number): Promise; /** * Remove operations. A simple linear scan + filter that leaves the * original order intact for non-filters operations. */ private static removeOperations; private ensureDidContainerExist; }