idb.mx raw
1 package idb
2
3 // IndexedDB jsbridge — purpose-built event and DM storage.
4 // The JS runtime handles all IndexedDB internals (schema, cursors, indices).
5
6 // Open opens/creates the database. Calls fn when ready.
7 func Open(fn func()) { panic("jsbridge") }
8
9 // SaveEvent saves a Nostr event (JSON string). Calls fn with true if new.
10 func SaveEvent(eventJSON string, fn func(bool)) { panic("jsbridge") }
11
12 // QueryEvents queries events matching a filter (JSON string).
13 // Calls fn with a JSON array of matching events.
14 func QueryEvents(filterJSON string, fn func(string)) { panic("jsbridge") }
15
16 // SaveDM saves a DM record (JSON string).
17 // Calls fn with result: "saved", "duplicate", or "upgraded".
18 func SaveDM(dmJSON string, fn func(string)) { panic("jsbridge") }
19
20 // QueryDMs queries DMs for a peer pubkey.
21 // until is Unix timestamp or 0 for no upper bound.
22 // Calls fn with a JSON array of DM records.
23 func QueryDMs(peer string, limit int, until int64, fn func(string)) { panic("jsbridge") }
24
25 // GetConversationList returns all DM conversations.
26 // Calls fn with a JSON array of conversation summaries.
27 func GetConversationList(fn func(string)) { panic("jsbridge") }
28
29 // ClearDMsByPeer deletes all DM records for a given peer pubkey.
30 // Calls fn when complete.
31 func ClearDMsByPeer(peer string, fn func()) { panic("jsbridge") }
32
33 // SetVersion sets the expected app version for epoch checks.
34 // On Open, if stored version != this version, all data stores are flushed.
35 func SetVersion(v string) { panic("jsbridge") }
36