ferrijs_std/perf_hooks/
mod.rs1use crate::utils::module::{export_default, ModuleInfo};
4use rquickjs::{
5 module::{Declarations, Exports, ModuleDef},
6 Ctx, Object, Result,
7};
8
9
10pub struct PerfHooksModule;
11
12impl ModuleDef for PerfHooksModule {
13 fn declare(declare: &Declarations<'_>) -> Result<()> {
14 declare.declare("performance")?;
15 declare.declare("default")?;
16 Ok(())
17 }
18
19 fn evaluate<'js>(ctx: &Ctx<'js>, exports: &Exports<'js>) -> Result<()> {
20 export_default(ctx, exports, |default| {
21 let globals = ctx.globals();
22
23 let performance: Object = globals.get("performance")?;
24 default.set("performance", performance)?;
25
26 Ok(())
27 })
28 }
29}
30
31impl From<PerfHooksModule> for ModuleInfo<PerfHooksModule> {
32 fn from(val: PerfHooksModule) -> Self {
33 ModuleInfo {
34 name: "perf_hooks",
35 module: val,
36 }
37 }
38}