Skip to content

Commit

Permalink
Add Example to Execute a Function of a Script File
Browse files Browse the repository at this point in the history
This commit adds an example code snippet that demonstrates the usage of Boa
when someone wants to execute a simple function that should be embedded into
an application that support scripting extensions.
  • Loading branch information
schrieveslaach committed Jun 25, 2021
1 parent fa3ca4b commit bef3fed
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 @@ -222,6 +222,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, boa::value::Value::Integer(12))
/// ```
#[derive(Debug)]
pub struct Context {
/// realm holds both the global object and the environment
Expand Down

0 comments on commit bef3fed

Please sign in to comment.