1#![doc = include_str!("../README.md")]
2#![forbid(unsafe_code)]
3
4pub mod api;
5mod capabilities;
6mod error;
7
8pub mod document_store {
10 pub use omnia_wasi_jsondb::document_store::*;
11}
12
13#[cfg(target_arch = "wasm32")]
14pub use omnia_guest_macro::*;
15#[doc(hidden)]
16pub use {anyhow, axum, bytes, http, http_body, tracing};
17#[cfg(target_arch = "wasm32")]
18#[doc(hidden)]
19pub use {
20 omnia_wasi_blobstore, omnia_wasi_http, omnia_wasi_identity, omnia_wasi_keyvalue,
21 omnia_wasi_messaging, omnia_wasi_otel, wasip3, wit_bindgen,
22};
23
24pub use crate::api::*;
25pub use crate::capabilities::*;
26pub use crate::error::*;
27
28#[macro_export]
36macro_rules! ensure_env {
37 ($($var:literal),+ $(,)?) => {
38 {
39 let mut missing = Vec::new();
40 $(
41 if std::env::var($var).is_err() {
42 missing.push($var);
43 }
44 )+
45
46 if !missing.is_empty() {
47 panic!("Missing required environment variables: {}", missing.join(", "));
48 }
49 }
50 };
51}