Skip to content

Commit

Permalink
Docs update for boa_runtime and console documentation (#2891)
Browse files Browse the repository at this point in the history
* Update to primary docs to account for console update

* fix intra-doc link

* Forgot a period

* Fixing the errors on runtime docs

* Add hidden panic to example
  • Loading branch information
nekevss authored May 4, 2023
1 parent 0aaf462 commit e320c55
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 5 deletions.
11 changes: 10 additions & 1 deletion boa_engine/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
//!
//! Try out the most recent release with Boa's live demo [playground][boa-playground].
//!
//! For information related to Web API features, please see [boa_runtime](runtime-docs).
//!
//! # Example usage
//!
//! You can find multiple examples of the usage of Boa in the [`boa_examples`][examples] crate. In
Expand All @@ -19,7 +21,12 @@
//! ```
//! use boa_engine::{Context, Source};
//!
//! let js_code = "console.log('Hello World from a JS code string!')";
//! let js_code = r#"
//! let two = 1 + 1;
//! let definitely_not_four = two + "2";
//!
//! definitely_not_four
//! "#;
//!
//! // Instantiate the execution context
//! let mut context = Context::default();
Expand All @@ -35,6 +42,7 @@
//! Err(e) => {
//! // Pretty print the error
//! eprintln!("Uncaught {e}");
//! # panic!("There was an error in boa_engine's introduction example.");
//! }
//! };
//! ```
Expand All @@ -59,6 +67,7 @@
//! [boa-conformance]: https://boajs.dev/boa/test262/
//! [boa-web]: https://boajs.dev/
//! [boa-playground]: https://boajs.dev/boa/playground/
//! [runtime-docs]: https://boajs.dev/boa/doc/boa_runtime/index.html
//! [examples]: https://github.com/boa-dev/boa/tree/main/boa_examples

#![doc(
Expand Down
67 changes: 63 additions & 4 deletions boa_runtime/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,67 @@
//! Example runtime for Boa
//! Boa's **boa_runtime** crate contains an example runtime and basic runtime features and functionality for the `boa_engine` crate for
//! runtime implementors.
//!
//! This crate contains an example runtime for the `boa_engine` crate, so that it can be used as a
//! template for runtime implementors. It contains some basic functionality that can be used by
//! other crates.
//! # About Boa
//!
//! Boa is an open-source, experimental ECMAScript Engine written in Rust for lexing, parsing and
//! executing ECMAScript/JavaScript. Currently, Boa supports some of the [language][boa-conformance].
//! More information can be viewed at [Boa's website][boa-web].
//!
//! Try out the most recent release with Boa's live demo [playground][boa-playground].
//!
//! # Example: Adding Web API's Console Object
//!
//! 1. Add **boa_runtime** as a dependency to your project along with **boa_engine**.
//!
//! ```
//! use boa_engine::{ Context, Source, property::Attribute };
//! use boa_runtime::Console;
//!
//! // Create the context.
//! let mut context = Context::default();
//!
//! // Initialize the Console object.
//! let console = Console::init(&mut context);
//!
//! // Register the console as a global property to the context.
//! context
//! .register_global_property(Console::NAME, console, Attribute::all())
//! .expect("the console object shouldn't exist yet");
//!
//! // JavaScript source for parsing.
//! let js_code = "console.log('Hello World from a JS code string!')";
//!
//! // Parse the source code
//! match context.eval_script(Source::from_bytes(js_code)) {
//! Ok(res) => {
//! println!(
//! "{}",
//! res.to_string(&mut context).unwrap().to_std_string_escaped()
//! );
//! }
//! Err(e) => {
//! // Pretty print the error
//! eprintln!("Uncaught {e}");
//! # panic!("An error occured in boa_runtime's js_code");
//! }
//! };
//!
//! ```
//!
//! # Boa Crates
//! - **`boa_ast`** - Boa's ECMAScript Abstract Syntax Tree.
//! - **`boa_engine`** - Boa's implementation of ECMAScript builtin objects and execution.
//! - **`boa_gc`** - Boa's garbage collector.
//! - **`boa_interner`** - Boa's string interner.
//! - **`boa_parser`** - Boa's lexer and parser.
//! - **`boa_profiler`** - Boa's code profiler.
//! - **`boa_unicode`** - Boa's Unicode identifier.
//! - **`boa_icu_provider`** - Boa's ICU4X data provider.
//!
//! [ecma-402]: https://tc39.es/ecma402
//! [boa-conformance]: https://boajs.dev/boa/test262/
//! [boa-web]: https://boajs.dev/
//! [boa-playground]: https://boajs.dev/boa/playground/

#![doc(
html_logo_url = "https://raw.githubusercontent.com/boa-dev/boa/main/assets/logo.svg",
Expand Down

0 comments on commit e320c55

Please sign in to comment.