UNPKG

@orbitdb/feed-db

Version:

Feed database type for orbit-db.

70 lines (69 loc) 2.39 kB
import type { AccessController, Identity, Storage, DagCborEncodable, MetaData, Log, LogEntry, InternalDatabase } from "@orbitdb/core"; import type { Helia } 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: Helia<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 declare const FeedApi: { ({ database }: { database: InternalDatabase; }): { 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; }[]>; }; type: "feed"; }; export default Feed;