Repository URL to install this package:
|
Version:
1.1.6 ▾
|
const randomTimeKey = () => (new Date() % 9e6).toString(36);
// https://github.com/v8/v8/blob/085fed0fb5c3b0136827b5d7c190b4bd1c23a23e/src/base/utils/random-number-generator.h#L102
// http://vigna.di.unimi.it/ftp/papers/xorshiftplus.pdf
// https://v8project.blogspot.ca/2015/12/theres-mathrandom-and-then-theres.html
// 100% deterministic alternative. (from v8 benchmark )
const random = (function () {
let seed = 49734321;
return function () {
// Robert Jenkins' 32 bit integer hash function.
seed = (seed + 0x7ed55d16 + (seed << 12)) & 0xffffffff;
seed = (seed ^ 0xc761c23c ^ (seed >>> 19)) & 0xffffffff;
seed = (seed + 0x165667b1 + (seed << 5)) & 0xffffffff;
seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0xffffffff;
seed = (seed + 0xfd7046c5 + (seed << 3)) & 0xffffffff;
seed = (seed ^ 0xb55a4f09 ^ (seed >>> 16)) & 0xffffffff;
return (seed & 0xfffffff) / 0x10000000;
};
})();
export { random };
export default random;
//# sourceMappingURL=random.js.map