UNPKG

@libp2p/peer-store

Version:

Stores information about peers libp2p knows on the network

33 lines 1.29 kB
import { type Mortice } from 'mortice'; import { Peer as PeerPB } from './pb/peer.js'; import type { PersistentPeerStoreComponents, PersistentPeerStoreInit } from './index.js'; import type { PeerUpdate as PeerUpdateExternal, PeerId, Peer, PeerData, PeerQuery } from '@libp2p/interface'; /** * Event detail emitted when peer data changes */ export interface PeerUpdate extends PeerUpdateExternal { updated: boolean; } export interface ExistingPeer { peerPB: PeerPB; peer: Peer; } export declare class PersistentStore { #private; private readonly peerId; private readonly datastore; readonly lock: Mortice; private readonly addressFilter?; private readonly log; private readonly maxAddressAge; private readonly maxPeerAge; constructor(components: PersistentPeerStoreComponents, init?: PersistentPeerStoreInit); has(peerId: PeerId): Promise<boolean>; delete(peerId: PeerId): Promise<void>; load(peerId: PeerId): Promise<Peer>; save(peerId: PeerId, data: PeerData): Promise<PeerUpdate>; patch(peerId: PeerId, data: Partial<PeerData>): Promise<PeerUpdate>; merge(peerId: PeerId, data: PeerData): Promise<PeerUpdate>; all(query?: PeerQuery): AsyncGenerator<Peer, void, unknown>; } //# sourceMappingURL=store.d.ts.map