summaryrefslogtreecommitdiff
path: root/cli/ops/random.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/ops/random.rs')
-rw-r--r--cli/ops/random.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/cli/ops/random.rs b/cli/ops/random.rs
index 3ff5ad49f..fb2286116 100644
--- a/cli/ops/random.rs
+++ b/cli/ops/random.rs
@@ -1,25 +1,29 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-use super::dispatch_json::{JsonOp, Value};
+use super::dispatch_json::Value;
use crate::state::State;
use deno_core::CoreIsolate;
use deno_core::ErrBox;
+use deno_core::ResourceTable;
use deno_core::ZeroCopyBuf;
use rand::thread_rng;
use rand::Rng;
use std::rc::Rc;
pub fn init(i: &mut CoreIsolate, s: &Rc<State>) {
+ let t = &CoreIsolate::state(i).borrow().resource_table.clone();
+
i.register_op(
"op_get_random_values",
- s.stateful_json_op(op_get_random_values),
+ s.stateful_json_op_sync(t, op_get_random_values),
);
}
fn op_get_random_values(
- state: &Rc<State>,
+ state: &State,
+ _resource_table: &mut ResourceTable,
_args: Value,
zero_copy: &mut [ZeroCopyBuf],
-) -> Result<JsonOp, ErrBox> {
+) -> Result<Value, ErrBox> {
assert_eq!(zero_copy.len(), 1);
if let Some(seeded_rng) = &state.seeded_rng {
@@ -29,5 +33,5 @@ fn op_get_random_values(
rng.fill(&mut *zero_copy[0]);
}
- Ok(JsonOp::Sync(json!({})))
+ Ok(json!({}))
}