konnektoren_core/
lib.rs

1pub mod analytics;
2pub mod asset_loader;
3pub mod challenges;
4pub mod commands;
5pub mod controller;
6pub mod error;
7pub mod events;
8pub mod game;
9pub mod persistence;
10pub mod player_profile;
11pub mod session;
12
13#[cfg(feature = "achievements")]
14pub mod achievements;
15
16#[cfg(feature = "certificates")]
17pub mod certificates;
18
19#[cfg(feature = "js")]
20pub mod konnektoren_js;
21
22#[cfg(feature = "marketplace")]
23pub mod marketplace;
24
25/// experience points
26pub type Xp = u32;
27
28/// This is a prelude module that re-exports the most important types and traits.
29pub mod prelude {
30    pub use crate::Xp;
31    pub use crate::analytics::metrics::Metric;
32    pub use crate::challenges::Challenge;
33    pub use crate::challenges::ChallengeConfig;
34    pub use crate::challenges::ChallengeFactory;
35    pub use crate::challenges::ChallengeInput;
36    pub use crate::challenges::ChallengeResult;
37    pub use crate::challenges::ChallengeType;
38    pub use crate::challenges::ChallengeVariant;
39    pub use crate::challenges::MultipleChoice;
40    pub use crate::challenges::MultipleChoiceOption;
41    pub use crate::challenges::Performance;
42    pub use crate::challenges::Question;
43    pub use crate::commands::error::CommandError;
44    pub use crate::controller::GameController;
45    pub use crate::controller::error::ControllerError;
46    pub use crate::error::{KonnektorenError, Result};
47    pub use crate::game::Game;
48    pub use crate::game::GamePath;
49    pub use crate::persistence::error::PersistenceError;
50    pub use crate::player_profile::PlayerProfile;
51    pub use crate::session::Session;
52
53    #[cfg(feature = "achievements")]
54    pub use crate::achievements::*;
55
56    #[cfg(feature = "js")]
57    pub use crate::konnektoren_js::*;
58
59    #[cfg(feature = "marketplace")]
60    pub use crate::marketplace::*;
61}
62
63#[cfg(feature = "js")]
64#[cfg(target_arch = "wasm32")]
65#[cfg(test)]
66mod tests {
67    wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
68}