Skip to main content

wasm_dbms_api/
lib.rs

1#![crate_name = "wasm_dbms_api"]
2#![crate_type = "lib"]
3#![cfg_attr(docsrs, feature(doc_cfg))]
4#![deny(clippy::print_stdout)]
5#![deny(clippy::print_stderr)]
6
7//! # WASM DBMS API
8//!
9//! Runtime-agnostic API types and traits for the wasm-dbms engine.
10//!
11//! This crate provides all shared types, traits, and abstractions needed
12//! to interact with a wasm-dbms instance. It is independent of any specific
13//! WASM runtime (IC, WASI, Wasmtime, etc.).
14//!
15//! Import all useful types and traits via the prelude:
16//!
17//! ```rust
18//! use wasm_dbms_api::prelude::*;
19//! ```
20//!
21//! ## Feature flags
22//!
23//! - `candid`: Enables `CandidType` derives on all public types and exposes
24//!   Candid-specific API boundary types (`CandidColumnDef`, `CandidDataTypeKind`).
25
26#![doc(html_playground_url = "https://play.rust-lang.org")]
27
28// Makes the crate accessible as `wasm_dbms_api` in macros.
29extern crate self as wasm_dbms_api;
30
31pub mod dbms;
32pub mod error;
33pub mod memory;
34pub mod prelude;
35#[cfg(test)]
36mod tests;
37pub mod utils;