diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2021-04-05 18:40:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-05 18:40:24 +0200 |
commit | 2aed322dd507a8568b6ee6f4897e9a8e3220f763 (patch) | |
tree | e9a45c0b7688a9881ea9ce132b92554ef2955ad6 /runtime/ops/plugin.rs | |
parent | 284e6c303956e8ca20af63b4ecc045438a260fe6 (diff) |
refactor: convert ops to use serde_v8 (#10009)
This commit rewrites most of the ops to use "serde_v8" instead
of "json" serialization.
Diffstat (limited to 'runtime/ops/plugin.rs')
-rw-r--r-- | runtime/ops/plugin.rs | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/runtime/ops/plugin.rs b/runtime/ops/plugin.rs index 709c5730d..0397dbca3 100644 --- a/runtime/ops/plugin.rs +++ b/runtime/ops/plugin.rs @@ -4,8 +4,6 @@ use crate::permissions::Permissions; use deno_core::error::AnyError; use deno_core::futures::prelude::*; use deno_core::plugin_api; -use deno_core::serde_json::json; -use deno_core::serde_json::Value; use deno_core::JsRuntime; use deno_core::Op; use deno_core::OpAsyncFuture; @@ -13,10 +11,10 @@ use deno_core::OpFn; use deno_core::OpId; use deno_core::OpState; use deno_core::Resource; +use deno_core::ResourceId; use deno_core::ZeroCopyBuf; use dlopen::symbor::Library; use log::debug; -use serde::Deserialize; use std::borrow::Cow; use std::path::PathBuf; use std::pin::Pin; @@ -28,18 +26,12 @@ pub fn init(rt: &mut JsRuntime) { super::reg_json_sync(rt, "op_open_plugin", op_open_plugin); } -#[derive(Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct OpenPluginArgs { - filename: String, -} - pub fn op_open_plugin( state: &mut OpState, - args: OpenPluginArgs, + filename: String, _zero_copy: Option<ZeroCopyBuf>, -) -> Result<Value, AnyError> { - let filename = PathBuf::from(&args.filename); +) -> Result<ResourceId, AnyError> { + let filename = PathBuf::from(&filename); super::check_unstable(state, "Deno.openPlugin"); let permissions = state.borrow::<Permissions>(); @@ -67,7 +59,7 @@ pub fn op_open_plugin( let mut interface = PluginInterface::new(state, &plugin_lib); deno_plugin_init(&mut interface); - Ok(json!(rid)) + Ok(rid) } struct PluginResource { |