-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathseed.js
58 lines (55 loc) · 1.05 KB
/
seed.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
const { compact, hasWindow } = require('./utils');
const os = hasWindow() ? {} : eval(`require('os')`);
/**
* Default seed for prng
* @const
*/
const DEFAULT_NODE_SEED = !hasWindow() ? compact([].concat(
Date.now(),
(
process.memoryUsage
? [
process.memoryUsage().heapTotal,
process.memoryUsage().heapUsed,
]
: null
),
(
process.env
? [
process.arch,
process.platform,
os.cpus().length,
os.totalmem(),
]
: null
)
)) : null;
/**
* Default seed for prng
* @const
*/
const DEFAULT_BROWSER_SEED = hasWindow() ? compact([].concat(
Date.now(),
(
performance && performance.memory
? [
performance.memory.totalJSHeapSize,
performance.memory.usedJSHeapSize,
]
: null
),
(
navigator
? [
navigator.userAgent,
navigator.appVersion,
navigator.hardwareConcurrency,
navigator.deviceMemory,
]
: null
),
)) : null;
module.exports = {
DEFAULT_NODE_SEED, DEFAULT_BROWSER_SEED,
};