#![deny(
missing_docs,
missing_debug_implementations,
trivial_numeric_casts,
unstable_features,
unused_import_braces,
unused_qualifications
)]
#![cfg_attr(feature = "dev", allow(unstable_features))]
#![cfg_attr(feature = "dev", feature(plugin))]
#![cfg_attr(feature = "dev", plugin(clippy))]
#![recursion_limit="750"]
#[cfg(feature = "serde")]
#[macro_use]
extern crate serde as serde_crate;
#[cfg(any(test, feature = "serde_json"))]
extern crate serde_json;
#[cfg(all(test, feature = "serde"))]
#[macro_use]
extern crate serde_derive;
#[macro_use]
mod webcore;
mod webapi;
mod ecosystem;
pub use webcore::initialization::{
initialize,
event_loop
};
pub use webcore::value::{
Undefined,
Null,
Value,
Reference
};
pub use webcore::number::Number;
#[cfg(feature = "serde")]
pub mod serde {
pub use ecosystem::serde::{
ConversionError,
Serde
};
}
pub mod web {
pub use webapi::window::{
Window,
window
};
pub use webapi::document::{
Document,
document
};
pub use webapi::global::{
set_timeout,
alert
};
pub use webapi::cross_origin_setting::CrossOriginSetting;
pub use webapi::date::Date;
pub use webapi::event_target::{IEventTarget, EventTarget};
pub use webapi::node::{INode, Node, CloneKind};
pub use webapi::element::{IElement, Element};
pub use webapi::html_element::{IHtmlElement, HtmlElement};
pub use webapi::window_or_worker::IWindowOrWorker;
pub use webapi::token_list::TokenList;
pub use webapi::node_list::NodeList;
pub use webapi::string_map::StringMap;
pub use webapi::storage::Storage;
pub use webapi::location::Location;
pub use webapi::array_buffer::ArrayBuffer;
pub use webapi::typed_array::TypedArray;
pub mod error {
pub use webapi::node::NotFoundError;
}
pub mod html_element {
pub use webapi::html_elements::ImageElement;
pub use webapi::html_elements::InputElement;
}
pub mod event {
pub use webapi::event::{
IEvent,
IKeyboardEvent,
IUiEvent,
IMouseEvent,
IFocusEvent,
IProgressEvent,
EventPhase,
KeyboardLocation,
ModifierKey,
MouseButton,
ChangeEvent,
KeypressEvent,
ClickEvent,
DoubleClickEvent,
FocusEvent,
BlurEvent,
HashChangeEvent,
LoadEvent,
ProgressEvent,
LoadStartEvent,
LoadEndEvent,
AbortEvent,
ErrorEvent
};
}
}
pub mod unstable {
pub use webcore::try_from::{
TryFrom,
TryInto
};
pub use webcore::void::Void;
}
#[doc(hidden)]
pub mod private {
pub use webcore::ffi::emscripten_asm_const_int;
pub use webcore::serialization::{
JsSerializable,
JsSerializableOwned,
PreallocatedArena,
SerializedValue
};
pub use webcore::newtype::{
IntoNewtype,
Newtype
};
pub use webcore::value::{
FromReference,
FromReferenceUnchecked
};
#[cfg(feature = "serde")]
pub use ecosystem::serde::{
to_value,
from_value
};
#[allow(dead_code)]
#[inline(always)]
pub fn noop< T >( _: &mut T ) {}
}