Browse Source

Docs update for boa_runtime and console documentation (#2891)

* 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
pull/2899/head
Kevin 1 year ago committed by GitHub
parent
commit
e320c55d21
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      boa_engine/src/lib.rs
  2. 67
      boa_runtime/src/lib.rs

11
boa_engine/src/lib.rs

@ -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
@ -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();
@ -35,6 +42,7 @@
//! Err(e) => {
//! // Pretty print the error
//! eprintln!("Uncaught {e}");
//! # panic!("There was an error in boa_engine's introduction example.");
//! }
//! };
//! ```
@ -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(

67
boa_runtime/src/lib.rs

@ -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",

Loading…
Cancel
Save