ion/
lib.rs

1/*
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 */
6
7#![allow(clippy::missing_safety_doc, clippy::module_inception)]
8#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
9
10use std::result;
11
12pub use bigint::BigInt;
13pub use class::ClassDefinition;
14pub use context::{Context, ContextInner};
15pub use error::{Error, ErrorKind};
16pub use exception::{ErrorReport, Exception, ThrowException};
17pub use function::{Arguments, Function};
18pub use future::PromiseFuture;
19#[cfg(feature = "macros")]
20pub use ion_proc::*;
21pub use object::*;
22pub use root::{Local, TracedHeap};
23pub use stack::{Stack, StackRecord};
24pub use string::{String, StringRef};
25pub use symbol::Symbol;
26pub use value::Value;
27
28mod bigint;
29pub mod class;
30pub mod clone;
31mod context;
32pub mod conversions;
33mod error;
34pub mod exception;
35pub mod flags;
36pub mod format;
37pub mod function;
38mod future;
39pub mod module;
40pub mod object;
41mod root;
42pub mod script;
43pub mod spec;
44pub mod stack;
45pub mod string;
46pub mod symbol;
47pub mod utils;
48mod value;
49
50pub type Result<T> = result::Result<T, Error>;
51pub type ResultExc<T> = result::Result<T, Exception>;