feat: 注入 harness 并补齐关键全局内建

This commit is contained in:
爱特每羊队
2026-06-09 17:08:10 +08:00
parent ed0864d01f
commit d20eadaccc
13 changed files with 209 additions and 48 deletions
@@ -7,6 +7,7 @@ use oxide_types::object::JsObject;
pub fn bind_array(kernel: &Arc<OxideKernel>, global: &mut JsObject) {
let _array_methods = ArrayMethods {
is_array: crate::builtins::array::array_is_array as *const (),
push: crate::builtins::array::array_push as *const (),
pop: crate::builtins::array::array_pop as *const (),
slice: crate::builtins::array::array_slice as *const (),
@@ -10,6 +10,7 @@ pub fn bind_object(kernel: &Arc<OxideKernel>, global: &mut JsObject) {
keys: crate::builtins::object::object_keys as *const (),
create: crate::builtins::object::object_create as *const (),
assign: crate::builtins::object::object_assign as *const (),
is: crate::builtins::object::object_is as *const (),
define_property: crate::builtins::object::object_define_property as *const (),
get_own_property_descriptor: crate::builtins::object::object_get_own_property_descriptor as *const (),
freeze: crate::builtins::object::object_freeze as *const (),
+2
View File
@@ -90,4 +90,6 @@ pub fn init_kernel_builtins(kernel: &Arc<OxideKernel>) {
bind_function::bind_function(kernel);
bind_regexp::bind_regexp(kernel, global);
bind_symbol::bind_symbol(kernel, global);
bind_global_value(kernel, global, "globalThis", JsValue::from_js_object(global_ptr));
}