| Crates.io | hocuspocus-extension-database |
| lib.rs | hocuspocus-extension-database |
| version | 0.1.0 |
| created_at | 2025-10-29 17:01:42.106976+00 |
| updated_at | 2025-10-29 17:01:42.106976+00 |
| description | Database persistence extension for hocuspocus-rs (MVP): trait and types |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1906958 |
| size | 4,214 |
Database persistence extension for hocuspocus-rs (MVP). Provides the DatabaseExtension trait and context types.
For a SQLite implementation, use the hocuspocus-extension-sqlite crate.
use hocuspocus_extension_database::{DatabaseExtension, types::{FetchContext, StoreContext}};
use hocuspocus_extension_sqlite::SqliteDatabase;
# async fn demo() -> anyhow::Result<()> {
let db = SqliteDatabase::connect("sqlite::memory:").await?;
// fetch (may be None)
let state = db.fetch(FetchContext { document_name: "doc1".into() }).await?;
// store
let state_bytes = vec![1,2,3];
db.store(StoreContext {
document_name: "doc1".into(),
state: &state_bytes,
updated_at_millis: 0,
}).await?;
# Ok(())
# }