mirror of
https://github.com/denoland/deno.git
synced 2025-08-04 10:59:13 +00:00
feat(core): codegen ops (#13861)
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
This commit is contained in:
parent
4e3ed37037
commit
b4e42953e1
78 changed files with 1754 additions and 1664 deletions
|
@ -1,7 +1,7 @@
|
|||
use crate::tools::bench::BenchEvent;
|
||||
use deno_core::error::generic_error;
|
||||
use deno_core::error::AnyError;
|
||||
use deno_core::op_sync;
|
||||
use deno_core::op;
|
||||
use deno_core::Extension;
|
||||
use deno_core::ModuleSpecifier;
|
||||
use deno_core::OpState;
|
||||
|
@ -15,17 +15,11 @@ use uuid::Uuid;
|
|||
pub fn init(sender: UnboundedSender<BenchEvent>) -> Extension {
|
||||
Extension::builder()
|
||||
.ops(vec![
|
||||
(
|
||||
"op_pledge_test_permissions",
|
||||
op_sync(op_pledge_test_permissions),
|
||||
),
|
||||
(
|
||||
"op_restore_test_permissions",
|
||||
op_sync(op_restore_test_permissions),
|
||||
),
|
||||
("op_get_bench_origin", op_sync(op_get_bench_origin)),
|
||||
("op_dispatch_bench_event", op_sync(op_dispatch_bench_event)),
|
||||
("op_bench_now", op_sync(op_bench_now)),
|
||||
op_pledge_test_permissions::decl(),
|
||||
op_restore_test_permissions::decl(),
|
||||
op_get_bench_origin::decl(),
|
||||
op_dispatch_bench_event::decl(),
|
||||
op_bench_now::decl(),
|
||||
])
|
||||
.state(move |state| {
|
||||
state.put(sender.clone());
|
||||
|
@ -37,6 +31,7 @@ pub fn init(sender: UnboundedSender<BenchEvent>) -> Extension {
|
|||
#[derive(Clone)]
|
||||
struct PermissionsHolder(Uuid, Permissions);
|
||||
|
||||
#[op]
|
||||
pub fn op_pledge_test_permissions(
|
||||
state: &mut OpState,
|
||||
args: ChildPermissionsArg,
|
||||
|
@ -55,6 +50,7 @@ pub fn op_pledge_test_permissions(
|
|||
Ok(token)
|
||||
}
|
||||
|
||||
#[op]
|
||||
pub fn op_restore_test_permissions(
|
||||
state: &mut OpState,
|
||||
token: Uuid,
|
||||
|
@ -73,6 +69,7 @@ pub fn op_restore_test_permissions(
|
|||
}
|
||||
}
|
||||
|
||||
#[op]
|
||||
fn op_get_bench_origin(
|
||||
state: &mut OpState,
|
||||
_: (),
|
||||
|
@ -81,6 +78,7 @@ fn op_get_bench_origin(
|
|||
Ok(state.borrow::<ModuleSpecifier>().to_string())
|
||||
}
|
||||
|
||||
#[op]
|
||||
fn op_dispatch_bench_event(
|
||||
state: &mut OpState,
|
||||
event: BenchEvent,
|
||||
|
@ -92,6 +90,7 @@ fn op_dispatch_bench_event(
|
|||
Ok(())
|
||||
}
|
||||
|
||||
#[op]
|
||||
fn op_bench_now(state: &mut OpState, _: (), _: ()) -> Result<u64, AnyError> {
|
||||
let ns = state.borrow::<time::Instant>().elapsed().as_nanos();
|
||||
let ns_u64 = u64::try_from(ns)?;
|
||||
|
|
|
@ -6,7 +6,7 @@ use crate::proc_state::ProcState;
|
|||
use crate::source_maps::get_orig_position;
|
||||
use crate::source_maps::CachedMaps;
|
||||
use deno_core::error::AnyError;
|
||||
use deno_core::op_sync;
|
||||
use deno_core::op;
|
||||
use deno_core::serde_json;
|
||||
use deno_core::serde_json::json;
|
||||
use deno_core::serde_json::Value;
|
||||
|
@ -19,9 +19,9 @@ use std::collections::HashMap;
|
|||
pub fn init() -> Extension {
|
||||
Extension::builder()
|
||||
.ops(vec![
|
||||
("op_apply_source_map", op_sync(op_apply_source_map)),
|
||||
("op_format_diagnostic", op_sync(op_format_diagnostic)),
|
||||
("op_format_file_name", op_sync(op_format_file_name)),
|
||||
op_apply_source_map::decl(),
|
||||
op_format_diagnostic::decl(),
|
||||
op_format_file_name::decl(),
|
||||
])
|
||||
.build()
|
||||
}
|
||||
|
@ -42,6 +42,7 @@ struct AppliedSourceMap {
|
|||
column_number: u32,
|
||||
}
|
||||
|
||||
#[op]
|
||||
fn op_apply_source_map(
|
||||
state: &mut OpState,
|
||||
args: ApplySourceMap,
|
||||
|
@ -66,6 +67,7 @@ fn op_apply_source_map(
|
|||
})
|
||||
}
|
||||
|
||||
#[op]
|
||||
fn op_format_diagnostic(
|
||||
_state: &mut OpState,
|
||||
args: Value,
|
||||
|
@ -75,6 +77,7 @@ fn op_format_diagnostic(
|
|||
Ok(json!(diagnostic.to_string()))
|
||||
}
|
||||
|
||||
#[op]
|
||||
fn op_format_file_name(
|
||||
_state: &mut OpState,
|
||||
file_name: String,
|
||||
|
|
|
@ -16,7 +16,8 @@ use deno_core::anyhow::Context;
|
|||
use deno_core::error::custom_error;
|
||||
use deno_core::error::generic_error;
|
||||
use deno_core::error::AnyError;
|
||||
use deno_core::op_async;
|
||||
|
||||
use deno_core::op;
|
||||
use deno_core::parking_lot::RwLock;
|
||||
use deno_core::resolve_url_or_path;
|
||||
use deno_core::serde_json;
|
||||
|
@ -35,9 +36,7 @@ use std::rc::Rc;
|
|||
use std::sync::Arc;
|
||||
|
||||
pub fn init() -> Extension {
|
||||
Extension::builder()
|
||||
.ops(vec![("op_emit", op_async(op_emit))])
|
||||
.build()
|
||||
Extension::builder().ops(vec![op_emit::decl()]).build()
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
|
@ -141,6 +140,7 @@ fn to_maybe_jsx_import_source_module(
|
|||
}
|
||||
}
|
||||
|
||||
#[op]
|
||||
async fn op_emit(
|
||||
state: Rc<RefCell<OpState>>,
|
||||
args: EmitArgs,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use crate::tools::test::TestEvent;
|
||||
use deno_core::error::generic_error;
|
||||
use deno_core::error::AnyError;
|
||||
use deno_core::op_sync;
|
||||
use deno_core::op;
|
||||
use deno_core::Extension;
|
||||
use deno_core::ModuleSpecifier;
|
||||
use deno_core::OpState;
|
||||
|
@ -14,16 +14,10 @@ use uuid::Uuid;
|
|||
pub fn init(sender: UnboundedSender<TestEvent>) -> Extension {
|
||||
Extension::builder()
|
||||
.ops(vec![
|
||||
(
|
||||
"op_pledge_test_permissions",
|
||||
op_sync(op_pledge_test_permissions),
|
||||
),
|
||||
(
|
||||
"op_restore_test_permissions",
|
||||
op_sync(op_restore_test_permissions),
|
||||
),
|
||||
("op_get_test_origin", op_sync(op_get_test_origin)),
|
||||
("op_dispatch_test_event", op_sync(op_dispatch_test_event)),
|
||||
op_pledge_test_permissions::decl(),
|
||||
op_restore_test_permissions::decl(),
|
||||
op_get_test_origin::decl(),
|
||||
op_dispatch_test_event::decl(),
|
||||
])
|
||||
.state(move |state| {
|
||||
state.put(sender.clone());
|
||||
|
@ -35,6 +29,7 @@ pub fn init(sender: UnboundedSender<TestEvent>) -> Extension {
|
|||
#[derive(Clone)]
|
||||
struct PermissionsHolder(Uuid, Permissions);
|
||||
|
||||
#[op]
|
||||
pub fn op_pledge_test_permissions(
|
||||
state: &mut OpState,
|
||||
args: ChildPermissionsArg,
|
||||
|
@ -53,6 +48,7 @@ pub fn op_pledge_test_permissions(
|
|||
Ok(token)
|
||||
}
|
||||
|
||||
#[op]
|
||||
pub fn op_restore_test_permissions(
|
||||
state: &mut OpState,
|
||||
token: Uuid,
|
||||
|
@ -71,6 +67,7 @@ pub fn op_restore_test_permissions(
|
|||
}
|
||||
}
|
||||
|
||||
#[op]
|
||||
fn op_get_test_origin(
|
||||
state: &mut OpState,
|
||||
_: (),
|
||||
|
@ -79,6 +76,7 @@ fn op_get_test_origin(
|
|||
Ok(state.borrow::<ModuleSpecifier>().to_string())
|
||||
}
|
||||
|
||||
#[op]
|
||||
fn op_dispatch_test_event(
|
||||
state: &mut OpState,
|
||||
event: TestEvent,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue