1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-29 16:30:56 -05:00
denoland-deno/op_crates/crypto/01_crypto.js
Divy Srivastava d5661f677e
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.
2020-11-13 22:01:57 +01:00

25 lines
707 B
JavaScript

// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
((window) => {
const core = window.Deno.core;
function getRandomValues(typedArray) {
if (typedArray == null) throw new Error("Input must not be null");
if (typedArray.length > 65536) {
throw new Error("Input must not be longer than 65536");
}
const ui8 = new Uint8Array(
typedArray.buffer,
typedArray.byteOffset,
typedArray.byteLength,
);
core.jsonOpSync("op_get_random_values", {}, ui8);
return typedArray;
}
window.crypto = {
getRandomValues,
};
window.__bootstrap = window.__bootstrap || {};
window.__bootstrap.crypto = {
getRandomValues,
};
})(this);