Repositorio del curso CCOM4030 el semestre B91 del proyecto Artesanías con el Instituto de Cultura

rng.js 923B

123456789101112131415
  1. // Unique ID creation requires a high quality random # generator. In the browser we therefore
  2. // require the crypto API and do not support built-in fallback to lower quality random number
  3. // generators (like Math.random()).
  4. // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
  5. // find the complete implementation of crypto (msCrypto) on IE11.
  6. var getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto);
  7. var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef
  8. export default function rng() {
  9. if (!getRandomValues) {
  10. throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
  11. }
  12. return getRandomValues(rnds8);
  13. }