1#[macro_use]
2extern crate log;
3
4#[macro_export]
5macro_rules! json_map {
6 { $( $key:literal : $value:expr),* } => {{
7 use serde_json::Value;
8 use serde_json::map::Map;
9 #[allow(unused_mut)]
10 let mut map : Map<String, Value> = Map::new();
11 $(
12 map.insert( $key.to_string(), json!($value) );
13 )*
14 map
15 }};
16}
17
18mod datastore;
19mod legacy_import;
20mod worker;
21
22pub use self::datastore::DatastoreInstance;
23pub use self::worker::Datastore;
24
25pub enum DatastoreMethod {
26 Memory(),
27 File(String),
28}
29
30#[derive(Debug, Clone)]
32pub enum DatastoreError {
33 NoSuchBucket(String),
34 BucketAlreadyExists(String),
35 NoSuchKey(String),
36 MpscError,
37 InternalError(String),
38 Uninitialized(String),
40 OldDbVersion(String),
41}