summaryrefslogtreecommitdiff
path: root/cli/ops/random.rs
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2020-11-14 02:31:57 +0530
committerGitHub <noreply@github.com>2020-11-13 22:01:57 +0100
commitd5661f677e9f5675fc488c4629e85a58764ec3ff (patch)
tree6878ec81e2da2d41d93e3f429a189edcd4202539 /cli/ops/random.rs
parent2c8439bc1e8118225c8ba4d64658c1c6b2182937 (diff)
refactor: deno_crypto op crate (#7956)
This commit factors out "deno_crypto" op crate. "rand" crate dependency was consequently moved to "deno_crypto" crate and reexported.
Diffstat (limited to 'cli/ops/random.rs')
-rw-r--r--cli/ops/random.rs38
1 files changed, 0 insertions, 38 deletions
diff --git a/cli/ops/random.rs b/cli/ops/random.rs
deleted file mode 100644
index 20296c667..000000000
--- a/cli/ops/random.rs
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-
-use deno_core::error::AnyError;
-use deno_core::serde_json::json;
-use deno_core::serde_json::Value;
-use deno_core::OpState;
-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, 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);
-}
-
-fn op_get_random_values(
- state: &mut OpState,
- _args: Value,
- zero_copy: &mut [ZeroCopyBuf],
-) -> Result<Value, AnyError> {
- assert_eq!(zero_copy.len(), 1);
- let maybe_seeded_rng = state.try_borrow_mut::<StdRng>();
- if let Some(seeded_rng) = maybe_seeded_rng {
- seeded_rng.fill(&mut *zero_copy[0]);
- } else {
- let mut rng = thread_rng();
- rng.fill(&mut *zero_copy[0]);
- }
-
- Ok(json!({}))
-}