Skip to main content

pax_engine/
lib.rs

1pub extern crate pax_macro;
2pub use pax_macro::*;
3
4pub use log;
5pub use pax_language;
6pub use pax_manifest;
7pub use pax_message;
8pub use pax_runtime;
9pub use pax_runtime::api;
10pub use pax_runtime::api::math;
11pub use pax_runtime::api::serde;
12pub use pax_runtime::api::CoercionRules;
13pub use pax_runtime::api::PaxValue;
14pub use pax_runtime::api::Property;
15pub use pax_runtime::api::ToPaxValue;
16pub use pax_runtime::engine::node_interface::*;
17pub use pax_runtime::layout as node_layout;
18pub use pax_runtime::rendering;
19pub use pax_runtime::Container;
20pub use pax_runtime::ContainerFrame;
21pub use pax_runtime::Slot;
22
23#[cfg(feature = "designtime")]
24pub use pax_designtime;
25
26#[cfg(feature = "web")]
27pub use {pax_chassis_web, wasm_bindgen, wasm_bindgen_futures};
28
29#[cfg(any(feature = "macos", feature = "ios"))]
30pub use pax_chassis_common;
31
32#[cfg(feature = "json")]
33pub use serde_json;
34
35mod declarative_macros {
36    #[macro_export]
37    macro_rules! pax_struct {
38        ($name:ident { $($field:ident : $value:expr),* $(,)? }) => {
39            $name {
40                $(
41                    $field: Property::new($value),
42                )*
43            }
44        };
45    }
46}