import { MultiformatReplica } from "https://deno.land/x/earthstar@v10.0.0-alpha.4/src/replica/multiformat_replica.ts";
A replica holding a share's documents and attachments, used to read, write, and synchronise data to.
Should be closed using the close
method when no longer being used.
const myReplica = new Replica(new ReplicaDriverMemory("+gardens.a37ib9"));
Constructors
Properties
The validator used to validate ingested documents.
Methods
Erases expired docs and dangling attachments
Returns the given array of documents with a new attachment
property merged in. The value of this property can be:
DocAttachment
undefined
(the associated document can have an attachment, but we don't have a copy)ValidationError
(the associated document can't have an attachment)
Closes the replica, preventing new documents from being ingested or events being emitted.
Any methods called after closing will return ReplicaIsClosedError
.
Returns all documents, including historical versions of documents by other identities.
Returns all versions of a document by different authors from a specific path.
Gets an attachment for a given document. Returns a ValidationError
if the given document can't have an attachment.
Returns a readable stream of replica events, such as new ingestions, document expirations, or the replica preparing to close.
Returns the most recently written version of a document at a path.
Returns latest document from every path.
Returns the max local index of all stored documents
Returns a readable stream of document events which match a given query. The events can represent existing documents, newly ingested documents, or expiring documents.
Ingest an existing signed document to the replica.
Returns whether the replica is closed or not.
Provide a callback to be triggered every time a replica event occurs.
Overwrite every document from this author, including history versions, with an empty doc.
Returns an array of all unique authors of documents returned by a given query.
Returns an array of docs for a given query. ``` const myQuery = { filter: { pathEndsWith: ".txt" }, limit: 5, };
const firstFiveTextDocs = await myReplica.queryDocs(myQuery);
```
Returns an array of all unique paths of documents returned by a given query.
Adds a new document to the replica. If a document signed by the same identity exists at the same path, it will be overwritten.
Wipe all content from a document at a given path, and erase its attachment (if it has one).