最新版Deno如何创建原生插件

最新版Deno,不支持plugin_api了,如何实现类似的原生插件功能?

ffi

Foreign Function Interface API | Manual | Deno

我想直接利用Deno中的V8进行类似ops 的扩展
#[op]
fn op_add(numbers: Vec) → Result<f64, deno_core::error::AnyError> {
Ok(numbers.iter().fold(0.0, |sum, v| sum + v))
}

fn main() {
let extensions = Extension::builder().ops(vec![op_add::decl()]).build();
let mut runtime = JsRuntime::new(RuntimeOptions {
extensions: vec![extensions],
…Default::default()
});
runtime.execute_script(
“”,
r#"
const array = [1, 2, 3, 4];
print(sigma ${array} = ${Deno.core.opSync(‘op_add’, array)}\n);
"#,
)
.unwrap();
}
又不知道怎么获得Deno已创建的V8 runtime?
而不是新建一个runtime,新建的这个runtime,没有Deno中已经实现的很多ops 功能

看看这个 Roll your own JavaScript runtime

我主要是希望能复用Deno既有的运行时环境,尽量不重造一个Deno
就是之前plugin机制实现的功能,只是不知道在高版本Deno中如何实现的
谢谢