extern crate self as icydb;
#[doc(hidden)]
pub use icydb_core::types;
pub mod value {
pub use icydb_core::value::{
Collection, InputValue, InputValueEnum, MapCollection, OutputValue, OutputValueEnum,
ValueTag,
};
}
#[doc(hidden)]
pub mod metrics {
pub use icydb_core::metrics::{
CompactEntityMetrics, CompactEventCounters, CompactMetric, CompactMetricsReport,
EntitySummary, EventCounters, EventOps, EventReport, MetricRatio, MetricsSink,
compact_metric_code, compact_metrics_report, metrics_report, metrics_reset_all,
};
}
#[cfg(not(target_arch = "wasm32"))]
pub mod build {
pub use icydb_config::{
ConfigError, GeneratedBuildTarget, GeneratedCanisterConfig, GeneratedIcydbConfig,
GeneratedMetricsMode, GeneratedMetricsPolicy, GeneratedSqlIntrospectionPolicy,
GeneratedSqlUpdatePolicy, ResolvedIcydbConfig, build_configured_canister,
emit_config_for_build_script, emit_configured_canister_for_build_script,
load_resolved_icydb_toml, resolve_existing_icydb_toml,
};
}
pub mod db;
pub mod diagnostic {
pub use icydb_diagnostic_code::{
Diagnostic, DiagnosticCode, DiagnosticDetail, ErrorClass, ErrorCode, ErrorOrigin,
QueryErrorKind, QueryProjectionCode, QueryReadAdmissionCode, QueryResultShapeCode,
RuntimeBoundaryCode, RuntimeErrorKind, SchemaDdlAdmissionCode, SqlFeatureCode,
SqlLoweringCode, SqlSurfaceMismatchCode, SqlWriteBoundaryCode,
};
}
mod error;
pub mod traits;
pub use error::{
ConstraintDiagnostic, ConstraintDiagnosticContext, ConstraintDiagnosticKind, Error, ErrorKind,
ErrorOrigin, QueryErrorKind, RuntimeErrorKind,
};
pub use icydb_diagnostic_code::ErrorCode;
#[doc(hidden)]
pub mod __macro {
pub use crate::db::execute_generated_storage_report;
pub use crate::db::{
TypedEntityAdapter, TypedFieldBindingRequest, TypedFieldType, TypedInputValue,
TypedNamedType, TypedOutputValue, TypedRowAdapter,
};
pub use ic_memory::{
bootstrap_default_memory_manager, ic_memory_declaration, ic_memory_key, ic_memory_range,
};
pub use icydb_core::db::{
CompositePrimaryKeyValue, CompositePrimaryKeyValueError, DataStore,
DbSession as CoreDbSession, EntityKeyBytes, EntityKeyBytesError, EntityRegistration,
IndexStore, JournalTailStore, KeyValueCodec, PrimaryKeyDecode, PrimaryKeyEncode,
PrimaryKeyEncodeError, PrimaryKeyValue, SchemaStore, StoreAllocationIdentities,
StoreAllocationIdentity, StoreRegistry, StoreRuntimeStorageCapabilities,
validate_entity_key_bytes_buffer,
};
#[cfg(feature = "sql")]
pub use icydb_core::db::{
LoweredSqlCommand, identifiers_tail_match, sql_statement_dispatch,
sql_statement_entity_name,
};
pub use icydb_core::error::{ErrorClass, ErrorOrigin, InternalError};
pub use icydb_core::traits::{CanisterKind, Path};
pub use icydb_core::value::Value;
pub use icydb_schema::{
DEFAULT_BIG_INT_MAX_BYTES, Decimal as SchemaDecimal, FieldSourceKey, ScalarLiteral,
ScalarType, SchemaContractError, SourceCheckExpr, SourceCheckInstruction,
};
}
#[doc(hidden)]
pub mod __reexports {
pub use candid;
pub use ctor;
pub use derive_more;
pub use ic_cdk;
pub use ic_memory;
pub use remain;
pub use serde;
}
pub mod prelude {
#[cfg(feature = "sql")]
pub use crate::db::{
query,
query::{
FieldRef, FilterExpr, FilterValue, OrderExpr, OrderTerm, asc, count, count_by, desc,
exists, field, first, last, max, max_by, min, min_by, sum,
},
};
pub use crate::{
db,
traits::{Collection as _, Inner as _, MapCollection as _, Path as _},
types::*,
value::{InputValue, OutputValue},
};
pub use candid::CandidType;
pub use serde::{Deserialize, Serialize};
}
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
#[macro_export]
macro_rules! start {
() => {
include!(concat!(env!("OUT_DIR"), "/actor.rs"));
};
}
#[macro_export]
#[expect(clippy::crate_in_macro_def)]
macro_rules! db {
() => {
crate::db()
};
}
#[cfg(all(test, not(target_arch = "wasm32")))]
mod tests {
use crate::build;
#[test]
fn build_facade_exports_configured_entrypoint_metadata() {
assert_eq!(
build::GeneratedBuildTarget::default(),
build::GeneratedBuildTarget::Unknown
);
}
#[allow(dead_code)]
fn build_facade_macros_resolve() -> Result<(), Box<dyn std::error::Error>> {
build::build_configured_canister!((), "crate::Canister", "canister");
Ok(())
}
}