summaryrefslogtreecommitdiff
path: root/runtime/ops/crypto.rs
blob: 43a9d11267251ee80afa11dc1976e9f82bb56b27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
use deno_crypto::op_crypto_get_random_values;
use deno_crypto::rand::rngs::StdRng;
use deno_crypto::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_crypto_get_random_values",
    op_crypto_get_random_values,
  );
}