/// import IOperationQueue from './interfaces/IOperationQueue'; /** * Operation queue used by the Batch Writer implemented using MongoDB. */ export default class MongoDbOperationQueue implements IOperationQueue { private serverUrl; /** Collection name for queued operations. */ static readonly collectionName: string; private collection; /** * MongoDb database name where the operations are stored */ private databaseName; private db; constructor(serverUrl: string, databaseName?: string); /** * Initialize the MongoDB operation store. */ initialize(): Promise; enqueue(didUniqueSuffix: string, operationBuffer: Buffer): Promise; dequeue(count: number): Promise; peek(count: number): Promise; /** * Checks to see if the queue already contains an operation for the given DID unique suffix. */ contains(didUniqueSuffix: string): Promise; /** * * Clears the unresolvable transaction store. Mainly used in tests. */ clearCollection(): Promise; /** * Creates the queued operation collection with indexes if it does not exists. * @returns The existing collection if exists, else the newly created collection. */ private static createCollectionIfNotExist; }