import { Peer } from "https://deno.land/x/earthstar@v10.0.0/src/entries/npm.ts";
Holds many shares' replicas and manages their synchronisation with other peers. Recommended as the point of contact between your application and Earthstar shares.
const peer = new Peer();
peer.addReplica(myReplica);
peer.sync("https://my.server");
Methods
addReplica(replica: Replica): Promise<void>
addSyncPartner<I, F>()
partner: ISyncPartner<I>,
description: string,
formats?: FormatsArg<F>,
Begin syncing using an instance implementing ISyncPartner
. Use this if you don't want to sync with a local peer or a server.
getReplica(ws: ShareAddress): Replica | undefined
Get all syncers created by this peer. This includes running and cancelled syncers.
onReplicasChange(callback: (map: Map<ShareAddress, Replica>) => void | Promise<void>)
Fires a given callback whenever the Peer's store of replicas changes.
onSyncersChange(callback: (map: Map<string, { description: string; syncer: Syncer<unknown, unknown>; }>) => void | Promise<void>): () => void
Fires a given callback whenever a new syncer is added to the peer.
removeReplica(replica: Replica): Promise<void>
replicas(): Replica[]
size(): number
The number of replicas held by this peer
sync<F>(): Syncer<undefined, F>
target: IPeer | string,
continuous?,
formats?: FormatsArg<F>,
Begin synchronising with a remote or local peer.