Skip to main content

Mountain/IPC/WindServiceHandlers/
Storage.rs

1#![allow(non_snake_case)]
2
3//! # Persistent Storage handlers
4//!
5//! Wind invokes these via the WindServiceHandlers dispatcher; each
6//! delegates to `Environment::Require<dyn StorageProvider>`. Two
7//! scopes: workspace (`false`) for `StorageGet`/`StorageSet`,
8//! global (`true`) for the rest - VS Code's storage service
9//! distinguishes the two; we follow.
10//!
11//! Layout (one export per file, file name = identity):
12//! - `StorageGet::StorageGet` - single key read (workspace).
13//! - `StorageSet::StorageSet` - single key write (workspace).
14//! - `StorageDelete::StorageDelete` - single key delete (global).
15//! - `StorageKeys::StorageKeys` - list every key (global).
16//! - `StorageGetItems::StorageGetItems` - bulk read as `[key,value]` tuples;
17//!   called by VS Code's `NativeWorkbenchStorageService` at boot.
18//! - `StorageUpdateItems::StorageUpdateItems` - bulk insert + delete; matches
19//!   `IndexedDBStorageDatabase`'s wire shape.
20
21pub mod StorageDelete;
22pub mod StorageGet;
23pub mod StorageGetItems;
24pub mod StorageKeys;
25pub mod StorageSet;
26pub mod StorageUpdateItems;