mirror of
https://github.com/pjh456/OxideJS.git
synced 2026-10-24 02:31:13 +08:00
feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost>
This commit is contained in:
@@ -8,36 +8,36 @@ use crate::bind_constructor;
|
||||
|
||||
pub fn bind_array(core: &Arc<KernelCore>, session: &KernelSession, 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 (),
|
||||
splice: crate::builtins::array::array_splice as *const (),
|
||||
concat: crate::builtins::array::array_concat as *const (),
|
||||
join: crate::builtins::array::array_join as *const (),
|
||||
index_of: crate::builtins::array::array_index_of as *const (),
|
||||
includes: crate::builtins::array::array_includes as *const (),
|
||||
reverse: crate::builtins::array::array_reverse as *const (),
|
||||
for_each: crate::builtins::array::array_for_each as *const (),
|
||||
map: crate::builtins::array::array_map as *const (),
|
||||
filter: crate::builtins::array::array_filter as *const (),
|
||||
reduce: crate::builtins::array::array_reduce as *const (),
|
||||
find: crate::builtins::array::array_find as *const (),
|
||||
some: crate::builtins::array::array_some as *const (),
|
||||
every: crate::builtins::array::array_every as *const (),
|
||||
flat: crate::builtins::array::array_flat as *const (),
|
||||
flat_map: crate::builtins::array::array_flat_map as *const (),
|
||||
shift: crate::builtins::array::array_shift as *const (),
|
||||
unshift: crate::builtins::array::array_unshift as *const (),
|
||||
fill: crate::builtins::array::array_fill as *const (),
|
||||
copy_within: crate::builtins::array::array_copy_within as *const (),
|
||||
at: crate::builtins::array::array_at as *const (),
|
||||
last_index_of: crate::builtins::array::array_last_index_of as *const (),
|
||||
find_index: crate::builtins::array::array_find_index as *const (),
|
||||
find_last: crate::builtins::array::array_find_last as *const (),
|
||||
reduce_right: crate::builtins::array::array_reduce_right as *const (),
|
||||
sort: crate::builtins::array::array_sort as *const (),
|
||||
values: crate::builtins::array::array_values as *const (),
|
||||
is_array: oxide_builtins::array::array_is_array::<crate::vm::Vm> as *const (),
|
||||
push: oxide_builtins::array::array_push::<crate::vm::Vm> as *const (),
|
||||
pop: oxide_builtins::array::array_pop::<crate::vm::Vm> as *const (),
|
||||
slice: oxide_builtins::array::array_slice::<crate::vm::Vm> as *const (),
|
||||
splice: oxide_builtins::array::array_splice::<crate::vm::Vm> as *const (),
|
||||
concat: oxide_builtins::array::array_concat::<crate::vm::Vm> as *const (),
|
||||
join: oxide_builtins::array::array_join::<crate::vm::Vm> as *const (),
|
||||
index_of: oxide_builtins::array::array_index_of::<crate::vm::Vm> as *const (),
|
||||
includes: oxide_builtins::array::array_includes::<crate::vm::Vm> as *const (),
|
||||
reverse: oxide_builtins::array::array_reverse::<crate::vm::Vm> as *const (),
|
||||
for_each: oxide_builtins::array::array_for_each::<crate::vm::Vm> as *const (),
|
||||
map: oxide_builtins::array::array_map::<crate::vm::Vm> as *const (),
|
||||
filter: oxide_builtins::array::array_filter::<crate::vm::Vm> as *const (),
|
||||
reduce: oxide_builtins::array::array_reduce::<crate::vm::Vm> as *const (),
|
||||
find: oxide_builtins::array::array_find::<crate::vm::Vm> as *const (),
|
||||
some: oxide_builtins::array::array_some::<crate::vm::Vm> as *const (),
|
||||
every: oxide_builtins::array::array_every::<crate::vm::Vm> as *const (),
|
||||
flat: oxide_builtins::array::array_flat::<crate::vm::Vm> as *const (),
|
||||
flat_map: oxide_builtins::array::array_flat_map::<crate::vm::Vm> as *const (),
|
||||
shift: oxide_builtins::array::array_shift::<crate::vm::Vm> as *const (),
|
||||
unshift: oxide_builtins::array::array_unshift::<crate::vm::Vm> as *const (),
|
||||
fill: oxide_builtins::array::array_fill::<crate::vm::Vm> as *const (),
|
||||
copy_within: oxide_builtins::array::array_copy_within::<crate::vm::Vm> as *const (),
|
||||
at: oxide_builtins::array::array_at::<crate::vm::Vm> as *const (),
|
||||
last_index_of: oxide_builtins::array::array_last_index_of::<crate::vm::Vm> as *const (),
|
||||
find_index: oxide_builtins::array::array_find_index::<crate::vm::Vm> as *const (),
|
||||
find_last: oxide_builtins::array::array_find_last::<crate::vm::Vm> as *const (),
|
||||
reduce_right: oxide_builtins::array::array_reduce_right::<crate::vm::Vm> as *const (),
|
||||
sort: oxide_builtins::array::array_sort::<crate::vm::Vm> as *const (),
|
||||
values: oxide_builtins::array::array_values::<crate::vm::Vm> as *const (),
|
||||
};
|
||||
|
||||
session.builtin_world().bind_array_methods(
|
||||
@@ -47,5 +47,5 @@ pub fn bind_array(core: &Arc<KernelCore>, session: &KernelSession, global: &mut
|
||||
);
|
||||
|
||||
let ctor_ptr = session.builtin_world().array_constructor.as_ptr() as *mut JsObject;
|
||||
bind_constructor!(core, global, "Array", ctor_ptr, crate::builtins::array::array_constructor, 1, hash: true);
|
||||
bind_constructor!(core, global, "Array", ctor_ptr, oxide_builtins::array::array_constructor::<crate::vm::Vm>, 1, hash: true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user