UNPKG

@orbitdb/feed-db

Version:

Feed database type for orbit-db.

51 lines (50 loc) 1.9 kB
import { type AccessController, type Identity, type Storage, type DagCborEncodable, type MetaData, type Log, type LogEntry } from "@orbitdb/core"; import type { HeliaLibp2p } from "helia"; import type { Libp2p } from "libp2p"; import type { ServiceMap } from "@libp2p/interface"; export type FeedDatabaseType = Awaited<ReturnType<ReturnType<typeof Feed>>>; declare const Feed: { (): <T extends ServiceMap = ServiceMap>({ ipfs, identity, address, name, access, directory, meta, headsStorage, entryStorage, indexStorage, referencesCount, syncAutomatically, onUpdate, }: { ipfs: HeliaLibp2p<Libp2p<T>>; identity?: Identity; address: string; name?: string; access?: AccessController; directory?: string; meta?: MetaData; headsStorage?: Storage; entryStorage?: Storage; indexStorage?: Storage; referencesCount?: number; syncAutomatically?: boolean; onUpdate?: (log: Log, entry: LogEntry) => void; }) => Promise<{ type: "feed"; add: (value: DagCborEncodable) => Promise<string>; remove: (hash: string) => Promise<string>; iterator: ({ amount, }?: { amount?: number; }) => AsyncGenerator<{ value: unknown; hash: string; }, void, unknown>; all: () => Promise<{ value: unknown; hash: string; }[]>; address: string; name: string; identity: Identity; meta: MetaData; close: () => Promise<void>; drop: () => Promise<void>; addOperation: (op: DagCborEncodable) => Promise<string>; log: Log; sync: import("@orbitdb/core").Sync; peers: Set<string>; events: TypedEmitter<import("@orbitdb/core").DatabaseEvents>; access: AccessController; }>; type: "feed"; }; export default Feed;