32 lines
1.2 KiB
Rust
32 lines
1.2 KiB
Rust
use std::sync::Arc;
|
|
|
|
use oxide_kernel::kernel::{KernelCore, KernelSession};
|
|
use oxide_types::object::JsObject;
|
|
|
|
use crate::bindings::apply_binding_table;
|
|
|
|
/// 把普通全局函数(`isNaN`、`parseInt`、`decodeURIComponent` 等)绑定到 global。
|
|
pub fn bind_global(core: &Arc<KernelCore>, session: &KernelSession, global: &mut JsObject) {
|
|
apply_binding_table(
|
|
session.builtin_world(),
|
|
global,
|
|
core,
|
|
&[
|
|
("escape", oxide_builtins::global::js_escape::<crate::vm::Vm> as *const (), 1),
|
|
("unescape", oxide_builtins::global::js_unescape::<crate::vm::Vm> as *const (), 1),
|
|
("encodeURI", oxide_builtins::global::encode_uri::<crate::vm::Vm> as *const (), 1),
|
|
("decodeURI", oxide_builtins::global::decode_uri::<crate::vm::Vm> as *const (), 1),
|
|
(
|
|
"encodeURIComponent",
|
|
oxide_builtins::global::encode_uri_component::<crate::vm::Vm> as *const (),
|
|
1,
|
|
),
|
|
(
|
|
"decodeURIComponent",
|
|
oxide_builtins::global::decode_uri_component::<crate::vm::Vm> as *const (),
|
|
1,
|
|
),
|
|
],
|
|
);
|
|
}
|