Medusa::Context
Inherits Reference < Object
Constructors
new(runtime : QuickJS::JSRuntime)
Creates a full context with std/os modules via the C++ bridge.
new(runtime : QuickJS::JSRuntime, *, raw : Bool)
Creates a raw context — no intrinsics loaded. Call add_intrinsic_* as needed.
Class methods
new_class_id
SourceInstance methods
add_intrinsic_base_objects
Sourceadd_intrinsic_date
Sourceadd_intrinsic_eval
Sourceadd_intrinsic_json
Sourceadd_intrinsic_map_set
Sourceadd_intrinsic_promise
Sourceadd_intrinsic_proxy
Sourceadd_intrinsic_regexp
Sourceadd_intrinsic_regexp_compiler
Sourceadd_intrinsic_string_normalize
Sourceadd_intrinsic_typed_arrays
Sourceadd_intrinsic_weak_ref
Sourcebind_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.
eval_string(input : String, eval_flag : QuickJS::EvalFlag = QuickJS::EvalFlag::STRICT, etag : String = "<input>") : ValueWrapper
Sourceeval_this(this_obj : ValueWrapper, input : String, eval_flag : QuickJS::EvalFlag = QuickJS::EvalFlag::STRICT, etag : String = "<input>") : ValueWrapper
Sourcefinalize
Sourcefreed?
Sourceget_class_proto(class_id : QuickJS::JSClassID) : ValueWrapper
Sourceget_exception
Sourceglobal_object
Sourcehas_exception?
Sourcejson_stringify(obj : ValueWrapper) : String
Sourcemark_freed!
Sourcenew_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.
opaque
Sourceopaque=(ptr : Pointer(Void)) : Nil
Sourceparse_json(input : String, filename : String = "<json>") : ValueWrapper
Sourceread_object(buf : Bytes, flags : QuickJS::ReadObjFlag = QuickJS::ReadObjFlag::BYTECODE) : ValueWrapper
Sourceruntime
Sourceset_class_proto(class_id : QuickJS::JSClassID, obj : ValueWrapper) : Nil
Sourceto_unsafe
Sourcewrite_object(obj : ValueWrapper, flags : QuickJS::WriteObjFlag = QuickJS::WriteObjFlag::BYTECODE) : Bytes
Source