summaryrefslogtreecommitdiff
path: root/runtime/ops/plugin.rs
diff options
context:
space:
mode:
authorAaron O'Mullan <aaron.omullan@gmail.com>2021-04-05 18:40:24 +0200
committerGitHub <noreply@github.com>2021-04-05 18:40:24 +0200
commit2aed322dd507a8568b6ee6f4897e9a8e3220f763 (patch)
treee9a45c0b7688a9881ea9ce132b92554ef2955ad6 /runtime/ops/plugin.rs
parent284e6c303956e8ca20af63b4ecc045438a260fe6 (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.rs18
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 {