summaryrefslogtreecommitdiff
path: root/cli/web_worker.rs
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2020-09-10 09:57:45 -0400
committerGitHub <noreply@github.com>2020-09-10 09:57:45 -0400
commit7c2e7c660804afca823d60e6496aa853f75db16c (patch)
treeb7746b181c1564c6b1abd2e906662f9e6b008417 /cli/web_worker.rs
parent6f70e6e72ba2d5c1de7495adac37c1e4f4e86b24 (diff)
Use gotham-like state for ops (#7385)
Provides a concrete state type that can be dynamically added. This is necessary for op crates. * renames BasicState to OpState * async ops take `Rc<RefCell<OpState>>` * sync ops take `&mut OpState` * removes `OpRegistry`, `OpRouter` traits * `get_error_class_fn` moved to OpState * ResourceTable moved to OpState
Diffstat (limited to 'cli/web_worker.rs')
-rw-r--r--cli/web_worker.rs54
1 files changed, 25 insertions, 29 deletions
diff --git a/cli/web_worker.rs b/cli/web_worker.rs
index 095d5b376..ebf8fa698 100644
--- a/cli/web_worker.rs
+++ b/cli/web_worker.rs
@@ -102,7 +102,7 @@ impl WebWorker {
terminate_tx,
};
- let web_worker = Self {
+ let mut web_worker = Self {
worker,
event_loop_idle: false,
terminate_rx,
@@ -110,37 +110,33 @@ impl WebWorker {
has_deno_namespace,
};
- let handle = web_worker.thread_safe_handle();
-
{
- ops::runtime::init(&state);
- ops::web_worker::init(
- &state,
- &web_worker.worker.internal_channels.sender,
- handle,
- );
- ops::worker_host::init(&state);
- ops::idna::init(&state);
- ops::io::init(&state);
- ops::resources::init(&state);
- ops::errors::init(&state);
- ops::timers::init(&state);
- ops::fetch::init(&state);
- ops::websocket::init(&state);
+ ops::runtime::init(&mut web_worker.worker);
+ let sender = web_worker.worker.internal_channels.sender.clone();
+ let handle = web_worker.thread_safe_handle();
+ ops::web_worker::init(&mut web_worker.worker, sender, handle);
+ ops::worker_host::init(&mut web_worker.worker);
+ ops::idna::init(&mut web_worker.worker);
+ ops::io::init(&mut web_worker.worker);
+ ops::resources::init(&mut web_worker.worker);
+ ops::errors::init(&mut web_worker.worker);
+ ops::timers::init(&mut web_worker.worker);
+ ops::fetch::init(&mut web_worker.worker);
+ ops::websocket::init(&mut web_worker.worker);
if has_deno_namespace {
- ops::runtime_compiler::init(&state);
- ops::fs::init(&state);
- ops::fs_events::init(&state);
- ops::plugin::init(&state);
- ops::net::init(&state);
- ops::tls::init(&state);
- ops::os::init(&state);
- ops::permissions::init(&state);
- ops::process::init(&state);
- ops::random::init(&state);
- ops::signal::init(&state);
- ops::tty::init(&state);
+ ops::runtime_compiler::init(&mut web_worker.worker);
+ ops::fs::init(&mut web_worker.worker);
+ ops::fs_events::init(&mut web_worker.worker);
+ ops::plugin::init(&mut web_worker.worker);
+ ops::net::init(&mut web_worker.worker);
+ ops::tls::init(&mut web_worker.worker);
+ ops::os::init(&mut web_worker.worker);
+ ops::permissions::init(&mut web_worker.worker);
+ ops::process::init(&mut web_worker.worker);
+ ops::random::init(&mut web_worker.worker);
+ ops::signal::init(&mut web_worker.worker);
+ ops::tty::init(&mut web_worker.worker);
}
}