@orbitdb/ordered-keyvalue-db
Version:
Ordered keyvalue database type for orbit-db.
79 lines (78 loc) • 3.1 kB
TypeScript
import { type AccessController, type Identity, type Storage, type MetaData, type DagCborEncodable, type LogEntry, Log, InternalDatabase } from "@orbitdb/core";
import type { HeliaLibp2p } from "helia";
import type { Libp2p } from "libp2p";
import type { ServiceMap } from "@libp2p/interface";
export type OrderedKeyValueDatabaseType = Awaited<ReturnType<ReturnType<typeof OrderedKeyValue>>>;
declare const OrderedKeyValue: {
(): <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: "ordered-keyvalue";
put: (key: string, value: DagCborEncodable, position?: number) => Promise<string>;
set: (key: string, value: DagCborEncodable, position?: number) => Promise<string>;
del: (key: string) => Promise<string>;
move: (key: string, position: number) => Promise<void>;
get: (key: string) => Promise<DagCborEncodable | undefined>;
iterator: ({ amount, }?: {
amount?: number;
}) => AsyncGenerator<{
key: string;
value: DagCborEncodable;
position: number;
hash: string;
}, void, unknown>;
all: () => Promise<{
key: string;
value: DagCborEncodable;
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: "ordered-keyvalue";
};
export declare const OrderedKeyValueApi: ({ database, }: {
database: InternalDatabase;
}) => {
get: (key: string) => Promise<DagCborEncodable | undefined>;
set: (key: string, value: DagCborEncodable, position?: number) => Promise<string>;
put: (key: string, value: DagCborEncodable, position?: number) => Promise<string>;
move: (key: string, position: number) => Promise<void>;
del: (key: string) => Promise<string>;
iterator: ({ amount, }?: {
amount?: number;
}) => AsyncGenerator<{
key: string;
value: DagCborEncodable;
position: number;
hash: string;
}, void, unknown>;
all: () => Promise<{
key: string;
value: DagCborEncodable;
hash: string;
}[]>;
};
export default OrderedKeyValue;