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.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/cli/ops/random.rs b/cli/ops/random.rs
index 53aedb73f..20296c667 100644
--- a/cli/ops/random.rs
+++ b/cli/ops/random.rs
@@ -8,8 +8,15 @@ use deno_core::ZeroCopyBuf;
use rand::rngs::StdRng;
use rand::thread_rng;
use rand::Rng;
+use rand::SeedableRng;
-pub fn init(rt: &mut deno_core::JsRuntime) {
+pub fn init(rt: &mut deno_core::JsRuntime, maybe_seed: Option<u64>) {
+ if let Some(seed) = maybe_seed {
+ let rng = StdRng::seed_from_u64(seed);
+ let op_state = rt.op_state();
+ let mut state = op_state.borrow_mut();
+ state.put::<StdRng>(rng);
+ }
super::reg_json_sync(rt, "op_get_random_values", op_get_random_values);
}