@esportsplus/random 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/coinflip.js +1 -1
- package/build/item.js +2 -2
- package/build/range.js +1 -1
- package/build/roll.js +1 -1
- package/build/shuffle.js +1 -1
- package/package.json +4 -1
- package/src/coinflip.ts +1 -1
- package/src/item.ts +2 -2
- package/src/range.ts +1 -1
- package/src/roll.ts +1 -1
- package/src/shuffle.ts +1 -1
- package/build/float.d.ts +0 -2
- package/build/float.js +0 -2
- package/build/floats.d.ts +0 -2
- package/build/floats.js +0 -9
- package/build/integer.d.ts +0 -2
- package/build/integer.js +0 -4
- package/build/integers.d.ts +0 -2
- package/build/integers.js +0 -9
- package/build/rng.d.ts +0 -2
- package/build/rng.js +0 -11
- package/src/rng.ts +0 -16
package/build/coinflip.js
CHANGED
package/build/item.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import rng from
|
|
1
|
+
import { rng } from '@esportsplus/crypto';
|
|
2
2
|
const BASIS_POINTS = 10000;
|
|
3
3
|
export default (items, weights) => {
|
|
4
4
|
if (weights === undefined) {
|
|
@@ -9,7 +9,7 @@ export default (items, weights) => {
|
|
|
9
9
|
}
|
|
10
10
|
let random = rng() * BASIS_POINTS, total = BASIS_POINTS;
|
|
11
11
|
for (let i = 0, n = weights.length; i < n; i++) {
|
|
12
|
-
total
|
|
12
|
+
total -= weights[i];
|
|
13
13
|
}
|
|
14
14
|
if (total !== 0) {
|
|
15
15
|
throw new Error('Random: weights use basis point math, they must add up to 10000 ( 100% )');
|
package/build/range.js
CHANGED
package/build/roll.js
CHANGED
package/build/shuffle.js
CHANGED
package/package.json
CHANGED
package/src/coinflip.ts
CHANGED
package/src/item.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import rng from
|
|
1
|
+
import { rng } from '@esportsplus/crypto';
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
const BASIS_POINTS = 10000;
|
|
@@ -17,7 +17,7 @@ export default <T>(items: T[], weights?: number[]): T => {
|
|
|
17
17
|
total = BASIS_POINTS;
|
|
18
18
|
|
|
19
19
|
for (let i = 0, n = weights.length; i < n; i++) {
|
|
20
|
-
total
|
|
20
|
+
total -= weights[i];
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
if (total !== 0) {
|
package/src/range.ts
CHANGED
package/src/roll.ts
CHANGED
package/src/shuffle.ts
CHANGED
package/build/float.d.ts
DELETED
package/build/float.js
DELETED
package/build/floats.d.ts
DELETED
package/build/floats.js
DELETED
package/build/integer.d.ts
DELETED
package/build/integer.js
DELETED
package/build/integers.d.ts
DELETED
package/build/integers.js
DELETED
package/build/rng.d.ts
DELETED
package/build/rng.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
let max = Math.pow(2, 32), rng;
|
|
2
|
-
if (typeof window !== 'undefined' && typeof window.document !== 'undefined') {
|
|
3
|
-
rng = () => window.crypto.getRandomValues(new Uint32Array(1))[0] / max;
|
|
4
|
-
}
|
|
5
|
-
else if (typeof process !== 'undefined' && process.versions != null && process.versions.node != null) {
|
|
6
|
-
rng = () => require('crypto').randomBytes(4).readUInt32BE(0) / max;
|
|
7
|
-
}
|
|
8
|
-
else {
|
|
9
|
-
throw new Error('Random: no suitable random number generator found');
|
|
10
|
-
}
|
|
11
|
-
export default rng;
|
package/src/rng.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
let max = Math.pow(2, 32),
|
|
2
|
-
rng: () => number;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (typeof window !== 'undefined' && typeof window.document !== 'undefined') {
|
|
6
|
-
rng = () => window.crypto.getRandomValues(new Uint32Array(1))[0] / max;
|
|
7
|
-
}
|
|
8
|
-
else if (typeof process !== 'undefined' && process.versions != null && process.versions.node != null) {
|
|
9
|
-
rng = () => require('crypto').randomBytes(4).readUInt32BE(0) / max;
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
throw new Error('Random: no suitable random number generator found');
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export default rng;
|