Skip to content

Commit

Permalink
Add Example to Execute a Function of a Script File (#1357)
Browse files Browse the repository at this point in the history
Co-authored-by: Halid Odat <halidodat@gmail.com>
  • Loading branch information
schrieveslaach and HalidOdat committed Jul 22, 2021
1 parent 2cd32ed commit 970a611
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions boa/src/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,38 @@ impl StandardObjects {
/// `Context`s constructed in a thread share the same runtime, therefore it
/// is possible to share objects from one context to another context, but they
/// have to be in the same thread.
///
/// # Examples
///
/// ## Execute Function of Script File
///
/// ```rust
/// use boa::{Context, object::ObjectInitializer, property::Attribute};
///
/// let script = r#"
/// function test(arg1) {
/// if(arg1 != null) {
/// return arg1.x;
/// }
/// return 112233;
/// }
/// "#;
///
/// let mut context = Context::new();
///
/// // Populate the script definition to the context.
/// context.eval(script).unwrap();
///
/// // Create an object that can be used in eval calls.
/// let arg = ObjectInitializer::new(&mut context)
/// .property("x", 12, Attribute::READONLY)
/// .build();
/// context.register_global_property("arg", arg, Attribute::all());
///
/// let value = context.eval("test(arg)").unwrap();
///
/// assert_eq!(value.as_number(), Some(12.0))
/// ```
#[derive(Debug)]
pub struct Context {
/// realm holds both the global object and the environment
Expand Down

0 comments on commit 970a611

Please sign in to comment.