mirror of
https://github.com/denoland/deno.git
synced 2024-11-22 04:51:22 +00:00
refactor: rewrite some ops to op2 macro (#20603)
This commit is contained in:
parent
cf6f649829
commit
142449ecab
@ -736,9 +736,8 @@ struct RespondArgs {
|
||||
pub stats: Stats,
|
||||
}
|
||||
|
||||
// TODO(bartlomieju): `op2` doesn't support `serde_json::Value`
|
||||
#[op]
|
||||
fn op_respond(state: &mut OpState, args: RespondArgs) {
|
||||
#[op2]
|
||||
fn op_respond(state: &mut OpState, #[serde] args: RespondArgs) {
|
||||
let state = state.borrow_mut::<State>();
|
||||
state.maybe_response = Some(args);
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ use deno_core::error::custom_error;
|
||||
use deno_core::error::not_supported;
|
||||
use deno_core::error::type_error;
|
||||
use deno_core::error::AnyError;
|
||||
use deno_core::op;
|
||||
use deno_core::op2;
|
||||
use deno_core::ToJsBuffer;
|
||||
|
||||
@ -46,7 +45,6 @@ use sha2::Sha512;
|
||||
use signature::RandomizedSigner;
|
||||
use signature::Signer;
|
||||
use signature::Verifier;
|
||||
use std::convert::TryFrom;
|
||||
use std::num::NonZeroU32;
|
||||
use std::path::PathBuf;
|
||||
|
||||
@ -422,10 +420,11 @@ pub struct DeriveKeyArg {
|
||||
info: Option<JsBuffer>,
|
||||
}
|
||||
|
||||
#[op]
|
||||
#[op2(async)]
|
||||
#[serde]
|
||||
pub async fn op_crypto_derive_bits(
|
||||
args: DeriveKeyArg,
|
||||
zero_copy: Option<JsBuffer>,
|
||||
#[serde] args: DeriveKeyArg,
|
||||
#[buffer] zero_copy: Option<JsBuffer>,
|
||||
) -> Result<ToJsBuffer, AnyError> {
|
||||
let algorithm = args.algorithm;
|
||||
match algorithm {
|
||||
|
@ -21,6 +21,7 @@ use deno_core::futures::FutureExt;
|
||||
use deno_core::futures::Stream;
|
||||
use deno_core::futures::StreamExt;
|
||||
use deno_core::op;
|
||||
use deno_core::op2;
|
||||
use deno_core::BufView;
|
||||
use deno_core::WriteOutcome;
|
||||
|
||||
@ -411,10 +412,11 @@ pub struct FetchResponse {
|
||||
pub remote_addr_port: Option<u16>,
|
||||
}
|
||||
|
||||
#[op]
|
||||
#[op2(async)]
|
||||
#[serde]
|
||||
pub async fn op_fetch_send(
|
||||
state: Rc<RefCell<OpState>>,
|
||||
rid: ResourceId,
|
||||
#[smi] rid: ResourceId,
|
||||
) -> Result<FetchResponse, AnyError> {
|
||||
let request = state
|
||||
.borrow_mut()
|
||||
@ -463,10 +465,11 @@ pub async fn op_fetch_send(
|
||||
})
|
||||
}
|
||||
|
||||
#[op]
|
||||
#[op2(async)]
|
||||
#[smi]
|
||||
pub async fn op_fetch_response_upgrade(
|
||||
state: Rc<RefCell<OpState>>,
|
||||
rid: ResourceId,
|
||||
#[smi] rid: ResourceId,
|
||||
) -> Result<ResourceId, AnyError> {
|
||||
let raw_response = state
|
||||
.borrow_mut()
|
||||
@ -811,10 +814,11 @@ fn default_true() -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
#[op]
|
||||
#[op2]
|
||||
#[smi]
|
||||
pub fn op_fetch_custom_client<FP>(
|
||||
state: &mut OpState,
|
||||
args: CreateHttpClientArgs,
|
||||
#[serde] args: CreateHttpClientArgs,
|
||||
) -> Result<ResourceId, AnyError>
|
||||
where
|
||||
FP: FetchPermissions + 'static,
|
||||
|
@ -4,7 +4,7 @@ use std::path::Path;
|
||||
use std::rc::Rc;
|
||||
|
||||
use deno_core::error::AnyError;
|
||||
use deno_core::op;
|
||||
use deno_core::op2;
|
||||
use deno_core::FsModuleLoader;
|
||||
use deno_core::ModuleSpecifier;
|
||||
use deno_runtime::permissions::PermissionsContainer;
|
||||
@ -13,8 +13,8 @@ use deno_runtime::worker::WorkerOptions;
|
||||
|
||||
deno_core::extension!(hello_runtime, ops = [op_hello]);
|
||||
|
||||
#[op]
|
||||
fn op_hello(text: &str) {
|
||||
#[op2(fast)]
|
||||
fn op_hello(#[string] text: &str) {
|
||||
println!("Hello {}!", text);
|
||||
}
|
||||
|
||||
|
@ -7,7 +7,7 @@ use deno_core::error::bad_resource;
|
||||
use deno_core::error::bad_resource_id;
|
||||
use deno_core::error::custom_error;
|
||||
use deno_core::error::AnyError;
|
||||
use deno_core::op;
|
||||
use deno_core::op2;
|
||||
use deno_core::OpState;
|
||||
use deno_core::RcRef;
|
||||
use deno_core::ResourceId;
|
||||
@ -32,10 +32,11 @@ deno_core::extension!(
|
||||
ops = [op_http_start, op_http_upgrade],
|
||||
);
|
||||
|
||||
#[op]
|
||||
#[op2(fast)]
|
||||
#[smi]
|
||||
fn op_http_start(
|
||||
state: &mut OpState,
|
||||
tcp_stream_rid: ResourceId,
|
||||
#[smi] tcp_stream_rid: ResourceId,
|
||||
) -> Result<ResourceId, AnyError> {
|
||||
if let Ok(resource_rc) = state
|
||||
.resource_table
|
||||
@ -96,11 +97,11 @@ pub struct HttpUpgradeResult {
|
||||
read_buf: ToJsBuffer,
|
||||
}
|
||||
|
||||
#[op]
|
||||
#[op2(async)]
|
||||
#[serde]
|
||||
async fn op_http_upgrade(
|
||||
state: Rc<RefCell<OpState>>,
|
||||
rid: ResourceId,
|
||||
_: (),
|
||||
#[smi] rid: ResourceId,
|
||||
) -> Result<HttpUpgradeResult, AnyError> {
|
||||
let stream = state
|
||||
.borrow_mut()
|
||||
|
@ -250,9 +250,9 @@ fn op_system_memory_info(
|
||||
Ok(sys_info::mem_info())
|
||||
}
|
||||
|
||||
// TODO(bartlomieju): op2 doesn't support cfg attrs
|
||||
#[cfg(not(windows))]
|
||||
#[op]
|
||||
#[op2]
|
||||
#[smi]
|
||||
fn op_gid(state: &mut OpState) -> Result<Option<u32>, AnyError> {
|
||||
state
|
||||
.borrow_mut::<PermissionsContainer>()
|
||||
@ -264,9 +264,9 @@ fn op_gid(state: &mut OpState) -> Result<Option<u32>, AnyError> {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO(bartlomieju): op2 doesn't support cfg attrs
|
||||
#[cfg(windows)]
|
||||
#[op]
|
||||
#[op2]
|
||||
#[smi]
|
||||
fn op_gid(state: &mut OpState) -> Result<Option<u32>, AnyError> {
|
||||
state
|
||||
.borrow_mut::<PermissionsContainer>()
|
||||
@ -274,9 +274,9 @@ fn op_gid(state: &mut OpState) -> Result<Option<u32>, AnyError> {
|
||||
Ok(None)
|
||||
}
|
||||
|
||||
// TODO(bartlomieju): op2 doesn't support cfg attrs
|
||||
#[cfg(not(windows))]
|
||||
#[op]
|
||||
#[op2]
|
||||
#[smi]
|
||||
fn op_uid(state: &mut OpState) -> Result<Option<u32>, AnyError> {
|
||||
state
|
||||
.borrow_mut::<PermissionsContainer>()
|
||||
@ -288,9 +288,9 @@ fn op_uid(state: &mut OpState) -> Result<Option<u32>, AnyError> {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO(bartlomieju): op2 doesn't support cfg attrs
|
||||
#[cfg(windows)]
|
||||
#[op]
|
||||
#[op2]
|
||||
#[smi]
|
||||
fn op_uid(state: &mut OpState) -> Result<Option<u32>, AnyError> {
|
||||
state
|
||||
.borrow_mut::<PermissionsContainer>()
|
||||
|
@ -4,7 +4,6 @@ use std::io::Error;
|
||||
use std::io::IsTerminal;
|
||||
|
||||
use deno_core::error::AnyError;
|
||||
use deno_core::op;
|
||||
use deno_core::op2;
|
||||
use deno_core::OpState;
|
||||
use deno_core::ResourceHandle;
|
||||
@ -188,10 +187,10 @@ fn op_isatty(state: &mut OpState, rid: u32) -> Result<bool, AnyError> {
|
||||
})
|
||||
}
|
||||
|
||||
#[op(fast)]
|
||||
#[op2(fast)]
|
||||
fn op_console_size(
|
||||
state: &mut OpState,
|
||||
result: &mut [u32],
|
||||
#[buffer] result: &mut [u32],
|
||||
) -> Result<(), AnyError> {
|
||||
fn check_console_size(
|
||||
state: &mut OpState,
|
||||
|
@ -6,7 +6,7 @@ use crate::web_worker::WebWorkerInternalHandle;
|
||||
use crate::web_worker::WebWorkerType;
|
||||
use deno_core::error::type_error;
|
||||
use deno_core::error::AnyError;
|
||||
use deno_core::op;
|
||||
use deno_core::op2;
|
||||
use deno_core::url::Url;
|
||||
use deno_core::OpState;
|
||||
use deno_fetch::data_url::DataUrl;
|
||||
@ -33,10 +33,11 @@ pub struct SyncFetchScript {
|
||||
script: String,
|
||||
}
|
||||
|
||||
#[op]
|
||||
#[op2]
|
||||
#[serde]
|
||||
pub fn op_worker_sync_fetch(
|
||||
state: &mut OpState,
|
||||
scripts: Vec<String>,
|
||||
#[serde] scripts: Vec<String>,
|
||||
mut loose_mime_checks: bool,
|
||||
) -> Result<Vec<SyncFetchScript>, AnyError> {
|
||||
let handle = state.borrow::<WebWorkerInternalHandle>().clone();
|
||||
|
Loading…
Reference in New Issue
Block a user