cafe-utility 16.3.0 → 16.4.1
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/index.d.ts +8 -0
- package/index.js +10 -1
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -18,6 +18,13 @@ declare function makeSeededRng(seed: number): () => number;
|
|
|
18
18
|
declare function intBetween(min: number, max: number, generator?: () => number): number;
|
|
19
19
|
declare function floatBetween(min: number, max: number, generator?: () => number): number;
|
|
20
20
|
declare function signedRandom(): number;
|
|
21
|
+
interface Rectangle {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
}
|
|
27
|
+
declare function randomPoint(width: number, height: number, exclude?: Rectangle, generator?: () => number): [number, number];
|
|
21
28
|
declare function chance(threshold: number, generator?: () => number): boolean;
|
|
22
29
|
declare function pick<T>(array: T[], generator?: () => number): T;
|
|
23
30
|
declare function pickMany<T>(array: T[], count: number, generator?: () => number): T[];
|
|
@@ -401,6 +408,7 @@ export declare const Random: {
|
|
|
401
408
|
chance: typeof chance;
|
|
402
409
|
signed: typeof signedRandom;
|
|
403
410
|
makeSeededRng: typeof makeSeededRng;
|
|
411
|
+
point: typeof randomPoint;
|
|
404
412
|
};
|
|
405
413
|
export declare const Arrays: {
|
|
406
414
|
countUnique: typeof countUnique;
|
package/index.js
CHANGED
|
@@ -105,6 +105,15 @@ function floatBetween(n, e, t = Math.random) {
|
|
|
105
105
|
function signedRandom() {
|
|
106
106
|
return Math.random() * 2 - 1
|
|
107
107
|
}
|
|
108
|
+
function containsPoint(n, e, t) {
|
|
109
|
+
return e >= n.x && e < n.x + n.width && t >= n.y && t < n.y + n.height
|
|
110
|
+
}
|
|
111
|
+
function randomPoint(n, e, t, r = Math.random) {
|
|
112
|
+
let o, i
|
|
113
|
+
do (o = intBetween(0, n - 1, r)), (i = intBetween(0, e - 1, r))
|
|
114
|
+
while (t && containsPoint(t, o, i))
|
|
115
|
+
return [o, i]
|
|
116
|
+
}
|
|
108
117
|
function chance(n, e = Math.random) {
|
|
109
118
|
return e() < n
|
|
110
119
|
}
|
|
@@ -1985,7 +1994,7 @@ function raycastCircle(n, e, t) {
|
|
|
1985
1994
|
}
|
|
1986
1995
|
return i
|
|
1987
1996
|
}
|
|
1988
|
-
;(exports.Random = { intBetween, floatBetween, chance, signed: signedRandom, makeSeededRng }),
|
|
1997
|
+
;(exports.Random = { intBetween, floatBetween, chance, signed: signedRandom, makeSeededRng, point: randomPoint }),
|
|
1989
1998
|
(exports.Arrays = {
|
|
1990
1999
|
countUnique,
|
|
1991
2000
|
makeUnique,
|