class

Medusa::Context

Inherits Reference < Object

Constructors

new(runtime : QuickJS::JSRuntime)

Creates a full context with std/os modules via the C++ bridge.

Source
new(runtime : QuickJS::JSRuntime, *, raw : Bool)

Creates a raw context — no intrinsics loaded. Call add_intrinsic_* as needed.

Source

Class methods

new_class_id
Source

Instance methods

add_all_intrinsics

Adds all standard intrinsics at once (convenience for raw contexts).

Source
add_intrinsic_base_objects
Source
add_intrinsic_date
Source
add_intrinsic_eval
Source
add_intrinsic_json
Source
add_intrinsic_map_set
Source
add_intrinsic_promise
Source
add_intrinsic_proxy
Source
add_intrinsic_regexp
Source
add_intrinsic_regexp_compiler
Source
add_intrinsic_string_normalize
Source
add_intrinsic_typed_arrays
Source
add_intrinsic_weak_ref
Source
bind_crystal_function(procedure : Proc(QuickJS::JSContext, QuickJS::JSValue, LibC::Int, Pointer(QuickJS::JSValue), QuickJS::JSValue), name : String, length : LibC::Int) : ValueWrapper

Binds a Crystal Proc as a QuickJS function. Returns a ValueWrapper for the JS function object. Each binding is independent — no shared state.

Source
detect_module?(input : String) : Bool

Detects whether a string looks like an ES module.

Source
eval_string(input : String, eval_flag : QuickJS::EvalFlag = QuickJS::EvalFlag::STRICT, etag : String = "<input>") : ValueWrapper
Source
eval_this(this_obj : ValueWrapper, input : String, eval_flag : QuickJS::EvalFlag = QuickJS::EvalFlag::STRICT, etag : String = "<input>") : ValueWrapper
Source
finalize
Source
freed?
Source
get_class_proto(class_id : QuickJS::JSClassID) : ValueWrapper
Source
get_exception
Source
global_object
Source
has_exception?
Source
json_stringify(obj : ValueWrapper) : String
Source
mark_freed!
Source
new_c_function2(function_pointer : QuickJS::JSCFunction, name : String, length : LibC::Int, cproto : QuickJS::CFunctionEnum = QuickJS::CFunctionEnum::GENERIC, magic : LibC::Int = 0) : ValueWrapper

Low-level: create a QuickJS function from a raw C function pointer.

Source
opaque
Source
opaque=(ptr : Pointer(Void)) : Nil
Source
parse_json(input : String, filename : String = "<json>") : ValueWrapper
Source
read_object(buf : Bytes, flags : QuickJS::ReadObjFlag = QuickJS::ReadObjFlag::BYTECODE) : ValueWrapper
Source
runtime
Source
set_class_proto(class_id : QuickJS::JSClassID, obj : ValueWrapper) : Nil
Source
to_unsafe
Source
write_object(obj : ValueWrapper, flags : QuickJS::WriteObjFlag = QuickJS::WriteObjFlag::BYTECODE) : Bytes
Source

Nested types