From e55b448730160a6e4df9815a268d4049ac89deab Mon Sep 17 00:00:00 2001 From: Matt Mastracci Date: Fri, 17 Mar 2023 12:22:15 -0600 Subject: feat(core) deno_core::extension! macro to simplify extension registration (#18210) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This implements two macros to simplify extension registration and centralize a lot of the boilerplate as a base for future improvements: * `deno_core::ops!` registers a block of `#[op]`s, optionally with type parameters, useful for places where we share lists of ops * `deno_core::extension!` is used to register an extension, and creates two methods that can be used at runtime/snapshot generation time: `init_ops` and `init_ops_and_esm`. --------- Co-authored-by: Bartek IwaƄczuk --- core/ops_builtin_v8.rs | 37 ------------------------------------- 1 file changed, 37 deletions(-) (limited to 'core/ops_builtin_v8.rs') diff --git a/core/ops_builtin_v8.rs b/core/ops_builtin_v8.rs index 05250dc73..3d7b4a996 100644 --- a/core/ops_builtin_v8.rs +++ b/core/ops_builtin_v8.rs @@ -11,7 +11,6 @@ use crate::serde_v8::from_v8; use crate::source_map::apply_source_map as apply_source_map_; use crate::JsRealm; use crate::JsRuntime; -use crate::OpDecl; use crate::ZeroCopyBuf; use anyhow::Error; use deno_ops::op; @@ -21,42 +20,6 @@ use std::cell::RefCell; use v8::ValueDeserializerHelper; use v8::ValueSerializerHelper; -pub(crate) fn init_builtins_v8() -> Vec { - vec![ - op_ref_op::decl(), - op_unref_op::decl(), - op_set_macrotask_callback::decl(), - op_set_next_tick_callback::decl(), - op_set_promise_reject_callback::decl(), - op_run_microtasks::decl(), - op_has_tick_scheduled::decl(), - op_set_has_tick_scheduled::decl(), - op_eval_context::decl(), - op_queue_microtask::decl(), - op_create_host_object::decl(), - op_encode::decl(), - op_decode::decl(), - op_serialize::decl(), - op_deserialize::decl(), - op_set_promise_hooks::decl(), - op_get_promise_details::decl(), - op_get_proxy_details::decl(), - op_memory_usage::decl(), - op_set_wasm_streaming_callback::decl(), - op_abort_wasm_streaming::decl(), - op_destructure_error::decl(), - op_dispatch_exception::decl(), - op_op_names::decl(), - op_apply_source_map::decl(), - op_set_format_exception_callback::decl(), - op_event_loop_has_more_work::decl(), - op_store_pending_promise_rejection::decl(), - op_remove_pending_promise_rejection::decl(), - op_has_pending_promise_rejection::decl(), - op_arraybuffer_was_detached::decl(), - ] -} - fn to_v8_fn( scope: &mut v8::HandleScope, value: serde_v8::Value, -- cgit v1.2.3