| 
|   | ~JavaScript () override=default | 
|   | 
| bool  | start (size_t id, const std::shared_ptr< IFile_system > &fs={}, const Dictionary_t &predefined_globals={}) | 
|   | 
| void  | stop () | 
|   | 
| std::string  | execute (const std::string &code, int timeout, ResultType result_type, const GlobalCallbacks &callbacks) | 
|   | 
| std::string  | get_parameter_string (const std::vector< Value > ¶meters) const | 
|   | 
| int64_t  | eval (poly_reference source, poly_value *result) const | 
|   | Wraps a call to poly_context_eval.  More...
  | 
|   | 
| poly_value  | create_source (const std::string &source, const std::string &code_str) const | 
|   | Creates a Source object.  More...
  | 
|   | 
| bool  | is_idle () | 
|   | 
| bool  | wait_for_idle () | 
|   | 
| size_t  | id () | 
|   | 
|   | ~Java_script_interface () override=default | 
|   | 
| const char *  | get_language_id () const override | 
|   | 
| void  | initialize (const std::shared_ptr< IFile_system > &fs={}) override | 
|   | 
| void  | finalize () override | 
|   | 
| poly_value  | undefined () const override | 
|   | Return the a guest language interpretation of the Undefined C++ value.  More...
  | 
|   | 
| bool  | is_undefined (poly_value value) const override | 
|   | Returns true if the provided value is undefined in the guest language.  More...
  | 
|   | 
| poly_value  | array_buffer (const std::string &data) const override | 
|   | Return the guest language interpretation of a binary string.  More...
  | 
|   | 
| bool  | is_object (poly_value object, std::string *class_name=nullptr) const override | 
|   | Return true if the guest language identifies the value as an object.  More...
  | 
|   | 
| const std::vector< std::string > &  | keywords () const override | 
|   | Retrieves the list of keywords in the guest language.  More...
  | 
|   | 
|   | Polyglot_language (Polyglot_common_context *common_context, const std::string &debug_port="") | 
|   | 
|   | Polyglot_language (const Polyglot_language &)=delete | 
|   | 
|   | Polyglot_language (Polyglot_language &&)=delete | 
|   | 
|   | Polyglot_language (Polyglot_common_context *common_context, const std::string &debug_port="") | 
|   | 
|   | Polyglot_language (const Polyglot_language &)=delete | 
|   | 
| Polyglot_language &  | operator= (const Polyglot_language &)=delete | 
|   | 
|   | Polyglot_language (Polyglot_language &&)=delete | 
|   | 
| Polyglot_language &  | operator= (Polyglot_language &&)=delete | 
|   | 
| virtual  | ~Polyglot_language ()=default | 
|   | 
| virtual void  | init_context_builder () | 
|   | 
| Polyglot_language *  | language () | 
|   | The polyglot_utils file has the following functions that can be used to export C++ functions as polyglot global functions:  More...
  | 
|   | 
| void  | throw_jit_executor_exception (const Jit_executor_exception &exception) | 
|   | Throws a specific exception type in the GraalVM environment, with a specific message.  More...
  | 
|   | 
| virtual poly_value  | from_native_object (const Object_bridge_t &object) const =0 | 
|   | Converts a C++ object into a representation of the object in the guest language.  More...
  | 
|   | 
| void  | throw_exception_object (const shcore::Dictionary_t &data) const | 
|   | Translates a dictionary object into an exception in the guest language.  More...
  | 
|   | 
| void  | throw_exception_object (const Polyglot_error &data) const | 
|   | Translates a Polyglot_error into an exception in the guest language.  More...
  | 
|   | 
| int64_t  | eval (const std::string &source, const std::string &code_str, poly_value *result) const | 
|   | Wraps a call to poly_context_eval.  More...
  | 
|   | 
| poly_value  | create_source (const std::string &path) const | 
|   | 
| std::pair< Value, bool >  | debug (const std::string &path) | 
|   | Debugs the given script.  More...
  | 
|   | 
| std::pair< Value, bool >  | execute (const std::string &code_str, const std::string &source) | 
|   | Executes the given script.  More...
  | 
|   | 
| virtual bool  | load_plugin (const std::string &path) | 
|   | This function should be implemented to provide plugin load support.  More...
  | 
|   | 
| poly_context  | copy_global_context () const | 
|   | Creates a copy of the global context.  More...
  | 
|   | 
| poly_value  | poly_string (const std::string &data) const | 
|   | 
| std::string  | to_string (poly_value obj) const | 
|   | 
| poly_context  | context () const | 
|   | 
| poly_thread  | thread () const | 
|   | 
| const std::shared_ptr< Polyglot_object > &  | globals () const | 
|   | 
| poly_reference  | store (poly_value value) | 
|   | 
| void  | erase (poly_reference value) | 
|   | 
| void  | set_global (const std::string &name, const Value &value) const | 
|   | 
| void  | set_global (const std::string &name, poly_value value) const | 
|   | 
| void  | set_global_function (const std::string &name, poly_callback callback, void *data=nullptr) | 
|   | 
| Store  | get_global (const std::string &name) const | 
|   | 
| void  | terminate () | 
|   | 
| bool  | is_terminating () const | 
|   | 
| Script_scope  | enter_script (const std::string &s) | 
|   | 
| Value  | convert (poly_value value) const | 
|   | 
| poly_value  | convert (const Value &value) const | 
|   | 
| Argument_list  | convert_args (const std::vector< poly_value > &args) const | 
|   | 
| poly_value  | type_info (poly_value value) const | 
|   | 
| bool  | get_member (poly_value object, const char *name, poly_value *member) const | 
|   | 
| std::string  | current_script_folder () const | 
|   | 
| Polyglot_common_context *  | common_context () | 
|   | 
MRS JavaScript Implementation. 
Starts the JavaScript engine in a thread for execution of code from the MRS end points. A threaded version is needed to support the JavaScript Promise resolution to get the final result.
To achieve these two global functions are exposed: synch_return and synch_error, such function would be used on the promise resolution by executing: promise.then(value => synch_return(value), error=>synch_error(err0r))