@orbitdb/feed-db
Version:
Feed database type for orbit-db.
70 lines (69 loc) • 2.39 kB
TypeScript
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;